import{r as w,u as D,f as $}from"./use-route-3f897e76.js";import{c as b,e as v,l as L,n as x,f as c,b as N,w as B,I as U,v as q}from"./index-7004b5fb.js";import{c as t,d as z,a as O}from"./index-a9196ab5.js";const[A,s]=b("loading"),E=Array(12).fill(null).map((e,o)=>t("i",{class:s("line",String(o+1))},null)),V=t("svg",{class:s("circular"),viewBox:"25 25 50 50"},[t("circle",{cx:"50",cy:"50",r:"20",fill:"none"},null)]),j={size:x,type:c("circular"),color:String,vertical:Boolean,textSize:x,textColor:String};var F=z({name:A,props:j,setup(e,{slots:o}){const a=O(()=>v({color:e.color},L(e.size))),u=()=>{const i=e.type==="spinner"?E:V;return t("span",{class:s("spinner",e.type),style:a.value},[o.icon?o.icon():i])},f=()=>{var i;if(o.default)return t("span",{class:s("text"),style:{fontSize:N(e.textSize),color:(i=e.textColor)!=null?i:e.color}},[o.default()])};return()=>{const{type:i,vertical:g}=e;return t("div",{class:s([i,{vertical:g}]),"aria-live":"polite","aria-busy":!0},[u(),f()])}}});const G=B(F),[H,r]=b("button"),J=v({},w,{tag:c("button"),text:String,icon:String,type:c("default"),size:c("normal"),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:c("button"),loadingSize:x,loadingText:String,loadingType:String,iconPosition:c("left")});var K=z({name:H,props:J,emits:["click"],setup(e,{emit:o,slots:a}){const u=D(),f=()=>a.loading?a.loading():t(G,{size:e.loadingSize,type:e.loadingType,class:r("loading")},null),i=()=>{if(e.loading)return f();if(a.icon)return t("div",{class:r("icon")},[a.icon()]);if(e.icon)return t(U,{name:e.icon,class:r("icon"),classPrefix:e.iconPrefix},null)},g=()=>{let n;if(e.loading?n=e.loadingText:n=a.default?a.default():e.text,n)return t("span",{class:r("text")},[n])},P=()=>{const{color:n,plain:d}=e;if(n){const l={color:d?n:"white"};return d||(l.background=n),n.includes("gradient")?l.border=0:l.borderColor=n,l}},I=n=>{e.loading?q(n):e.disabled||(o("click",n),u())};return()=>{const{tag:n,type:d,size:l,block:k,round:T,plain:C,square:h,loading:p,disabled:y,hairline:S,nativeType:R,iconPosition:m}=e,_=[r([d,l,{plain:C,block:k,round:T,square:h,loading:p,disabled:y,hairline:S}]),{[$]:S}];return t(n,{type:R,class:_,style:P(),disabled:y,onClick:I},{default:()=>[t("div",{class:r("content")},[m==="left"&&i(),g(),m==="right"&&i()])]})}}});const X=B(K);export{X as B,G as L};