Component catalog
componentCatalog is the current data-only inventory of public components.
Every entry declares a stable slug, area, capability family, maturity, title,
and intent. The exported catalog, UI Portal, and drift tests are authoritative;
documentation intentionally does not freeze a component total.
Areas and families
Section titled “Areas and families”Core covers primitives, inputs, forms, visualizations, data display, feedback, overlays, navigation, and layout. The active UI Portal registry is Core-only. Agents source, tests, and package exports are retained for maintainers but are not registered in Portal routes, navigation, search, machine guidance, or client bundles.
blockCatalog is separate. A block is a purpose-specific composition, not a
second implementation of a primitive. See Blocks.
Provider-neutral contract
Section titled “Provider-neutral contract”Each semantic capability maps to exactly one active provider of record in the version-controlled registry. The catalog’s public API stays stable even when a reviewed provider replacement is justified. Product code therefore imports the LEMN export, never the provider.
Provider provenance—including exact version or full source commit, integrity, license, notices, adapter, semantic token roles, conformance, and update status—belongs to the provider registry. See Provider governance.
Runtime discovery
Section titled “Runtime discovery”Source and guidance
Section titled “Source and guidance”- Component catalog:
packages/ui/src/catalog*.ts - Block catalog:
packages/ui/src/blocks/block-catalog.ts - Selection guide:
packages/ui/docs/components.md - Composition guide:
packages/ui/docs/patterns.md - Registry:
packages/provider-registry
Adding or changing a public capability requires one aligned change across registry/provenance, adapter, exports, catalogs, package guidance, UI Portal, conformance, release metadata, and license evidence. A Portal component page uses real interactive components and no more than three examples.