vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 1.46 kB
JavaScript
;const e=require("vue"),d=require("./hook/useSwitch.cjs"),h={key:0,xmlns:"http://www.w3.org/2000/svg",class:"is-loading",width:"14",height:"14",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},u=e.defineComponent({name:"Switch",__name:"index",props:{modelValue:{type:[Boolean,String,Number]},loading:{type:Boolean},disabled:{type:Boolean},checkedValue:{type:[Boolean,String,Number],default:!0},uncheckedValue:{type:[Boolean,String,Number]},theme:{default:"var(--app-theme)"}},emits:["update:modelValue","change"],setup(a,{emit:s}){const o=a,l=s,{classNames:r,isLoading:i,handleClick:n}=d.useSwitch(o,l);return(m,t)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(r)),onClick:t[1]||(t[1]=(...p)=>e.unref(n)&&e.unref(n)(...p)),style:e.normalizeStyle("--switch-theme:"+o.theme)},[e.createElementVNode("input",{type:"checkbox",onClick:t[0]||(t[0]=e.withModifiers(()=>{},["stop"]))}),t[3]||(t[3]=e.createElementVNode("div",{class:"switch-knobs"},null,-1)),e.unref(i)?(e.openBlock(),e.createElementBlock("svg",h,[...t[2]||(t[2]=[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)],6))}});module.exports=u;