1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-10-22 02:03:10 +00:00
Classworks/assets/VSwitch-asrVm4BK.js

2 lines
2.7 KiB
JavaScript

import{g as j,p as q,ap as w,c5 as G,a7 as C,cl as J,as as y,aL as K,c as Q,av as X,d as l,E as S,i as n,n as b,e as P,aW as Y,cm as Z,v as ee,c6 as ae,cn as te,F as le,aw as se}from"./index-DFgkZgUi.js";import{u as oe,a as _,d as ne}from"./VTextField-DIOo4XZs.js";import{V as A,m as ie}from"./VCheckboxBtn-DObhCu1k.js";const re=q({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...ne(),...ie()},"VSwitch"),fe=j()({name:"VSwitch",inheritAttrs:!1,props:re(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,I){let{attrs:F,slots:a}=I;const i=w(e,"indeterminate"),s=w(e,"modelValue"),{loaderClasses:p}=G(e),{isFocused:x,focus:B,blur:R}=oe(e),h=C(),V=C(),k=J&&window.matchMedia("(forced-colors: active)").matches,z=y(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),M=K(),D=y(()=>e.id||`switch-${M}`);function T(){i.value&&(i.value=!1)}function L(r){var c,u;r.stopPropagation(),r.preventDefault(),(u=(c=h.value)==null?void 0:c.input)==null||u.click()}return Q(()=>{const[r,c]=X(F),u=_.filterProps(e),N=A.filterProps(e);return l(_,S({ref:V,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":i.value},p.value,e.class]},r,u,{modelValue:s.value,"onUpdate:modelValue":d=>s.value=d,id:D.value,focused:x.value,style:e.style}),{...a,default:d=>{let{id:U,messagesId:E,isDisabled:H,isReadonly:O,isValid:g}=d;const f={model:s,isValid:g};return l(A,S({ref:h},N,{modelValue:s.value,"onUpdate:modelValue":[o=>s.value=o,T],id:U.value,"aria-describedby":E.value,type:"checkbox","aria-checked":i.value?"mixed":void 0,disabled:H.value,readonly:O.value,onFocus:B,onBlur:R},c),{...a,default:o=>{let{backgroundColorClasses:v,backgroundColorStyles:t}=o;return n("div",{class:P(["v-switch__track",k?void 0:v.value]),style:b(t.value),onClick:L},[a["track-true"]&&n("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](f)]),a["track-false"]&&n("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](f)])])},input:o=>{let{inputNode:v,icon:t,backgroundColorClasses:W,backgroundColorStyles:$}=o;return n(le,null,[v,n("div",{class:P(["v-switch__thumb",{"v-switch__thumb--filled":t||e.loading},e.inset||k?void 0:W.value]),style:b(e.inset?void 0:$.value)},[a.thumb?l(Y,{defaults:{VIcon:{icon:t,size:"x-small"}}},{default:()=>[a.thumb({...f,icon:t})]}):l(Z,null,{default:()=>[e.loading?l(ae,{name:"v-switch",active:!0,color:g.value===!1?void 0:z.value},{default:m=>a.loader?a.loader(m):l(te,{active:m.isActive,color:m.color,indeterminate:!0,size:"16",width:"2"},null)}):t&&l(ee,{key:String(t),icon:t,size:"x-small"},null)]})])])}})}})}),se({},V)}});export{fe as V};