{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"button","type":"registry:ui","dependencies":["@base-ui/react","class-variance-authority","cn"],"files":[{"path":"button.tsx","type":"registry:ui","content":"import { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"cn\"\n\nconst buttonVariants = cva(\n  \"cn-button group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n  {\n    variants: {\n      variant: {\n        default: \"cn-button-variant-default\",\n        outline: \"cn-button-variant-outline\",\n        secondary: \"cn-button-variant-secondary\",\n        ghost: \"cn-button-variant-ghost\",\n        destructive: \"cn-button-variant-destructive\",\n        link: \"cn-button-variant-link\",\n      },\n      size: {\n        default: \"cn-button-size-default\",\n        xs: \"cn-button-size-xs\",\n        sm: \"cn-button-size-sm\",\n        lg: \"cn-button-size-lg\",\n        icon: \"cn-button-size-icon\",\n        \"icon-xs\": \"cn-button-size-icon-xs\",\n        \"icon-sm\": \"cn-button-size-icon-sm\",\n        \"icon-lg\": \"cn-button-size-icon-lg\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n    },\n  }\n)\n\nfunction Button({\n  className,\n  variant = \"default\",\n  size = \"default\",\n  ...props\n}: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>) {\n  return (\n    <ButtonPrimitive\n      data-slot=\"button\"\n      className={cn(buttonVariants({ variant, size, className }))}\n      {...props}\n    />\n  )\n}\n\nexport { Button, buttonVariants }","target":"components/ui/button.tsx"}]}