{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "cookie-consent-3",
  "title": "Cookie Preferences Panel",
  "description": "Cookie preferences panel with switches for necessary, analytics, and marketing categories, plus save preferences and reject all buttons.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "badge",
    "button",
    "separator",
    "switch"
  ],
  "files": [
    {
      "path": "registry/blocks/cookie-consent/3/cookie-consent-block.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport { Separator } from \"@/components/ui/separator\"\nimport { Switch } from \"@/components/ui/switch\"\n\nexport default function CookieConsentBlock() {\n  const [analytics, setAnalytics] = React.useState(true)\n  const [marketing, setMarketing] = React.useState(false)\n\n  return (\n    <div className=\"flex w-full items-center justify-center bg-background p-6 text-foreground\">\n      <div className=\"w-full max-w-md rounded-lg border border-border bg-background p-6\">\n        <h2 className=\"font-heading text-lg font-semibold text-foreground\">\n          Cookie preferences\n        </h2>\n        <p className=\"mt-1 text-sm text-muted-foreground\">\n          Manage how we use cookies to improve your experience. You can change\n          these settings at any time.\n        </p>\n\n        <div className=\"mt-6 flex flex-col gap-4\">\n          <div className=\"flex items-start justify-between gap-4\">\n            <div>\n              <div className=\"flex items-center gap-2\">\n                <label\n                  htmlFor=\"cookie-necessary\"\n                  className=\"text-sm font-medium text-foreground\"\n                >\n                  Necessary\n                </label>\n                <Badge variant=\"secondary\" className=\"px-1.5 text-[10px]\">\n                  Always on\n                </Badge>\n              </div>\n              <p className=\"text-sm text-muted-foreground\">\n                Required for the site to function\n              </p>\n            </div>\n            <Switch id=\"cookie-necessary\" checked disabled />\n          </div>\n\n          <Separator />\n\n          <div className=\"flex items-start justify-between gap-4\">\n            <div>\n              <label\n                htmlFor=\"cookie-analytics\"\n                className=\"text-sm font-medium text-foreground\"\n              >\n                Analytics\n              </label>\n              <p className=\"text-sm text-muted-foreground\">\n                Helps us understand how visitors use the site\n              </p>\n            </div>\n            <Switch\n              id=\"cookie-analytics\"\n              checked={analytics}\n              onCheckedChange={(checked) => setAnalytics(checked)}\n            />\n          </div>\n\n          <Separator />\n\n          <div className=\"flex items-start justify-between gap-4\">\n            <div>\n              <label\n                htmlFor=\"cookie-marketing\"\n                className=\"text-sm font-medium text-foreground\"\n              >\n                Marketing\n              </label>\n              <p className=\"text-sm text-muted-foreground\">\n                Used to deliver personalized ads and offers\n              </p>\n            </div>\n            <Switch\n              id=\"cookie-marketing\"\n              checked={marketing}\n              onCheckedChange={(checked) => setMarketing(checked)}\n            />\n          </div>\n        </div>\n\n        <div className=\"mt-6 flex items-center gap-2\">\n          <Button>Save preferences</Button>\n          <Button variant=\"outline\">Reject all</Button>\n        </div>\n      </div>\n    </div>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/blocks/cookie-consent-3.tsx"
    }
  ],
  "meta": {
    "height": "452px",
    "tier": "free"
  },
  "categories": [
    "cookie-consent"
  ],
  "type": "registry:block"
}