You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
1.6 KiB
2 lines
1.6 KiB
import{r as z,u as I}from"./use-route-96578f25.js";import{c as R,e as C,m as l,n as p,B as w,I as D,j as L,w as N}from"./index-f3701452.js";import{L as q}from"./index-1e934f0e.js";import{d as O,b as o}from"./index-f4658ae7.js";const[U,a]=R("button"),_=C({},z,{tag:l("button"),text:String,icon:String,type:l("default"),size:l("normal"),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:l("button"),loadingSize:p,loadingText:String,loadingType:String,iconPosition:l("left")});var j=O({name:U,props:_,emits:["click"],setup(n,{emit:g,slots:t}){const f=I(),m=()=>t.loading?t.loading():o(q,{size:n.loadingSize,type:n.loadingType,class:a("loading")},null),c=()=>{if(n.loading)return m();if(t.icon)return o("div",{class:a("icon")},[t.icon()]);if(n.icon)return o(D,{name:n.icon,class:a("icon"),classPrefix:n.iconPrefix},null)},b=()=>{let e;if(n.loading?e=n.loadingText:e=t.default?t.default():n.text,e)return o("span",{class:a("text")},[e])},x=()=>{const{color:e,plain:r}=n;if(e){const i={color:r?e:"white"};return r||(i.background=e),e.includes("gradient")?i.border=0:i.borderColor=e,i}},y=e=>{n.loading?L(e):n.disabled||(g("click",e),f())};return()=>{const{tag:e,type:r,size:i,block:B,round:S,plain:P,square:k,loading:T,disabled:s,hairline:d,nativeType:h,iconPosition:u}=n,v=[a([r,i,{plain:P,block:B,round:S,square:k,loading:T,disabled:s,hairline:d}]),{[w]:d}];return o(e,{type:h,class:v,style:x(),disabled:s,onClick:y},{default:()=>[o("div",{class:a("content")},[u==="left"&&c(),b(),u==="right"&&c()])]})}}});const G=N(j);export{G as B};
|