{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "flip-button",
  "title": "Flip Button",
  "description": "A button that flips between a light front face and dark back face in 3D on hover.",
  "files": [
    {
      "path": "components/library/flip-button.tsx",
      "content": "import React from \"react\";\ninterface FlipButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n  children?: React.ReactNode;\n  frontClassName?: string;\n  backClassName?: string;\n}\n\nexport const FlipButton = ({\n  children = \"Button\",\n  className = \"\",\n  frontClassName = \"\",\n  backClassName = \"\",\n  disabled = false,\n  type = \"button\",\n  onClick,\n  ...rest\n}: FlipButtonProps) => {\n  return (\n    <button\n      type={type}\n      disabled={disabled}\n      onClick={onClick}\n      className={`relative group [perspective:1000px] [transform-style:preserve-3d] rounded-md disabled:opacity-50 disabled:pointer-events-none ${className}`}\n      {...rest}\n    >\n        {/* ghost sizer — invisible, just drives button dimensions */}\n        <span className=\"invisible text-xl font-bold px-5 py-2 block\">{children}</span>\n        {/* front face */}\n        <span className={`absolute inset-0 bg-neutral-100 text-black text-xl font-bold rounded-md flex items-center justify-center scale-100 group-hover:scale-50 [transform:rotateX(0deg)] group-hover:[transform:rotateX(90deg)] group-hover:opacity-0 origin-top transition-all duration-300 ${frontClassName}`}>\n            {children}\n        </span>\n        {/* back face */}\n        <span className={`absolute inset-0 bg-neutral-950 text-white text-xl font-bold rounded-md flex items-center justify-center [transform:rotateX(-90deg)] opacity-0 group-hover:[transform:rotateX(0deg)] group-hover:opacity-100 origin-bottom transition-all duration-300 group-hover:scale-100 scale-75 ${backClassName}`}>\n            {children}\n        </span>\n    </button>\n  );\n};\n\nFlipButton.displayName = \"FlipButton\";",
      "type": "registry:component"
    }
  ],
  "type": "registry:component"
}