{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "hero-01",
  "title": "Hero 01",
  "description": "A simple hero block",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "badge",
    "button"
  ],
  "files": [
    {
      "path": "src/registry/blocks/radix/hero-01/components/hero.tsx",
      "content": "import { ArrowUpRight, CirclePlay } from \"lucide-react\";\nimport Link from \"next/link\";\nimport type { SVGProps } from \"react\";\nimport { Badge } from \"@/registry/bases/radix/ui/badge\";\nimport { Button } from \"@/registry/bases/radix/ui/button\";\n\nexport default function Hero() {\n  return (\n    <div className=\"relative flex min-h-screen items-center justify-center overflow-hidden px-6\">\n      <DreamyBackground className=\"absolute inset-0 m-auto\" />\n\n      <div className=\"relative isolate max-w-3xl text-center\">\n        <Badge\n          asChild\n          className=\"rounded-full bg-background/30 py-1 backdrop-blur-lg\"\n          variant=\"secondary\"\n        >\n          <Link href=\"#\">\n            Just released v1.0.0 <ArrowUpRight className=\"ml-1 size-4\" />\n          </Link>\n        </Badge>\n        <h1 className=\"mx-auto mt-6 max-w-xl font-medium text-4xl tracking-tighter sm:text-[2.75rem] md:text-6xl/[1.2]\">\n          Ship better UI without&nbsp;the&nbsp;hassle\n        </h1>\n        <p className=\"mx-auto mt-6 max-w-2xl text-foreground/70 text-xl md:text-2xl/normal\">\n          Instead of starting from scratch every time, use thoughtfully designed\n          blocks that give you a solid foundation for any UI.\n        </p>\n        <div className=\"mt-12 flex items-center justify-center gap-4\">\n          <Button className=\"rounded-full\" size=\"lg\">\n            Get Started <ArrowUpRight className=\"size-5\" />\n          </Button>\n          <Button\n            className=\"rounded-full shadow-none\"\n            size=\"lg\"\n            variant=\"outline\"\n          >\n            <CirclePlay className=\"size-5\" /> Watch Demo\n          </Button>\n        </div>\n      </div>\n    </div>\n  );\n}\n\nfunction DreamyBackground(props: SVGProps<SVGSVGElement>) {\n  return (\n    <svg\n      fill=\"none\"\n      viewBox=\"0 0 1226 1065\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      {...props}\n    >\n      <g filter=\"url(#filter0_f_0_1)\">\n        <path\n          d=\"M291.402 416.77C291.402 346.77 244.735 285.603 221.402 263.77C111.902 141.27 448.902 207.27 636.402 359.77C823.902 512.27 618.902 613.27 448.902 740.27C278.902 867.27 291.402 504.27 291.402 416.77Z\"\n          fill=\"url(#paint0_linear_0_1)\"\n        />\n      </g>\n      <g filter=\"url(#filter1_f_0_1)\">\n        <path\n          d=\"M811.933 441.279C881.694 435.492 938.793 383.929 958.623 358.87C1071.65 239.618 1033.74 580.921 897.259 780.386C760.781 979.851 643.18 783.902 502.561 624.983C361.942 466.063 724.733 448.512 811.933 441.279Z\"\n          fill=\"url(#paint1_linear_0_1)\"\n        />\n      </g>\n      <defs>\n        <filter\n          color-interpolation-filters=\"sRGB\"\n          filterUnits=\"userSpaceOnUse\"\n          height=\"966.944\"\n          id=\"filter0_f_0_1\"\n          width=\"910.974\"\n          x=\"0\"\n          y=\"0\"\n        >\n          <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n          <feBlend\n            in=\"SourceGraphic\"\n            in2=\"BackgroundImageFix\"\n            mode=\"normal\"\n            result=\"shape\"\n          />\n          <feGaussianBlur\n            result=\"effect1_foregroundBlur_0_1\"\n            stdDeviation=\"100\"\n          />\n        </filter>\n        <filter\n          color-interpolation-filters=\"sRGB\"\n          filterUnits=\"userSpaceOnUse\"\n          height=\"930.619\"\n          id=\"filter1_f_0_1\"\n          width=\"954.625\"\n          x=\"270.534\"\n          y=\"134.203\"\n        >\n          <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n          <feBlend\n            in=\"SourceGraphic\"\n            in2=\"BackgroundImageFix\"\n            mode=\"normal\"\n            result=\"shape\"\n          />\n          <feGaussianBlur\n            result=\"effect1_foregroundBlur_0_1\"\n            stdDeviation=\"100\"\n          />\n        </filter>\n        <linearGradient\n          gradientUnits=\"userSpaceOnUse\"\n          id=\"paint0_linear_0_1\"\n          x1=\"155.902\"\n          x2=\"592.902\"\n          y1=\"200.271\"\n          y2=\"696.271\"\n        >\n          <stop stop-color=\"#5E8778\" />\n          <stop offset=\"1\" stop-color=\"#78FF86\" />\n        </linearGradient>\n        <linearGradient\n          gradientUnits=\"userSpaceOnUse\"\n          id=\"paint1_linear_0_1\"\n          x1=\"1016.49\"\n          x2=\"558.314\"\n          y1=\"288.346\"\n          y2=\"764.853\"\n        >\n          <stop stop-color=\"#575EFF\" />\n          <stop offset=\"1\" stop-color=\"#E478FF\" />\n        </linearGradient>\n      </defs>\n    </svg>\n  );\n}\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:block"
}