1import{c}from"./utils-CbKt2VT1.js";import{M as o}from"./index-DbCWOK1g.js";import{P as u}from"./Primitive-Df2ZtYIB.js";import{c as v}from"./index-BHQBzW9e.js";import{L as b}from"./loader-circle-BAWv281s.js";import{d as f,o as t,a as s,u as a,n as g,w as i,l as n,c as m,F as y,f as d,e as h}from"./runtime-core.esm-bundler-BUvReHWE.js";const V=f({__name:"Button",props:{variant:{type:null,required:!1},size:{type:null,required:!1},class:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},loading:{type:Boolean,required:!1,default:!1}},setup(e){const l=e;return(r,x)=>(t(),s(a(u),{"data-slot":"button",as:e.as,"as-child":e.asChild,class:g(a(c)(a(p)({variant:e.variant,size:e.size}),!e.asChild&&"relative overflow-hidden",l.class)),disabled:e.loading||r.$attrs.disabled},{default:i(()=>[e.asChild?n(r.$slots,"default",{},void 0,void 0,0):(t(),m(y,{key:1},[d(a(o),{initial:{y:0,opacity:1},animate:{y:e.loading?-30:0,opacity:e.loading?0:1},transition:{duration:.2},as:"span",class:"flex cursor-pointer items-center justify-center gap-2"},{default:i(()=>[n(r.$slots,"default")]),_:3},8,["animate"]),e.loading?(t(),s(a(o),{key:0,initial:{y:30,opacity:0},animate:{y:0,opacity:1},exit:{y:30,opacity:0},transition:{duration:.2},as:"span",class:"absolute inset-0 flex cursor-pointer items-center justify-center gap-2"},{default:i(()=>[d(a(b),{class:"size-3 animate-spin"})]),_:1})):h("",!0)],64))]),_:3},8,["as","as-child","class","disabled"]))}}),p=v("inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-[color,background-color,border-color,box-shadow,transform] duration-[var(--duration-fast)] ease-[var(--ease-out)] active:scale-[0.96] 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:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 aria-invalid:ring-destructive/20 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-[var(--btn-primary-hover)]",destructive:"border border-[var(--hairline)] bg-[var(--btn-secondary-bg)] text-[var(--btn-secondary-text)] hover:border-[var(--border-hover)] focus-visible:ring-destructive/40",outline:"border border-[var(--hairline)] bg-[var(--btn-secondary-bg)] text-[var(--btn-secondary-text)] hover:bg-[var(--bone)]",secondary:"border border-[var(--btn-secondary-border)] bg-[var(--btn-secondary-bg)] text-[var(--btn-secondary-text)] hover:border-[var(--border-hover)]",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-foreground underline underline-offset-4",trigger:"rounded-md border border-input bg-amy-bg-card-solid text-amy-fg-primary hover:border-[var(--border-hover)] data-[state=open]:border-[var(--border-hover)]"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});export{V as _,p as b};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.