index-e7585dcb.js 2.3 KB

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