import{p as S,I as h,al as J,m as w,a as L,k as M,n as x,u as I,ai as _,o,aA as q,aB as N,aC as z,B as i,ad as B,D as f,aD as K,as as G,O as Q,aj as W,aE as X,aF as Y,F as Z,J as g,aG as p,aH as ee,t as le,ay as U,A as ae,aI as T,aJ as te}from"./index.69b87e29.js";const $=Symbol.for("vuetify:selection-control-group"),O=S({color:String,disabled:Boolean,defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:h,trueIcon:h,ripple:{type:Boolean,default:!0},multiple:{type:Boolean,default:null},name:String,readonly:Boolean,modelValue:null,type:String,valueComparator:{type:Function,default:J},...w(),...L(),...M()},"SelectionControlGroup"),ne=S({...O({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");x()({name:"VSelectionControlGroup",props:ne(),emits:{"update:modelValue":e=>!0},setup(e,u){let{slots:c}=u;const l=I(e,"modelValue"),a=_(),d=o(()=>e.id||`v-selection-control-group-${a}`),r=o(()=>e.name||d.value),t=new Set;return q($,{modelValue:l,forceUpdate:()=>{t.forEach(n=>n())},onForceUpdate:n=>{t.add(n),N(()=>{t.delete(n)})}}),z({[e.defaultsTarget]:{color:i(e,"color"),disabled:i(e,"disabled"),density:i(e,"density"),error:i(e,"error"),inline:i(e,"inline"),modelValue:l,multiple:o(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:r,falseIcon:i(e,"falseIcon"),trueIcon:i(e,"trueIcon"),readonly:i(e,"readonly"),ripple:i(e,"ripple"),type:i(e,"type"),valueComparator:i(e,"valueComparator")}}),B(()=>{var n;return f("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},[(n=c.default)==null?void 0:n.call(c)])}),{}}});const R=S({label:String,trueValue:null,falseValue:null,value:null,...w(),...O()},"VSelectionControl");function oe(e){const u=ee($,void 0),{densityClasses:c}=le(e),l=I(e,"modelValue"),a=o(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),d=o(()=>e.falseValue!==void 0?e.falseValue:!1),r=o(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),t=o({get(){const m=u?u.modelValue.value:l.value;return r.value?m.some(s=>e.valueComparator(s,a.value)):e.valueComparator(m,a.value)},set(m){if(e.readonly)return;const s=m?a.value:d.value;let v=s;r.value&&(v=m?[...U(l.value),s]:U(l.value).filter(V=>!e.valueComparator(V,a.value))),u?u.modelValue.value=v:l.value=v}}),{textColorClasses:n,textColorStyles:C}=ae(o(()=>t.value&&!e.error&&!e.disabled?e.color:void 0)),k=o(()=>t.value?e.trueIcon:e.falseIcon);return{group:u,densityClasses:c,trueValue:a,falseValue:d,model:t,textColorClasses:n,textColorStyles:C,icon:k}}const ue=x()({name:"VSelectionControl",directives:{Ripple:K},inheritAttrs:!1,props:R(),emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:c,slots:l}=u;const{group:a,densityClasses:d,icon:r,model:t,textColorClasses:n,textColorStyles:C,trueValue:k}=oe(e),m=_(),s=o(()=>e.id||`input-${m}`),v=G(!1),V=G(!1),b=Q();a==null||a.onForceUpdate(()=>{b.value&&(b.value.checked=t.value)});function A(y){v.value=!0,(!T||T&&y.target.matches(":focus-visible"))&&(V.value=!0)}function F(){v.value=!1,V.value=!1}function E(y){e.readonly&&a&&te(()=>a.forceUpdate()),t.value=y.target.checked}return B(()=>{var P,D;const y=l.label?l.label({label:e.label,props:{for:s.value}}):e.label,[j,H]=W(c);return f("div",g({class:["v-selection-control",{"v-selection-control--dirty":t.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":v.value,"v-selection-control--focus-visible":V.value,"v-selection-control--inline":e.inline},d.value,e.class]},j,{style:e.style}),[f("div",{class:["v-selection-control__wrapper",n.value],style:C.value},[(P=l.default)==null?void 0:P.call(l),X(f("div",{class:["v-selection-control__input"]},[r.value&&f(Z,{key:"icon",icon:r.value},null),f("input",g({ref:b,checked:t.value,disabled:e.disabled,id:s.value,onBlur:F,onFocus:A,onInput:E,"aria-disabled":e.readonly,type:e.type,value:k.value,name:e.name,"aria-checked":e.type==="checkbox"?t.value:void 0},H),null),(D=l.input)==null?void 0:D.call(l,{model:t,textColorClasses:n,textColorStyles:C,props:{onFocus:A,onBlur:F,id:s.value}})]),[[Y("ripple"),e.ripple&&[!e.disabled&&!e.readonly,null,["center","circle"]]]])]),y&&f(p,{for:s.value,clickable:!0},{default:()=>[y]})])}),{isFocused:v,input:b}}}),ie=S({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...R({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),re=x()({name:"VCheckboxBtn",props:ie(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,u){let{slots:c}=u;const l=I(e,"indeterminate"),a=I(e,"modelValue");function d(n){l.value&&(l.value=!1)}const r=o(()=>l.value?e.indeterminateIcon:e.falseIcon),t=o(()=>l.value?e.indeterminateIcon:e.trueIcon);return B(()=>f(ue,g(e,{modelValue:a.value,"onUpdate:modelValue":[n=>a.value=n,d],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:r.value,trueIcon:t.value,"aria-checked":l.value?"mixed":void 0}),c)),{}}});export{re as V,ie as m};