diff --git a/.changeset/11070-strict-face-read-keys.md b/.changeset/11070-strict-face-read-keys.md new file mode 100644 index 0000000000..e6acc55e51 --- /dev/null +++ b/.changeset/11070-strict-face-read-keys.md @@ -0,0 +1,13 @@ +--- +'@object-ui/types': minor +--- + +The strict authoring face accepts keys a registered renderer reads, which it used to refuse as undeclared (objectui#11070). Each key below is now declared on the TypeScript face and on its zod mirror, so `StrictAnyComponentSchema` accepts it and `objectui validate` on that face no longer tells an author to delete a key that works. + +- **`form.showSubmit`** (`FormSchema`, a boolean, default `true`). The `form` renderer draws its submit button only while it holds, so `false` renders the fields with no submit button. +- **`form.fields[]`** (`FormField` / `FormFieldSchema`): `multiple`, `rows`, `accept`, `dimensions`, `reference`, `min`, `max`, `minLength`, `maxLength` and `pattern`. A hand-authored form has no object schema behind it, so the renderer hands each field widget the field entry itself as its metadata carrier, and the built-in `input` / `textarea` branches spread the entry onto the native control. These are the keys that path reads: `multiple` (the `file`, `image`, `lookup` and `user` widgets), `rows` (the `