mirror of
https://github.com/ZeroCatDev/Classworks.git
synced 2025-12-07 21:13:11 +00:00
2 lines
4.9 KiB
JavaScript
2 lines
4.9 KiB
JavaScript
import{g as _,p as B,a3 as z,aN as E,ay as t,aH as Q,c as H,i as y,n as M,e as h,bh as W,aJ as X,h as $,ag as Y,aO as T,bM as Z,bw as p,S as D,a0 as R,$ as ee,az as le,E as N,d as U,I as ae,F as te,v as ne,bH as oe,aF as ue,a5 as C,a4 as I,a2 as ie,aB as re,a7 as ce,ah as se}from"./index-DCfuJPuG.js";import{g as de}from"./VTextField-BRbhN_Cz.js";const j=Symbol.for("vuetify:selection-control-group"),L=B({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:T,trueIcon:T,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:Y},...$(),...X(),...W()},"SelectionControlGroup"),ve=B({...L({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup"),be=_()({name:"VSelectionControlGroup",props:ve(),emits:{"update:modelValue":e=>!0},setup(e,u){let{slots:d}=u;const l=z(e,"modelValue"),n=E(),m=t(()=>e.id||`v-selection-control-group-${n}`),r=t(()=>e.name||m.value),a=new Set;return Z(j,{modelValue:l,forceUpdate:()=>{a.forEach(o=>o())},onForceUpdate:o=>{a.add(o),p(()=>{a.delete(o)})}}),Q({[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:r,falseIcon:t(()=>e.falseIcon),trueIcon:t(()=>e.trueIcon),readonly:t(()=>e.readonly),ripple:t(()=>e.ripple),type:t(()=>e.type),valueComparator:t(()=>e.valueComparator)}}),H(()=>{var o;return y("div",{class:h(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:M(e.style),role:e.type==="radio"?"radiogroup":void 0},[(o=d.default)==null?void 0:o.call(d)])}),{}}}),fe=B({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...$(),...L()},"VSelectionControl");function me(e){const u=oe(j,void 0),{densityClasses:d}=ue(e),l=z(e,"modelValue"),n=C(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),m=C(()=>e.falseValue!==void 0?e.falseValue:!1),r=C(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),a=C({get(){const v=u?u.modelValue.value:l.value;return r.value?I(v).some(i=>e.valueComparator(i,n.value)):e.valueComparator(v,n.value)},set(v){if(e.readonly)return;const i=v?n.value:m.value;let f=i;r.value&&(f=v?[...I(l.value),i]:I(l.value).filter(c=>!e.valueComparator(c,n.value))),u?u.modelValue.value=f:l.value=f}}),{textColorClasses:o,textColorStyles:b}=ie(()=>{if(!(e.error||e.disabled))return a.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:S}=re(()=>a.value&&!e.error&&!e.disabled?e.color:e.baseColor),k=C(()=>a.value?e.trueIcon:e.falseIcon);return{group:u,densityClasses:d,trueValue:n,falseValue:m,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:S,icon:k}}const Ve=_()({name:"VSelectionControl",directives:{vRipple:D},inheritAttrs:!1,props:fe(),emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:d,slots:l}=u;const{group:n,densityClasses:m,icon:r,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:S,trueValue:k}=me(e),v=E(),i=R(!1),f=R(!1),c=ee(),g=t(()=>e.id||`input-${v}`),F=t(()=>!e.disabled&&!e.readonly);n==null||n.onForceUpdate(()=>{c.value&&(c.value.checked=a.value)});function x(s){F.value&&(i.value=!0,se(s.target,":focus-visible")!==!1&&(f.value=!0))}function A(){i.value=!1,f.value=!1}function O(s){s.stopPropagation()}function q(s){if(!F.value){c.value&&(c.value.checked=a.value);return}e.readonly&&n&&ce(()=>n.forceUpdate()),a.value=s.target.checked}return H(()=>{var w,G;const s=l.label?l.label({label:e.label,props:{for:g.value}}):e.label,[J,K]=le(d),P=y("input",N({ref:c,checked:a.value,disabled:!!e.disabled,id:g.value,onBlur:A,onFocus:x,onInput:q,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:k.value,name:e.name,"aria-checked":e.type==="checkbox"?a.value:void 0},K),null);return y("div",N({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":i.value,"v-selection-control--focus-visible":f.value,"v-selection-control--inline":e.inline},m.value,e.class]},J,{style:e.style}),[y("div",{class:h(["v-selection-control__wrapper",o.value]),style:M(b.value)},[(w=l.default)==null?void 0:w.call(l,{backgroundColorClasses:V,backgroundColorStyles:S}),ae(y("div",{class:h(["v-selection-control__input"])},[((G=l.input)==null?void 0:G.call(l,{model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:S,inputNode:P,icon:r.value,props:{onFocus:x,onBlur:A,id:g.value}}))??y(te,null,[r.value&&U(ne,{key:"icon",icon:r.value},null),P])]),[[D,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),s&&U(de,{for:g.value,onClick:O},{default:()=>[s]})])}),{isFocused:i,input:c}}});export{Ve as V,be as a,L as b,fe as m};
|