{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "button",
  "title": "Button",
  "description": "Button component built on Base UI, styled with sc1m tokens.",
  "registryDependencies": [
    "https://sc1m.vercel.app/r/tokens.json",
    "https://sc1m.vercel.app/r/cn.json"
  ],
  "files": [
    {
      "path": "src/components/ui/button/button.tsx",
      "content": "import * as React from \"react\";\nimport { cn } from \"@/lib/cn\";\n\ntype Variant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\";\ntype Size = \"sm\" | \"md\" | \"lg\";\n\nconst variants: Record<Variant, string> = {\n  primary: \"bg-accent text-accent-fg hover:bg-accent-hover\",\n  secondary: \"border border-line bg-surface-raised text-fg hover:bg-surface\",\n  ghost: \"text-fg hover:bg-surface\",\n  danger: \"bg-danger text-danger-fg hover:opacity-90\",\n};\n\nconst sizes: Record<Size, string> = {\n  sm: \"h-8 px-3 text-sm rounded-md\",\n  md: \"h-9 px-4 text-sm rounded-md\",\n  lg: \"h-10 px-5 text-base rounded-lg\",\n};\n\nexport interface ButtonProps extends React.ComponentPropsWithRef<\"button\"> {\n  variant?: Variant;\n  size?: Size;\n}\n\nexport function Button({\n  variant = \"primary\",\n  size = \"md\",\n  className,\n  ...props\n}: ButtonProps) {\n  return (\n    <button\n      className={cn(\n        \"inline-flex items-center justify-center gap-2 font-medium select-none\",\n        \"transition-colors duration-fast ease-out-quad\",\n        \"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n        \"disabled:pointer-events-none disabled:opacity-50\",\n        variants[variant],\n        sizes[size],\n        className,\n      )}\n      {...props}\n    />\n  );\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}