import{u as be,a as ke,m as Ce}from"./VSelect-CUQPxUh6.js";import{ad as xe,ae as we,bi as Se,r as P,ap as S,bb as Fe,al as O,aI as Ie,z as b,by as Ae,M as R,af as De,E as $,i as d,F as U,G as j,bz as Pe,D as w,bA as Re,ab as Me,bB as Te,aC as Ee,k as _e,av as Le,bm as Be,aw as Ke,bC as Ne,bD as J,bf as Oe,at as Q,bM as X,aF as Ue}from"./index-i_vOnwSy.js";import{u as ze,h as qe,m as He}from"./filter-C0skVvoZ.js";import{u as Ge,V as We,a as Y}from"./VList-Don7iQCn.js";import{V as $e}from"./VMenu-LYH-fW5p.js";import{V as je}from"./VChip-DSoKE1dz.js";const Je=we({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:Boolean,search:String,...He({filterKeys:["title"]}),...Ce(),...Ke(Ne({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Be({transition:!1})},"VAutocomplete"),tl=xe()({name:"VAutocomplete",props:Je(),emits:{"update:focused":l=>!0,"update:search":l=>!0,"update:modelValue":l=>!0,"update:menu":l=>!0},setup(l,Z){let{slots:n}=Z;const{t:M}=Se(),p=P(),V=S(!1),k=S(!0),T=S(!1),z=P(),E=P(),i=S(-1),{items:q,transformIn:ee,transformOut:le}=Ge(l),{textColorClasses:te,textColorStyles:ae}=Fe(()=>{var e;return(e=p.value)==null?void 0:e.color}),m=O(l,"search",""),u=O(l,"modelValue",[],e=>ee(e===null?[null]:Ie(e)),e=>{const t=le(e);return l.multiple?t:t[0]??null}),ue=b(()=>typeof l.counterValue=="function"?l.counterValue(u.value):typeof l.counterValue=="number"?l.counterValue:u.value.length),F=Ae(l),{filteredItems:_,getMatches:ne}=ze(l,q,()=>k.value?"":m.value),y=b(()=>l.hideSelected?_.value.filter(e=>!u.value.some(t=>t.value===e.value)):_.value),I=b(()=>!!(l.chips||n.chip)),x=b(()=>I.value||!!n.selection),oe=b(()=>u.value.map(e=>e.props.value)),L=b(()=>{var t;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&m.value===((t=y.value[0])==null?void 0:t.title))&&y.value.length>0&&!k.value&&!T.value}),A=b(()=>l.hideNoData&&!y.value.length||F.isReadonly.value||F.isDisabled.value),B=O(l,"menu"),c=b({get:()=>B.value,set:e=>{var t;B.value&&!e&&((t=z.value)!=null&&t.ΨopenChildren.size)||e&&A.value||(B.value=e)}}),H=b(()=>c.value?l.closeText:l.openText),K=P(),ie=be(K,p);function se(e){l.openOnClear&&(c.value=!0),m.value=""}function re(){A.value||(c.value=!0)}function ce(e){A.value||(V.value&&(e.preventDefault(),e.stopPropagation()),c.value=!c.value)}function ve(e){var t;e.key!==" "&&J(e)&&((t=p.value)==null||t.focus())}function de(e){var a,r,h,g,o;if(F.isReadonly.value)return;const t=(a=p.value)==null?void 0:a.selectionStart,s=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),L.value&&["Enter","Tab"].includes(e.key)&&!u.value.some(f=>{let{value:v}=f;return v===y.value[0].value})&&C(y.value[0]),e.key==="ArrowDown"&&L.value&&((r=K.value)==null||r.focus("next")),["Backspace","Delete"].includes(e.key)){if(!l.multiple&&x.value&&u.value.length>0&&!m.value)return C(u.value[0],!1);if(~i.value){e.preventDefault();const f=i.value;C(u.value[i.value],!1),i.value=f>=s-1?s-2:f}else e.key==="Backspace"&&!m.value&&(i.value=s-1);return}if(l.multiple)if(e.key==="ArrowLeft"){if(i.value<0&&t&&t>0)return;const f=i.value>-1?i.value-1:s-1;if(u.value[f])i.value=f;else{const v=((h=m.value)==null?void 0:h.length)??null;i.value=-1,(g=p.value)==null||g.setSelectionRange(v,v)}}else if(e.key==="ArrowRight"){if(i.value<0)return;const f=i.value+1;u.value[f]?i.value=f:(i.value=-1,(o=p.value)==null||o.setSelectionRange(0,0))}else~i.value&&J(e)&&(i.value=-1)}function fe(e){if(X(p.value,":autofill")||X(p.value,":-webkit-autofill")){const t=q.value.find(s=>s.title===e.target.value);t&&C(t)}}function me(){var e;l.eager&&((e=E.value)==null||e.calculateVisibleItems())}function he(){var e;V.value&&(k.value=!0,(e=p.value)==null||e.focus())}function pe(e){V.value=!0,setTimeout(()=>{T.value=!0})}function ge(e){T.value=!1}function Ve(e){(e==null||e===""&&!l.multiple&&!x.value)&&(u.value=[])}const N=S(!1);function C(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!e||e.props.disabled))if(l.multiple){const s=u.value.findIndex(r=>(l.valueComparator||Oe)(r.value,e.value)),a=t??!~s;if(~s){const r=a?[...u.value,e]:[...u.value];r.splice(s,1),u.value=r}else a&&(u.value=[...u.value,e]);l.clearOnSelect&&(m.value="")}else{const s=t!==!1;u.value=s?[e]:[],m.value=s&&!x.value?e.title:"",Q(()=>{c.value=!1,k.value=!0})}}return R(V,(e,t)=>{var s;e!==t&&(e?(N.value=!0,m.value=l.multiple||x.value?"":String(((s=u.value.at(-1))==null?void 0:s.props.title)??""),k.value=!0,Q(()=>N.value=!1)):(!l.multiple&&m.value==null&&(u.value=[]),c.value=!1,(l.multiple||x.value)&&(m.value=""),i.value=-1))}),R(m,e=>{!V.value||N.value||(e&&(c.value=!0),k.value=!e)}),R(c,()=>{if(!l.hideSelected&&c.value&&u.value.length){const e=y.value.findIndex(t=>u.value.some(s=>t.value===s.value));Ue&&window.requestAnimationFrame(()=>{var t;e>=0&&((t=E.value)==null||t.scrollToIndex(e))})}}),R(()=>l.items,(e,t)=>{c.value||V.value&&!t.length&&e.length&&(c.value=!0)}),De(()=>{const e=!!(!l.hideNoData||y.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),t=u.value.length>0,s=$.filterProps(l);return d($,w({ref:p},s,{modelValue:m.value,"onUpdate:modelValue":[a=>m.value=a,Ve],focused:V.value,"onUpdate:focused":a=>V.value=a,validationValue:u.externalValue,counterValue:ue.value,dirty:t,onChange:fe,class:["v-autocomplete",`v-autocomplete--${l.multiple?"multiple":"single"}`,{"v-autocomplete--active-menu":c.value,"v-autocomplete--chips":!!l.chips,"v-autocomplete--selection-slot":!!x.value,"v-autocomplete--selecting-index":i.value>-1},l.class],style:l.style,readonly:F.isReadonly.value,placeholder:t?void 0:l.placeholder,"onClick:clear":se,"onMousedown:control":re,onKeydown:de}),{...n,default:()=>d(U,null,[d($e,w({ref:z,modelValue:c.value,"onUpdate:modelValue":a=>c.value=a,activator:"parent",contentClass:"v-autocomplete__content",disabled:A.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:l.transition,onAfterEnter:me,onAfterLeave:he},l.menuProps),{default:()=>[e&&d(We,w({ref:K,selected:oe.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:ve,onFocusin:pe,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:l.itemColor??l.color},ie,l.listProps),{default:()=>{var a,r,h;return[(a=n["prepend-item"])==null?void 0:a.call(n),!y.value.length&&!l.hideNoData&&(((r=n["no-data"])==null?void 0:r.call(n))??d(Y,{key:"no-data",title:M(l.noDataText)},null)),d(ke,{ref:E,renderless:!0,items:y.value,itemKey:"value"},{default:g=>{var W;let{item:o,index:f,itemRef:v}=g;const G=w(o.props,{ref:v,key:o.value,active:L.value&&f===0?!0:void 0,onClick:()=>C(o,null)});return((W=n.item)==null?void 0:W.call(n,{item:o,index:f,props:G}))??d(Y,w(G,{role:"option"}),{prepend:D=>{let{isSelected:ye}=D;return d(U,null,[l.multiple&&!l.hideSelected?d(Re,{key:o.value,modelValue:ye,ripple:!1,tabindex:"-1"},null):void 0,o.props.prependAvatar&&d(Me,{image:o.props.prependAvatar},null),o.props.prependIcon&&d(j,{icon:o.props.prependIcon},null)])},title:()=>{var D;return k.value?o.title:qe("v-autocomplete",o.title,(D=ne(o))==null?void 0:D.title)}})}}),(h=n["append-item"])==null?void 0:h.call(n)]}})]}),u.value.map((a,r)=>{function h(v){v.stopPropagation(),v.preventDefault(),C(a,!1)}const g={"onClick:close":h,onKeydown(v){v.key!=="Enter"&&v.key!==" "||(v.preventDefault(),v.stopPropagation(),h(v))},onMousedown(v){v.preventDefault(),v.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},o=I.value?!!n.chip:!!n.selection,f=o?Te(I.value?n.chip({item:a,index:r,props:g}):n.selection({item:a,index:r})):void 0;if(!(o&&!f))return d("div",{key:a.value,class:["v-autocomplete__selection",r===i.value&&["v-autocomplete__selection--selected",te.value]],style:r===i.value?ae.value:{}},[I.value?n.chip?d(Ee,{key:"chip-defaults",defaults:{VChip:{closable:l.closableChips,size:"small",text:a.title}}},{default:()=>[f]}):d(je,w({key:"chip",closable:l.closableChips,size:"small",text:a.title,disabled:a.props.disabled},g),null):f??d("span",{class:"v-autocomplete__selection-text"},[a.title,l.multiple&&r<u.value.length-1&&d("span",{class:"v-autocomplete__selection-comma"},[_e(",")])])])})]),"append-inner":function(){var g,o;for(var a=arguments.length,r=new Array(a),h=0;h<a;h++)r[h]=arguments[h];return d(U,null,[(g=n["append-inner"])==null?void 0:g.call(n,...r),l.menuIcon?d(j,{class:"v-autocomplete__menu-icon",color:(o=p.value)==null?void 0:o.fieldIconColor,icon:l.menuIcon,onMousedown:ce,onClick:Pe,"aria-label":M(H.value),title:M(H.value),tabindex:"-1"},null):void 0])}})}),Le({isFocused:V,isPristine:k,menu:c,search:m,filteredItems:_,select:C},p)}});export{tl as V};