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
{{ message }}
Repository navigation
Commit 1f16817
Browse filesBrowse the repository at this point in the historyBrowse files
docs: regenerate the SDUI component reference from the manifest
The object-form block's formType row drops split and its input count
is 37, matching sdui.manifest.json.
Claude-Session: https://claude.ai/code/session_01JQwxbWHWPRD5rZXeY69YvL
Co-authored-by: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: content/docs/ui/components/plugins.mdx
+2-5Lines changed: 2 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -130,7 +130,7 @@ Namespace `plugin-form`.
130
130
|`objectName`|`string`|| Object this form creates or edits. Not required: the node's `dataSource` binding can name the object instead, and `dataSource.object` lands on this key, outranking an authored value. With neither, and no inline fields (non-empty `customFields`, or `sections` whose every field is inline), the form shows a hint naming this key instead of a form with no fields. |
131
131
|`fields`|`array`|| Bare field names to show, in order (each looked up in the object schema). NOT the same vocabulary as `sections[].fields`, which also accepts the spec `FormFieldSchema` object (identity key `field`, e.g. `{ field: "note", colSpan: 2 }`) — that shape resolves to no name HERE and is silently skipped (SimpleObjectForm in ObjectForm.tsx; buildFlatFields in flatFields.ts for the drawer/modal presentations). |
|`formType`|`enum`: `simple`, `tabbed`, `wizard`, `drawer`, `modal`|| The form layout (`simple`, `tabbed`, `wizard`), or the container the block opens it in (`drawer`, `modal`, drawn as a stacked form; `contentLayout: "tabbed"` puts a modal's sections on tabs). `split` was retired with ADR-0050: use `tabbed`, or `subforms` to edit child records beside the parent.|
134
134
|`sections`|`array`|| — |
135
135
|`title`|`string`\|`object`|| Heading of the drawer and modal presentations (`formType: "drawer"` / `"modal"`). Accepts either a plain string or an inline per-locale map (`{ en: "New order", "zh-CN": "新建订单" }`) — the `I18nLabel` union the contract admits on this key — and the form resolves the map against the active UI language, falling back through base language, a region-qualified sibling, `default`, then `en`, and finally to any remaining entry. |
136
136
|`description`|`string`\|`object`|| Subtitle under the drawer and modal heading. Accepts either a plain string or an inline per-locale map (`{ en: "Enter the order details", "zh-CN": "填写订单信息" }`), resolved against the active UI language with the same fallback chain as `title`. |
|`modalCloseButton`|`boolean`|| Show the modal presentation’s close (X) button. Default `true`; `false` hides it. Forwarded by `ObjectForm`’s modal route and honoured by `ModalForm` on both of its dialog arms. With the button hidden the modal still closes on Escape, and on the Cancel action when that is shown. |
146
+
|`modalCloseButton`|`boolean`|| Show the modal presentation’s close (X) button. Default `true`; `false` hides it. Forwarded by the block’s modal container and honoured by `ModalForm` on both of its dialog arms. With the button hidden the modal still closes on Escape, and on the Cancel action when that is shown. |
150
147
|`contentLayout`|`enum`: `simple`, `tabbed`|| How the modal presentation lays out sections. `tabbed` differs from `simple` only when more than one section has a field to show (`ModalForm` tests `schema.contentLayout === "tabbed" && groups.length > 1`). |
151
148
|`confirmOnDiscard`|`boolean`|| Ask before discarding unsaved edits when a drawer/modal form is dismissed. Set `false` to close immediately. |
152
149
|`recordId`|`string`|| The record to load in `edit` / `view` mode. Leave unset for `create`. |
0 commit comments