Domain artifacts
Rendered
respond
2026 Equity Plan
Reserved1,000,000
Granted250,000
Available750,000
plan_b21f· adopted 2026-03-12Signed
Primitives
| Primitive | Renders |
|---|---|
CK.CapTableRow | one row in the cap table — class, holder, shares, % outstanding |
CK.FilingReceipt | a filing receipt — state, document, status, filed-at |
CK.PlanSummary | an equity-plan summary — reserved / granted / available |
CK.BoardConsent | a board-consent card — signers, resolutions, effective date |
Why typed primitives
Every legal artifact in Matter has a stable shape (see the resource model in apps/docs/api-reference/openapi.yaml). Dynamic cards reach for the typed primitive that matches the artifact — never compose from raw <div>s.
Example
import { CK } from "@matter/components";
<CK.Frame phase="respond">
<CK.Body>
<CK.PlanSummary
planName="2026 Equity Plan"
reserved={1_000_000}
granted={250_000}
available={750_000}
/>
</CK.Body>
</CK.Frame>Reach for the typed primitive that matches the artifact.
Don't lay out a cap-table row by hand. The primitive carries the right column widths and
tnum.