{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "grain-gradient-card",
  "title": "Grain Gradient Card",
  "description": "A content card with a grainy, animated gradient cover.",
  "dependencies": [
    "@paper-design/shaders-react"
  ],
  "files": [
    {
      "path": "registry/shaders/grain-gradient-card/grain-gradient-card.tsx",
      "content": "import {\n  GrainGradient,\n  type GrainGradientProps,\n} from \"@paper-design/shaders-react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype GrainGradientCardProps = React.ComponentProps<\"div\"> & {\n  eyebrow?: string\n  title?: string\n  description?: string\n  colors?: string[]\n  colorBack?: string\n  shape?: GrainGradientProps[\"shape\"]\n}\n\nfunction GrainGradientCard({\n  eyebrow = \"Collection\",\n  title = \"Golden hour\",\n  description = \"A slow, grainy wave of warm light. Drop it anywhere you need a little texture.\",\n  colors = [\"#c4730b\", \"#bdad5f\", \"#d8ccc7\"],\n  colorBack = \"#000a0f\",\n  shape = \"wave\",\n  className,\n  ...props\n}: GrainGradientCardProps) {\n  return (\n    <div\n      data-slot=\"grain-gradient-card\"\n      className={cn(\n        \"flex w-full max-w-sm flex-col overflow-hidden border bg-card text-card-foreground\",\n        className\n      )}\n      {...props}\n    >\n      <div className=\"relative aspect-video w-full\">\n        <GrainGradient\n          aria-hidden\n          className=\"absolute inset-0 size-full\"\n          colors={colors}\n          colorBack={colorBack}\n          shape={shape}\n          softness={0.7}\n          intensity={0.15}\n          noise={0.5}\n          speed={0.8}\n        />\n      </div>\n      <div className=\"flex flex-col gap-1.5 p-5\">\n        <span className=\"font-mono text-[10px] tracking-widest text-muted-foreground uppercase\">\n          {eyebrow}\n        </span>\n        <h3 className=\"font-heading text-lg leading-tight\">{title}</h3>\n        <p className=\"text-sm text-muted-foreground\">{description}</p>\n      </div>\n    </div>\n  )\n}\n\nexport { GrainGradientCard }\n",
      "type": "registry:component"
    }
  ],
  "categories": [
    "components",
    "cards"
  ],
  "type": "registry:component"
}