{
  "name": "input-form",
  "type": "registry:ui",
  "registryDependencies": [
    "input",
    "button",
    "form",
    "sonner"
  ],
  "files": [
    {
      "type": "registry:ui",
      "content": "\"use client\";\n\nimport { z } from \"zod\";\nimport { useForm } from \"react-hook-form\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\n\nimport { toast } from \"sonner\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n  Form,\n  FormControl,\n  FormField,\n  FormItem,\n  FormLabel,\n  FormMessage,\n} from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\n\nconst FormSchema = z.object({\n  text: z.string().min(2, {\n    message: \"text must be at least 2 characters.\",\n  }),\n});\n\nexport default function FormInput() {\n  const form = useForm<z.infer<typeof FormSchema>>({\n    resolver: zodResolver(FormSchema),\n    defaultValues: {\n      text: \"\",\n    },\n  });\n\n  function onSubmit(data: z.infer<typeof FormSchema>) {\n    toast.success(data.text);\n  }\n\n  return (\n    <Form {...form}>\n      <form onSubmit={form.handleSubmit(onSubmit)} className=\" space-y-6\">\n        <FormField\n          control={form.control}\n          name=\"text\"\n          render={({ field }) => (\n            <FormItem>\n              <FormLabel>Text</FormLabel>\n              <FormControl>\n                <Input placeholder=\"Wubba Lubba Dub-Dub!\" {...field} />\n              </FormControl>\n              <FormMessage />\n            </FormItem>\n          )}\n        />\n        <Button type=\"submit\">Submit</Button>\n      </form>\n    </Form>\n  );\n}\n",
      "path": "ui/input-form.tsx",
      "target": "components/ui/input-form.tsx"
    }
  ]
}