2 lines
4.8 KiB
JavaScript
2 lines
4.8 KiB
JavaScript
var e=Object.defineProperty,a=Object.defineProperties,i=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,l=(a,i,t)=>i in a?e(a,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[i]=t,s=(e,a)=>{for(var i in a||(a={}))n.call(a,i)&&l(e,i,a[i]);if(t)for(var i of t(a))c.call(a,i)&&l(e,i,a[i]);return e};import{bv as o,ah as v,bd as r,a8 as d,dV as u,bc as b,br as f,bB as p,at as y,am as m,dY as h,a0 as k,d as g,bD as x,bx as I,a1 as V,bE as w,by as S,c as T,r as P,cB as O,A as _,o as B,b as j,e as A,f as C,i as E,P as N,p as z,q as D,h as K,w as L,aE as Z,ai as $,v as q,s as F,g as Y,cZ as G,m as H,O as J,n as M,dZ as Q,aa as R,ax as U,az as W}from"./index-BoIUJTA2.js";const X=d(s({modelValue:{type:[Boolean,String,Number],default:!1},disabled:Boolean,loading:Boolean,size:{type:String,validator:h},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:m},activeActionIcon:{type:m},activeIcon:{type:m},inactiveIcon:{type:m},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:y(Function)},id:String,tabindex:{type:[String,Number]}},p(["ariaLabel"]))),ee={[f]:e=>o(e)||v(e)||r(e),[b]:e=>o(e)||v(e)||r(e),[u]:e=>o(e)||v(e)||r(e)},ae="ElSwitch",ie=g({name:ae});var te;const ne=W(k(g((te=s({},ie),a(te,i({props:X,emits:ee,setup(e,{expose:a,emit:i}){const t=e,{formItem:n}=x(),c=I(),l=V("switch"),{inputId:s}=w(t,{formItemContext:n}),v=S(T(()=>t.loading)),r=P(!1!==t.modelValue),d=P(),p=P(),y=T(()=>[l.b(),l.m(c.value),l.is("disabled",v.value),l.is("checked",W.value)]),m=T(()=>[l.e("label"),l.em("label","left"),l.is("active",!W.value)]),h=T(()=>[l.e("label"),l.em("label","right"),l.is("active",W.value)]),k=T(()=>({width:O(t.width)}));_(()=>t.modelValue,()=>{r.value=!0});const g=T(()=>!!r.value&&t.modelValue),W=T(()=>g.value===t.activeValue);[t.activeValue,t.inactiveValue].includes(g.value)||(i(f,t.inactiveValue),i(b,t.inactiveValue),i(u,t.inactiveValue)),_(W,e=>{var a;d.value.checked=e,t.validateEvent&&(null==(a=null==n?void 0:n.validate)||a.call(n,"change").catch(e=>U()))});const X=()=>{const e=W.value?t.inactiveValue:t.activeValue;i(f,e),i(b,e),i(u,e),M(()=>{d.value.checked=W.value})},ee=()=>{if(v.value)return;const{beforeChange:e}=t;if(!e)return void X();const a=e();[Q(a),o(a)].includes(!0)||R(ae,"beforeChange must return type `Promise<boolean>` or `boolean`"),Q(a)?a.then(e=>{e&&X()}).catch(e=>{}):a&&X()};return B(()=>{d.value.checked=W.value}),a({focus:()=>{var e,a;null==(a=null==(e=d.value)?void 0:e.focus)||a.call(e)},checked:W}),(e,a)=>(A(),j("div",{class:D(z(y)),onClick:J(ee,["prevent"])},[C("input",{id:z(s),ref_key:"input",ref:d,class:D(z(l).e("input")),type:"checkbox",role:"switch","aria-checked":z(W),"aria-disabled":z(v),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:z(v),tabindex:e.tabindex,onChange:X,onKeydown:N(ee,["enter"])},null,42,["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"]),e.inlinePrompt||!e.inactiveIcon&&!e.inactiveText?E("v-if",!0):(A(),j("span",{key:0,class:D(z(m))},[e.inactiveIcon?(A(),K(z($),{key:0},{default:L(()=>[(A(),K(Z(e.inactiveIcon)))]),_:1})):E("v-if",!0),!e.inactiveIcon&&e.inactiveText?(A(),j("span",{key:1,"aria-hidden":z(W)},q(e.inactiveText),9,["aria-hidden"])):E("v-if",!0)],2)),C("span",{ref_key:"core",ref:p,class:D(z(l).e("core")),style:H(z(k))},[e.inlinePrompt?(A(),j("div",{key:0,class:D(z(l).e("inner"))},[e.activeIcon||e.inactiveIcon?(A(),K(z($),{key:0,class:D(z(l).is("icon"))},{default:L(()=>[(A(),K(Z(z(W)?e.activeIcon:e.inactiveIcon)))]),_:1},8,["class"])):e.activeText||e.inactiveText?(A(),j("span",{key:1,class:D(z(l).is("text")),"aria-hidden":!z(W)},q(z(W)?e.activeText:e.inactiveText),11,["aria-hidden"])):E("v-if",!0)],2)):E("v-if",!0),C("div",{class:D(z(l).e("action"))},[e.loading?(A(),K(z($),{key:0,class:D(z(l).is("loading"))},{default:L(()=>[Y(z(G))]),_:1},8,["class"])):z(W)?F(e.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(A(),K(z($),{key:0},{default:L(()=>[(A(),K(Z(e.activeActionIcon)))]),_:1})):E("v-if",!0)]):z(W)?E("v-if",!0):F(e.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(A(),K(z($),{key:0},{default:L(()=>[(A(),K(Z(e.inactiveActionIcon)))]),_:1})):E("v-if",!0)])],2)],6),e.inlinePrompt||!e.activeIcon&&!e.activeText?E("v-if",!0):(A(),j("span",{key:1,class:D(z(h))},[e.activeIcon?(A(),K(z($),{key:0},{default:L(()=>[(A(),K(Z(e.activeIcon)))]),_:1})):E("v-if",!0),!e.activeIcon&&e.activeText?(A(),j("span",{key:1,"aria-hidden":!z(W)},q(e.activeText),9,["aria-hidden"])):E("v-if",!0)],2))],10,["onClick"]))}})))),[["__file","switch.vue"]]));export{ne as E};
|