{"version":3,"file":"Button.cjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import { cn } from \"@/components/utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nconst buttonVariants = cva(\n  \"relative inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n  {\n    variants: {\n      variant: {\n        default:\n          \"bg-primary text-primary-foreground hover:bg-primary/90 focus:bg-sky-950 active:bg-sky-950\",\n        secondary:\n          \"bg-secondary text-secondary-foreground hover:bg-secondary/80 focus:bg-secondary/90 active:bg-secondary/90\",\n        outline:\n          \"border border-primary text-primary bg-card hover:bg-accent/90 hover:text-accent-foreground focus:bg-accent active:bg-accent\",\n        destructive:\n          \"bg-destructive text-destructive-foreground hover:bg-red-500 focus:bg-red-700 active:bg-red-700\",\n        success:\n          \"bg-green-700 text-white hover:bg-green-600 focus:bg-green-800 active:bg-green-800\",\n        ghost:\n          \"text-foreground hover:bg-accent/90 hover:text-accent-foreground/90 focus:bg-accent/70 active:bg-accent\",\n        link: \"text-secondary underline-offset-4 hover:underline\",\n      },\n      size: {\n        default: \"h-10 px-4 py-2\",\n        sm: \"h-9 rounded-md px-3 py-1\",\n        lg: \"h-11 rounded-md px-6 py-4\",\n        icon: \"h-10 w-10\",\n      },\n      shape: {\n        default: \"rounded-md\",\n        square: \"rounded-none\",\n        circle: \"rounded-full\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n      shape: \"default\",\n    },\n  }\n);\n\nexport interface ButtonProps\n  extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n    VariantProps<typeof buttonVariants> {\n  asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n  ({ className, variant, size, shape, asChild = false, ...props }, ref) => {\n    const Comp = asChild ? Slot : \"button\";\n    return (\n      <Comp\n        className={cn(buttonVariants({ variant, size, shape, className }))}\n        ref={ref}\n        {...props}\n      />\n    );\n  }\n);\nButton.displayName = \"Button\";\n\nexport default Button;\n"],"names":["buttonVariants","cva","variants","variant","default","secondary","outline","destructive","success","ghost","link","size","sm","lg","icon","shape","square","circle","defaultVariants","Button","React","forwardRef","className","asChild","props","ref","Comp","Slot","jsxRuntimeExports","jsx","cn","displayName","Button$1"],"mappings":"knBAKMA,EAAiBC,EAAAA,IACrB,uRACA,CACEC,SAAU,CACRC,QAAS,CACPC,QACE,4FACFC,UACE,4GACFC,QACE,8HACFC,YACE,iGACFC,QACE,oFACFC,MACE,yGACFC,KAAM,qDAERC,KAAM,CACJP,QAAS,iBACTQ,GAAI,2BACJC,GAAI,4BACJC,KAAM,aAERC,MAAO,CACLX,QAAS,aACTY,OAAQ,eACRC,OAAQ,iBAGZC,gBAAiB,CACff,QAAS,UACTQ,KAAM,UACNI,MAAO,aAWPI,EAASC,EAAMC,YACnB,EAAGC,YAAWnB,UAASQ,OAAMI,QAAOQ,WAAU,KAAUC,GAASC,KACzD,MAAAC,EAAOH,EAAUI,EAAOA,KAAA,SAE5B,SAAAC,kBAAAC,IAACH,EAAA,CACCJ,UAAWQ,EAAAA,GAAG9B,EAAe,CAAEG,UAASQ,OAAMI,QAAOO,eACrDG,SACID,GAAA,IAKZL,EAAOY,YAAc,SAErB,MAAAC,EAAeb"}