{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "ds-background-glow",
  "title": "BackgroundGlow",
  "description": "Ambientação luminosa e texturas de fundo em CSS puro (Aurora, Spotlight, Beam e Grid-dots) para seções Hero.",
  "dependencies": [
    "class-variance-authority"
  ],
  "registryDependencies": [
    "@lema-ds/tokens"
  ],
  "files": [
    {
      "path": "components/ds/ds-background-glow.tsx",
      "content": "import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\n// ── Types ──\n\nexport interface BackgroundGlowProps\n  extends\n    React.HTMLAttributes<HTMLDivElement>,\n    VariantProps<typeof backgroundGlowVariants> {}\n\n// ── Variants ──\n\nexport const backgroundGlowVariants = cva(\n  \"pointer-events-none absolute inset-0 -z-10 overflow-hidden\",\n  {\n    variants: {\n      variant: {\n        aurora: \"\",\n        spotlight: \"\",\n        beam: \"\",\n        \"grid-dots\": \"\",\n      },\n      tone: {\n        primary: \"\",\n        violet: \"\",\n        sky: \"\",\n        neutral: \"\",\n      },\n    },\n    defaultVariants: {\n      variant: \"aurora\",\n      tone: \"primary\",\n    },\n  }\n)\n\n// ── Component ──\n\nexport const BackgroundGlow = React.forwardRef<\n  HTMLDivElement,\n  BackgroundGlowProps\n>(({ className, variant = \"aurora\", tone = \"primary\", ...props }, ref) => {\n  return (\n    <div\n      ref={ref}\n      aria-hidden=\"true\"\n      className={cn(backgroundGlowVariants({ variant, tone }), className)}\n      {...props}\n    >\n      {variant === \"aurora\" && (\n        <div\n          className={cn(\n            \"absolute -top-32 left-1/2 size-[600px] -translate-x-1/2 rounded-full opacity-30 blur-3xl sm:size-[800px]\",\n            tone === \"primary\" &&\n              \"bg-radial from-primary via-primary/30 to-transparent\",\n            tone === \"violet\" &&\n              \"bg-radial from-highlight-violet via-primary/20 to-transparent\",\n            tone === \"sky\" &&\n              \"bg-radial from-highlight-sky via-primary/20 to-transparent\",\n            tone === \"neutral\" &&\n              \"bg-radial from-foreground/20 via-muted to-transparent\"\n          )}\n        />\n      )}\n\n      {variant === \"spotlight\" && (\n        <div\n          className={cn(\n            \"absolute top-0 left-1/2 h-[500px] w-full max-w-4xl -translate-x-1/2 [mask-image:radial-gradient(ellipse_at_top,black_40%,transparent_75%)] opacity-25 blur-2xl\",\n            tone === \"primary\" &&\n              \"bg-gradient-to-b from-primary to-transparent\",\n            tone === \"violet\" &&\n              \"bg-gradient-to-b from-highlight-violet to-transparent\",\n            tone === \"sky\" &&\n              \"bg-gradient-to-b from-highlight-sky to-transparent\",\n            tone === \"neutral\" &&\n              \"bg-gradient-to-b from-foreground/30 to-transparent\"\n          )}\n        />\n      )}\n\n      {variant === \"beam\" && (\n        <div className=\"absolute inset-0 flex justify-center\">\n          <div\n            className={cn(\n              \"h-full w-px opacity-30\",\n              tone === \"primary\" &&\n                \"bg-gradient-to-b from-transparent via-primary to-transparent\",\n              tone === \"violet\" &&\n                \"bg-gradient-to-b from-transparent via-highlight-violet to-transparent\",\n              tone === \"sky\" &&\n                \"bg-gradient-to-b from-transparent via-highlight-sky to-transparent\",\n              tone === \"neutral\" &&\n                \"bg-gradient-to-b from-transparent via-foreground to-transparent\"\n            )}\n          />\n        </div>\n      )}\n\n      {variant === \"grid-dots\" && (\n        <div\n          className={cn(\n            \"absolute inset-0 [mask-image:radial-gradient(ellipse_at_center,black_50%,transparent_80%)] opacity-40\",\n            \"bg-[radial-gradient(var(--border)_1px,transparent_1px)] [background-size:20px_20px]\"\n          )}\n        />\n      )}\n    </div>\n  )\n})\nBackgroundGlow.displayName = \"BackgroundGlow\"\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}
