{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "newsletter-1",
  "title": "Centered Signup With Consent",
  "description": "Centered newsletter signup with an inline email field, subscribe button, marketing consent checkbox, and a no-spam privacy note.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "button",
    "checkbox",
    "input",
    "sonner"
  ],
  "files": [
    {
      "path": "registry/blocks/newsletter/1/newsletter-block.tsx",
      "content": "\"use client\"\nimport { toast } from \"sonner\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { Checkbox } from \"@/components/ui/checkbox\"\nimport { Input } from \"@/components/ui/input\"\nimport { Toaster } from \"@/components/ui/sonner\"\nimport { IconPlaceholder } from \"@/components/icons/icon-placeholder\"\n\nexport default function NewsletterBlock() {\n  return (\n    <section className=\"flex w-full items-center justify-center bg-background px-6 py-12 text-foreground\">\n      <Toaster />\n      <div className=\"mx-auto flex w-full max-w-lg flex-col items-center text-center\">\n        <h2 className=\"font-heading text-3xl font-bold tracking-tight sm:text-4xl\">\n          Stay in the loop\n        </h2>\n        <p className=\"mt-3 text-base text-muted-foreground\">\n          Get product updates, curated articles, and early access to new Acme\n          features, delivered weekly, no noise.\n        </p>\n\n        <form\n          className=\"mt-8 flex w-full flex-col gap-3\"\n          onSubmit={(e) => {\n            e.preventDefault()\n            toast.success(\"You're subscribed. Welcome aboard!\")\n          }}\n        >\n          <div className=\"flex w-full flex-col gap-2 sm:flex-row\">\n            <Input\n              type=\"email\"\n              placeholder=\"you@company.com\"\n              aria-label=\"Email address\"\n              className=\"h-9 flex-1\"\n            />\n            <Button type=\"submit\" size=\"lg\" className=\"shrink-0\">\n              <IconPlaceholder\n                lucide=\"Send\"\n                tabler=\"IconSend\"\n                hugeicons=\"MailSendIcon\"\n                phosphor=\"PaperPlane\"\n                remixicon=\"RiMailSendLine\"\n                data-icon=\"inline-start\"\n                aria-hidden=\"true\"\n              />\n              Subscribe\n            </Button>\n          </div>\n          <div className=\"flex items-center justify-center gap-2\">\n            <Checkbox id=\"newsletter-consent\" name=\"consent\" />\n            <label\n              htmlFor=\"newsletter-consent\"\n              className=\"text-sm font-normal text-muted-foreground\"\n            >\n              I agree to receive marketing emails.\n            </label>\n          </div>\n        </form>\n\n        <p className=\"mt-4 flex items-center gap-1.5 text-xs text-muted-foreground\">\n          <IconPlaceholder\n            lucide=\"ShieldCheck\"\n            tabler=\"IconShieldCheck\"\n            hugeicons=\"Shield01Icon\"\n            phosphor=\"ShieldCheck\"\n            remixicon=\"RiShieldCheckLine\"\n            aria-hidden=\"true\"\n            className=\"shrink-0 text-muted-foreground\"\n            size={13}\n          />\n          No spam, ever. Unsubscribe at any time. We respect your privacy.\n        </p>\n      </div>\n    </section>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/blocks/newsletter-1.tsx"
    }
  ],
  "meta": {
    "height": "336px",
    "tier": "free"
  },
  "categories": [
    "newsletter"
  ],
  "type": "registry:block"
}