{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "ds-aurora-background",
  "title": "Aurora Background",
  "description": "Fundo aurora com gradientes animados, grid sutil e máscara radial — inspirado em Aceternity Aurora + Sparkles + Wavy.",
  "dependencies": [
    "class-variance-authority"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "components/ds/ds-aurora-background.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\n// ── Types ──\n\nexport interface AuroraBackgroundProps\n  extends\n    React.HTMLAttributes<HTMLDivElement>,\n    VariantProps<typeof auroraBackgroundVariants> {\n  showRadial?: boolean\n}\n\n// ── Variants ──\n\nexport const auroraBackgroundVariants = cva(\n  \"relative flex w-full flex-col overflow-hidden bg-background\",\n  {\n    variants: {\n      variant: {\n        default: \"\",\n        muted: \"bg-muted/30\",\n        dark: \"bg-card text-card-foreground [--aurora-1:var(--chart-1)] [--aurora-2:var(--chart-2)] [--aurora-3:var(--chart-3)]\",\n      },\n      intensity: {\n        subtle: \"[--aurora-opacity:0.45]\",\n        medium: \"[--aurora-opacity:0.65]\",\n        strong: \"[--aurora-opacity:0.85]\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      intensity: \"medium\",\n    },\n  }\n)\n\n// ── Component ──\n\nexport function AuroraBackground({\n  className,\n  variant = \"default\",\n  intensity = \"medium\",\n  showRadial = true,\n  children,\n  ...props\n}: AuroraBackgroundProps) {\n  return (\n    <div\n      data-slot=\"aurora-background\"\n      className={cn(\n        auroraBackgroundVariants({ variant, intensity }),\n        className\n      )}\n      {...props}\n    >\n      <div\n        aria-hidden=\"true\"\n        className=\"pointer-events-none absolute inset-0 overflow-hidden\"\n      >\n        <div\n          className=\"absolute -inset-[10%] opacity-[var(--aurora-opacity)] blur-[28px]\"\n          style={{\n            background:\n              \"radial-gradient(60% 50% at 20% 20%, hsl(var(--primary) / 0.22) 0%, transparent 60%), radial-gradient(55% 45% at 80% 30%, hsl(var(--chart-2) / 0.22) 0%, transparent 60%), radial-gradient(60% 60% at 50% 80%, hsl(var(--chart-3) / 0.18) 0%, transparent 65%)\",\n          }}\n        />\n        {/* animated aurora bands */}\n        <div className=\"absolute inset-0 opacity-[var(--aurora-opacity)]\">\n          <div className=\"absolute h-[40%] w-[120%] -translate-x-10 -rotate-6 animate-[aurora_12s_ease-in-out_infinite_alternate] bg-gradient-to-r from-primary/15 via-chart-2/15 to-chart-3/15 blur-[18px]\" />\n          <div className=\"absolute top-1/3 h-[36%] w-[120%] translate-x-6 rotate-3 animate-[aurora_16s_ease-in-out_infinite_alternate-reverse] bg-gradient-to-r from-primary/10 via-chart-2/10 to-chart-3/10 blur-[20px]\" />\n        </div>\n        {showRadial && (\n          <div className=\"absolute inset-0 bg-[radial-gradient(ellipse_at_center,transparent_60%,hsl(var(--background))_100%)]\" />\n        )}\n        {/* grid subtle */}\n        <div className=\"absolute inset-0 bg-[linear-gradient(to_right,hsl(var(--border)/0.22)_1px,transparent_1px),linear-gradient(to_bottom,hsl(var(--border)/0.22)_1px,transparent_1px)] [mask-image:radial-gradient(ellipse_at_center,black_60%,transparent_80%)] bg-[size:24px_24px] opacity-30\" />\n      </div>\n      <div className=\"relative z-10 flex flex-1 flex-col\">{children}</div>\n      <style>{`@keyframes aurora { 0% { transform: translateX(-10%) rotate(-6deg) } 100% { transform: translateX(6%) rotate(4deg) } } @media (prefers-reduced-motion: reduce) { [data-slot=\"aurora-background\"] [class*=\"animate-\"] { animation: none !important } }`}</style>\n    </div>\n  )\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}
