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)!: `ObjectMasterDetailFormPropsSchema.formType` narrows from bare `string` to the measured `simple | tabbed` (#11873 — the spec half of objectui#5939).
6
+
7
+
**Newly rejected:**`wizard`, `split`, `drawer` and `modal` — each names an `object-form` renderer branch that breaks `object-master-detail-form`'s atomic parent+details contract (wizard mounts only the current step and turns the Save bar into Next; split persists via `dataSource.create` around the batch; drawer/modal move the parent half into a portal dialog the Save bar cannot submit). Each refuses with a per-value prescription; any other string (e.g. `wizzard`) now gets the plain enum refusal instead of parsing clean and rendering a silently sectionless parent form.
8
+
9
+
**Write instead:**`simple` or `tabbed` — the two variants the renderer honours end-to-end for the parent half. For a wizard/split/drawer/modal presentation without inline details, author an `object-form`, whose `formType` keeps all six values.
10
+
11
+
Breaking ships as minor per the launch-window convention (`scripts/check-changeset-no-major.mjs`).
12
+
13
+
<!-- adr-0087: not-required (no-migration-prescription) the four dropped names were never this block's declared vocabulary — the key was a bare `z.string()`, so unlike the #8762 / #8010 precedents there is no spec-promised old value to rewrite — and the authored-value census on both repos (this repo, #11873; objectui, objectui#5939) found zero out-of-vocabulary occurrences. Nothing exists to migrate, so no migration is prescribed; live authors are taught at parse by the enum's per-value error-map prescriptions. -->
Copy file name to clipboardExpand all lines: content/docs/references/ui/component.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -340,7 +340,7 @@ const result = AIChatWindowProps.parse(data);
340
340
|**objectName**|`string`| optional | PARENT object. Optional because the component-level `dataSource` binding can supply the object instead (#7121) |
341
341
|**recordId**|`string \| number`| optional | Parent record to load (edit mode) |
342
342
|**mode**|`Enum<'create' \| 'edit'>`| optional | Form mode |
343
-
|**formType**|`string`| optional | Parent form presentation |
343
+
|**formType**|`Enum<'simple' \| 'tabbed'>`| optional | Parent form presentation — the two variants the renderer honours for the parent half (#11873, objectui#5939)|
344
344
|**sections**|`any[]`| optional | Parent form sections |
0 commit comments