Documents
How a UI schema document identifies itself and its dialect.
A UI schema document is a root element that additionally
identifies itself and names the dialect it speaks. It carries type,
props, $id, and $schema; a document MUST NOT carry any other
top-level key:
{
"$id": "https://example.com/forms/signup/1",
"$schema": "https://example.com/ui-schema/app",
"type": "stack",
"props": {}
}Required
$id(string, URI): Identifies the document and its revision.$schema(string, URI): The dialect's identifier.type(string): The root element's type.
Optional
props(object): The root element's props.
Behavior
Documents are versioned by URI: a revised document is published under a new
$id, so anything referencing one (a lead, a cache, another system) pins
the exact revision it saw. Mirroring JSON Schema, where a schema document
is a root schema carrying $id/$schema, a UI schema document is a root
element carrying $id/$schema; there is no wrapper key around it.