{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "settings-01",
  "title": "Settings Form",
  "description": "An account settings form with profile and notification controls.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "@rivelle/utils",
    "@rivelle/avatar",
    "@rivelle/button",
    "@rivelle/input",
    "@rivelle/label",
    "@rivelle/separator",
    "@rivelle/switch",
    "@rivelle/textarea"
  ],
  "files": [
    {
      "path": "registry/nova/blocks/settings-01.tsx",
      "content": "import * as React from \"react\";\nimport { Camera, Save } from \"lucide-react\";\n\nimport { Avatar, AvatarFallback } from \"@/components/ui/avatar\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { cn } from \"@/lib/utils\";\n\nfunction Settings01({ className, ...props }: React.ComponentProps<\"section\">) {\n  return (\n    <section\n      className={cn(\n        \"rounded-[2rem] border border-foreground/10 bg-background p-6 sm:p-10\",\n        className,\n      )}\n      {...props}\n    >\n      <div className=\"mx-auto max-w-3xl\">\n        <div>\n          <h1 className=\"text-3xl font-semibold tracking-[-.04em]\">\n            Account settings\n          </h1>\n          <p className=\"mt-2 text-sm text-muted-foreground\">\n            Manage your public profile and workspace preferences.\n          </p>\n        </div>\n        <Separator className=\"my-8\" />\n        <form>\n          <div className=\"grid gap-8 sm:grid-cols-[180px_1fr]\">\n            <div>\n              <p className=\"text-sm font-semibold\">Profile</p>\n              <p className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n                This information appears across your workspace.\n              </p>\n            </div>\n            <div className=\"space-y-5\">\n              <div className=\"flex items-center gap-4\">\n                <Avatar className=\"size-16\">\n                  <AvatarFallback className=\"text-base\">MC</AvatarFallback>\n                </Avatar>\n                <Button size=\"sm\" variant=\"outline\">\n                  <Camera /> Change photo\n                </Button>\n              </div>\n              <div className=\"grid gap-5 sm:grid-cols-2\">\n                <div className=\"space-y-2\">\n                  <Label htmlFor=\"settings-name\">Display name</Label>\n                  <Input defaultValue=\"Maya Chen\" id=\"settings-name\" />\n                </div>\n                <div className=\"space-y-2\">\n                  <Label htmlFor=\"settings-role\">Role</Label>\n                  <Input defaultValue=\"Product designer\" id=\"settings-role\" />\n                </div>\n              </div>\n              <div className=\"space-y-2\">\n                <Label htmlFor=\"settings-email\">Email</Label>\n                <Input\n                  defaultValue=\"maya@rivelle.dev\"\n                  id=\"settings-email\"\n                  type=\"email\"\n                />\n              </div>\n              <div className=\"space-y-2\">\n                <Label htmlFor=\"settings-bio\">Bio</Label>\n                <Textarea\n                  defaultValue=\"Designing thoughtful tools for creative teams.\"\n                  id=\"settings-bio\"\n                />\n              </div>\n            </div>\n          </div>\n          <Separator className=\"my-8\" />\n          <div className=\"grid gap-8 sm:grid-cols-[180px_1fr]\">\n            <div>\n              <p className=\"text-sm font-semibold\">Notifications</p>\n              <p className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n                Choose what reaches your inbox.\n              </p>\n            </div>\n            <div className=\"space-y-5\">\n              {[\n                [\n                  \"Product updates\",\n                  \"New features, improvements and announcements.\",\n                ],\n                [\"Team activity\", \"Invites, mentions and project changes.\"],\n                [\"Weekly digest\", \"A concise summary every Monday.\"],\n              ].map(([title, description], index) => (\n                <div\n                  className=\"flex items-start justify-between gap-5\"\n                  key={title}\n                >\n                  <div>\n                    <Label htmlFor={`setting-${index}`}>{title}</Label>\n                    <p className=\"mt-1 text-xs text-muted-foreground\">\n                      {description}\n                    </p>\n                  </div>\n                  <Switch\n                    defaultChecked={index !== 2}\n                    id={`setting-${index}`}\n                  />\n                </div>\n              ))}\n            </div>\n          </div>\n          <div className=\"mt-9 flex justify-end\">\n            <Button>\n              <Save /> Save changes\n            </Button>\n          </div>\n        </form>\n      </div>\n    </section>\n  );\n}\n\nexport { Settings01 };\n",
      "type": "registry:block"
    }
  ],
  "type": "registry:block"
}