Labels and icons
Translation
Section titled “Translation”One of the mandatory components of a form is translate. You can see its use in various places in the form (various buttons and labels).
Translations are imported from @sjsf/form/translations/{locale}, currently supported locales:
enru
Text is good, but you can do better by adding icons!
<script lang="ts"> import type { Snippet } from "svelte";
import CustomForm from '@/components/custom-form.svelte';
const { children }: { children: Snippet } = $props();</script>
<CustomForm schema={{ title: "With icons", }} icons={{ submit: children }}/>There are also ready-made sets of icons for control buttons.
Lucide icons
Section titled “Lucide icons”Installation:
npm i @sjsf/lucide-iconsyarn add @sjsf/lucide-iconspnpm add @sjsf/lucide-iconsbun add @sjsf/lucide-iconsUsage:
<script lang="ts"> import { createForm3 } from '@sjsf/form'; import { icons } from '@sjsf/lucide-icons';
const form = createForm3({ icons })</script>Playground
Flowbite icons
Section titled “Flowbite icons”Installation:
npm i @sjsf/flowbite-iconsyarn add @sjsf/flowbite-iconspnpm add @sjsf/flowbite-iconsbun add @sjsf/flowbite-iconsAdd icons content to the tailwindcss config:
import { FLOWBITE_ICONS_CONTENT } from '@sjsf/flowbite-icons/preset'
/** @type {import('tailwindcss').Config} */export default { content: ['./src/**/*.{html,js,svelte,ts}', FLOWBITE_ICONS_CONTENT],}Usage:
<script lang="ts"> import { createForm3 } from '@sjsf/form'; import { icons } from '@sjsf/flowbite-icons';
const form = createForm3({ icons })</script>Playground
Radix icons
Section titled “Radix icons”Installation:
npm i @sjsf/radix-iconsyarn add @sjsf/radix-iconspnpm add @sjsf/radix-iconsbun add @sjsf/radix-iconsUsage:
<script lang="ts"> import { createForm3 } from '@sjsf/form'; import { icons } from '@sjsf/radix-icons';
const form = createForm3({ icons })</script>Playground