1import{cl as p,cm as G,bu as y,bw as B,a0 as w,ag as E,bx as q,X as A,cn as P,q as h,br as b,b7 as V,co as k,cp as M,u as U,cq as $,cr as F}from"#entry";const R=V({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),W=V({value:null,disabled:Boolean,selectedClass:String},"group-item");function X(s,a){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;const n=p("useGroupItem");if(!n)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const t=G();y(Symbol.for(`${a.description}:id`),t);const i=B(a,null);if(!i){if(!r)return i;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${a.description}`)}const m=b(()=>s.value),v=h(()=>!!(i.disabled.value||s.disabled));function g(){i?.register({id:t,value:m,disabled:v},n)}function I(){i?.unregister(t)}g(),w(()=>I());const f=h(()=>i.isSelected(t)),x=h(()=>i.items.value[0].id===t),e=h(()=>i.items.value[i.items.value.length-1].id===t),u=h(()=>f.value&&[i.selectedClass.value,s.selectedClass]);return E(f,d=>{n.emit("group:selected",{value:d})},{flush:"sync"}),{id:t,isSelected:f,isFirst:x,isLast:e,toggle:()=>i.select(t,!f.value),select:d=>i.select(t,d),selectedClass:u,value:m,disabled:v,group:i,register:g,unregister:I}}function z(s,a){let r=!1;const n=k([]),t=q(s,"modelValue",[],e=>e===void 0?[]:C(n,e===null?[null]:F(e)),e=>{const u=N(n,e);return s.multiple?u:u[0]}),i=p("useGroup");function m(e,u){const d=e,l=Symbol.for(`${a.description}:id`),c=M(l,i?.vnode).indexOf(u);U(d.value)===void 0&&(d.value=c,d.useIndexAsValue=!0),c>-1?n.splice(c,0,d):n.push(d)}function v(e){if(r)return;g();const u=n.findIndex(d=>d.id===e);n.splice(u,1)}function g(){const e=n.find(u=>!u.disabled);e&&s.mandatory==="force"&&!t.value.length&&(t.value=[e.id])}A(()=>{g()}),w(()=>{r=!0}),P(()=>{for(let e=0;e<n.length;e++)n[e].useIndexAsValue&&(n[e].value=e)});function I(e,u){const d=n.find(l=>l.id===e);if(!(u&&d?.disabled))if(s.multiple){const l=t.value.slice(),o=l.findIndex(S=>S===e),c=~o;if(u=u??!c,c&&s.mandatory&&l.length<=1||!c&&s.max!=null&&l.length+1>s.max)return;o<0&&u?l.push(e):o>=0&&!u&&l.splice(o,1),t.value=l}else{const l=t.value.includes(e);if(s.mandatory&&l||!l&&!u)return;t.value=u??!l?[e]:[]}}function f(e){if(s.multiple,t.value.length){const u=t.value[0],d=n.findIndex(c=>c.id===u);let l=(d+e)%n.length,o=n[l];for(;o.disabled&&l!==d;)l=(l+e)%n.length,o=n[l];if(o.disabled)return;t.value=[n[l].id]}else{const u=n.find(d=>!d.disabled);u&&(t.value=[u.id])}}const x={register:m,unregister:v,selected:t,select:I,disabled:b(()=>s.disabled),prev:()=>f(n.length-1),next:()=>f(1),isSelected:e=>t.value.includes(e),selectedClass:b(()=>s.selectedClass),items:b(()=>n),getItemIndex:e=>L(n,e)};return y(a,x),x}function L(s,a){const r=C(s,[a]);return r.length?s.findIndex(n=>n.id===r[0]):-1}function C(s,a){const r=[];return a.forEach(n=>{const t=s.find(m=>$(n,m.value)),i=s[n];t?.value!==void 0?r.push(t.id):i?.useIndexAsValue&&r.push(i.id)}),r}function N(s,a){const r=[];return a.forEach(n=>{const t=s.findIndex(i=>i.id===n);if(~t){const i=s[t];r.push(i.value!==void 0?i.value:t)}}),r}export{X as a,R as b,W as m,z as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.