{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "glare-button",
  "title": "Glare Button",
  "description": "A dark button with a sweeping glare highlight on hover.",
  "files": [
    {
      "path": "components/library/glare-button.tsx",
      "content": "\n\nimport React, { forwardRef } from 'react'\n\nexport interface GlareButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n    children?: React.ReactNode\n    size?: 'sm' | 'md' | 'lg'\n    variant?: 'glare' | 'outline'\n}\n\nconst sizeClasses: Record<NonNullable<GlareButtonProps['size']>, string> = {\n    sm: 'px-3 py-2 text-sm',\n    md: 'px-6 py-3 text-sm',\n    lg: 'px-7 py-4 text-base',\n}\n\nconst variantClasses: Record<NonNullable<GlareButtonProps['variant']>, string> = {\n    glare: 'bg-zinc-900 text-zinc-300 border border-white/10 shadow-[0_0_20px_rgba(0,0,0,0.4)]',\n    outline: 'bg-transparent text-amber-600 border border-zinc-900 text-zinc-300',\n}\n\nexport const GlareButton = forwardRef<HTMLButtonElement, GlareButtonProps>(\n    ({ children = 'Glare Button', size = 'md', variant = 'glare', className = '', disabled, ...rest }, ref) => {\n        const isGlare = variant === 'glare'\n        return (\n            <button\n                ref={ref}\n                disabled={disabled}\n                className={`relative overflow-hidden inline-flex items-center justify-center ${sizeClasses[size]} ${variantClasses[variant]} disabled:opacity-50 transition-all duration-200 ease-out hover:scale-105 active:scale-95 group ${className}`}\n                {...rest}\n            >\n                {isGlare && (\n                    <div className=\"absolute inset-0 bg-linear-to-r from-transparent via-white/20 to-transparent -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-in-out pointer-events-none\" />\n                )}\n\n                <span className=\"relative font-bold text-xs tracking-widest uppercase transition-colors\">\n                    {children}\n                </span>\n            </button>\n        )\n    }\n)\n\nGlareButton.displayName = 'GlareButton'\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component"
}