{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "form-wizard",
  "type": "registry:component",
  "title": "Form wizard",
  "description": "A three step React form wizard with a stepper for basics, details and review, per step fields, and back and next buttons that become submit at the end.",
  "dependencies": [],
  "registryDependencies": [
    "https://ui.minidev.pro/r/button.json",
    "https://ui.minidev.pro/r/form-field.json",
    "https://ui.minidev.pro/r/input.json",
    "https://ui.minidev.pro/r/stepper.json"
  ],
  "files": [
    {
      "path": "registry/blocks/form-wizard.tsx",
      "type": "registry:ui",
      "target": "components/ui/form-wizard.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { Stepper } from \"@/components/ui/stepper\"\nimport { FormField } from \"@/components/ui/form-field\"\nimport { Input } from \"@/components/ui/input\"\nimport { Button } from \"@/components/ui/button\"\nfunction FormWizard() {\n  const [step, setStep] = React.useState(0)\n  return (\n    <div data-slot=\"form-wizard\" className=\"mx-auto max-w-md space-y-6\">\n      <Stepper steps={[\"Basics\", \"Details\", \"Review\"]} current={step} />\n      {step === 0 ? (\n        <FormField id=\"fw-name\" label=\"Name\">\n          <Input id=\"fw-name\" />\n        </FormField>\n      ) : null}\n      {step === 1 ? (\n        <FormField id=\"fw-url\" label=\"URL\">\n          <Input id=\"fw-url\" />\n        </FormField>\n      ) : null}\n      {step === 2 ? <p className=\"text-sm text-fg-muted\">Ready to submit.</p> : null}\n      <div className=\"flex gap-2\">\n        <Button variant=\"outline\" disabled={step === 0} onClick={() => setStep((s) => s - 1)}>\n          Back\n        </Button>\n        <Button onClick={() => setStep((s) => Math.min(2, s + 1))}>{step === 2 ? \"Submit\" : \"Next\"}</Button>\n      </div>\n    </div>\n  )\n}\nexport { FormWizard }\n"
    }
  ]
}
