{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "newsletter",
  "type": "registry:ui",
  "title": "Newsletter Dialog",
  "description": "A responsive newsletter subscription dialog with email input - drawer on mobile, modal on desktop.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "button",
    "input",
    "https://revola.sameerjs.com/r/revola.json"
  ],
  "files": [
    {
      "path": "registry/revola/examples/origin-ui/forms/feedback/newsletter.tsx",
      "content": "\"use client\";\n\nimport { MailIcon } from \"lucide-react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport {\n  ResponsiveDialog,\n  ResponsiveDialogContent,\n  ResponsiveDialogDescription,\n  ResponsiveDialogHeader,\n  ResponsiveDialogTitle,\n  ResponsiveDialogTrigger,\n} from \"@/components/ui/revola\";\n\nexport default function NewsletterDialog() {\n  return (\n    <ResponsiveDialog>\n      <ResponsiveDialogTrigger asChild>\n        <Button variant=\"outline\" className=\"h-12 rounded-full px-6 capitalize\">\n          Subscribe\n        </Button>\n      </ResponsiveDialogTrigger>\n      <ResponsiveDialogContent className=\"sm:max-w-sm\">\n        <div className=\"space-y-4 overflow-y-auto p-6 max-sm:pt-0\">\n          <div className=\"mb-2 flex flex-col items-center gap-2\">\n            <div className=\"flex size-11 shrink-0 items-center justify-center rounded-full border\" aria-hidden=\"true\">\n              <svg\n                className=\"stroke-zinc-800 dark:stroke-zinc-100\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n                width=\"20\"\n                height=\"20\"\n                viewBox=\"0 0 32 32\"\n                aria-hidden=\"true\"\n              >\n                <circle cx=\"16\" cy=\"16\" r=\"12\" fill=\"none\" strokeWidth=\"8\" />\n              </svg>\n            </div>\n            <ResponsiveDialogHeader className=\"sm:text-center\">\n              <ResponsiveDialogTitle>Never miss an update</ResponsiveDialogTitle>\n              <ResponsiveDialogDescription>Subscribe to receive news and special offers.</ResponsiveDialogDescription>\n            </ResponsiveDialogHeader>\n          </div>\n          <form className=\"space-y-5\" onSubmit={(e) => e.preventDefault()}>\n            <div className=\"*:not-first:mt-2\">\n              <div className=\"relative\">\n                <Input\n                  id=\"dialog-subscribe\"\n                  className=\"peer ps-9\"\n                  placeholder=\"hi@yourcompany.com\"\n                  type=\"email\"\n                  aria-label=\"Email\"\n                />\n                <div className=\"pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-muted-foreground/80 peer-disabled:opacity-50\">\n                  <MailIcon size={16} aria-hidden=\"true\" />\n                </div>\n              </div>\n            </div>\n            <Button type=\"submit\" className=\"w-full\">\n              Subscribe\n            </Button>\n          </form>\n\n          <p className=\"text-center text-xs text-muted-foreground\">\n            By subscribing you agree to our{\" \"}\n            <a className=\"underline hover:no-underline\" href=\"#\">\n              Privacy Policy\n            </a>\n            .\n          </p>\n        </div>\n      </ResponsiveDialogContent>\n    </ResponsiveDialog>\n  );\n}\n",
      "type": "registry:ui"
    }
  ]
}