You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
3.0 KiB

import{M as K,dd as N,d as U,de as z,bg as A,df as m,r as w,f as S,O as D,da as E,P as H,J as L,T as l,b as s,U as C,dg as W,dh as G,di as x,dj as J,V as c,be as B}from"./index-f4658ae7.js";var R=N("small","default"),$=function(){return{id:String,prefixCls:String,size:c.oneOf(R),disabled:{type:Boolean,default:void 0},checkedChildren:c.any,unCheckedChildren:c.any,tabindex:c.oneOfType([c.string,c.number]),autofocus:{type:Boolean,default:void 0},loading:{type:Boolean,default:void 0},checked:c.oneOfType([c.string,c.number,c.looseBool]),checkedValue:c.oneOfType([c.string,c.number,c.looseBool]).def(!0),unCheckedValue:c.oneOfType([c.string,c.number,c.looseBool]).def(!1),onChange:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onMouseup:{type:Function},"onUpdate:checked":{type:Function},onBlur:Function,onFocus:Function}},q=U({name:"ASwitch",__ANT_SWITCH:!0,inheritAttrs:!1,props:$(),slots:["checkedChildren","unCheckedChildren"],setup:function(n,r){var o=r.attrs,y=r.slots,T=r.expose,d=r.emit,b=z();A(function(){m(!("defaultChecked"in o),"Switch","'defaultChecked' is deprecated, please use 'v-model:checked'"),m(!("value"in o),"Switch","`value` is not validate prop, do you mean `checked`?")});var h=w(n.checked!==void 0?n.checked:o.defaultChecked),f=S(function(){return h.value===n.checkedValue});D(function(){return n.checked},function(){h.value=n.checked});var v=E("switch",n),u=v.prefixCls,V=v.direction,_=v.size,i=w(),g=function(){var e;(e=i.value)===null||e===void 0||e.focus()},I=function(){var e;(e=i.value)===null||e===void 0||e.blur()};T({focus:g,blur:I}),H(function(){L(function(){n.autofocus&&!n.disabled&&i.value.focus()})});var k=function(e,t){n.disabled||(d("update:checked",e),d("change",e,t),b.onFieldChange())},M=function(e){d("blur",e)},O=function(e){g();var t=f.value?n.unCheckedValue:n.checkedValue;k(t,e),d("click",t,e)},p=function(e){e.keyCode===B.LEFT?k(n.unCheckedValue,e):e.keyCode===B.RIGHT&&k(n.checkedValue,e),d("keydown",e)},P=function(e){var t;(t=i.value)===null||t===void 0||t.blur(),d("mouseup",e)},j=S(function(){var a;return a={},l(a,"".concat(u.value,"-small"),_.value==="small"),l(a,"".concat(u.value,"-loading"),n.loading),l(a,"".concat(u.value,"-checked"),f.value),l(a,"".concat(u.value,"-disabled"),n.disabled),l(a,u.value,!0),l(a,"".concat(u.value,"-rtl"),V.value==="rtl"),a});return function(){var a;return s(J,{insertExtraNode:!0},{default:function(){return[s("button",C(C(C({},W(n,["prefixCls","checkedChildren","unCheckedChildren","checked","autofocus","checkedValue","unCheckedValue","id","onChange","onUpdate:checked"])),o),{},{id:(a=n.id)!==null&&a!==void 0?a:b.id.value,onKeydown:p,onClick:O,onBlur:M,onMouseup:P,type:"button",role:"switch","aria-checked":h.value,disabled:n.disabled||n.loading,class:[o.class,j.value],ref:i}),[s("div",{class:"".concat(u.value,"-handle")},[n.loading?s(G,{class:"".concat(u.value,"-loading-icon")},null):null]),s("span",{class:"".concat(u.value,"-inner")},[f.value?x(y,n,"checkedChildren"):x(y,n,"unCheckedChildren")])])]}})}}});const X=K(q);export{X as S};