1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-07-03 01:39:22 +00:00
Classworks/assets/VCheckboxBtn-AyEh5yQH.js

2 lines
5.7 KiB
JavaScript

import{g as F,p as I,a6 as g,aJ as j,t,a$ as J,j as A,k as s,m as X,b0 as Z,x as O,bG as z,a1 as B,aT as Q,bk as W,br as Y,s as R,r as p,aK as ee,X as P,aG as le,aS as ae,F as te,V as ne,aU as oe,aZ as ue,f as C,a7 as x,aD as ie,u as re,ad as ce,bK as se,a9 as de}from"./index-DHJ8t5vF.js";import{e as ve}from"./VTextField-AERAqvmQ.js";const E=Symbol.for("vuetify:selection-control-group"),K=I({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:B,trueIcon:B,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:z},...O(),...Z(),...X()},"SelectionControlGroup"),fe=I({...K({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup"),Ve=F()({name:"VSelectionControlGroup",props:fe(),emits:{"update:modelValue":e=>!0},setup(e,u){let{slots:r}=u;const l=g(e,"modelValue"),n=j(),d=t(()=>e.id||`v-selection-control-group-${n}`),i=t(()=>e.name||d.value),a=new Set;return Q(E,{modelValue:l,forceUpdate:()=>{a.forEach(o=>o())},onForceUpdate:o=>{a.add(o),W(()=>{a.delete(o)})}}),J({[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)}}),A(()=>{var o;return s("div",{class:["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class],style:e.style,role:e.type==="radio"?"radiogroup":void 0},[(o=r.default)==null?void 0:o.call(r)])}),{}}}),L=I({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...O(),...K()},"VSelectionControl");function me(e){const u=oe(E,void 0),{densityClasses:r}=ue(e),l=g(e,"modelValue"),n=C(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),d=C(()=>e.falseValue!==void 0?e.falseValue:!1),i=C(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),a=C({get(){const m=u?u.modelValue.value:l.value;return i.value?x(m).some(c=>e.valueComparator(c,n.value)):e.valueComparator(m,n.value)},set(m){if(e.readonly)return;const c=m?n.value:d.value;let b=c;i.value&&(b=m?[...x(l.value),c]:x(l.value).filter(v=>!e.valueComparator(v,n.value))),u?u.modelValue.value=b:l.value=b}}),{textColorClasses:o,textColorStyles:y}=ie(()=>{if(!(e.error||e.disabled))return a.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:k}=re(()=>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:d,model:a,textColorClasses:o,textColorStyles:y,backgroundColorClasses:V,backgroundColorStyles:k,icon:h}}const _=F()({name:"VSelectionControl",directives:{Ripple:Y},inheritAttrs:!1,props:L(),emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:r,slots:l}=u;const{group:n,densityClasses:d,icon:i,model:a,textColorClasses:o,textColorStyles:y,backgroundColorClasses:V,backgroundColorStyles:k,trueValue:h}=me(e),m=j(),c=R(!1),b=R(!1),v=p(),S=t(()=>e.id||`input-${m}`),G=t(()=>!e.disabled&&!e.readonly);n==null||n.onForceUpdate(()=>{v.value&&(v.value.checked=a.value)});function D(f){G.value&&(c.value=!0,se(f.target,":focus-visible")!==!1&&(b.value=!0))}function T(){c.value=!1,b.value=!1}function M(f){f.stopPropagation()}function N(f){if(!G.value){v.value&&(v.value.checked=a.value);return}e.readonly&&n&&ce(()=>n.forceUpdate()),a.value=f.target.checked}return A(()=>{var U,$;const f=l.label?l.label({label:e.label,props:{for:S.value}}):e.label,[q,H]=ee(r),w=s("input",P({ref:v,checked:a.value,disabled:!!e.disabled,id:S.value,onBlur:T,onFocus:D,onInput:N,"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},H),null);return s("div",P({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":b.value,"v-selection-control--inline":e.inline},d.value,e.class]},q,{style:e.style}),[s("div",{class:["v-selection-control__wrapper",o.value],style:y.value},[(U=l.default)==null?void 0:U.call(l,{backgroundColorClasses:V,backgroundColorStyles:k}),le(s("div",{class:["v-selection-control__input"]},[(($=l.input)==null?void 0:$.call(l,{model:a,textColorClasses:o,textColorStyles:y,backgroundColorClasses:V,backgroundColorStyles:k,inputNode:w,icon:i.value,props:{onFocus:D,onBlur:T,id:S.value}}))??s(te,null,[i.value&&s(ne,{key:"icon",icon:i.value},null),w])]),[[ae("ripple"),e.ripple&&[!e.disabled&&!e.readonly,null,["center","circle"]]]])]),f&&s(ve,{for:S.value,onClick:M},{default:()=>[f]})])}),{isFocused:c,input:v}}}),be=I({indeterminate:Boolean,indeterminateIcon:{type:B,default:"$checkboxIndeterminate"},...L({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),ke=F()({name:"VCheckboxBtn",props:be(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,u){let{slots:r}=u;const l=g(e,"indeterminate"),n=g(e,"modelValue");function d(o){l.value&&(l.value=!1)}const i=t(()=>l.value?e.indeterminateIcon:e.falseIcon),a=t(()=>l.value?e.indeterminateIcon:e.trueIcon);return A(()=>{const o=de(_.filterProps(e),["modelValue"]);return s(_,P(o,{modelValue:n.value,"onUpdate:modelValue":[y=>n.value=y,d],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{ke as V,_ as a,L as b,Ve as c,K as d,be as m};