UNPKG

dk-plus

Version:
2 lines (1 loc) 1.4 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("vue"),o=require("./index3.js");require("../../_icon/index.js");const k=require("../../_hooks/get-switch/index.js"),m=d.defineComponent({name:"DkSwitch",props:o.switchProps,emits:["change","update:modelValue"],setup(e,{emit:s}){const{classList:n,styleList:h}=k.getSwitch(e),t=d.reactive({modelValue:e.modelValue,disabled:e.disabled,checkedText:e.checkedText,uncheckedText:e.uncheckedText,checkText:e.uncheckedText,checkIcon:e.uncheckedIcon,loading:e.loading,customIcon:e.checkedIcon}),i={handleChange:c=>{const l=c.target;let a=l.checked;l.checked=a,s("update:modelValue",a),s("change",a)},refreshStatus:()=>{if(t.disabled=e.disabled||e.loading,t.disabled){if(n.value.includes("dk-switch_disabled"))return;n.value.push("dk-switch_disabled")}else{const c=n.value.indexOf("dk-switch_disabled");if(c===-1)return;n.value.splice(c,1)}}},u=d.ref();return d.watch(()=>e.modelValue,c=>{t.modelValue=c,t.checkText=c?t.checkedText:t.uncheckedText,t.checkIcon=c?e.checkedIcon:e.uncheckedIcon,t.customIcon=c?e.checkedCustomIcon:e.uncheckedCustomIcon,i.refreshStatus(),d.nextTick(()=>{u.value&&(u.value.checked=c)})},{immediate:!0}),d.watch(()=>e.loading,c=>{t.loading=c,i.refreshStatus()},{immediate:!0}),{classList:n,styleList:h,...d.toRefs(t),...i,switchRef:u}}});exports.default=m;