mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-01-04 04:08:13 +00:00
2 lines
5.0 KiB
JavaScript
2 lines
5.0 KiB
JavaScript
import{U as B,C as P,I as _,f as Y,w as Z,d as $,t as x}from"./event-a537c4cb.js";import{j as w,d as F,c as u,r as I,w as V,o as ee,b as o,e as d,f as S,u as a,n as r,m as v,p as b,U as T,C as c,x as E,q as ae,h as K,K as te,A as ie,T as M}from"./runtime-core.esm-bundler-67034826.js";import{b as ne,t as O,d as oe,c as C,a as N,p as se,q as le,B as re,u as ce,e as ue,E as g,l as de}from"./index-72686045.js";import{i as ve}from"./validator-9409f909.js";import{u as fe,_ as pe,w as me}from"./base-0e92f4db.js";import{u as he}from"./index-d87ae4a2.js";const ye=ne({modelValue:{type:[Boolean,String,Number],default:!1},value:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},width:{type:[String,Number],default:""},inlinePrompt:{type:Boolean,default:!1},activeIcon:{type:O},inactiveIcon:{type:O},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeColor:{type:String,default:""},inactiveColor:{type:String,default:""},borderColor:{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},id:String,loading:{type:Boolean,default:!1},beforeChange:{type:oe(Function)},size:{type:String,validator:ve},tabindex:{type:[String,Number]}}),be={[B]:s=>C(s)||w(s)||N(s),[P]:s=>C(s)||w(s)||N(s),[_]:s=>C(s)||w(s)||N(s)},ge=["onClick"],Ce=["id","aria-checked","aria-disabled","name","true-value","false-value","disabled","tabindex","onKeydown"],ke=["aria-hidden"],we=["aria-hidden"],Ie=["aria-hidden"],D="ElSwitch",Ve=F({name:D}),Se=F({...Ve,props:ye,emits:be,setup(s,{expose:q,emit:f}){const t=s,j=te(),{formItem:m}=se(),G=le(),i=fe("switch");he({from:'"value"',replacement:'"model-value" or "v-model"',scope:D,version:"2.3.0",ref:"https://element-plus.org/en-US/component/switch.html#attributes",type:"Attribute"},u(()=>{var e;return!!((e=j.vnode.props)!=null&&e.value)}));const{inputId:H}=re(t,{formItemContext:m}),h=ce(u(()=>t.loading)),k=I(t.modelValue!==!1),p=I(),L=I(),W=u(()=>[i.b(),i.m(G.value),i.is("disabled",h.value),i.is("checked",n.value)]),J=u(()=>({width:ue(t.width)}));V(()=>t.modelValue,()=>{k.value=!0}),V(()=>t.value,()=>{k.value=!1});const z=u(()=>k.value?t.modelValue:t.value),n=u(()=>z.value===t.activeValue);[t.activeValue,t.inactiveValue].includes(z.value)||(f(B,t.inactiveValue),f(P,t.inactiveValue),f(_,t.inactiveValue)),V(n,e=>{var l;p.value.checked=e,t.validateEvent&&((l=m==null?void 0:m.validate)==null||l.call(m,"change").catch(X=>Y()))});const y=()=>{const e=n.value?t.inactiveValue:t.activeValue;f(B,e),f(P,e),f(_,e),ie(()=>{p.value.checked=n.value})},U=()=>{if(h.value)return;const{beforeChange:e}=t;if(!e){y();return}const l=e();[M(l),C(l)].includes(!0)||x(D,"beforeChange must return type `Promise<boolean>` or `boolean`"),M(l)?l.then(A=>{A&&y()}).catch(A=>{}):l&&y()},Q=u(()=>i.cssVarBlock({...t.activeColor?{"on-color":t.activeColor}:null,...t.inactiveColor?{"off-color":t.inactiveColor}:null,...t.borderColor?{"border-color":t.borderColor}:null})),R=()=>{var e,l;(l=(e=p.value)==null?void 0:e.focus)==null||l.call(e)};return ee(()=>{p.value.checked=n.value}),q({focus:R,checked:n}),(e,l)=>(o(),d("div",{class:r(a(W)),style:K(a(Q)),onClick:$(U,["prevent"])},[S("input",{id:a(H),ref_key:"input",ref:p,class:r(a(i).e("input")),type:"checkbox",role:"switch","aria-checked":a(n),"aria-disabled":a(h),name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:a(h),tabindex:e.tabindex,onChange:y,onKeydown:Z(U,["enter"])},null,42,Ce),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText)?(o(),d("span",{key:0,class:r([a(i).e("label"),a(i).em("label","left"),a(i).is("active",!a(n))])},[e.inactiveIcon?(o(),v(a(g),{key:0},{default:b(()=>[(o(),v(T(e.inactiveIcon)))]),_:1})):c("v-if",!0),!e.inactiveIcon&&e.inactiveText?(o(),d("span",{key:1,"aria-hidden":a(n)},E(e.inactiveText),9,ke)):c("v-if",!0)],2)):c("v-if",!0),S("span",{ref_key:"core",ref:L,class:r(a(i).e("core")),style:K(a(J))},[e.inlinePrompt?(o(),d("div",{key:0,class:r(a(i).e("inner"))},[e.activeIcon||e.inactiveIcon?(o(),v(a(g),{key:0,class:r(a(i).is("icon"))},{default:b(()=>[(o(),v(T(a(n)?e.activeIcon:e.inactiveIcon)))]),_:1},8,["class"])):e.activeText||e.inactiveText?(o(),d("span",{key:1,class:r(a(i).is("text")),"aria-hidden":!a(n)},E(a(n)?e.activeText:e.inactiveText),11,we)):c("v-if",!0)],2)):c("v-if",!0),S("div",{class:r(a(i).e("action"))},[e.loading?(o(),v(a(g),{key:0,class:r(a(i).is("loading"))},{default:b(()=>[ae(a(de))]),_:1},8,["class"])):c("v-if",!0)],2)],6),!e.inlinePrompt&&(e.activeIcon||e.activeText)?(o(),d("span",{key:1,class:r([a(i).e("label"),a(i).em("label","right"),a(i).is("active",a(n))])},[e.activeIcon?(o(),v(a(g),{key:0},{default:b(()=>[(o(),v(T(e.activeIcon)))]),_:1})):c("v-if",!0),!e.activeIcon&&e.activeText?(o(),d("span",{key:1,"aria-hidden":!a(n)},E(e.activeText),9,Ie)):c("v-if",!0)],2)):c("v-if",!0)],14,ge))}});var Te=pe(Se,[["__file","/home/runner/work/element-plus/element-plus/packages/components/switch/src/switch.vue"]]);const ze=me(Te);export{ze as E};
|