1 line
1.7 KiB
JavaScript
1 line
1.7 KiB
JavaScript
import{BORDER_SURROUND as e,Icon as t,Loading as n,createNamespace as r,extend as i,makeStringProp as a,numericProp as o,preventDefault as s,routeProps as c,useRoute as l,withInstall as u}from"./_plugin-vue_export-helper-BZSVNCRS.js";import{createVNode as d,defineComponent as f}from"./index-BDung3EM.js";const[p,m]=r(`button`),h=i({},c,{tag:a(`button`),text:String,icon:String,type:a(`default`),size:a(`normal`),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:a(`button`),loadingSize:o,loadingText:String,loadingType:String,iconPosition:a(`left`)});var g=f({name:p,props:h,emits:[`click`],setup(r,{emit:i,slots:a}){let o=l(),c=()=>a.loading?a.loading():d(n,{size:r.loadingSize,type:r.loadingType,class:m(`loading`)},null),u=()=>{if(r.loading)return c();if(a.icon)return d(`div`,{class:m(`icon`)},[a.icon()]);if(r.icon)return d(t,{name:r.icon,class:m(`icon`),classPrefix:r.iconPrefix},null)},f=()=>{let e;if(e=r.loading?r.loadingText:a.default?a.default():r.text,e)return d(`span`,{class:m(`text`)},[e])},p=()=>{let{color:e,plain:t}=r;if(e){let n={color:t?e:`white`};return t||(n.background=e),e.includes(`gradient`)?n.border=0:n.borderColor=e,n}},h=e=>{r.loading?s(e):r.disabled||(i(`click`,e),o())};return()=>{let{tag:t,type:n,size:i,block:a,round:o,plain:s,square:c,loading:l,disabled:g,hairline:_,nativeType:v,iconPosition:y}=r,b=[m([n,i,{plain:s,block:a,round:o,square:c,loading:l,disabled:g,hairline:_}]),{[e]:_}];return d(t,{type:v,class:b,style:p(),disabled:g,onClick:h},{default:()=>[d(`div`,{class:m(`content`)},[y===`left`&&u(),f(),y===`right`&&u()])]})}}});const _=u(g);export{_ as Button}; |