import{a as k,c as z}from"./utils-CDN07tui.js";import{P as C}from"./reka-ui-GpbaI08z.js";import{d as V,D as p,e as N,u,ad as w,E as j,h as B}from"./lucide-C2DU1LFb.js";const g=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,m=k,O=(t,n)=>e=>{var d;if(n?.variants==null)return m(t,e?.class,e?.className);const{variants:c,defaultVariants:r}=n,b=Object.keys(c).map(a=>{const i=e?.[a],o=r?.[a];if(i===null)return null;const s=g(i)||g(o);return c[a][s]}),v=e&&Object.entries(e).reduce((a,i)=>{let[o,s]=i;return s===void 0||(a[o]=s),a},{}),h=n==null||(d=n.compoundVariants)===null||d===void 0?void 0:d.reduce((a,i)=>{let{class:o,className:s,...x}=i;return Object.entries(x).every(y=>{let[f,l]=y;return Array.isArray(l)?l.includes({...r,...v}[f]):{...r,...v}[f]===l})?[...a,o,s]:a},[]);return m(t,b,h,e?.class,e?.className)},$=V({__name:"Button",props:{variant:{default:"default"},size:{default:"default"},class:{default:void 0},asChild:{type:Boolean},as:{default:"button"}},setup(t){const n=t;return(e,d)=>(N(),p(u(C),{"data-slot":"button",as:t.as,"as-child":t.asChild,class:w(u(z)(u(P)({variant:t.variant,size:t.size}),n.class))},{default:j(()=>[B(e.$slots,"default")]),_:3},8,["as","as-child","class"]))}}),P=O("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50","ghost-icon":"hover:bg-transparent",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-2","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});export{$ as _,O as c};
