{"version":3,"file":"button.cjs","names":["Slot","cn"],"sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n  \"cpk:inline-flex cpk:items-center cpk:justify-center cpk:gap-2 cpk:whitespace-nowrap cpk:rounded-md cpk:text-sm cpk:font-medium cpk:transition-all cpk:disabled:pointer-events-none cpk:disabled:opacity-50 cpk:[&_svg]:pointer-events-none cpk:[&_svg:not([class*='size-'])]:size-4 cpk:shrink-0 cpk:[&_svg]:shrink-0 cpk:outline-none cpk:focus-visible:border-ring cpk:focus-visible:ring-ring/50 cpk:focus-visible:ring-[3px] cpk:aria-invalid:ring-destructive/20 cpk:dark:aria-invalid:ring-destructive/40 cpk:aria-invalid:border-destructive\",\n  {\n    variants: {\n      variant: {\n        default:\n          \"cpk:bg-primary cpk:text-primary-foreground cpk:shadow-xs cpk:hover:bg-primary/90\",\n        destructive:\n          \"cpk:bg-destructive cpk:text-white cpk:shadow-xs cpk:hover:bg-destructive/90 cpk:focus-visible:ring-destructive/20 cpk:dark:focus-visible:ring-destructive/40 cpk:dark:bg-destructive/60\",\n        outline:\n          \"cpk:border cpk:bg-background cpk:shadow-xs cpk:hover:bg-accent cpk:hover:text-accent-foreground cpk:dark:bg-input/30 cpk:dark:border-input cpk:dark:hover:bg-input/50\",\n        secondary:\n          \"cpk:bg-secondary cpk:text-secondary-foreground cpk:shadow-xs cpk:hover:bg-secondary/80\",\n        ghost:\n          \"cpk:hover:bg-accent cpk:hover:text-accent-foreground cpk:dark:hover:bg-accent/50 cpk:cursor-pointer\",\n        link: \"cpk:text-primary cpk:underline-offset-4 cpk:hover:underline\",\n        assistantMessageToolbarButton: [\n          \"cpk:cursor-pointer\",\n          // Background and text\n          \"cpk:p-0 cpk:text-[rgb(93,93,93)] cpk:hover:bg-[#E8E8E8]\",\n          // Dark mode - lighter gray for better contrast\n          \"cpk:dark:text-[rgb(243,243,243)] cpk:dark:hover:bg-[#303030]\",\n          // Shape and sizing\n          \"cpk:h-8 cpk:w-8\",\n          // Interactions\n          \"cpk:transition-colors\",\n          // Hover states\n          \"cpk:hover:text-[rgb(93,93,93)]\",\n          \"cpk:dark:hover:text-[rgb(243,243,243)]\",\n        ],\n        chatInputToolbarPrimary: [\n          \"cpk:cursor-pointer\",\n          // Background and text\n          \"cpk:bg-black cpk:text-white\",\n          // Dark mode\n          \"cpk:dark:bg-white cpk:dark:text-black cpk:dark:focus-visible:outline-white\",\n          // Shape and sizing\n          \"cpk:rounded-full\",\n          // Interactions\n          \"cpk:transition-colors\",\n          // Focus states\n          \"cpk:focus:outline-none\",\n          // Hover states\n          \"cpk:hover:opacity-70 cpk:disabled:hover:opacity-100\",\n          // Disabled states\n          \"cpk:disabled:cursor-not-allowed cpk:disabled:bg-[#00000014] cpk:disabled:text-[rgb(13,13,13)]\",\n          \"cpk:dark:disabled:bg-[#454545] cpk:dark:disabled:text-white \",\n        ],\n        chatInputToolbarSecondary: [\n          \"cpk:cursor-pointer\",\n          // Background and text\n          \"cpk:bg-transparent cpk:text-[#444444]\",\n          // Dark mode\n          \"cpk:dark:text-white cpk:dark:border-[#404040]\",\n          // Shape and sizing\n          \"cpk:rounded-full\",\n          // Interactions\n          \"cpk:transition-colors\",\n          // Focus states\n          \"cpk:focus:outline-none\",\n          // Hover states\n          \"cpk:hover:bg-[#f8f8f8] cpk:hover:text-[#333333]\",\n          \"cpk:dark:hover:bg-[#404040] cpk:dark:hover:text-[#FFFFFF]\",\n          // Disabled states\n          \"cpk:disabled:cursor-not-allowed cpk:disabled:opacity-50\",\n          \"cpk:disabled:hover:bg-transparent cpk:disabled:hover:text-[#444444]\",\n          \"cpk:dark:disabled:hover:bg-transparent cpk:dark:disabled:hover:text-[#CCCCCC]\",\n        ],\n      },\n      size: {\n        default: \"cpk:h-9 cpk:px-4 cpk:py-2 cpk:has-[>svg]:px-3\",\n        sm: \"cpk:h-8 cpk:rounded-md cpk:gap-1.5 cpk:px-3 cpk:has-[>svg]:px-2.5\",\n        lg: \"cpk:h-10 cpk:rounded-md cpk:px-6 cpk:has-[>svg]:px-4\",\n        icon: \"cpk:size-9\",\n        chatInputToolbarIcon: [\n          // Shape and sizing\n          \"cpk:h-9 cpk:w-9 cpk:rounded-full\",\n        ],\n        chatInputToolbarIconLabel: [\n          // Shape and sizing\n          \"cpk:h-9 cpk:px-3 cpk:rounded-full\",\n          // Layout\n          \"cpk:gap-2\",\n          // Typography\n          \"cpk:font-normal\",\n        ],\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n    },\n  },\n);\n\nfunction Button({\n  className,\n  variant,\n  size,\n  asChild = false,\n  ...props\n}: React.ComponentProps<\"button\"> &\n  VariantProps<typeof buttonVariants> & {\n    asChild?: boolean;\n  }) {\n  const Comp = asChild ? Slot : \"button\";\n\n  return (\n    <Comp\n      data-slot=\"button\"\n      className={cn(buttonVariants({ variant, size, className }))}\n      {...props}\n    />\n  );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;;;;;;AAMA,MAAM,mDACJ,uhBACA;CACE,UAAU;EACR,SAAS;GACP,SACE;GACF,aACE;GACF,SACE;GACF,WACE;GACF,OACE;GACF,MAAM;GACN,+BAA+B;IAC7B;IAEA;IAEA;IAEA;IAEA;IAEA;IACA;IACD;GACD,yBAAyB;IACvB;IAEA;IAEA;IAEA;IAEA;IAEA;IAEA;IAEA;IACA;IACD;GACD,2BAA2B;IACzB;IAEA;IAEA;IAEA;IAEA;IAEA;IAEA;IACA;IAEA;IACA;IACA;IACD;GACF;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,sBAAsB,CAEpB,mCACD;GACD,2BAA2B;IAEzB;IAEA;IAEA;IACD;GACF;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAAS,OAAO,EACd,WACA,SACA,MACA,UAAU,OACV,GAAG,SAIA;AAGH,QACE,2CAHW,UAAUA,4BAAO;EAI1B,aAAU;EACV,WAAWC,iBAAG,eAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAC3D,GAAI;GACJ"}