@sjsf/form
v3.6.0
Published
Svelte 5 library for creating forms based on JSON schema.
Downloads
20,561
Readme
@sjsf/form
Svelte 5 library for creating forms based on JSON schema. Unofficial port of react-jsonschema-form.
Installation
Install as a community add-on using the Svelte CLI.
npx sv add @sjsfUsage
<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
- Basic
- daisyUI v5
- Flowbite Svelte
- Skeleton v4
- shadcn-svelte
- shadcn-svelte-extras (experimental)
- SVAR (experimental)
- Beer CSS (experimental)
Supported Validators
- Ajv v8
- Zod v4
- Valibot
- @cfworker/json-schema
- @exodus/schemasafe
- Standard Schema
- ata-validator (experimental)
- Precompiled (experimental)
- @hyperjump/json-schema (experimental)
Integrations
- Generic backend
- SvelteKit
- Form actions
- Remote functions (experimental)
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.
