API reference
<Form>
The top-level component that renders a schema.
import { Form } from '@easy-forms/core';Most apps use <EasyForm> instead — the pre-wired wrapper
(Omit<FormProps, 'registry'>) scaffolded by shadcn add @easy-forms/easy-form, which
supplies the renderer registry and chrome for you. Reach for <Form> directly when you
want to pass your own registry. See Registry & EasyForm.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| schema* | FormSchema<TFormData> | — | The form definition. |
| registry* | RendererRegistry | — | Maps control names to renderer components (e.g. easyFormsRegistry). <EasyForm> supplies this for you. |
| onSubmit* | (values: TFormData) => void | Promise<void> | — | Called with the validated, visible values on submit. |
| initialValues | Partial<TFormData> | — | Initial field values. |
| store | FormStore | — | Provide an external store instead of creating one internally. |
| dependencyHandlers | DependencyHandlerRegistry | — | Additional or replacement dependency handlers, merged over the defaults. |
| plugins | FormPlugin[] | — | Lifecycle plugins (logger, autosave, custom). |
| submitLabel | string | 'Submit' | Submit button label. |
| resetLabel | string | 'Reset' | Reset button label. |
| showReset | boolean | false | Show a reset button in the footer. |
| className | string | — | Class applied to the form element. |
| wizardNextLabel | string | — | Override the wizard Next label. |
| wizardPreviousLabel | string | — | Override the wizard Previous label. |
Behavior
- When
schema.wizardis present,<Form>renders the wizard navigation instead of a single page and owns its own submit flow. - The default footer disables submit until the form is dirty and valid, and while submitting.
- Hidden fields (via field or group visibility) are excluded from the
onSubmitpayload.