import{a as w,k as L,c as d,r as E,t as M,s as X,l as v,o as i,q as S,D as c,a9 as Y,u as a,E as u,G as r,H as p,I as y,L as T,m as O,J as _,M as x,K as ee,A as ae,ak as F}from"./vue.1762932289438.js";import{ac as V,a1 as C,e as ie,R as N,C as P,U as B,a3 as te,f as ne,O as g,ak as se,k as le,a5 as oe,a6 as ce,l as re,al as ue,W as de,ad as ve,ab as fe,G as m,Z as pe,$ as me,w as he}from"./index.1762932289438.js";const ye=ie({modelValue:{type:[Boolean,String,Number],default:!1},disabled:Boolean,loading:Boolean,size:{type:String,validator:se},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:g},activeActionIcon:{type:g},activeIcon:{type:g},inactiveIcon:{type:g},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:ne(Function)},id:String,tabindex:{type:[String,Number]},...te(["ariaLabel"])}),be={[B]:l=>V(l)||w(l)||C(l),[P]:l=>V(l)||w(l)||C(l),[N]:l=>V(l)||w(l)||C(l)},U="ElSwitch",ke=L({name:U}),Ie=L({...ke,props:ye,emits:be,setup(l,{expose:G,emit:f}){const n=l,{formItem:b}=oe(),$=ce(),t=re("switch"),{inputId:H}=ue(n,{formItemContext:b}),k=de(d(()=>n.loading)),A=E(n.modelValue!==!1),h=E(),R=E(),W=d(()=>[t.b(),t.m($.value),t.is("disabled",k.value),t.is("checked",s.value)]),q=d(()=>[t.e("label"),t.em("label","left"),t.is("active",!s.value)]),J=d(()=>[t.e("label"),t.em("label","right"),t.is("active",s.value)]),Z=d(()=>({width:ve(n.width)}));M(()=>n.modelValue,()=>{A.value=!0});const D=d(()=>A.value?n.modelValue:!1),s=d(()=>D.value===n.activeValue);[n.activeValue,n.inactiveValue].includes(D.value)||(f(B,n.inactiveValue),f(P,n.inactiveValue),f(N,n.inactiveValue)),M(s,e=>{var o;h.value.checked=e,n.validateEvent&&((o=b==null?void 0:b.validate)==null||o.call(b,"change").catch(Q=>fe()))});const I=()=>{const e=s.value?n.inactiveValue:n.activeValue;f(B,e),f(P,e),f(N,e),ae(()=>{h.value.checked=s.value})},K=()=>{if(k.value)return;const{beforeChange:e}=n;if(!e){I();return}const o=e();[F(o),V(o)].includes(!0)||me(U,"beforeChange must return type `Promise` or `boolean`"),F(o)?o.then(z=>{z&&I()}).catch(z=>{}):o&&I()},j=()=>{var e,o;(o=(e=h.value)==null?void 0:e.focus)==null||o.call(e)};return X(()=>{h.value.checked=s.value}),G({focus:j,checked:s}),(e,o)=>(i(),v("div",{class:u(a(W)),onClick:ee(K,["prevent"])},[S("input",{id:a(H),ref_key:"input",ref:h,class:u(a(t).e("input")),type:"checkbox",role:"switch","aria-checked":a(s),"aria-disabled":a(k),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:a(k),tabindex:e.tabindex,onChange:I,onKeydown:Y(K,["enter"])},null,42,["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"]),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText)?(i(),v("span",{key:0,class:u(a(q))},[e.inactiveIcon?(i(),r(a(m),{key:0},{default:p(()=>[(i(),r(y(e.inactiveIcon)))]),_:1})):c("v-if",!0),!e.inactiveIcon&&e.inactiveText?(i(),v("span",{key:1,"aria-hidden":a(s)},T(e.inactiveText),9,["aria-hidden"])):c("v-if",!0)],2)):c("v-if",!0),S("span",{ref_key:"core",ref:R,class:u(a(t).e("core")),style:x(a(Z))},[e.inlinePrompt?(i(),v("div",{key:0,class:u(a(t).e("inner"))},[e.activeIcon||e.inactiveIcon?(i(),r(a(m),{key:0,class:u(a(t).is("icon"))},{default:p(()=>[(i(),r(y(a(s)?e.activeIcon:e.inactiveIcon)))]),_:1},8,["class"])):e.activeText||e.inactiveText?(i(),v("span",{key:1,class:u(a(t).is("text")),"aria-hidden":!a(s)},T(a(s)?e.activeText:e.inactiveText),11,["aria-hidden"])):c("v-if",!0)],2)):c("v-if",!0),S("div",{class:u(a(t).e("action"))},[e.loading?(i(),r(a(m),{key:0,class:u(a(t).is("loading"))},{default:p(()=>[_(a(pe))]),_:1},8,["class"])):a(s)?O(e.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(i(),r(a(m),{key:0},{default:p(()=>[(i(),r(y(e.activeActionIcon)))]),_:1})):c("v-if",!0)]):a(s)?c("v-if",!0):O(e.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(i(),r(a(m),{key:0},{default:p(()=>[(i(),r(y(e.inactiveActionIcon)))]),_:1})):c("v-if",!0)])],2)],6),!e.inlinePrompt&&(e.activeIcon||e.activeText)?(i(),v("span",{key:1,class:u(a(J))},[e.activeIcon?(i(),r(a(m),{key:0},{default:p(()=>[(i(),r(y(e.activeIcon)))]),_:1})):c("v-if",!0),!e.activeIcon&&e.activeText?(i(),v("span",{key:1,"aria-hidden":!a(s)},T(e.activeText),9,["aria-hidden"])):c("v-if",!0)],2)):c("v-if",!0)],10,["onClick"]))}});var ge=le(Ie,[["__file","switch.vue"]]);const Ee=he(ge);export{Ee as E};