vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 1.65 kB
JavaScript
;const e=require("vue"),s=require("./hook/useButton.cjs"),p=require("@vuux/icons"),c={key:1,xmlns:"http://www.w3.org/2000/svg",class:"is-loading",width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},i={key:2,class:"is-badge"},d=e.defineComponent({name:"Button",__name:"index",props:{type:{default:"primary"},icon:{},radius:{type:Boolean},link:{type:Boolean},text:{type:Boolean},circle:{type:Boolean},loading:{type:Boolean},disabled:{type:Boolean},badge:{},size:{default:"l"}},setup(a){const t=a,{classNames:r,isLoading:o}=s.useButton(t);return(l,n)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["app-button",e.unref(r)]),type:"button"},[e.unref(o)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.icon?(e.openBlock(),e.createBlock(e.unref(p.Icon),{key:0,name:t.icon,size:t.link||t.text?14:15,color:t.link||t.text?`var(--app-${t.type})`:"rgba(255, 255, 255)"},null,8,["name","size","color"])):e.createCommentVNode("",!0)],64)),e.unref(o)?(e.openBlock(),e.createElementBlock("svg",c,[...n[0]||(n[0]=[e.createStaticVNode('<path d="M12 2v4"></path><path d="m16.2 7.8 2.9-2.9"></path><path d="M18 12h4"></path><path d="m16.2 16.2 2.9 2.9"></path><path d="M12 18v4"></path><path d="m4.9 19.1 2.9-2.9"></path><path d="M2 12h4"></path><path d="m4.9 4.9 2.9 2.9"></path>',8)])])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default"),t.badge?(e.openBlock(),e.createElementBlock("span",i,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0)],2))}});module.exports=d;