{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "slide-button",
  "title": "Slide Button",
  "description": "A button with a sliding color overlay revealing from one side on hover.",
  "files": [
    {
      "path": "components/library/slide-button.tsx",
      "content": "\nimport React, { forwardRef } from 'react'\n\nexport interface SlideButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n  children?: React.ReactNode\n  size?: 'sm' | 'md' | 'lg'\n  variant?: 'primary' | 'secondary'\n}\n\nconst sizeClasses: Record<NonNullable<SlideButtonProps['size']>, string> = {\n  sm: 'px-3 py-1.5 text-sm',\n  md: 'px-5 py-2 text-sm',\n  lg: 'px-7 py-3 text-base',\n}\n\nconst variantClasses: Record<NonNullable<SlideButtonProps['variant']>, string> = {\n  primary: 'bg-neutral-900 text-white',\n  secondary: 'bg-transparent text-white border border-white',\n}\n\nconst overlayClasses: Record<NonNullable<SlideButtonProps['variant']>, string> = {\n  primary: 'absolute inset-y-0 right-full w-full bg-amber-500 group-hover:translate-x-full transition-transform duration-300 ease-in-out pointer-events-none',\n  secondary: 'absolute inset-y-0 left-full w-full bg-white/20 group-hover:-translate-x-full transition-transform duration-300 ease-in-out pointer-events-none',\n}\n\nexport const SlideButton = forwardRef<HTMLButtonElement, SlideButtonProps>(\n  ({ children = 'Slide Button', size = 'md', variant = 'primary', className = '', ...rest }, ref) => {\n\n\n    return (\n      <button\n        ref={ref}\n        className={`relative inline-flex items-center justify-center overflow-hidden rounded-md group cursor-pointer ${sizeClasses[size]} ${variantClasses[variant]} font-semibold disabled:opacity-50 disabled:cursor-not-allowed ${className}`}\n        {...rest}\n      >\n        {/* sliding overlay */}\n        <span className={overlayClasses[variant]} />\n\n        <span className=\"relative z-10\">{children}</span>\n      </button>\n    )\n  }\n)\n\nSlideButton.displayName = 'SlideButton'\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component"
}