dk-plus
Version:
2 lines (1 loc) • 1.31 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("vue"),m=require("./index3.js");require("../../_icon/index.js");const L=require("../../_hooks/get-checkbox/index.js"),g=c.defineComponent({name:"DkCheckbox",props:m.dkCheckboxProps,emits:["update:modelValue","change","detail-change"],setup(e,{emit:u,slots:o}){const t=c.ref(""),k=c.ref(),d=c.ref(e.modelValue),a=c.reactive({checkedLabel:e.checkedLabel,uncheckedLabel:e.uncheckedLabel,label:e.label,value:e.value,hasSlot:!!o.default}),h=a.checkedLabel||a.uncheckedLabel,i=c.ref("");(()=>{i.value=e.modelValue?a.checkedLabel:a.uncheckedLabel})();const b=l=>{const n=l.target.checked;t.value=n?"checked":"",h&&(i.value=n?a.checkedLabel:a.uncheckedLabel),u("update:modelValue",n),u("change",n),u("detail-change",{checked:n,value:e.value&&e.value.toString()||a.label,label:a.label})},{classList:r,styleList:v}=L.getCheckbox(e);c.watch(()=>e.modelValue,l=>{d.value=l,t.value=e.modelValue?"checked":""},{immediate:!0});const s=c.ref(e.indeterminate);return c.watch(()=>e.indeterminate,l=>{s.value=l,d.value?t.value="checked":t.value=l?"checked":""}),{modelValue:d,change:b,classList:r,styleList:v,checkbox:k,checkedClass:t,indeterminate:s,...a,labelValue:i,isCheckLabel:h}}});exports.default=g;