Skip to content

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.

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.

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.

  • 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.