Editor primitives
The card footer hosts editor primitives so the user can correct or augment a model output without leaving the card.
Edit the recipient and try sending — live
Primitives
| Primitive | Use |
|---|---|
CK.EditField | typed input — text / number / date / select with the AA-compliant focus ring |
CK.EditMoney | currency input with locale-aware formatting |
CK.EditCommit | the commit affordance — labels its action verb (Save, Send, File) |
Anatomy
import { CK } from "@matter/components";
<CK.Frame phase="respond">
<CK.Body>{/* Domain artifact */}</CK.Body>
<CK.Footer>
<CK.EditField label="Recipient" defaultValue="alex@matter.so" />
<CK.EditCommit verb="Send" />
</CK.Footer>
</CK.Frame>Validation cadence
Validate on blur, not on every keystroke. Errors render inline next to the offending field (see Warnings).
Async commit
The commit affordance carries its own loading state — disable on submit, surface progress, return to default on resolve. Don't fire a toast on success; the card itself is the receipt.
Use
CK.EditCommit with a real verb (Send invite, File document).Don't render a generic "Submit" button. Verbs are the grammar of the system.