import{f as Ue,g as je,V as ie,h as qe}from"./VTextField-ClrBWXaA.js";import{u as Ge,a as He,b as Je,c as We,h as Qe,d as Xe,e as Ye,m as Ze}from"./VSelect-CAHRYPW1.js";import{aD as el,G as ll,aE as B,f as se,p as al,q as re,i as tl,a3 as nl,M as ul,N as ol,D as il}from"./index-Bt6o_4oU.js";import{f as sl,an as rl,n as ce,w as cl,o as ve,E as vl,u as dl,aI as fl,aJ as ml,aK as de,aL as hl,p as bl,a5 as gl,aM as pl}from"./vendor-vuetify-B0GHMr1h.js";import{V as yl,a as xl}from"./VSheet-Db7BS5MI.js";import{V as Vl}from"./VCheckboxBtn-OBAFJm_G.js";import{V as fe}from"./VChip-DaYeKNE7.js";import{s as P,o as N,j as f,k as F,F as W,m as S,N as kl,n as Cl,a1 as wl,e as w,I as _,b as A,t as Il}from"./vendor-vue-PFj_oO9L.js";const Dl=bl({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Ze({filterKeys:["title"]}),...Ye({hideNoData:!0,returnObject:!0}),...gl(qe({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VCombobox"),Bl=sl()({name:"VCombobox",props:Dl(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,me){var ae;let{emit:he,slots:t}=me;const{t:be}=rl(),g=A(),p=P(!1),I=P(!0),q=P(!1),G=A(),L=A(),i=P(-1);let K=!1;const{items:Q,transformIn:ge,transformOut:pe}=el(l),{textColorClasses:ye,textColorStyles:xe}=ll(()=>{var e;return(e=g.value)==null?void 0:e.color}),{InputIcon:Ve}=Ue(l),u=ce(l,"modelValue",[],e=>ge(cl(e)),e=>{const a=pe(e);return l.multiple?a:a[0]??null}),R=je(l),X=Il(()=>l.closableChips&&!R.isReadonly.value&&!R.isDisabled.value),O=w(()=>!!(l.chips||t.chip)),D=w(()=>O.value||!!t.selection),y=P(!l.multiple&&!D.value?((ae=u.value[0])==null?void 0:ae.title)??"":""),M=P(null),d=w({get:()=>y.value,set:async e=>{var a;if(y.value=e??"",e===null||e===""&&!l.multiple&&!D.value?u.value=[]:!l.multiple&&!D.value&&(u.value=[B(l,e)],_(()=>{var n;return(n=L.value)==null?void 0:n.scrollToIndex(0)})),e&&l.multiple&&((a=l.delimiters)!=null&&a.length)){const n=ee(e);n.length>1&&(le(n),y.value="")}e||(i.value=-1),I.value=!e}}),ke=w(()=>typeof l.counterValue=="function"?l.counterValue(u.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?u.value.length:d.value.length),{filteredItems:z,getMatches:Ce}=Ge(l,Q,()=>M.value??(l.alwaysFilter||!I.value?d.value:"")),x=w(()=>l.hideSelected&&M.value===null?z.value.filter(e=>!u.value.some(a=>a.value===e.value)):z.value),$=w(()=>l.hideNoData&&!x.value.length||R.isReadonly.value||R.isDisabled.value),H=ce(l,"menu"),c=w({get:()=>H.value,set:e=>{var a;H.value&&!e&&((a=G.value)!=null&&a.ΨopenChildren.size)||e&&$.value||(H.value=e)}}),{menuId:we,ariaExpanded:Ie,ariaControls:De}=He(l,c);N(y,e=>{K?_(()=>K=!1):p.value&&!c.value&&(c.value=!0),he("update:search",e)}),N(u,e=>{var a;!l.multiple&&!D.value&&(y.value=((a=e[0])==null?void 0:a.title)??"")});const Se=w(()=>u.value.map(e=>e.value)),T=w(()=>x.value.find(e=>e.type==="item"&&!e.props.disabled)),J=w(()=>{var a;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&d.value===((a=T.value)==null?void 0:a.title))&&x.value.length>0&&!I.value&&!q.value}),E=A(),Y=A(),Z=A(),Fe=Xe(E,g),{onTabKeydown:Re}=Je({groups:[{type:"element",contentRef:Y},{type:"list",contentRef:E,displayItemsCount:()=>x.value.length},{type:"element",contentRef:Z}],onLeave:()=>{var e;c.value=!1,(e=g.value)==null||e.focus()}});function Pe(e){K=!0,_(()=>K=!1),l.openOnClear&&(c.value=!0)}function Ae(){$.value||(c.value=!0)}function Me(e){$.value||(p.value&&(e.preventDefault(),e.stopPropagation()),c.value=!c.value)}function Te(e){var a,n;e.key==="Tab"&&Re(e),(a=E.value)!=null&&a.$el.contains(e.target)&&(de(e)||e.key==="Backspace")&&((n=g.value)==null||n.focus())}function Ee(e){var v,m,h,o;if(hl(e)||R.isReadonly.value)return;const a=(v=g.value)==null?void 0:v.selectionStart,n=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(e.key)&&e.preventDefault(),["Enter","ArrowDown"].includes(e.key)&&(c.value=!0),["Escape"].includes(e.key)&&(c.value=!1),J.value&&["Enter","Tab"].includes(e.key)&&T.value&&!u.value.some(s=>{let{value:k}=s;return k===T.value.value})&&V(T.value),e.key==="ArrowDown"&&J.value&&((m=E.value)==null||m.focus("next")),e.key==="Enter"&&d.value&&(V(B(l,d.value),!0,!0),D.value&&(y.value="")),["Backspace","Delete"].includes(e.key)){if(!l.multiple&&D.value&&u.value.length>0&&!d.value)return V(u.value[0],!1);if(~i.value){e.preventDefault();const s=i.value;V(u.value[i.value],!1),i.value=s>=n-1?n-2:s}else e.key==="Backspace"&&!d.value&&(i.value=n-1);return}if(l.multiple)if(e.key==="ArrowLeft"){if(i.value<0&&a&&a>0)return;const s=i.value>-1?i.value-1:n-1;u.value[s]?i.value=s:(i.value=-1,(h=g.value)==null||h.setSelectionRange(d.value.length,d.value.length))}else if(e.key==="ArrowRight"){if(i.value<0)return;const s=i.value+1;u.value[s]?i.value=s:(i.value=-1,(o=g.value)==null||o.setSelectionRange(0,0))}else~i.value&&de(e)&&(i.value=-1)}function Be(e){var v;const a=((v=e==null?void 0:e.clipboardData)==null?void 0:v.getData("Text"))??"",n=ee(a);n.length>1&&l.multiple&&(e.preventDefault(),le(n))}function Ne(){var e;l.eager&&((e=L.value)==null||e.calculateVisibleItems())}function _e(){var e;p.value&&((e=g.value)==null||e.focus()),I.value=!0,M.value=null}function V(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(!(!e||e.props.disabled))if(l.multiple){const v=u.value.findIndex(h=>(l.valueComparator||ve)(h.value,e.value)),m=a??!~v;if(~v){const h=m?[...u.value,e]:[...u.value];h.splice(v,1),u.value=h}else m&&(u.value=[...u.value,e]);l.clearOnSelect&&(d.value="")}else{const v=a!==!1;u.value=v?[e]:[],(!I.value||l.alwaysFilter)&&y.value&&(M.value=y.value),y.value=v&&!D.value?e.title:"",_(()=>{c.value=n,I.value=!0})}}function ee(e){const n=[` `,...l.delimiters??[]].map(pl).join("|");return e.split(new RegExp(`(?:${n})+`))}async function le(e){for(let a of e)a=a.trim(),a&&(V(B(l,a)),await _())}function Le(e){p.value=!0,setTimeout(()=>{q.value=!0})}function Ke(e){q.value=!1}function Oe(e){var n;const a=(n=G.value)==null?void 0:n.contentEl;a!=null&&a.contains(e.relatedTarget)&&(p.value=!0)}return N(p,(e,a)=>{if(!(e||e===a)&&(i.value=-1,c.value=!1,d.value)){if(l.multiple){V(B(l,d.value));return}if(!D.value)return;u.value.some(n=>{let{title:v}=n;return v===d.value})?y.value="":V(B(l,d.value))}}),N(c,e=>{if(!l.hideSelected&&e&&u.value.length&&I.value){const a=x.value.findIndex(n=>u.value.some(v=>(l.valueComparator||ve)(v.value,n.value)));vl&&window.requestAnimationFrame(()=>{var n;a>=0&&((n=L.value)==null||n.scrollToIndex(a))})}e&&(M.value=null)}),N(Q,(e,a)=>{c.value||p.value&&!a.length&&e.length&&(c.value=!0)}),dl(()=>{const e=!!(!l.hideNoData||x.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),a=u.value.length>0,n=ie.filterProps(l),v={search:d,filteredItems:z.value};return f(ie,S({ref:g},n,{modelValue:d.value,"onUpdate:modelValue":m=>d.value=m,focused:p.value,"onUpdate:focused":m=>p.value=m,validationValue:u.externalValue,counterValue:ke.value,dirty:a,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!D.value,"v-combobox--selecting-index":i.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:R.isReadonly.value,placeholder:a?void 0:l.placeholder,"onClick:clear":Pe,"onMousedown:control":Ae,onKeydown:Ee,onPaste:Be,onBlur:Oe,"aria-expanded":Ie.value,"aria-controls":De.value}),{...t,default:m=>{let{id:h}=m;return F(W,null,[f(yl,S({id:we.value,ref:G,modelValue:c.value,"onUpdate:modelValue":o=>c.value=o,activator:"parent",contentClass:"v-combobox__content",disabled:$.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ne,onAfterLeave:_e},l.menuProps),{default:()=>[f(xl,{onFocusin:Le,onKeydown:Te},{default:()=>[t["menu-header"]&&F("header",{ref:Y},[t["menu-header"](v)]),e&&f(al,S({key:"combobox-list",ref:E,filterable:!0,selected:Se.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:o=>o.preventDefault(),selectable:!!x.value.length,onFocusout:Ke,tabindex:"-1","aria-live":"polite","aria-labelledby":`${h.value}-label`,"aria-multiselectable":l.multiple,color:l.itemColor??l.color},Fe,l.listProps),{default:()=>{var o,s,k;return[(o=t["prepend-item"])==null?void 0:o.call(t),!x.value.length&&!l.hideNoData&&(((s=t["no-data"])==null?void 0:s.call(t))??f(re,{key:"no-data",title:be(l.noDataText)},null)),f(We,{ref:L,renderless:!0,items:x.value,itemKey:"value"},{default:U=>{var ne,ue,oe;let{item:r,index:C,itemRef:b}=U;const te=S(r.props,{ref:b,key:r.value,active:J.value&&r===T.value?!0:void 0,onClick:()=>V(r,null),"aria-posinset":C+1,"aria-setsize":x.value.length});return r.type==="divider"?((ne=t.divider)==null?void 0:ne.call(t,{props:r.raw,index:C}))??f(tl,S(r.props,{key:`divider-${C}`}),null):r.type==="subheader"?((ue=t.subheader)==null?void 0:ue.call(t,{props:r.raw,index:C}))??f(nl,S(r.props,{key:`subheader-${C}`}),null):((oe=t.item)==null?void 0:oe.call(t,{item:r,index:C,props:te}))??f(re,S(te,{role:"option"}),{prepend:j=>{let{isSelected:ze}=j;return F(W,null,[l.multiple&&!l.hideSelected?f(Vl,{key:r.value,modelValue:ze,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:$e=>$e.preventDefault()},null):void 0,r.props.prependAvatar&&f(ul,{image:r.props.prependAvatar},null),r.props.prependIcon&&f(se,{icon:r.props.prependIcon},null)])},title:()=>{var j;return I.value?r.title:Qe("v-combobox",r.title,(j=Ce(r))==null?void 0:j.title)}})}}),(k=t["append-item"])==null?void 0:k.call(t)]}}),t["menu-footer"]&&F("footer",{ref:Z},[t["menu-footer"](v)])]})]}),u.value.map((o,s)=>{function k(b){b.stopPropagation(),b.preventDefault(),V(o,!1)}const U=S(fe.filterProps(o.props),{"onClick:close":k,onKeydown(b){b.key!=="Enter"&&b.key!==" "||(b.preventDefault(),b.stopPropagation(),k(b))},onMousedown(b){b.preventDefault(),b.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),r=O.value?!!t.chip:!!t.selection,C=r?ml(O.value?t.chip({item:o,index:s,props:U}):t.selection({item:o,index:s})):void 0;if(!(r&&!C))return F("div",{key:o.value,class:Cl(["v-combobox__selection",s===i.value&&["v-combobox__selection--selected",ye.value]]),style:kl(s===i.value?xe.value:{})},[O.value?t.chip?f(ol,{key:"chip-defaults",defaults:{VChip:{closable:X.value,size:"small",text:o.title}}},{default:()=>[C]}):f(fe,S({key:"chip",closable:X.value,size:"small",text:o.title,disabled:o.props.disabled},U),null):C??F("span",{class:"v-combobox__selection-text"},[o.title,l.multiple&&s