1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-12-07 21:13:11 +00:00
Classworks/assets/VCheckboxBtn-C-JXw0Nr.js

2 lines
5.7 KiB
JavaScript

import{g as G,p as S,a2 as I,aM as M,ax as t,aG as W,c as w,i as y,n as O,e as B,bb as X,aI as Y,h as j,af as p,aN as P,bL as ee,bx as le,R as N,$ as _,Z as ae,ay as te,E as A,d as F,I as ne,F as oe,v as ue,bG as ie,aE as re,a4 as C,a3 as x,a1 as ce,aA as se,a6 as de,ag as ve,ad as fe}from"./index-Dy31wo_X.js";import{g as me}from"./VTextField-CEmoZqua.js";const z=Symbol.for("vuetify:selection-control-group"),q=S({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:P,trueIcon:P,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:p},...j(),...Y(),...X()},"SelectionControlGroup"),be=S({...q({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup"),ge=G()({name:"VSelectionControlGroup",props:be(),emits:{"update:modelValue":e=>!0},setup(e,u){let{slots:r}=u;const l=I(e,"modelValue"),n=M(),s=t(()=>e.id||`v-selection-control-group-${n}`),i=t(()=>e.name||s.value),a=new Set;return ee(z,{modelValue:l,forceUpdate:()=>{a.forEach(o=>o())},onForceUpdate:o=>{a.add(o),le(()=>{a.delete(o)})}}),W({[e.defaultsTarget]:{color:t(()=>e.color),disabled:t(()=>e.disabled),density:t(()=>e.density),error:t(()=>e.error),inline:t(()=>e.inline),modelValue:l,multiple:t(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:i,falseIcon:t(()=>e.falseIcon),trueIcon:t(()=>e.trueIcon),readonly:t(()=>e.readonly),ripple:t(()=>e.ripple),type:t(()=>e.type),valueComparator:t(()=>e.valueComparator)}}),w(()=>{var o;return y("div",{class:B(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:O(e.style),role:e.type==="radio"?"radiogroup":void 0},[(o=r.default)==null?void 0:o.call(r)])}),{}}}),H=S({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...j(),...q()},"VSelectionControl");function ye(e){const u=ie(z,void 0),{densityClasses:r}=re(e),l=I(e,"modelValue"),n=C(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),s=C(()=>e.falseValue!==void 0?e.falseValue:!1),i=C(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),a=C({get(){const f=u?u.modelValue.value:l.value;return i.value?x(f).some(c=>e.valueComparator(c,n.value)):e.valueComparator(f,n.value)},set(f){if(e.readonly)return;const c=f?n.value:s.value;let m=c;i.value&&(m=f?[...x(l.value),c]:x(l.value).filter(d=>!e.valueComparator(d,n.value))),u?u.modelValue.value=m:l.value=m}}),{textColorClasses:o,textColorStyles:b}=ce(()=>{if(!(e.error||e.disabled))return a.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:k}=se(()=>a.value&&!e.error&&!e.disabled?e.color:e.baseColor),h=C(()=>a.value?e.trueIcon:e.falseIcon);return{group:u,densityClasses:r,trueValue:n,falseValue:s,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,icon:h}}const L=G()({name:"VSelectionControl",directives:{vRipple:N},inheritAttrs:!1,props:H(),emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:r,slots:l}=u;const{group:n,densityClasses:s,icon:i,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,trueValue:h}=ye(e),f=M(),c=_(!1),m=_(!1),d=ae(),g=t(()=>e.id||`input-${f}`),R=t(()=>!e.disabled&&!e.readonly);n==null||n.onForceUpdate(()=>{d.value&&(d.value.checked=a.value)});function T(v){R.value&&(c.value=!0,ve(v.target,":focus-visible")!==!1&&(m.value=!0))}function $(){c.value=!1,m.value=!1}function Z(v){v.stopPropagation()}function J(v){if(!R.value){d.value&&(d.value.checked=a.value);return}e.readonly&&n&&de(()=>n.forceUpdate()),a.value=v.target.checked}return w(()=>{var U,E;const v=l.label?l.label({label:e.label,props:{for:g.value}}):e.label,[K,Q]=te(r),D=y("input",A({ref:d,checked:a.value,disabled:!!e.disabled,id:g.value,onBlur:$,onFocus:T,onInput:J,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:h.value,name:e.name,"aria-checked":e.type==="checkbox"?a.value:void 0},Q),null);return y("div",A({class:["v-selection-control",{"v-selection-control--dirty":a.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":c.value,"v-selection-control--focus-visible":m.value,"v-selection-control--inline":e.inline},s.value,e.class]},K,{style:e.style}),[y("div",{class:B(["v-selection-control__wrapper",o.value]),style:O(b.value)},[(U=l.default)==null?void 0:U.call(l,{backgroundColorClasses:V,backgroundColorStyles:k}),ne(y("div",{class:B(["v-selection-control__input"])},[((E=l.input)==null?void 0:E.call(l,{model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,inputNode:D,icon:i.value,props:{onFocus:T,onBlur:$,id:g.value}}))??y(oe,null,[i.value&&F(ue,{key:"icon",icon:i.value},null),D])]),[[N,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),v&&F(me,{for:g.value,onClick:Z},{default:()=>[v]})])}),{isFocused:c,input:d}}}),Ce=S({indeterminate:Boolean,indeterminateIcon:{type:P,default:"$checkboxIndeterminate"},...H({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),Ie=G()({name:"VCheckboxBtn",props:Ce(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,u){let{slots:r}=u;const l=I(e,"indeterminate"),n=I(e,"modelValue");function s(o){l.value&&(l.value=!1)}const i=t(()=>l.value?e.indeterminateIcon:e.falseIcon),a=t(()=>l.value?e.indeterminateIcon:e.trueIcon);return w(()=>{const o=fe(L.filterProps(e),["modelValue"]);return F(L,A(o,{modelValue:n.value,"onUpdate:modelValue":[b=>n.value=b,s],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:a.value,"aria-checked":l.value?"mixed":void 0}),r)}),{}}});export{Ie as V,L as a,ge as b,q as c,Ce as d,H as m};