{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "gradient-heading",
  "type": "registry:ui",
  "description": "Heading component with gradient text effects and customizable styling",
  "dependencies": [
    "@radix-ui/react-slot",
    "class-variance-authority"
  ],
  "files": [
    {
      "path": "registry/default/ui/gradient-heading.tsx",
      "content": "import React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst headingVariants = cva(\n  \"bg-clip-text pb-3 tracking-tight text-transparent\",\n  {\n    variants: {\n      variant: {\n        default:\n          \"bg-gradient-to-t from-neutral-700 to-neutral-800 dark:from-stone-200 dark:to-neutral-200\",\n        pink: \"from-accent to-accent/90 bg-gradient-to-t dark:from-stone-200 dark:to-neutral-200\",\n        light: \"bg-gradient-to-t from-neutral-200 to-neutral-300\",\n        secondary:\n          \"bg-gradient-to-t from-neutral-500 to-neutral-600 dark:from-stone-200 dark:to-neutral-200\",\n      },\n      size: {\n        default: \"text-2xl sm:text-3xl lg:text-4xl\",\n        xxs: \"text-base sm:text-lg lg:text-lg\",\n        xs: \"text-lg sm:text-xl lg:text-2xl\",\n        sm: \"text-xl sm:text-2xl lg:text-3xl\",\n        md: \"text-2xl sm:text-3xl lg:text-4xl\",\n        lg: \"text-3xl sm:text-4xl lg:text-5xl\",\n        xl: \"text-4xl sm:text-5xl lg:text-6xl\",\n        xll: \"text-4xl sm:text-6xl lg:text-[5.4rem] lg:leading-[0.5rem]\",\n        xxl: \"text-5xl sm:text-6xl lg:text-[6rem]\",\n        xxxl: \"text-5xl sm:text-6xl lg:text-[8rem]\",\n      },\n      weight: {\n        default: \"font-bold\",\n        thin: \"font-thin\",\n        base: \"font-base\",\n        semi: \"font-semibold\",\n        bold: \"font-bold\",\n        black: \"font-black\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n      weight: \"default\",\n    },\n  }\n)\n\nexport interface HeadingProps extends VariantProps<typeof headingVariants> {\n  asChild?: boolean\n  children: React.ReactNode\n  className?: string\n}\n\nconst GradientHeading = React.forwardRef<HTMLHeadingElement, HeadingProps>(\n  ({ asChild, variant, weight, size, className, children, ...props }, ref) => {\n    const Comp = asChild ? Slot : \"h3\" // default to 'h3' if not a child\n    return (\n      <Comp ref={ref} {...props} className={className}>\n        <span className={cn(headingVariants({ variant, size, weight }))}>\n          {children}\n        </span>\n      </Comp>\n    )\n  }\n)\n\nGradientHeading.displayName = \"GradientHeading\"\n\n// Manually define the variant types\nexport type Variant = \"default\" | \"pink\" | \"light\" | \"secondary\"\nexport type Size =\n  | \"default\"\n  | \"xxs\"\n  | \"xs\"\n  | \"sm\"\n  | \"md\"\n  | \"lg\"\n  | \"xl\"\n  | \"xxl\"\n  | \"xxxl\"\nexport type Weight = \"default\" | \"thin\" | \"base\" | \"semi\" | \"bold\" | \"black\"\n\nexport { GradientHeading, headingVariants }\n",
      "type": "registry:ui"
    }
  ]
}