ll-package
Version:
2 lines (1 loc) • 3.99 kB
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),l=require("vue"),M=require("../../../@ant-design/icons-vue/es/icons/LoadingOutlined.js"),n=require("../_util/vue-types/index.js"),m=require("../_util/KeyCode.js"),j=require("../_util/wave/index.js"),g=require("../_util/warning.js"),b=require("../_util/type.js"),y=require("../_util/props-util/index.js"),D=require("../config-provider/hooks/useConfigInject.js"),P=require("../form/FormItemContext.js"),z=require("../_util/omit.js"),K=require("./style/index.js"),A=require("../config-provider/DisabledContext.js"),w=b.tuple("small","default"),S=()=>({id:String,prefixCls:String,size:n.default.oneOf(w),disabled:{type:Boolean,default:void 0},checkedChildren:n.default.any,unCheckedChildren:n.default.any,tabindex:n.default.oneOfType([n.default.string,n.default.number]),autofocus:{type:Boolean,default:void 0},loading:{type:Boolean,default:void 0},checked:n.default.oneOfType([n.default.string,n.default.number,n.default.looseBool]),checkedValue:n.default.oneOfType([n.default.string,n.default.number,n.default.looseBool]).def(!0),unCheckedValue:n.default.oneOfType([n.default.string,n.default.number,n.default.looseBool]).def(!1),onChange:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onMouseup:{type:Function},"onUpdate:checked":{type:Function},onBlur:Function,onFocus:Function}),U=l.defineComponent({compatConfig:{MODE:3},name:"ASwitch",__ANT_SWITCH:!0,inheritAttrs:!1,props:S(),slots:Object,setup(t,V){let{attrs:c,slots:h,expose:x,emit:a}=V;const v=P.useInjectFormItemContext(),q=A.useInjectDisabled(),i=l.computed(()=>{var e;return(e=t.disabled)!==null&&e!==void 0?e:q.value});l.onBeforeMount(()=>{g.default(!("defaultChecked"in c),"Switch","'defaultChecked' is deprecated, please use 'v-model:checked'"),g.default(!("value"in c),"Switch","`value` is not validate prop, do you mean `checked`?")});const s=l.ref(t.checked!==void 0?t.checked:c.defaultChecked),k=l.computed(()=>s.value===t.checkedValue);l.watch(()=>t.checked,()=>{s.value=t.checked});const{prefixCls:u,direction:$,size:p}=D.default("switch",t),[F,B]=K.default(u),o=l.ref(),C=()=>{var e;(e=o.value)===null||e===void 0||e.focus()};x({focus:C,blur:()=>{var e;(e=o.value)===null||e===void 0||e.blur()}}),l.onMounted(()=>{l.nextTick(()=>{t.autofocus&&!i.value&&o.value.focus()})});const r=(e,d)=>{i.value||(a("update:checked",e),a("change",e,d),v.onFieldChange())},I=e=>{a("blur",e)},N=e=>{C();const d=k.value?t.unCheckedValue:t.checkedValue;r(d,e),a("click",d,e)},T=e=>{e.keyCode===m.default.LEFT?r(t.unCheckedValue,e):e.keyCode===m.default.RIGHT&&r(t.checkedValue,e),a("keydown",e)},_=e=>{var d;(d=o.value)===null||d===void 0||d.blur(),a("mouseup",e)},O=l.computed(()=>({[`${u.value}-small`]:p.value==="small",[`${u.value}-loading`]:t.loading,[`${u.value}-checked`]:k.value,[`${u.value}-disabled`]:i.value,[u.value]:!0,[`${u.value}-rtl`]:$.value==="rtl",[B.value]:!0}));return()=>{var e;return F(l.createVNode(j.default,null,{default:()=>[l.createVNode("button",f.default(f.default(f.default({},z.default(t,["prefixCls","checkedChildren","unCheckedChildren","checked","autofocus","checkedValue","unCheckedValue","id","onChange","onUpdate:checked"])),c),{},{id:(e=t.id)!==null&&e!==void 0?e:v.id.value,onKeydown:T,onClick:N,onBlur:I,onMouseup:_,type:"button",role:"switch","aria-checked":s.value,disabled:i.value||t.loading,class:[c.class,O.value],ref:o}),[l.createVNode("div",{class:`${u.value}-handle`},[t.loading?l.createVNode(M.default,{class:`${u.value}-loading-icon`},null):null]),l.createVNode("span",{class:`${u.value}-inner`},[l.createVNode("span",{class:`${u.value}-inner-checked`},[y.getPropsSlot(h,t,"checkedChildren")]),l.createVNode("span",{class:`${u.value}-inner-unchecked`},[y.getPropsSlot(h,t,"unCheckedChildren")])])])]}))}}}),E=b.withInstall(U);exports.SwitchSizes=w;exports.default=E;exports.switchProps=S;
;