Skip to content

x0k/svelte-jsonschema-form

Repository files navigation

svelte-jsonschema-form

Svelte 5 library for creating forms based on JSON schema. Unofficial port of react-jsonschema-form.

Installation

Install the library, basic theme and ajv for validation.

npm i @sjsf/form @sjsf/basic-theme @sjsf/ajv8-validator ajv@8

Usage

<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} />

Supported Themes

Supported Validators

License

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.

See also