Svelte 5 library for creating forms based on JSON schema. Unofficial port of react-jsonschema-form.
Install the library, basic theme and ajv for validation.
npm i @sjsf/form @sjsf/basic-theme @sjsf/ajv8-validator ajv@8<script lang="ts"> import { createForm, BasicForm, type Schema } from '@sjsf/form'; import { resolver } from '@sjsf/form/resolvers/basic'; import { translation } from '@sjsf/form/translations/en'; import { createFormMerger } from '@sjsf/form/mergers/modern'; import { createFormIdBuilder } from '@sjsf/form/id-builders/modern'; import { createFormValidator } from '@sjsf/ajv8-validator'; import { theme } from '@sjsf/basic-theme'; import '@sjsf/basic-theme/css/basic.css'; const schema: Schema = { title: 'Tasks', type: 'array', items: { type: 'object', properties: { name: { type: 'string', title: 'Name', }, description: { type: 'string', title: 'Description', }, }, required: ["name"] }, } const form = createForm({ theme, schema, resolver, translation, merger: createFormMerger, validator: createFormValidator, idBuilder: createFormIdBuilder, onSubmit: console.log }) </script> <BasicForm {form} />- Basic
- daisyUI v5
- Flowbite Svelte
- Skeleton v4
- shadcn-svelte
- shadcn-svelte-extras (experimental)
- SVAR (experimental)
This project includes modifications of code from react-jsonschema-form, which is licensed under the Apache License, Version 2.0. The rest of the project is under the MIT license.
See LICENSE-MIT and LICENSE-APACHE for details.