import{kasS,JasN,akasP,basW,iasV,RasX,dasY,aasZ,yasp,DasF,aKasL,Gas_,oasa,casv,qasx,tasee,fasi,nasd,hasb,easo,wasr,rask,Easf,gass,aaasE,sasae,braste,alasie,aLasne,aQasce,jasm,Pasle,aJasM,Casse,amasoe,aUasue,lasve}from"./index-DS73WiJW.js";import{IasB,CasA,Uas$}from"./raf-G_xTfKfR.js";import{basde,easre,dasfe,casme}from"./index-COtHB4lx.js";import{iashe}from"./validator-B_WzUu_x.js";import{uasye}from"./index-CP7PpuwU.js";constbe=W({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:void0},loading:Boolean,size:{type:String,validator:he},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:V},activeActionIcon:{type:V},activeIcon:{type:V},inactiveIcon:{type:V},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:X(Function)},id:String,tabindex:{type:[String,Number]},...ye(["ariaLabel"])}),ke={[$]:e=>S(e)||N(e)||P(e),[A]:e=>S(e)||N(e)||P(e),[B]:e=>S(e)||N(e)||P(e)},ge=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex"],Ie=["aria-hidden"],we={key:1},Ve={key:1},Ee=["aria-hidden"],T="ElSwitch";varTe=Y({name:T,__name:"switch",props:be,emits:ke,setup(e,{expose:O,emit:U}){constc=e,h=U,{formItem:y}=de(),R=re(),n=Z("switch"),{inputId:G}=fe(c,{formItemContext:y}),I=me(m(()=>{if(c.loading)return!0})),D=p(c.modelValue!==!1),g=ce(),J=m(()=>[n.b(),n.m(R.value),n.is("disabled",I.value),n.is("checked",l.value)]),j=m(()=>[n.e("label"),n.em("label","left"),n.is("active",!l.value)]),q=m(()=>[n.e("label"),n.em("label","right"),n.is("active",l.value)]),H=m(()=>({width:oe(c.width)}));F(()=>c.modelValue,()=>{D.value=!0});constz=m(()=>D.value?c.modelValue:!1),l=m(()=>z.value===c.activeValue);[c.activeValue,c.inactiveValue].includes(z.value)||(L(T,"model-value must be active-value or inactive-value"),h($,c.inactiveValue),h(A,c.inactiveValue),h(B,c.inactiveValue)),F(l,t=>{varu;g.value.checked=t,c.validateEvent&&((u=y==null?void0:y.validate)==null||u.call(y,"change").catch(ue))});constw=()=>{constt=l.value?c.inactiveValue:c.activeValue;h($,t),h(A,t),h(B,t),le(()=>{g.value.checked=l.value})},K=()=>{if(I.value)return;const{beforeChange:t}=c;if(!t){w();return}constu=t();[M(u),S(u)].includes(!0)||se(T,"beforeChange must return type `Promise<boolean>` or `boolean`"),M(u)?u.then(C=>{C&&w()}).catch(C=>{L(T,`some error occurred: ${C}`)}):u&&w()},Q=()=>{vart,u;(u=(t=g.value)==null?void0:t.focus)==null||u.call(t)};return_(()=>{g.value.checked=l.value}),O({focus:Q,checked:l}),(t,u)=>(a(),v("div",{class:d(J.value),onClick:ne(K,["prevent"])},[x("input",{id:i(G),ref_key:"input",ref:g,class:d(i(n).e("input")),type:"checkbox",role:"switch","aria-checked":l.value,"aria-disabled":i(I),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:i(I),tabindex:e.tabindex,onChange:w,onKeydown:ee(K,["enter"])},null,42,ge),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText||t.$slots.inactive)?(a(),v("span",{key:0,class:d(j.value)},[b(t.$slots,"inactive",{},()=>[e.inactiveIcon?(a(),o(i(f),{key:0},{default:r(()=>[(a(),o(k(e.inactiveIcon)))]),_:1})):s("v-if",!0),!e.inactiveIcon&&e.inactiveText?(a(),v("span",{key:1,"aria-hidden":l.value},E(e.inactiveText),9,Ie)):s("v-if",!0)])],2)):s("v-if",!0),x("span",{class:d(i(n).e("core")),style:ie(H.value)},[e.inlinePrompt?(a(),v("div",{key:0,class:d(i(n).e("inner"))},[l.value?(a(),v("div",{key:1,class:d(i(n).e("inner-wrapper"))},[b(t.$slots,"active",{},()=>[e.activeIcon?(a(),o(i(f),{key:0},{default:r(()=>[(a(),o(k(e.activeIcon)))]),_:1})):s("v-if",!0),!e.activeIcon&&e.activeText?(a(),v("span",Ve,E(e.activeText),1)):s("v-if",!0)])],2)):(a(),v("div",{key:0,class:d(i(n).e("inner-wrapper"))},[b(t.$slots,"inactive",{},()=>[e.inactiveIcon?(a(),o(i(f),{key:0},{defaul