{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "button-form-demo",
  "type": "registry:component",
  "title": "Button Form Demo",
  "description": "A demo of the button form",
  "registryDependencies": [
    "https://ui.ednesdayw.com/r/button.json"
  ],
  "files": [
    {
      "path": "src/registry/example/button/form.tsx",
      "content": "\"use client\";\n\nimport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardHeader,\n  CardTitle,\n} from \"@/components/ui/card\";\nimport {\n  Form,\n  FormControl,\n  FormField,\n  FormItem,\n  FormLabel,\n  FormMessage,\n} from \"@/components/ui/form\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { toast } from \"sonner\";\nimport { z } from \"zod\";\n\nconst formSchema = z.object({\n  email: z.string().email({\n    message: \"Invalid email\",\n  }),\n});\n\nexport const ButtonFormExample = () => {\n  const form = useForm<z.infer<typeof formSchema>>({\n    resolver: zodResolver(formSchema),\n    defaultValues: {\n      email: \"\",\n    },\n  });\n\n  const onSubmit = async (values: z.infer<typeof formSchema>) => {\n    await new Promise((resolve) => setTimeout(resolve, 300));\n    toast.success(\"Email sent successfully\");\n  };\n\n  return (\n    <Card className=\"w-full max-w-sm\">\n      <CardHeader>\n        <CardTitle>Reset Password</CardTitle>\n        <CardDescription>\n          Please enter your email to reset your password\n        </CardDescription>\n      </CardHeader>\n      <CardContent>\n        <Form {...form}>\n          <form onSubmit={form.handleSubmit(onSubmit)} className=\"space-y-2\">\n            <FormField\n              control={form.control}\n              name=\"email\"\n              render={({ field }) => (\n                <FormItem>\n                  <FormLabel>Email</FormLabel>\n                  <FormControl>\n                    <Input\n                      variant=\"bordered\"\n                      placeholder=\"Please enter your Email\"\n                      {...field}\n                    />\n                  </FormControl>\n                  <FormMessage />\n                </FormItem>\n              )}\n            />\n            <div className=\"flex justify-end pt-2\">\n              <Button type=\"submit\" loading={form.formState.isSubmitting}>\n                Submit\n              </Button>\n            </div>\n          </form>\n        </Form>\n      </CardContent>\n    </Card>\n  );\n};\n",
      "type": "registry:component",
      "target": "components/demo/button-form-demo.tsx"
    }
  ]
}