Demo
bash
npm install
npm run demoOpens at http://localhost:5174:
| Page | What it shows |
|---|---|
| Basic form | FieldDefinition[] with built-in validators |
| JSON schema | Server-driven schema with rule-based validators |
| OpenAPI / JSON Schema | parseOpenAPI() from a request body + $ref, parseJSONSchema() standalone |
| Zod schema | parseZod() with type inference |
| Yup schema | parseYup() with Yup constraints |
| Conditional fields | visible / disabled as function and string expression |
| Input masking | All presets + custom patterns |
| FormRenderer | Slot overrides, custom component map |
| Array fields | type: 'array' + useFieldArray API |
| Multi-step wizard | useMultiStepForm + step progress |
| Dependent fields | Sync/async function options, defaultValue as function |
| Custom registry | provideRegistry replaces built-in checkbox with PillToggle |
| File upload | Drag-and-drop, fileType/fileSize/fileCount validators |
| Server-side errors | applyServerErrors() with a simulated Laravel 422 response |
| Tailwind theme | Default FormRenderer vs TailwindFormRenderer side by side |
| UI themes | ShadcnFormRenderer / PrimeVueFormRenderer / NaiveFormRenderer, same schema |
| Accessibility | aria-* attributes, fieldset/legend for radio groups |