Component
The Component type is the root object of every spec. It contains the component’s structure, properties, default appearance, and variant overrides.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Component name |
anatomy | Anatomy | Yes | Map of named elements that make up the component |
props | Props | No | Configurable input properties |
default | Variant | Yes | Default variant — the baseline appearance |
variants | Variant[] | No | Layered variant overrides |
invalidVariantCombinations | PropConfigurations[] | No | Prop combinations that are not valid together |
subcomponents | Subcomponents | No | Embedded child component definitions |
metadata | Metadata | No | Generation metadata (author, schema version, config) |
instanceExamples | InstanceExamples | No | Pro. Documented whole-component usage examples (emitted only with a Pro license) |
slotContentExamples | Record<string, SlotContent> | No | Pro. Named slot-content fills, referenced by SlotContentRef from slot bindings and from Element.propConfigurations slot-prop entries |
Examples and composed content
Several optional fields document configured and composed usages of a component. Each has its own page:
InstanceExamples— pre-configured whole-component usages.SlotContent— theanatomy + elements + layouttriplet used as a named slot fill, stored inslotContentExamples.SlotContentRef— the$slotContentpointer that references a fill.Composition— a named, authored unit of composed content (system-scoped, external composition files).Children— an element’s children, including slot bindings that carry example fills.