MishkaChelekom.MCP.ComponentConfig (Mishka Chelekom v0.0.9-alpha.20)

Copy Markdown View Source

Reads component configurations from priv/components/*.exs files.

This module provides dynamic access to all component metadata including names, categories, colors, variants, sizes, and other configuration options.

Summary

Functions

Returns components grouped by category.

Returns the path to the components directory.

Returns the actual count of components based on the only: field in each config.

Gets configuration for a specific component.

Returns the documentation URL for a specific component.

Returns all unique categories from component configs.

Returns all unique colors from all component configs.

Returns all components with their metadata.

Returns components with their dependencies (necessary and optional).

Returns a map of all component names to their doc URLs.

Returns all JS hooks from priv/assets/js directory.

Returns all unique necessary dependencies across all components.

Returns all unique optional dependencies across all components.

Returns all unique padding options from all component configs.

Returns all unique rounded options from all component configs.

Returns all scripts/JS dependencies from all component configs.

Returns all unique sizes from all component configs.

Returns all unique space options from all component configs.

Returns all unique script files across all components.

Returns all unique variants from all component configs.

Loads and returns all component configurations.

Functions

components_by_category()

Returns components grouped by category.

components_path()

Returns the path to the components directory.

count_actual_components()

Returns the actual count of components based on the only: field in each config.

Some .exs files contain multiple components (e.g., button has button and button_group). This counts the actual number of components, not just config files.

get_component(name)

Gets configuration for a specific component.

get_doc_url(name)

Returns the documentation URL for a specific component.

Looks up the doc_url from the component config, or generates a default URL.

list_categories()

Returns all unique categories from component configs.

list_colors()

Returns all unique colors from all component configs.

list_components()

Returns all components with their metadata.

Returns a list of maps with keys: name, category, generator, docs

list_dependencies()

Returns components with their dependencies (necessary and optional).

Returns a map with component names as keys and dependency info as values.

list_doc_urls()

Returns a map of all component names to their doc URLs.

list_js_hooks()

Returns all JS hooks from priv/assets/js directory.

list_necessary_deps()

Returns all unique necessary dependencies across all components.

list_optional_deps()

Returns all unique optional dependencies across all components.

list_padding()

Returns all unique padding options from all component configs.

list_rounded()

Returns all unique rounded options from all component configs.

list_scripts()

Returns all scripts/JS dependencies from all component configs.

Returns a list of maps with component name and its scripts.

list_sizes()

Returns all unique sizes from all component configs.

list_spaces()

Returns all unique space options from all component configs.

list_unique_scripts()

Returns all unique script files across all components.

list_variants()

Returns all unique variants from all component configs.

load_all()

Loads and returns all component configurations.

Returns a list of {name, config} tuples where config is a keyword list.