UNPKG

p3x-redis-ui-material

Version:

💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity

1 lines • 24.7 kB
import{A as e,C as t,Ct as n,G as r,Kt as i,R as a,Wt as o,Yt as s,_t as c,at as l,et as u,ft as d,h as f,ht as p,k as m,nt as h,rt as g,w as _,xt as v,y,yt as b,z as x}from"./i18n.store-Bbsc3Bab.js";import{$ as S,B as C,Bt as w,C as T,Ct as E,D,E as O,F as ee,G as k,I as A,Kn as j,L as M,Lt as N,M as P,N as F,O as I,P as L,Pn as R,Pt as z,Q as B,R as V,Rt as H,S as te,Sn as ne,U as re,V as U,Vt as W,W as ie,X as ae,Y as oe,Yn as se,Z as G,a as ce,c as K,d as q,dn as le,gn as J,gt as ue,hn as Y,ht as X,j as de,jt as Z,k as fe,kn as pe,l as me,lt as he,m as ge,mn as _e,nr as ve,nt as ye,p as be,pn as xe,pt as Se,q as Ce,rr as we,rt as Te,vn as Ee,vt as Q,wt as De,x as $,z as Oe}from"./_plugin-vue_export-helper-D1H5elb2.js";import{t as ke}from"./VAvatar-Bo3xpDUh.js";import{c as Ae,i as je,m as Me,o as Ne,s as Pe,t as Fe}from"./VList-v6BtQFeD.js";import{_ as Ie,a as Le}from"./transitions-Bp2Q4Qu5.js";import{n as Re,t as ze}from"./VSelectionControl-BgUL55dy.js";import{d as Be,s as Ve}from"./VInput-CpVsgFmo.js";import{n as He,r as Ue,t as We}from"./VSlideGroup-DZJHDEts.js";import{t as Ge}from"./VMenu-C1yL2dQE.js";import{a as Ke,n as qe,t as Je}from"./VTextField-Cly86AKT.js";var Ye=W({indeterminate:Boolean,indeterminateIcon:{type:Q,default:`$checkboxIndeterminate`},...Re({falseIcon:`$checkboxOff`,trueIcon:`$checkboxOn`})},`VCheckboxBtn`),Xe=z()({name:`VCheckboxBtn`,props:Ye(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(t,{slots:n}){let r=X(t,`indeterminate`),i=X(t,`modelValue`);function o(e){r.value&&=!1}let s=b(()=>r.value?t.indeterminateIcon:t.falseIcon),c=b(()=>r.value?t.indeterminateIcon:t.trueIcon);return E(()=>e(ze,a(se(ze.filterProps(t),[`modelValue`]),{modelValue:i.value,"onUpdate:modelValue":[e=>i.value=e,o],class:[`v-checkbox-btn`,t.class],style:t.style,type:`checkbox`,falseIcon:s.value,trueIcon:c.value,"aria-checked":r.value?`mixed`:void 0}),n)),{}}}),Ze=Symbol.for(`vuetify:v-chip-group`),Qe=W({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:Z},...Ue({scrollToActive:!1}),...w(),...D({selectedClass:`v-chip--selected`}),...B(),...ye(),...P({variant:`tonal`})},`VChipGroup`),$e=z()({name:`VChipGroup`,props:Qe(),emits:{"update:modelValue":e=>!0},setup(t,{slots:n}){let{themeClasses:r}=Te(t),{isSelected:i,select:o,next:s,prev:c,selected:l}=I(t,Ze);return N({VChip:{baseColor:b(()=>t.baseColor),color:b(()=>t.color),disabled:b(()=>t.disabled),filter:b(()=>t.filter),variant:b(()=>t.variant)}}),E(()=>e(We,a(We.filterProps(t),{class:[`v-chip-group`,{"v-chip-group--column":t.column},r.value,t.class],style:t.style}),{default:()=>[n.default?.({isSelected:i,select:o,next:s,prev:c,selected:l.value})]})),{}}}),et=W({activeClass:String,appendAvatar:String,appendIcon:Q,baseColor:String,closable:Boolean,closeIcon:{type:Q,default:`$delete`},closeLabel:{type:String,default:`$vuetify.close`},draggable:Boolean,filter:Boolean,filterIcon:{type:Q,default:`$complete`},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:Q,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:le(),onClickOnce:le(),...C(),...w(),...L(),...V(),...O(),...ie(),...me(),...te(),...B({tag:`span`}),...ye(),...P({variant:`tonal`})},`VChip`),tt=z()({name:`VChip`,directives:{vRipple:K},props:et(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(n,{attrs:r,emit:i,slots:o}){let{t:c}=Se(),{borderClasses:u}=U(n),{densityClasses:d}=ee(n),{elevationClasses:p}=Oe(n),{roundedClasses:m}=k(n),{sizeClasses:g}=T(n),{themeClasses:v}=Te(n),x=X(n,`modelValue`),S=fe(n,Ze,!1),C=fe(n,He,!1),w=q(n,r),E=b(()=>n.link!==!1&&w.isLink.value),D=t(()=>!n.disabled&&n.link!==!1&&(!!S||n.link||w.isClickable.value)),O=b(()=>({"aria-label":c(n.closeLabel),disabled:n.disabled,onClick(e){e.preventDefault(),e.stopPropagation(),x.value=!1,i(`click:close`,e)}}));h(x,e=>{e?(S?.register(),C?.register()):(S?.unregister(),C?.unregister())});let{colorClasses:A,colorStyles:j,variantClasses:M}=F(()=>({color:!S||S.isSelected.value?n.color??n.baseColor:n.baseColor,variant:n.variant}));function N(e){i(`click`,e),D.value&&(w.navigate.value?.(e),S?.toggle())}function P(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),N(e))}return()=>{let t=w.isLink.value?`a`:n.tag,r=!!(n.appendIcon||n.appendAvatar),i=!!(r||o.append),c=!!(o.close||n.closable),h=!!(o.filter||n.filter)&&S,b=!!(n.prependIcon||n.prependAvatar),C=!!(b||o.prepend);return x.value&&l(e(t,a(w.linkProps,{class:[`v-chip`,{"v-chip--disabled":n.disabled,"v-chip--label":n.label,"v-chip--link":D.value,"v-chip--filter":h,"v-chip--pill":n.pill,[`${n.activeClass}`]:n.activeClass&&w.isActive?.value},v.value,u.value,A.value,d.value,p.value,m.value,g.value,M.value,S?.selectedClass.value,n.class],style:[j.value,n.style],disabled:n.disabled||void 0,draggable:n.draggable,tabindex:D.value?0:void 0,onClick:N,onKeydown:D.value&&!E.value&&P}),{default:()=>[de(D.value,`v-chip`),h&&e(Le,{key:`filter`},{default:()=>[l(_(`div`,{class:`v-chip__filter`},[o.filter?e(G,{key:`filter-defaults`,disabled:!n.filterIcon,defaults:{VIcon:{icon:n.filterIcon}}},o.filter):e($,{key:`filter-icon`,icon:n.filterIcon},null)]),[[f,S.isSelected.value]])]}),C&&_(`div`,{key:`prepend`,class:`v-chip__prepend`},[o.prepend?e(G,{key:`prepend-defaults`,disabled:!b,defaults:{VAvatar:{image:n.prependAvatar,start:!0},VIcon:{icon:n.prependIcon,start:!0}}},o.prepend):_(y,null,[n.prependIcon&&e($,{key:`prepend-icon`,icon:n.prependIcon,start:!0},null),n.prependAvatar&&e(ke,{key:`prepend-avatar`,image:n.prependAvatar,start:!0},null)])]),_(`div`,{class:`v-chip__content`,"data-no-activator":``},[o.default?.({isSelected:S?.isSelected.value,selectedClass:S?.selectedClass.value,select:S?.select,toggle:S?.toggle,value:S?.value.value,disabled:n.disabled})??s(n.text)]),i&&_(`div`,{key:`append`,class:`v-chip__append`},[o.append?e(G,{key:`append-defaults`,disabled:!r,defaults:{VAvatar:{end:!0,image:n.appendAvatar},VIcon:{end:!0,icon:n.appendIcon}}},o.append):_(y,null,[n.appendIcon&&e($,{key:`append-icon`,end:!0,icon:n.appendIcon},null),n.appendAvatar&&e(ke,{key:`append-avatar`,end:!0,image:n.appendAvatar},null)])]),c&&_(`button`,a({key:`close`,class:`v-chip__close`,type:`button`,"data-testid":`close-chip`},O.value),[o.close?e(G,{key:`close-defaults`,defaults:{VIcon:{icon:n.closeIcon,size:`x-small`}}},o.close):e($,{key:`close-icon`,icon:n.closeIcon,size:`x-small`},null)])]}),[[K,D.value&&n.ripple,null]])}}}),nt=W({color:String,...C(),...w(),...oe(),...V(),...A(),...be(),...ie(),...B(),...ye()},`VSheet`),rt=z()({name:`VSheet`,props:nt(),setup(t,{slots:n}){let{themeClasses:r}=Te(t),{backgroundColorClasses:a,backgroundColorStyles:s}=Ce(()=>t.color),{borderClasses:c}=U(t),{dimensionStyles:l}=ae(t),{elevationClasses:u}=Oe(t),{locationStyles:d}=M(t),{positionClasses:f}=ge(t),{roundedClasses:p}=k(t);return E(()=>e(t.tag,{class:o([`v-sheet`,r.value,a.value,c.value,u.value,f.value,p.value,t.class]),style:i([s.value,l.value,d.value,t.style])},n)),{}}}),it=W({renderless:Boolean,...w()},`VVirtualScrollItem`),at=z()({name:`VVirtualScrollItem`,inheritAttrs:!1,props:it(),emits:{"update:height":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{resizeRef:i,contentRect:o}=S(void 0,`border`);h(()=>o.value?.height,e=>{e!=null&&n(`update:height`,e)}),E(()=>e.renderless?_(y,null,[r.default?.({itemRef:i})]):_(`div`,a({ref:i,class:[`v-virtual-scroll__item`,e.class],style:e.style},t),[r.default?.()]))}}),ot=-1,st=1,ct=100,lt=W({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},`virtual`);function ut(e,n){let r=he(),i=c(0);g(()=>{i.value=parseFloat(e.itemHeight||0)});let a=c(0),o=c(Math.ceil((parseInt(e.height)||r.height.value)/(i.value||16))||1),s=c(0),l=c(0),u=p(),f=p(),m=0,{resizeRef:_,contentRect:v}=S();g(()=>{_.value=u.value});let y=t(()=>u.value===document.documentElement?r.height.value:v.value?.height||parseInt(e.height)||0),b=t(()=>!!(u.value&&f.value&&y.value&&i.value)),C=Array.from({length:n.value.length}),w=Array.from({length:n.value.length}),T=c(0),E=-1;function D(e){return C[e]||i.value}let O=Ee(()=>{let e=performance.now();w[0]=0;let t=n.value.length;for(let e=1;e<=t;e++)w[e]=(w[e-1]||0)+D(e-1);T.value=Math.max(T.value,performance.now()-e)},T),ee=h(b,e=>{e&&(ee(),m=f.value.offsetTop,O.immediate(),B(),~E&&x(()=>{we&&window.requestAnimationFrame(()=>{H(E),E=-1})}))});d(()=>{O.clear()});function k(e,t){let n=C[e],r=i.value;i.value=r?Math.min(i.value,t):t,(n!==t||r!==i.value)&&(C[e]=t,O())}function A(e){e=Y(e,0,n.value.length);let t=Math.floor(e),r=e%1,i=t+1,a=w[t]||0;return a+((w[i]||a)-a)*r}function j(e){return dt(w,e)}let M=0,N=0,P=0;h(y,(e,t)=>{B(),e<t&&requestAnimationFrame(()=>{N=0,B()})});let F=-1;function I(){if(!u.value||!f.value)return;let e=u.value.scrollTop,t=performance.now();t-P>500?(N=Math.sign(e-M),m=f.value.offsetTop):N=e-M,M=e,P=t,window.clearTimeout(F),F=window.setTimeout(L,500),B()}function L(){!u.value||!f.value||(N=0,P=0,window.clearTimeout(F),B())}let z=-1;function B(){cancelAnimationFrame(z),z=requestAnimationFrame(V)}function V(){if(!u.value||!y.value||!i.value)return;let e=M-m,t=Math.sign(N),r=Y(j(Math.max(0,e-ct)),0,n.value.length),c=Y(j(e+y.value+ct)+1,r+1,n.value.length);if((t!==ot||r<a.value)&&(t!==st||c>o.value)){let e=A(a.value)-A(r),t=A(c)-A(o.value);Math.max(e,t)>ct?(a.value=r,o.value=c):(r<=0&&(a.value=r),c>=n.value.length&&(o.value=c))}s.value=A(a.value),l.value=A(n.value.length)-A(o.value)}function H(e){let t=A(e);!u.value||e&&!t?E=e:u.value.scrollTop=t}let te=t(()=>n.value.slice(a.value,o.value).map((t,n)=>{let r=n+a.value;return{raw:t,index:r,key:R(t,e.itemKey,r)}}));return h(n,()=>{C=Array.from({length:n.value.length}),w=Array.from({length:n.value.length}),O.immediate(),B()},{deep:1}),{calculateVisibleItems:B,containerRef:u,markerRef:f,computedItems:te,paddingTop:s,paddingBottom:l,scrollToIndex:H,handleScroll:I,handleScrollend:L,handleItemResize:k}}function dt(e,t){let n=e.length-1,r=0,i=0,a=null,o=-1;if(e[n]<t)return n;for(;r<=n;)if(i=r+n>>1,a=e[i],a>t)n=i-1;else if(a<t)o=i,r=i+1;else if(a===t)return i;else return r;return o}var ft=W({items:{type:Array,default:()=>[]},renderless:Boolean,...lt(),...w(),...oe()},`VVirtualScroll`),pt=z()({name:`VVirtualScroll`,props:ft(),setup(t,{slots:n}){let a=H(`VVirtualScroll`),{dimensionStyles:s}=ae(t),{calculateVisibleItems:c,containerRef:l,markerRef:u,handleScroll:f,handleScrollend:p,handleItemResize:m,scrollToIndex:h,paddingTop:g,paddingBottom:v,computedItems:x}=ut(t,b(()=>t.items));return ue(()=>t.renderless,()=>{function e(e=!1){let t=e?`addEventListener`:`removeEventListener`;we&&(l.value===document.documentElement?(document[t](`scroll`,f,{passive:!0}),document[t](`scrollend`,p)):(l.value?.[t](`scroll`,f,{passive:!0}),l.value?.[t](`scrollend`,p)))}r(()=>{l.value=De(a.vnode.el,!0),e(!0)}),d(e)}),E(()=>{let r=x.value.map(r=>e(at,{key:r.key,renderless:t.renderless,"onUpdate:height":e=>m(r.index,e)},{default:e=>n.default?.({item:r.raw,index:r.index,...e})}));return t.renderless?_(y,null,[_(`div`,{ref:u,class:`v-virtual-scroll__spacer`,style:{paddingTop:J(g.value)}},null),r,_(`div`,{class:`v-virtual-scroll__spacer`,style:{paddingBottom:J(v.value)}},null)]):_(`div`,{ref:l,class:o([`v-virtual-scroll`,t.class]),onScrollPassive:f,onScrollend:p,style:i([s.value,t.style])},[_(`div`,{ref:u,class:`v-virtual-scroll__container`,style:{paddingTop:J(g.value),paddingBottom:J(v.value)}},[r])])}),{calculateVisibleItems:c,scrollToIndex:h}}});function mt(e,t){let n=c(!1),r;function i(e){cancelAnimationFrame(r),n.value=!0,r=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{n.value=!1})})}async function a(){await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>{if(n.value){let t=h(n,()=>{t(),e()})}else e()})}async function o(n){if(n.key===`Tab`&&t.value?.focus(),![`PageDown`,`PageUp`,`Home`,`End`].includes(n.key))return;let r=e.value?.$el;if(!r)return;(n.key===`Home`||n.key===`End`)&&r.scrollTo({top:n.key===`Home`?0:r.scrollHeight,behavior:`smooth`}),await a();let i=r.querySelectorAll(`:scope > :not(.v-virtual-scroll__spacer)`);if(n.key===`PageDown`||n.key===`Home`){let e=r.getBoundingClientRect().top;for(let t of i)if(t.getBoundingClientRect().top>=e){t.focus();break}}else{let e=r.getBoundingClientRect().bottom;for(let t of[...i].reverse())if(t.getBoundingClientRect().bottom<=e){t.focus();break}}}return{onScrollPassive:i,onKeydown:o}}function ht({groups:e,onLeave:t}){function n(e){return e.type===`list`?e.contentRef.value?.$el:e.contentRef.value}function r(e){let t=n(e);return t?pe(t):[]}function i(n){let i=n.target,o=n.shiftKey?`backward`:`forward`,s=e.map(r),c=e.map(e=>e.type===`list`?e.contentRef.value?.$el:e.contentRef.value).findIndex(e=>e?.contains(i)),l=a(s,c,o,i);if(l===null){let r=e[c],i=s[c];(r.type===`list`||(o===`forward`?i.at(-1)===n.target:i.at(0)===n.target))&&t()}else{n.preventDefault(),n.stopImmediatePropagation();let t=e[l];if(t.type===`list`&&v(t.displayItemsCount)>0)t.contentRef.value?.focus(0);else{let e=o===`forward`;s[l].at(e?0:-1).focus()}}}function a(t,n,r,i){let a=e[n],o=t[n];if(a.type!==`list`&&!(r===`forward`?o.at(-1)===i:o.at(0)===i))return null;let s=r===`forward`?1:-1;for(let r=n+s;r>=0&&r<e.length;r+=s){let n=e[r];if(t[r].length>0||n.type===`list`&&v(n.displayItemsCount)>0)return r}return null}return{onTabKeydown:i}}var gt=(e,t,n)=>{if(e==null||t==null)return-1;if(!t.length)return 0;e=e.toString().toLocaleLowerCase(),t=t.toString().toLocaleLowerCase();let r=[],i=e.indexOf(t);for(;~i;)r.push([i,i+t.length]),i=e.indexOf(t,i+t.length);return r.length?r:-1};function _t(e,t){if(!(e==null||typeof e==`boolean`||e===-1))return typeof e==`number`?[[e,e+t.length]]:Array.isArray(e[0])?e:[e]}var vt=W({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:`intersection`},noFilter:Boolean},`filter`);function yt(e,t,n){let r=[],i=n?.default??gt,a=n?.filterKeys?ve(n.filterKeys):!1,o=Object.keys(n?.customKeyFilter??{}).length;if(!e?.length)return r;let s=[];loop:for(let c=0;c<e.length;c++){let[l,u=l]=ve(e[c]),d={},f={},p=-1;if((t||o>0)&&!n?.noFilter){let e=!1;if(typeof l==`object`){if(l.type===`divider`||l.type===`subheader`){(s.at(-1)?.type!==`divider`||l.type!==`subheader`)&&(s=[]),s.push({index:c,matches:{},type:l.type});continue}let r=a||Object.keys(u);e=r.length===o;for(let e of r){let r=R(u,e),a=n?.customKeyFilter?.[e];if(p=a?a(r,t,l):i(r,t,l),p!==-1&&p!==!1)a?d[e]=_t(p,t):f[e]=_t(p,t);else if(n?.filterMode===`every`)continue loop}}else p=i(l,t,l),p!==-1&&p!==!1&&(f.title=_t(p,t));let r=Object.keys(f).length,m=Object.keys(d).length;if(!r&&!m||n?.filterMode===`union`&&m!==o&&!r||n?.filterMode===`intersection`&&(m!==o||!r&&o>0&&!e))continue}s.length&&(r.push(...s),s=[]),r.push({index:c,matches:{...f,...d}})}return r}function bt(e,r,i,a){let o=c([]),s=c(new Map),l=t(()=>a?.transform?n(r).map(e=>[e,a.transform(e)]):n(r));g(()=>{let t=typeof i==`function`?i():n(i),c=typeof t!=`string`&&typeof t!=`number`?``:String(t),u=yt(l.value,c,{customKeyFilter:{...e.customKeyFilter,...n(a?.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),d=n(r),f=[],p=new Map;u.forEach(({index:e,matches:t})=>{let n=d[e];f.push(n),p.set(n.value,t)}),o.value=f,s.value=p});function u(e){return s.value.get(e.value)}return{filteredItems:o,filteredMatches:s,getMatches:u}}function xt(e,t,n){return n==null||!n.length?t:n.map((r,i)=>{let a=i===0?0:n[i-1][1],s=[_(`span`,{class:o(`${e}__unmask`)},[t.slice(a,r[0])]),_(`span`,{class:o(`${e}__mask`)},[t.slice(r[0],r[1])])];return i===n.length-1&&s.push(_(`span`,{class:o(`${e}__unmask`)},[t.slice(r[1])])),_(y,null,[s])})}var St=W({closeText:{type:String,default:`$vuetify.close`},openText:{type:String,default:`$vuetify.open`}},`autocomplete`);function Ct(e,n){let r=u(),i=t(()=>`menu-${r}`);return{menuId:i,ariaExpanded:b(()=>v(n)),ariaControls:b(()=>i.value)}}var wt=W({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuElevation:[Number,String],menuIcon:{type:Q,default:`$dropdown`},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:`$vuetify.noDataText`},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...St(),...je({itemChildren:!1})},`Select`),Tt=W({search:String,...vt({filterKeys:[`title`]}),...wt(),...se(qe({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`]),...re({transition:{component:Ie}})},`VSelect`),Et=z()({name:`VSelect`,props:Tt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0},setup(n,{slots:r}){let{t:i}=Se(),o=p(),s=p(),l=p(),u=p(),d=p(),{items:f,transformIn:g,transformOut:v}=Ne(n),S=X(n,`search`,``),{filteredItems:C,getMatches:w}=bt(n,f,()=>S.value),T=X(n,`modelValue`,[],e=>g(e===null?[null]:ve(e)),e=>{let t=v(e);return n.multiple?t:t[0]??null}),D=t(()=>typeof n.counterValue==`function`?n.counterValue(T.value):typeof n.counterValue==`number`?n.counterValue:T.value.length),O=Ve(n),ee=Ke(n),k=t(()=>T.value.map(e=>e.value)),A=c(!1),M=b(()=>n.closableChips&&!O.isReadonly.value&&!O.isDisabled.value),{InputIcon:N}=Be(n),P=``,F=0,I,L=t(()=>{let e=S.value?C.value:f.value;return n.hideSelected?e.filter(e=>!T.value.some(t=>(n.valueComparator||Z)(t,e))):e}),R=t(()=>n.hideNoData&&!L.value.length||O.isReadonly.value||O.isDisabled.value),z=X(n,`menu`),B=t({get:()=>z.value,set:e=>{z.value&&!e&&s.value?.ΨopenChildren.size||e&&R.value||(z.value=e)}}),{menuId:V,ariaExpanded:H,ariaControls:te}=Ct(n,B),re=t(()=>({...n.menuProps,activatorProps:{...n.menuProps?.activatorProps||{},"aria-haspopup":`listbox`}})),U=p(),W=mt(U,o),{onTabKeydown:ie}=ht({groups:[{type:`element`,contentRef:l},{type:`list`,contentRef:U,displayItemsCount:()=>L.value.length},{type:`element`,contentRef:u}],onLeave:()=>{B.value=!1,o.value?.focus()}});function ae(e){n.openOnClear&&(B.value=!0)}function oe(){R.value||(B.value=!B.value)}function se(e){e.key===`Tab`&&ie(e),U.value?.$el.contains(e.target)&&_e(e)&&K(e)}function K(e){if(!e.key||O.isReadonly.value)return;if([`Enter`,` `,`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)&&e.preventDefault(),[`Enter`,`ArrowDown`,` `].includes(e.key)&&(B.value=!0),[`Escape`,`Tab`].includes(e.key)&&(B.value=!1),n.clearable&&e.key===`Backspace`){e.preventDefault(),T.value=[],ae(e);return}if(e.key===`Home`?U.value?.focus(`first`):e.key===`End`&&U.value?.focus(`last`),!_e(e))return;let t=performance.now();t-I>1e3&&(P=``,F=0),P+=e.key.toLowerCase(),I=t;let r=L.value;function i(){let t=a();return t||P.at(-1)===P.at(-2)&&(P=P.slice(0,-1),F++,t=a(),t)||(F=0,t=a(),t)?t:(P=e.key.toLowerCase(),a())}function a(){for(let e=F;e<r.length;e++){let t=r[e];if(t.title.toLowerCase().startsWith(P))return[t,e]}}let o=i();if(!o)return;let[s,c]=o;F=c,U.value?.focus(c),n.multiple||(T.value=[s])}function q(e,t=!0){if(!e.props.disabled)if(n.multiple){let r=T.value.findIndex(t=>(n.valueComparator||Z)(t.value,e.value)),i=t??!~r;if(~r){let t=i?[...T.value,e]:[...T.value];t.splice(r,1),T.value=t}else i&&(T.value=[...T.value,e])}else T.value=t===!1?[]:[e],x(()=>{B.value=!1})}function le(e){let t=e.target;o.value?.$el.contains(t)||(B.value=!1)}function J(){return L.value.findIndex(e=>T.value.some(t=>(n.valueComparator||Z)(t.value,e.value)))}function ue(){if(!T.value.length)return-1;let e=n.valueComparator||Z,t=0;for(let n of L.value){if(T.value.some(t=>e(t.value,n.value)))return n.props.disabled?-1:t;n.props.disabled||t++}return-1}function Y(){if(n.eager&&d.value?.calculateVisibleItems(),U.value&&A.value){let e=ue();U.value.focus(e>=0?e:`first`)}}function de(){S.value=``,A.value&&o.value?.focus()}function fe(e){A.value=!0}function pe(e){!o.value?.$el.contains(e.relatedTarget)&&!e.currentTarget.contains(e.relatedTarget)&&(A.value=!1)}function me(e){if(e==null)T.value=[];else if(j(o.value,`:autofill`)||j(o.value,`:-webkit-autofill`)){let t=f.value.find(t=>t.title===e);t&&q(t)}else o.value&&(o.value.value=``)}return h(B,()=>{if(!n.hideSelected&&B.value&&T.value.length){let e=J();we&&!n.noAutoScroll&&window.requestAnimationFrame(()=>{e>=0&&d.value?.scrollToIndex(e)})}}),h(f,(e,t)=>{B.value||A.value&&n.hideNoData&&!t.length&&e.length&&(B.value=!0)}),E(()=>{let t=!!(n.chips||r.chip),c=!!(!n.hideNoData||L.value.length||r[`prepend-item`]||r[`append-item`]||r[`no-data`]),p=T.value.length>0,h=Je.filterProps(n),g=p||!A.value&&n.label&&!n.persistentPlaceholder?void 0:n.placeholder,v={search:S,filteredItems:C.value};return e(Je,a({ref:o},h,{modelValue:T.value.map(e=>e.props.title).join(`, `),name:void 0,"onUpdate:modelValue":me,focused:A.value,"onUpdate:focused":e=>A.value=e,validationValue:T.externalValue,counterValue:D.value,dirty:p,class:[`v-select`,{"v-select--active-menu":B.value,"v-select--chips":!!n.chips,[`v-select--${n.multiple?`multiple`:`single`}`]:!0,"v-select--selected":T.value.length,"v-select--selection-slot":!!r.selection},n.class],style:n.style,inputmode:`none`,placeholder:g,"onClick:clear":ae,"onMousedown:control":oe,onBlur:le,onKeydown:K,"aria-expanded":H.value,"aria-controls":te.value}),{...r,default:({id:o})=>_(y,null,[_(`select`,{hidden:!0,multiple:n.multiple,name:ee.fieldName.value},[f.value.map(e=>_(`option`,{key:e.value,value:e.value,selected:k.value.includes(e.value)},null))]),e(Ge,a({id:V.value,ref:s,modelValue:B.value,"onUpdate:modelValue":e=>B.value=e,activator:`parent`,contentClass:`v-select__content`,disabled:R.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:n.transition,onAfterEnter:Y,onAfterLeave:de},re.value),{default:()=>[e(rt,{elevation:n.menuElevation,onFocusin:fe,onFocusout:pe,onKeydown:se},{default:()=>[r[`menu-header`]&&_(`header`,{ref:l},[r[`menu-header`](v)]),c&&e(Fe,a({key:`select-list`,ref:U,selected:k.value,selectStrategy:n.multiple?`independent`:`single-independent`,tabindex:`-1`,selectable:!!L.value.length,"aria-live":`polite`,"aria-labelledby":`${o.value}-label`,"aria-multiselectable":n.multiple,color:n.itemColor??n.color},W,n.listProps),{default:()=>[r[`prepend-item`]?.(),!L.value.length&&!n.hideNoData&&(r[`no-data`]?.()??e(Ae,{key:`no-data`,title:i(n.noDataText)},null)),e(pt,{ref:d,renderless:!0,items:L.value,itemKey:`value`},{default:({item:t,index:i,itemRef:o})=>{let s=xe(t.props),c=a(t.props,{ref:o,key:t.value,onClick:()=>q(t,null),"aria-posinset":i+1,"aria-setsize":L.value.length});return t.type===`divider`?r.divider?.({props:t.raw,index:i})??e(Me,a(t.props,{key:`divider-${i}`}),null):t.type===`subheader`?r.subheader?.({props:t.raw,index:i})??e(Pe,a(t.props,{key:`subheader-${i}`}),null):r.item?.({item:t.raw,internalItem:t,index:i,props:c})??e(Ae,a(c,{role:`option`}),{prepend:({isSelected:r})=>_(y,null,[n.multiple&&!n.hideSelected?e(Xe,{key:t.value,modelValue:r,ripple:!1,tabindex:`-1`,"aria-hidden":!0,onClick:e=>e.preventDefault()},null):void 0,s.prependAvatar&&e(ke,{image:s.prependAvatar},null),s.prependIcon&&e($,{icon:s.prependIcon},null)]),title:()=>S.value?xt(`v-select`,t.title,w(t)?.title):t.title})}}),r[`append-item`]?.()]}),r[`menu-footer`]&&_(`footer`,{ref:u},[r[`menu-footer`](v)])]})]}),T.value.map((i,o)=>{function s(e){e.stopPropagation(),e.preventDefault(),q(i,!1)}let c=a(tt.filterProps(i.props),{"onClick:close":s,onKeydown(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),s(e))},onMousedown(e){e.preventDefault(),e.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),l=t?!!r.chip:!!r.selection,u=l?ne(t?r.chip({item:i.raw,internalItem:i,index:o,props:c}):r.selection({item:i.raw,internalItem:i,index:o})):void 0;if(!(l&&!u))return _(`div`,{key:i.value,class:`v-select__selection`},[t?r.chip?e(G,{key:`chip-defaults`,defaults:{VChip:{closable:M.value,size:`small`,text:i.title}}},{default:()=>[u]}):e(tt,a({key:`chip`,closable:M.value,size:`small`,text:i.title,disabled:i.props.disabled},c),null):u??_(`span`,{class:`v-select__selection-text`},[i.title,n.multiple&&o<T.value.length-1&&_(`span`,{class:`v-select__selection-comma`},[m(`,`)])])])})]),"append-inner":(...t)=>_(y,null,[r[`append-inner`]?.(...t),n.menuIcon?e($,{class:`v-select__menu-icon`,color:o.value?.fieldIconColor,icon:n.menuIcon,"aria-hidden":!0},null):void 0,n.appendInnerIcon&&e(N,{key:`append-icon`,name:`appendInner`,color:t[0].iconColor.value},null)])})}),ce({isFocused:A,menu:B,search:S,filteredItems:C,select:q},o)}});export{Xe as _,vt as a,mt as c,ut as d,at as f,$e as g,tt as h,xt as i,pt as l,nt as m,wt as n,bt as o,rt as p,Ct as r,ht as s,Et as t,lt as u,Ye as v};