Skip to main content

Interface: ElementDefinition

Defined in: types.ts:401

A registered element type.

Deviation from docs/17 §3.4 worth knowing: this interface is not generic. Components for different value types cannot share one array under strict function variance, and the registry only ever renders them through FieldApi<unknown>. defineElement<V> keeps the generic on the input so the definition site is still type-checked.

Properties

builder?

optional builder?: BuilderElementMeta;

Defined in: types.ts:405


component

component: ElementComponent;

Defined in: types.ts:403


type

type:
| "number"
| "text"
| "date"
| "time"
| "datetime"
| "rank"
| "rating"
| "range"
| "consent"
| "matrix"
| "geopoint"
| "geotrace"
| "geoshape"
| "image"
| "audio"
| "video"
| "file"
| "barcode"
| "signature"
| "note"
| "group"
| "repeat"
| "select_one"
| "select_multiple"
| "checkbox"
| "hidden"
| "calculate"
| `x:${string}`;

Defined in: types.ts:402


valueSchema?

optional valueSchema?: ValueSchema<unknown>;

Defined in: types.ts:404