CinderUI.Registry (cinder_ui v0.1.0)

Copy Markdown View Source

Canonical registry for Cinder UI component modules and metadata.

The registry intentionally lives in lib/ so public facades, generated docs, and downstream users can share the same component module list without loading any dev-only documentation modules at runtime.

Summary

Functions

Returns public component functions for a registered module.

Returns a map from component function name to its owning module.

Returns all public {module, function} component pairs.

Returns component modules in canonical section order.

Returns runtime metadata for a component.

Returns the runtime kind for a component.

Returns the section metadata for a registered module.

Returns the canonical component sections.

Functions

component_functions(module)

@spec component_functions(module()) :: [atom()]

Returns public component functions for a registered module.

component_modules()

@spec component_modules() :: %{required(atom()) => module()}

Returns a map from component function name to its owning module.

functions()

@spec functions() :: [{module(), atom()}]

Returns all public {module, function} component pairs.

modules()

@spec modules() :: [module()]

Returns component modules in canonical section order.

runtime(module, function)

@spec runtime(module(), atom()) :: %{
  kind: :server | :progressive | :scaffold,
  label: String.t(),
  summary: String.t()
}

Returns runtime metadata for a component.

runtime_kind(module, function)

@spec runtime_kind(module(), atom()) :: :server | :progressive | :scaffold

Returns the runtime kind for a component.

section_for_module(module)

@spec section_for_module(module()) :: map() | nil

Returns the section metadata for a registered module.

sections()

@spec sections() :: [%{id: String.t(), title: String.t(), modules: [module()]}]

Returns the canonical component sections.