import { cva } from "class-variance-authority";
export const buttonVariants = cva("flex items-center justify-center rounded ease-in-out duration-300 w-fit disabled:cursor-not-allowed outline-none focus:transition-none", {
    variants: {
        variant: {
            filled: "",
            outline: `bg-transparent hover:bg-gray-100 focus-visible:bg-gray-50 active:bg-transparent 
        focus-visible:ring focus-visible:active:bg-transparent`,
            shade: "bg-transparent hover:bg-primary-100 focus-visible:bg-primary-100 active:bg-transparent disabled:bg-transparent",
            text: "active:text-primary-500 !p-0"
        },
        color: {
            primary: "text-primary-500 hover:text-primary-700 focus-visible:text-primary-400 disabled:text-primary-200",
            secondary: "text-secondary-500 focus-visible:text-secondary-400",
            success: "text-success-500 hover:text-success-700 focus-visible:text-success-400 disabled:text-success-200",
            warning: "text-warning-500 hover:text-warning-700 focus-visible:text-warning-400 disabled:text-warning-200",
            error: "text-error-500 hover:text-error-700 focus-visible:text-error-400 disabled:text-error-200"
        },
        size: {
            xs: "p-2 text-xs gap-2",
            sm: "p-2.5 text-base gap-2",
            md: "p-2.5 text-md gap-2",
            lg: "p-3.5 text-md gap-2",
            xl: "p-[18px] text-lg gap-3"
        },
        hasChildren: {
            true: ""
        }
    },
    compoundVariants: [
        // Filled variants for each color
        {
            variant: "filled",
            color: "primary",
            className: `text-white bg-primary-500 hover:bg-primary-700 hover:text-white 
          focus-visible:text-white focus-visible:bg-primary-400 active:bg-primary-500 
          disabled:bg-primary-200 disabled:text-white focus-visible:ring 
          focus-visible:ring-[#99CBFA] focus-visible:active:bg-primary-500`
        },
        {
            variant: "filled",
            color: "secondary",
            className: `bg-gray-100 hover:bg-gray-300 focus-visible:bg-gray-200 
          active:bg-gray-100 focus-visible:ring focus-visible:ring-gray-100 
          focus-visible:active:bg-gray-100`
        },
        {
            variant: "filled",
            color: "success",
            className: `text-white bg-success-500 hover:bg-success-700 hover:text-white 
          focus-visible:text-white focus-visible:bg-success-400 active:bg-success-500 
          disabled:bg-success-200 disabled:text-white focus-visible:ring 
          focus-visible:ring-success-200 focus-visible:active:bg-success-500`
        },
        {
            variant: "filled",
            color: "warning",
            className: `text-white bg-warning-500 hover:bg-warning-700 hover:text-white 
          focus-visible:text-white focus-visible:bg-warning-400 active:bg-warning-500 
          disabled:bg-warning-200 disabled:text-white focus-visible:ring 
          focus-visible:ring-warning-200 focus-visible:active:bg-warning-500`
        },
        {
            variant: "filled",
            color: "error",
            className: `text-white bg-error-500 hover:bg-error-700 hover:text-white 
          focus-visible:text-white focus-visible:bg-error-400 active:bg-error-500 
          disabled:bg-error-200 disabled:text-white focus-visible:ring 
          focus-visible:ring-error-200 focus-visible:active:bg-error-500`
        },
        // Outline variants for each color
        {
            variant: "outline",
            color: "primary",
            className: `border border-primary-500 hover:border-primary-700
          focus-visible:border-primary-500 focus-visible:ring-[#99CBFA]
          disabled:border-primary-200 disabled:hover:bg-secondary-50`
        },
        {
            variant: "outline",
            color: "secondary",
            className: `border border-gray-300
          focus-visible:ring-gray-200`
        },
        {
            variant: "outline",
            color: "success",
            className: `border border-success-500 hover:border-success-700
          focus-visible:border-success-500 focus-visible:ring-[#A3D6C9]
          disabled:border-success-200`
        },
        {
            variant: "outline",
            color: "warning",
            className: `border border-warning-500 hover:border-warning-700
          focus-visible:border-warning-500 focus-visible:ring-[#FBD29C]
          disabled:border-warning-200`
        },
        {
            variant: "outline",
            color: "error",
            className: `border border-error-500 hover:border-error-700
          focus-visible:border-error-500 focus-visible:ring-[#FBE9E9]
          disabled:border-error-200`
        },
        // Padded variants for each size when there are children
        {
            size: "xs",
            hasChildren: true,
            className: "px-3 py-2"
        },
        {
            size: "sm",
            hasChildren: true,
            className: "px-5 py-2"
        },
        {
            size: "md",
            hasChildren: true,
            className: "px-6 py-2"
        },
        {
            size: "lg",
            hasChildren: true,
            className: "px-[28px] py-3"
        },
        {
            size: "xl",
            hasChildren: true,
            className: "px-7 py-4"
        }
    ],
    defaultVariants: {
        variant: "filled",
        color: "primary",
        size: "md"
    }
});
//# sourceMappingURL=buttonVariants.js.map