You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(spec): structured buttons + defaults config on FormViewSchema (#2998)
Track A of #2998: give the renderer-invented flat form keys ObjectUI's
ObjectForm reads today (showSubmit/submitText/showCancel/cancelText/
showReset/initialValues — objectui#2545) a real home in the protocol,
instead of being silently stripped by the strip-mode FormViewSchema
container (the "parsed -> silently inert" shape ADR-0078 prohibits).
- New optional `buttons` block: per-button `{ show, label }` for
submit/cancel/reset via a new exported FormButtonConfigSchema leaf,
`.strict()` per ADR-0089 D3a so typo'd keys error loudly.
- New optional `defaults` record: initial field values for create-mode
forms, keyed by field machine name (absorbs objectui `initialValues`).
- Both marked [EXPERIMENTAL — NOT ENFORCED, #2998] per ADR-0078's escape
hatch: the framework has no runtime consumer of FormViewSchema, so the
contract ships ahead of its ObjectUI consumer without a false promise.
The marker matches the liveness ledger's experimental regex, ready for
Track B (enrolling `view` in GOVERNED — separate PR per the issue).
- Purely additive (strip-mode container): minor changeset, no tombstone.
- Tests: parse round-trips, strict-leaf rejection of legacy flat keys,
experimental-marker assertion. api-surface.json regenerated (+2
exports); ui/view.mdx reference regenerated (scoped hunks only).
Refs ADR-0078, ADR-0089 D3a, objectui#2545, objectui#1763.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Ue47V8zZ5QhcYMPiRQDA7
.describe('[EXPERIMENTAL — NOT ENFORCED, #2998] Initial field values for create-mode forms (spec home for ObjectUI `initialValues`). Renderer wiring pending (objectui#2545).'),
963
+
927
964
/** ARIA accessibility attributes */
928
965
aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the form view'),
0 commit comments