The type the framework adapter emits per field
(e.g. ReactNode / unknown for React, string for HTML).
Current field value.
Whether to render as read-only display.
Whether to render as an empty input.
Schema metadata for this field.
Constraints from schema checks.
Dot-separated path from root (e.g. "address.city").
OptionalexamplesExample values from the schema's examples keyword.
Walked field tree for recursive rendering.
Render a child field. Theme adapters call this to recursively render nested structures (object fields, array elements, union options). Each adapter narrows the signature in its specialised variant (RenderProps, HtmlRenderProps, …) to match its native rendering primitives.
Framework-agnostic base for the props passed to every render function. Extends BaseFieldProps with a
renderChildcallable whose return type is parameterised overOutput— the type the framework adapter emits per field (typicallyunknown/ReactNodefor React,stringfor HTML, framework-specific for future Vue / Solid / Svelte / Lit adapters).The base
renderChildis declared with a...args: never[]rest parameter so derived adapter interfaces can override it with a richer signature carrying extra required arguments (React'sonChange, HTML'spathSuffix, etc.). Thenever[]rest makes the base callable signature the bottom of the function-subtype lattice: every adapter's concreterenderChildis assignable to it becauseneveraccepts any parameter type contravariantly. The base therefore documents the shared shape — "given aWalkedFieldand a value, produce anOutput" — without preventing adapters from adding required parameters.