SchemaForm
A form generated from a module's JSON Schema, in the kit's one field anatomy; refuses anything outside its vocabulary by name.
The field anatomy
Label above with the required mark, the control, help under it; the chips switch the label tone; widths follow the type, so a number is a third and a short enum is a thirdLabel tone
The column the module writes to.
Choose
Ground the copy in a research pass first.
value
{}Dependent fields and audience tiers
x-when on a sibling and on $settings; x-tier hides admin and team fields from a customer, no branching in the appViewerModule version
value
{}Sections
One card per section in the declared order, with the plain card header and an optional icon; advanced starts collapsed and counts what changedContent
What the module writes.Research
Advanced
Sections as tabs
sectionLayout tabs: one card, a tab with an icon per section, an error count on a tab whose fields fail, the rows table at the card edge, and review's Edit opening the matching tabWhat the module writes.
Columns0 rows
| Name | Kind | |
|---|---|---|
No rows yet | ||
Leave empty for a fresh draw each run.
Validation and messages
Errors after blur or Submit, the first error takes focus, plain sentences per keyword, warnings that never block; the host's button says why it cannot actChoice lists, radios and fetched options
Checklist with a per-option hint, chips, a multiselect, an acknowledged radio, and options resolved by the app with loading and a fallbackToggle, then Retry on the model field.
0 of 5 chosen
0 of 4 chosen
Choose
Choose
value
{}Part type matching, from its fixture
The first V1 module schema rendered whole; the admin viewer sees the batch size, the customer does notViewer
0 of 4 chosen
value
{}Content generation, from its fixture
A table of sub-forms: short fields as columns, the prompt and its rules in the expanded row, a list of discriminated rules inside; sections with advanced collapsedViewer
Content
The fields the module writes for every item.Output fields
required0 rows of 24
| Field | Kind | Minimum (chars) | Maximum (chars) | |
|---|---|---|---|---|
No rows yet | ||||
Research
value
{}Image generation, from its fixture
A root mode chooser with two branches; the edit branch nests an operation chooser whose groups appear in place; recolour's swatch and the output field track sticky computed defaultsViewer
value
{}Attribute normalization, from its fixture
A table seeded from the file's distinct part types, one fetched multiselect per row with a coverage hint, an acknowledged taxonomy radioViewer
Choose
Exceptions for particular part types0 rows
| Part type | Attributes | |
|---|---|---|
No rows yet | ||
value
{}Review, snapshot, presets and loading
The same value read in prose by section with an Edit link back, then frozen; a preset the host picks with dirty tracking and Reset; the shape-matched skeletonPreset
Short copy
Content
The fields the module writes for every item.Output fields
required1 row of 24
| Field | Kind | Minimum (chars) | Maximum (chars) | |
|---|---|---|---|---|
Research
Advanced
A schema outside the subset
The refusal names the path and the keyword and renders in place of the form; nothing degrades to a text boxThis schema cannot be rendered
/properties/modeanyOf: anyOf is not in the V1 subset; the only union is a discriminated oneOf with x-discriminator/properties/modetype: every field declares one of string, number, integer, boolean, array, object/properties/sizeenum: a numeric enum needs x-labels so nobody ships bare numbers as choices
and 2 more; run lintSchema for the full list.