{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "switch-form", "type": "registry:example", "author": "shadcn (https://ui.shadcn.com)", "registryDependencies": [ "switch", "form" ], "files": [ { "path": "examples/switch-form.tsx", "content": "\"use client\"\n\nimport { zodResolver } from \"@hookform/resolvers/zod\"\nimport { useForm } from \"react-hook-form\"\nimport { z } from \"zod\"\n\nimport { toast } from \"@/registry/default/hooks/use-toast\"\nimport { Button } from \"@/registry/default/ui/button\"\nimport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n} from \"@/registry/default/ui/form\"\nimport { Switch } from \"@/registry/default/ui/switch\"\n\nconst FormSchema = z.object({\n marketing_emails: z.boolean().default(false).optional(),\n security_emails: z.boolean(),\n})\n\nexport default function SwitchForm() {\n const form = useForm>({\n resolver: zodResolver(FormSchema),\n defaultValues: {\n security_emails: true,\n },\n })\n\n function onSubmit(data: z.infer) {\n toast({\n title: \"You submitted the following values:\",\n description: (\n
\n          {JSON.stringify(data, null, 2)}\n        
\n ),\n })\n }\n\n return (\n
\n \n
\n

Email Notifications

\n
\n (\n \n
\n \n Marketing emails\n \n \n Receive emails about new products, features, and more.\n \n
\n \n \n \n
\n )}\n />\n (\n \n
\n Security emails\n \n Receive emails about your account security.\n \n
\n \n \n \n
\n )}\n />\n
\n
\n \n
\n \n )\n}\n", "type": "registry:example", "target": "" } ] }