'use strict';

var classVarianceAuthority = require('class-variance-authority');

// src/primitives/button-variants.tsx
var buttonVariants = classVarianceAuthority.cva(
  "group/button inline-flex shrink-0 cursor-pointer items-center justify-center gap-1.5 rounded-[var(--radius-sm)] border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap shadow-none transition-all outline-none select-none active:scale-[0.98] focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 disabled:active:scale-100 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
  {
    variants: {
      variant: {
        default: "bg-primary text-primary-foreground shadow-none hover:bg-[var(--primary-hover)] active:bg-[var(--primary-hover)]",
        outline: "border-border bg-background shadow-none hover:bg-muted hover:text-foreground active:bg-muted active:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:active:bg-input/50",
        secondary: "border border-border bg-card font-medium text-foreground shadow-none hover:border-input-hover hover:bg-zinc-50 active:border-input-hover active:bg-zinc-100 aria-expanded:border-input-hover aria-expanded:bg-zinc-50 aria-expanded:text-foreground dark:bg-secondary dark:text-secondary-foreground dark:hover:bg-[var(--theme-background-button-secondary-hover)] dark:active:bg-[var(--theme-background-button-secondary-hover)] dark:aria-expanded:bg-[var(--theme-background-button-secondary-hover)]",
        soft: "bg-primary/10 text-primary hover:bg-primary/20 active:bg-primary/20 focus-visible:border-primary/40 focus-visible:ring-primary/20 dark:bg-primary/20 dark:hover:bg-primary/30 dark:active:bg-primary/30",
        ghost: "hover:bg-muted hover:text-foreground active:bg-muted active:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 dark:active:bg-muted/50",
        muted: "text-muted-foreground hover:bg-muted hover:text-foreground active:bg-muted active:text-foreground dark:hover:bg-muted/50 dark:active:bg-muted/50",
        destructive: "bg-destructive text-white hover:opacity-95 active:opacity-95 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive dark:text-white dark:hover:opacity-95 dark:active:opacity-95 dark:focus-visible:ring-destructive/40"
      },
      size: {
        "2xs": "h-6 gap-1 rounded-[min(var(--radius-sm),6px)] px-2.5 text-xs in-data-[slot=button-group]:rounded-sm has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3",
        xs: "h-7 gap-1 rounded-[min(var(--radius-sm),7px)] px-2.5 text-xs in-data-[slot=button-group]:rounded-sm has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3",
        sm: "h-8 gap-1.5 rounded-[min(var(--radius-sm),8px)] px-3 text-[0.8rem] in-data-[slot=button-group]:rounded-sm has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3.5",
        default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
        md: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
        /** Shift 2.0 top nav: 36px height, 8px vertical / 14px horizontal padding, 14px medium text, 16px icon, 6px gap */
        header: "h-9 min-h-[36px] gap-1.5 py-2 px-3.5 text-sm font-medium has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5 [&_svg:not([class*='size-'])]:size-4",
        lg: "h-10 gap-1.5 px-3.5 has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5 [&_svg:not([class*='size-'])]:size-4",
        xl: "h-12 gap-2 px-[1.125rem] text-base has-data-[icon=inline-end]:pr-4 has-data-[icon=inline-start]:pl-4 [&_svg:not([class*='size-'])]:size-5",
        icon: "h-9 w-9 shrink-0 px-0.5 in-data-[slot=button-group]:rounded-[var(--radius-sm)]",
        "icon-2xs": "h-6 w-6 shrink-0 px-0.5 rounded-[min(var(--radius-sm),6px)] in-data-[slot=button-group]:rounded-sm [&_svg:not([class*='size-'])]:size-3",
        "icon-xs": "h-7 w-7 shrink-0 px-0.5 rounded-[min(var(--radius-sm),6px)] in-data-[slot=button-group]:rounded-sm [&_svg:not([class*='size-'])]:size-3",
        "icon-sm": "h-8 w-8 shrink-0 px-0.5 rounded-[min(var(--radius-sm),8px)] in-data-[slot=button-group]:rounded-sm [&_svg:not([class*='size-'])]:size-3.5",
        "icon-lg": "h-10 w-10 shrink-0 px-0.5 in-data-[slot=button-group]:rounded-[var(--radius-sm)] [&_svg:not([class*='size-'])]:size-4",
        "icon-xl": "h-12 w-12 shrink-0 px-0.5 [&_svg:not([class*='size-'])]:size-5"
      }
    },
    defaultVariants: {
      variant: "default",
      size: "default"
    }
  }
);

exports.buttonVariants = buttonVariants;
//# sourceMappingURL=button-variants.cjs.map
//# sourceMappingURL=button-variants.cjs.map