Form APIs
Import from @verbb/plugin-kit-react/forms (src/forms/index.ts).
This page is the high-level index for the forms export surface. For detailed SchemaForm engine and registry reference, use the dedicated pages linked below.
Schema engine
| Export | Kind | Notes |
|---|---|---|
useSchemaFormEngine | Hook | Builds SchemaFormEngineApi; requires schemaIndex. |
SchemaFormEngine | Component | Renders schema; optional <form> wrapper. |
Detailed reference: SchemaForm API
Registry
| Export | Notes |
|---|---|
registerFormField, registerFormFields | Field type → component. |
registerFormComponent, registerFormComponents | $cmp → component. |
getFormFieldRegistry, getFormComponentRegistry | Introspection / HMR. |
Detailed reference: SchemaForm Registry
Field binding helpers
| Export | Notes |
|---|---|
useEngineField | Subscribe to value + errors for a path. |
These are most useful when building custom schema fields. For editable tabular UI without a schema field, use EditableTable with cellErrors.
Field helpers (Field.tsx)
FieldRoot, FieldHeader, FieldLabel, FieldInstructions, FieldControl, FieldErrors, FieldLayout, InlineFieldErrorVisibilityContext, useFieldContext.
Built-in fields and schema components
Individual field/component implementations live under src/forms/fields/* and src/forms/components/*. Built-in $field types load lazily from builtin-field-loaders; you typically do not import them unless overriding or testing. Product-owned fields (handles, variables, element select, etc.) register in the consumer plugin.
Example
import {
useSchemaFormEngine,
SchemaFormEngine,
registerFormFields,
FieldLayout,
} from '@verbb/plugin-kit-react/forms';