2 lines
29 KiB
JavaScript
2 lines
29 KiB
JavaScript
import{c as $e,au as dt,av as je,aw as ft,ax as vt,a as m,h as w,b as _t,n as Et,g as mt,r as q,w as me,j as G,K as Bt,ay as Ht,M as Tt,N as Lt,f as St,az as Rt,aA as Dt,aB as it,aC as Pt,aD as Ce,aE as Nt,E as Pe,H as fe,aF as Kt,aG as $t,aH as jt,F as ve,al as Qt,ap as Ut,e as Wt}from"./index-GXFLJtQL.js";import{a as Xt}from"./QChip-DE2_FO3B.js";import{b as Yt,a as Gt}from"./QList-BZpTot_c.js";import{Q as Jt}from"./QMenu-MNqKCtrf.js";import{n as at}from"./LocalStorage-DjXJ9f5H.js";const Zt=$e({name:"QField",inheritAttrs:!1,props:{...je,tag:{type:String,default:"label"}},emits:dt,setup(){return ft(vt({tagProp:!0}))}}),el=$e({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:r}){const a=m(()=>parseInt(e.lines,10)),S=m(()=>"q-item__label"+(e.overline===!0?" q-item__label--overline text-overline":"")+(e.caption===!0?" q-item__label--caption text-caption":"")+(e.header===!0?" q-item__label--header":"")+(a.value===1?" ellipsis":"")),z=m(()=>e.lines!==void 0&&a.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":a.value}:null);return()=>w("div",{style:z.value,class:S.value},_t(r.default))}});let Ee=!1;{const e=document.createElement("div");e.setAttribute("dir","rtl"),Object.assign(e.style,{width:"1px",height:"1px",overflow:"auto"});const r=document.createElement("div");Object.assign(r.style,{width:"1000px",height:"1px"}),document.body.appendChild(e),e.appendChild(r),e.scrollLeft=-1e3,Ee=e.scrollLeft>=0,e.remove()}const K=1e3,tl=["start","center","end","start-force","center-force","end-force"],gt=Array.prototype.filter,ll=window.getComputedStyle(document.body).overflowAnchor===void 0?Et:function(e,r){e!==null&&(e._qOverflowAnimationFrame!==void 0&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;e._qOverflowAnimationFrame=void 0;const a=e.children||[];gt.call(a,z=>z.dataset&&z.dataset.qVsAnchor!==void 0).forEach(z=>{delete z.dataset.qVsAnchor});const S=a[r];S?.dataset&&(S.dataset.qVsAnchor="")}))};function Se(e,r){return e+r}function Ne(e,r,a,S,z,i,_,y){const g=e===window?document.scrollingElement||document.documentElement:e,E=z===!0?"offsetWidth":"offsetHeight",s={scrollStart:0,scrollViewSize:-_-y,scrollMaxSize:0,offsetStart:-_,offsetEnd:-y};if(z===!0?(e===window?(s.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,s.scrollViewSize+=document.documentElement.clientWidth):(s.scrollStart=g.scrollLeft,s.scrollViewSize+=g.clientWidth),s.scrollMaxSize=g.scrollWidth,i===!0&&(s.scrollStart=(Ee===!0?s.scrollMaxSize-s.scrollViewSize:0)-s.scrollStart)):(e===window?(s.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,s.scrollViewSize+=document.documentElement.clientHeight):(s.scrollStart=g.scrollTop,s.scrollViewSize+=g.clientHeight),s.scrollMaxSize=g.scrollHeight),a!==null)for(let b=a.previousElementSibling;b!==null;b=b.previousElementSibling)b.classList.contains("q-virtual-scroll--skip")===!1&&(s.offsetStart+=b[E]);if(S!==null)for(let b=S.nextElementSibling;b!==null;b=b.nextElementSibling)b.classList.contains("q-virtual-scroll--skip")===!1&&(s.offsetEnd+=b[E]);if(r!==e){const b=g.getBoundingClientRect(),V=r.getBoundingClientRect();z===!0?(s.offsetStart+=V.left-b.left,s.offsetEnd-=V.width):(s.offsetStart+=V.top-b.top,s.offsetEnd-=V.height),e!==window&&(s.offsetStart+=s.scrollStart),s.offsetEnd+=s.scrollMaxSize-s.offsetStart}return s}function rt(e,r,a,S){r==="end"&&(r=(e===window?document.body:e)[a===!0?"scrollWidth":"scrollHeight"]),e===window?a===!0?(S===!0&&(r=(Ee===!0?document.body.scrollWidth-document.documentElement.clientWidth:0)-r),window.scrollTo(r,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,r):a===!0?(S===!0&&(r=(Ee===!0?e.scrollWidth-e.offsetWidth:0)-r),e.scrollLeft=r):e.scrollTop=r}function xe(e,r,a,S){if(a>=S)return 0;const z=r.length,i=Math.floor(a/K),_=Math.floor((S-1)/K)+1;let y=e.slice(i,_).reduce(Se,0);return a%K!==0&&(y-=r.slice(i*K,a).reduce(Se,0)),S%K!==0&&S!==z&&(y-=r.slice(S,_*K).reduce(Se,0)),y}const ul={virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]},st={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...ul};function nl({virtualScrollLength:e,getVirtualScrollTarget:r,getVirtualScrollEl:a,virtualScrollItemSizeComputed:S}){const z=mt(),{props:i,emit:_,proxy:y}=z,{$q:g}=y;let E,s,b,V=[],k;const F=q(0),N=q(0),H=q({}),Q=q(null),W=q(null),L=q(null),I=q({from:0,to:0}),ke=m(()=>i.tableColspan!==void 0?i.tableColspan:100);S===void 0&&(S=m(()=>i.virtualScrollItemSize));const T=m(()=>S.value+";"+i.virtualScrollHorizontal),X=m(()=>T.value+";"+i.virtualScrollSliceRatioBefore+";"+i.virtualScrollSliceRatioAfter);me(X,()=>{$()}),me(T,J);function J(){ne(s,!0)}function ge(l){ne(l===void 0?s:l)}function Z(l,o){const d=r();if(d==null||d.nodeType===8)return;const x=Ne(d,a(),Q.value,W.value,i.virtualScrollHorizontal,g.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd);b!==x.scrollViewSize&&$(x.scrollViewSize),R(d,x,Math.min(e.value-1,Math.max(0,parseInt(l,10)||0)),0,tl.indexOf(o)!==-1?o:s!==-1&&l>s?"end":"start")}function Ae(){const l=r();if(l==null||l.nodeType===8)return;const o=Ne(l,a(),Q.value,W.value,i.virtualScrollHorizontal,g.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd),d=e.value-1,x=o.scrollMaxSize-o.offsetStart-o.offsetEnd-N.value;if(E===o.scrollStart)return;if(o.scrollMaxSize<=0){R(l,o,0,0);return}b!==o.scrollViewSize&&$(o.scrollViewSize),he(I.value.from);const M=Math.floor(o.scrollMaxSize-Math.max(o.scrollViewSize,o.offsetEnd)-Math.min(k[d],o.scrollViewSize/2));if(M>0&&Math.ceil(o.scrollStart)>=M){R(l,o,d,o.scrollMaxSize-o.offsetEnd-V.reduce(Se,0));return}let h=0,v=o.scrollStart-o.offsetStart,O=v;if(v<=x&&v+o.scrollViewSize>=F.value)v-=F.value,h=I.value.from,O=v;else for(let f=0;v>=V[f]&&h<d;f++)v-=V[f],h+=K;for(;v>0&&h<d;)v-=k[h],v>-o.scrollViewSize?(h++,O=v):O=k[h]+v;R(l,o,h,O)}function R(l,o,d,x,M){const h=typeof M=="string"&&M.indexOf("-force")!==-1,v=h===!0?M.replace("-force",""):M,O=v!==void 0?v:"start";let f=Math.max(0,d-H.value[O]),D=f+H.value.total;D>e.value&&(D=e.value,f=Math.max(0,D-H.value.total)),E=o.scrollStart;const Y=f!==I.value.from||D!==I.value.to;if(Y===!1&&v===void 0){ye(d);return}const{activeElement:Ie}=document,U=L.value;Y===!0&&U!==null&&U!==Ie&&U.contains(Ie)===!0&&(U.addEventListener("focusout",ze),setTimeout(()=>{U?.removeEventListener("focusout",ze)})),ll(U,d-f);const Fe=v!==void 0?k.slice(f,d).reduce(Se,0):0;if(Y===!0){const ee=D>=I.value.from&&f<=I.value.to?I.value.to:D;I.value={from:f,to:ee},F.value=xe(V,k,0,f),N.value=xe(V,k,D,e.value),requestAnimationFrame(()=>{I.value.to!==D&&E===o.scrollStart&&(I.value={from:I.value.from,to:D},N.value=xe(V,k,D,e.value))})}requestAnimationFrame(()=>{if(E!==o.scrollStart)return;Y===!0&&he(f);const ee=k.slice(f,d).reduce(Se,0),te=ee+o.offsetStart+F.value,Me=te+k[d];let we=te+x;if(v!==void 0){const He=ee-Fe,Ve=o.scrollStart+He;we=h!==!0&&Ve<te&&Me<Ve+o.scrollViewSize?Ve:v==="end"?Me-o.scrollViewSize:te-(v==="start"?0:Math.round((o.scrollViewSize-k[d])/2))}E=we,rt(l,we,i.virtualScrollHorizontal,g.lang.rtl),ye(d)})}function he(l){const o=L.value;if(o){const d=gt.call(o.children,f=>f.classList&&f.classList.contains("q-virtual-scroll--skip")===!1),x=d.length,M=i.virtualScrollHorizontal===!0?f=>f.getBoundingClientRect().width:f=>f.offsetHeight;let h=l,v,O;for(let f=0;f<x;){for(v=M(d[f]),f++;f<x&&d[f].classList.contains("q-virtual-scroll--with-prev")===!0;)v+=M(d[f]),f++;O=v-k[h],O!==0&&(k[h]+=O,V[Math.floor(h/K)]+=O),h++}}}function ze(){L.value?.focus()}function ne(l,o){const d=1*S.value;(o===!0||Array.isArray(k)===!1)&&(k=[]);const x=k.length;k.length=e.value;for(let h=e.value-1;h>=x;h--)k[h]=d;const M=Math.floor((e.value-1)/K);V=[];for(let h=0;h<=M;h++){let v=0;const O=Math.min((h+1)*K,e.value);for(let f=h*K;f<O;f++)v+=k[f];V.push(v)}s=-1,E=void 0,F.value=xe(V,k,0,I.value.from),N.value=xe(V,k,I.value.to,e.value),l>=0?(he(I.value.from),G(()=>{Z(l)})):oe()}function $(l){if(l===void 0&&typeof window<"u"){const v=r();v!=null&&v.nodeType!==8&&(l=Ne(v,a(),Q.value,W.value,i.virtualScrollHorizontal,g.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd).scrollViewSize)}b=l;const o=parseFloat(i.virtualScrollSliceRatioBefore)||0,d=parseFloat(i.virtualScrollSliceRatioAfter)||0,x=1+o+d,M=l===void 0||l<=0?1:Math.ceil(l/S.value),h=Math.max(1,M,Math.ceil((i.virtualScrollSliceSize>0?i.virtualScrollSliceSize:10)/x));H.value={total:Math.ceil(h*x),start:Math.ceil(h*o),center:Math.ceil(h*(.5+o)),end:Math.ceil(h*(1+o)),view:M}}function Be(l,o){const d=i.virtualScrollHorizontal===!0?"width":"height",x={["--q-virtual-scroll-item-"+d]:S.value+"px"};return[l==="tbody"?w(l,{class:"q-virtual-scroll__padding",key:"before",ref:Q},[w("tr",[w("td",{style:{[d]:`${F.value}px`,...x},colspan:ke.value})])]):w(l,{class:"q-virtual-scroll__padding",key:"before",ref:Q,style:{[d]:`${F.value}px`,...x}}),w(l,{class:"q-virtual-scroll__content",key:"content",ref:L,tabindex:-1},o.flat()),l==="tbody"?w(l,{class:"q-virtual-scroll__padding",key:"after",ref:W},[w("tr",[w("td",{style:{[d]:`${N.value}px`,...x},colspan:ke.value})])]):w(l,{class:"q-virtual-scroll__padding",key:"after",ref:W,style:{[d]:`${N.value}px`,...x}})]}function ye(l){s!==l&&(i.onVirtualScroll!==void 0&&_("virtualScroll",{index:l,from:I.value.from,to:I.value.to-1,direction:l<s?"decrease":"increase",ref:y}),s=l)}$();const oe=Bt(Ae,g.platform.is.ios===!0?120:35);Ht(()=>{$()});let be=!1;return Tt(()=>{be=!0}),Lt(()=>{if(be!==!0)return;const l=r();E!==void 0&&l!==void 0&&l!==null&&l.nodeType!==8?rt(l,E,i.virtualScrollHorizontal,g.lang.rtl):Z(s)}),St(()=>{oe.cancel()}),Object.assign(y,{scrollTo:Z,reset:J,refresh:ge}),{virtualScrollSliceRange:I,virtualScrollSliceSizeComputed:H,setVirtualScrollSize:$,onVirtualScrollEvt:oe,localResetVirtualScroll:ne,padVirtualScroll:Be,scrollTo:Z,reset:J,refresh:ge}}const ct=e=>["add","add-unique","toggle"].includes(e),ol=".*+?^${}()|[]\\",il=Object.keys(je);function Ke(e,r){if(typeof e=="function")return e;const a=e!==void 0?e:r;return S=>S!==null&&typeof S=="object"&&a in S?S[a]:S}const fl=$e({name:"QSelect",inheritAttrs:!1,props:{...st,...Rt,...je,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:ct},mapOptions:Boolean,emitValue:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>["default","menu","dialog"].includes(e),default:"default"},virtualScrollItemSize:st.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...dt,"add","remove","inputValue","keyup","keypress","keydown","popupShow","popupHide","filterAbort"],setup(e,{slots:r,emit:a}){const{proxy:S}=mt(),{$q:z}=S,i=q(!1),_=q(!1),y=q(-1),g=q(""),E=q(!1),s=q(!1);let b=null,V=null,k,F,N,H=null,Q,W,L,I;const ke=q(null),T=q(null),X=q(null),J=q(null),ge=q(null),Z=Dt(e),Ae=Pt(tt),R=m(()=>Array.isArray(e.options)?e.options.length:0),he=m(()=>e.virtualScrollItemSize===void 0?e.optionsDense===!0?24:48:e.virtualScrollItemSize),{virtualScrollSliceRange:ze,virtualScrollSliceSizeComputed:ne,localResetVirtualScroll:$,padVirtualScroll:Be,onVirtualScrollEvt:ye,scrollTo:oe,setVirtualScrollSize:be}=nl({virtualScrollLength:R,getVirtualScrollTarget:wt,getVirtualScrollEl:Ze,virtualScrollItemSizeComputed:he}),l=vt(),o=m(()=>{const t=e.mapOptions===!0&&e.multiple!==!0,u=e.modelValue!==void 0&&(e.modelValue!==null||t===!0)?e.multiple===!0&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue]:[];if(e.mapOptions===!0&&Array.isArray(e.options)===!0){const n=e.mapOptions===!0&&k!==void 0?k:[],c=u.map(C=>bt(C,n));return e.modelValue===null&&t===!0?c.filter(C=>C!==null):c}return u}),d=m(()=>{const t={};return il.forEach(u=>{const n=e[u];n!==void 0&&(t[u]=n)}),t}),x=m(()=>e.optionsDark===null?l.isDark.value:e.optionsDark),M=m(()=>it(o.value)),h=m(()=>{let t="q-field__input q-placeholder col";return e.hideSelected===!0||o.value.length===0?[t,e.inputClass]:(t+=" q-field__input--padding",e.inputClass===void 0?t:[t,e.inputClass])}),v=m(()=>(e.virtualScrollHorizontal===!0?"q-virtual-scroll--horizontal":"")+(e.popupContentClass?" "+e.popupContentClass:"")),O=m(()=>R.value===0),f=m(()=>o.value.map(t=>P.value(t)).join(", ")),D=m(()=>e.displayValue!==void 0?e.displayValue:f.value),Y=m(()=>e.optionsHtml===!0?()=>!0:t=>t?.html===!0),Ie=m(()=>e.displayValueHtml===!0||e.displayValue===void 0&&(e.optionsHtml===!0||o.value.some(Y.value))),U=m(()=>l.focused.value===!0?e.tabindex:-1),Fe=m(()=>{const t={tabindex:e.tabindex,role:"combobox","aria-label":e.label,"aria-readonly":e.readonly===!0?"true":"false","aria-autocomplete":e.useInput===!0?"list":"none","aria-expanded":i.value===!0?"true":"false","aria-controls":`${l.targetUid.value}_lb`};return y.value>=0&&(t["aria-activedescendant"]=`${l.targetUid.value}_${y.value}`),t}),ee=m(()=>({id:`${l.targetUid.value}_lb`,role:"listbox","aria-multiselectable":e.multiple===!0?"true":"false"})),te=m(()=>o.value.map((t,u)=>({index:u,opt:t,html:Y.value(t),selected:!0,removeAtIndex:yt,toggleOption:le,tabindex:U.value}))),Me=m(()=>{if(R.value===0)return[];const{from:t,to:u}=ze.value;return e.options.slice(t,u).map((n,c)=>{const C=ie.value(n)===!0,p=Le(n)===!0,B=t+c,A={clickable:!0,active:p,activeClass:Ve.value,manualFocus:!0,focused:!1,disable:C,tabindex:-1,dense:e.optionsDense,dark:x.value,role:"option","aria-selected":p===!0?"true":"false",id:`${l.targetUid.value}_${B}`,onClick:()=>{le(n)}};return C!==!0&&(y.value===B&&(A.focused=!0),z.platform.is.desktop===!0&&(A.onMousemove=()=>{i.value===!0&&ae(B)})),{index:B,opt:n,html:Y.value(n),label:P.value(n),selected:A.active,focused:A.focused,toggleOption:le,setOptionIndex:ae,itemProps:A}})}),we=m(()=>e.dropdownIcon!==void 0?e.dropdownIcon:z.iconSet.arrow.dropdown),He=m(()=>e.optionsCover===!1&&e.outlined!==!0&&e.standout!==!0&&e.borderless!==!0&&e.rounded!==!0),Ve=m(()=>e.optionsSelectedClass!==void 0?e.optionsSelectedClass:e.color!==void 0?`text-${e.color}`:""),j=m(()=>Ke(e.optionValue,"value")),P=m(()=>Ke(e.optionLabel,"label")),ie=m(()=>Ke(e.optionDisable,"disable")),Oe=m(()=>o.value.map(j.value)),ht=m(()=>{const t={onInput:tt,onChange:Ae,onKeydown:Je,onKeyup:Ye,onKeypress:Ge,onFocus:We,onClick(u){F===!0&&ve(u)}};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=Ae,t});me(o,t=>{k=t,e.useInput===!0&&e.fillInput===!0&&e.multiple!==!0&&l.innerLoading.value!==!0&&(_.value!==!0&&i.value!==!0||M.value!==!0)&&(N!==!0&&de(),(_.value===!0||i.value===!0)&&re(""))},{immediate:!0}),me(()=>e.fillInput,de),me(i,Re),me(R,qt);function Qe(t){return e.emitValue===!0?j.value(t):t}function Te(t){if(t!==-1&&t<o.value.length)if(e.multiple===!0){const u=e.modelValue.slice();a("remove",{index:t,value:u.splice(t,1)[0]}),a("update:modelValue",u)}else a("update:modelValue",null)}function yt(t){Te(t),l.focus()}function Ue(t,u){const n=Qe(t);if(e.multiple!==!0){e.fillInput===!0&&pe(P.value(t),!0,!0),a("update:modelValue",n);return}if(o.value.length===0){a("add",{index:0,value:n}),a("update:modelValue",e.multiple===!0?[n]:n);return}if(u===!0&&Le(t)===!0||e.maxValues!==void 0&&e.modelValue.length>=e.maxValues)return;const c=e.modelValue.slice();a("add",{index:c.length,value:n}),c.push(n),a("update:modelValue",c)}function le(t,u){if(l.editable.value!==!0||t===void 0||ie.value(t)===!0)return;const n=j.value(t);if(e.multiple!==!0){u!==!0&&(pe(e.fillInput===!0?P.value(t):"",!0,!0),ue()),T.value?.focus(),(o.value.length===0||Ce(j.value(o.value[0]),n)!==!0)&&a("update:modelValue",e.emitValue===!0?n:t);return}if((F!==!0||E.value===!0)&&l.focus(),We(),o.value.length===0){const p=e.emitValue===!0?n:t;a("add",{index:0,value:p}),a("update:modelValue",e.multiple===!0?[p]:p);return}const c=e.modelValue.slice(),C=Oe.value.findIndex(p=>Ce(p,n));if(C!==-1)a("remove",{index:C,value:c.splice(C,1)[0]});else{if(e.maxValues!==void 0&&c.length>=e.maxValues)return;const p=e.emitValue===!0?n:t;a("add",{index:c.length,value:p}),c.push(p)}a("update:modelValue",c)}function ae(t){if(z.platform.is.desktop!==!0)return;const u=t!==-1&&t<R.value?t:-1;y.value!==u&&(y.value=u)}function qe(t=1,u){if(i.value===!0){let n=y.value;do n=at(n+t,-1,R.value-1);while(n!==-1&&n!==y.value&&ie.value(e.options[n])===!0);y.value!==n&&(ae(n),oe(n),u!==!0&&e.useInput===!0&&e.fillInput===!0&&_e(n>=0?P.value(e.options[n]):Q,!0))}}function bt(t,u){const n=c=>Ce(j.value(c),t);return e.options.find(n)||u.find(n)||t}function Le(t){const u=j.value(t);return Oe.value.find(n=>Ce(n,u))!==void 0}function We(t){e.useInput===!0&&T.value!==null&&(t===void 0||T.value===t.target&&t.target.value===f.value)&&T.value.select()}function Xe(t){Qt(t,27)===!0&&i.value===!0&&(ve(t),ue(),de()),a("keyup",t)}function Ye(t){const{value:u}=t.target;if(t.keyCode!==void 0){Xe(t);return}if(t.target.value="",b!==null&&(clearTimeout(b),b=null),V!==null&&(clearTimeout(V),V=null),de(),typeof u=="string"&&u.length!==0){const n=u.toLocaleLowerCase(),c=p=>{const B=e.options.find(A=>String(p.value(A)).toLocaleLowerCase()===n);return B===void 0?!1:(o.value.indexOf(B)===-1?le(B):ue(),!0)},C=p=>{c(j)!==!0&&p!==!0&&c(P)!==!0&&re(u,!0,()=>C(!0))};C()}else l.clearValue(t)}function Ge(t){a("keypress",t)}function Je(t){if(a("keydown",t),Nt(t)===!0)return;const u=g.value.length!==0&&(e.newValueMode!==void 0||e.onNewValue!==void 0),n=t.shiftKey!==!0&&e.disableTabSelection!==!0&&e.multiple!==!0&&(y.value!==-1||u===!0);if(t.keyCode===27){Pe(t);return}if(t.keyCode===9&&n===!1){se();return}if(t.target===void 0||t.target.id!==l.targetUid.value||l.editable.value!==!0)return;if(t.keyCode===40&&l.innerLoading.value!==!0&&i.value===!1){fe(t),ce();return}if(t.keyCode===8&&(e.useChips===!0||e.clearable===!0)&&e.hideSelected!==!0&&g.value.length===0){e.multiple===!0&&Array.isArray(e.modelValue)===!0?Te(e.modelValue.length-1):e.multiple!==!0&&e.modelValue!==null&&a("update:modelValue",null);return}(t.keyCode===35||t.keyCode===36)&&(typeof g.value!="string"||g.value.length===0)&&(fe(t),y.value=-1,qe(t.keyCode===36?1:-1,e.multiple)),(t.keyCode===33||t.keyCode===34)&&ne.value!==void 0&&(fe(t),y.value=Math.max(-1,Math.min(R.value,y.value+(t.keyCode===33?-1:1)*ne.value.view)),qe(t.keyCode===33?1:-1,e.multiple)),(t.keyCode===38||t.keyCode===40)&&(fe(t),qe(t.keyCode===38?-1:1,e.multiple));const c=R.value;if((L===void 0||I<Date.now())&&(L=""),c>0&&e.useInput!==!0&&t.key!==void 0&&t.key.length===1&&t.altKey===!1&&t.ctrlKey===!1&&t.metaKey===!1&&(t.keyCode!==32||L.length!==0)){i.value!==!0&&ce(t);const C=t.key.toLocaleLowerCase(),p=L.length===1&&L[0]===C;I=Date.now()+1500,p===!1&&(fe(t),L+=C);const B=new RegExp("^"+L.split("").map(De=>ol.indexOf(De)!==-1?"\\"+De:De).join(".*"),"i");let A=y.value;if(p===!0||A<0||B.test(P.value(e.options[A]))!==!0)do A=at(A+1,-1,c-1);while(A!==y.value&&(ie.value(e.options[A])===!0||B.test(P.value(e.options[A]))!==!0));y.value!==A&&G(()=>{ae(A),oe(A),A>=0&&e.useInput===!0&&e.fillInput===!0&&_e(P.value(e.options[A]),!0)});return}if(!(t.keyCode!==13&&(t.keyCode!==32||e.useInput===!0||L!=="")&&(t.keyCode!==9||n===!1))){if(t.keyCode!==9&&fe(t),y.value!==-1&&y.value<c){le(e.options[y.value]);return}if(u===!0){const C=(p,B)=>{if(B){if(ct(B)!==!0)return}else B=e.newValueMode;if(pe("",e.multiple!==!0,!0),p==null)return;(B==="toggle"?le:Ue)(p,B==="add-unique"),e.multiple!==!0&&(T.value?.focus(),ue())};if(e.onNewValue!==void 0?a("newValue",g.value,C):C(g.value),e.multiple!==!0)return}i.value===!0?se():l.innerLoading.value!==!0&&ce()}}function Ze(){return F===!0?ge.value:X.value!==null&&X.value.contentEl!==null?X.value.contentEl:void 0}function wt(){return Ze()}function Vt(){return e.hideSelected===!0?[]:r["selected-item"]!==void 0?te.value.map(t=>r["selected-item"](t)).slice():r.selected!==void 0?[].concat(r.selected()):e.useChips===!0?te.value.map((t,u)=>w(Xt,{key:"option-"+u,removable:l.editable.value===!0&&ie.value(t.opt)!==!0,dense:!0,textColor:e.color,tabindex:U.value,onRemove(){t.removeAtIndex(u)}},()=>w("span",{class:"ellipsis",[t.html===!0?"innerHTML":"textContent"]:P.value(t.opt)}))):[w("span",{class:"ellipsis",[Ie.value===!0?"innerHTML":"textContent"]:D.value})]}function et(){if(O.value===!0)return r["no-option"]!==void 0?r["no-option"]({inputValue:g.value}):void 0;const t=r.option!==void 0?r.option:n=>w(Gt,{key:n.index,...n.itemProps},()=>w(Yt,()=>w(el,()=>w("span",{[n.html===!0?"innerHTML":"textContent"]:n.label}))));let u=Be("div",Me.value.map(t));return r["before-options"]!==void 0&&(u=r["before-options"]().concat(u)),Wt(r["after-options"],u)}function pt(t,u){const n=u===!0?{...Fe.value,...l.splitAttrs.attributes.value}:void 0,c={ref:u===!0?T:void 0,key:"i_t",class:h.value,style:e.inputStyle,value:g.value!==void 0?g.value:"",type:"search",...n,id:u===!0?l.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":t===!0||e.autofocus===!0||void 0,disabled:e.disable===!0,readonly:e.readonly===!0,...ht.value};return t!==!0&&F===!0&&(Array.isArray(c.class)===!0?c.class=[...c.class,"no-pointer-events"]:c.class+=" no-pointer-events"),w("input",c)}function tt(t){b!==null&&(clearTimeout(b),b=null),V!==null&&(clearTimeout(V),V=null),!(t&&t.target&&t.target.qComposing===!0)&&(_e(t.target.value||""),N=!0,Q=g.value,l.focused.value!==!0&&(F!==!0||E.value===!0)&&l.focus(),e.onFilter!==void 0&&(b=setTimeout(()=>{b=null,re(g.value)},e.inputDebounce)))}function _e(t,u){g.value!==t&&(g.value=t,u===!0||e.inputDebounce===0||e.inputDebounce==="0"?a("inputValue",t):V=setTimeout(()=>{V=null,a("inputValue",t)},e.inputDebounce))}function pe(t,u,n){N=n!==!0,e.useInput===!0&&(_e(t,!0),(u===!0||n!==!0)&&(Q=t),u!==!0&&re(t))}function re(t,u,n){if(e.onFilter===void 0||u!==!0&&l.focused.value!==!0)return;l.innerLoading.value===!0?a("filterAbort"):(l.innerLoading.value=!0,s.value=!0),t!==""&&e.multiple!==!0&&o.value.length!==0&&N!==!0&&t===P.value(o.value[0])&&(t="");const c=setTimeout(()=>{i.value===!0&&(i.value=!1)},10);H!==null&&clearTimeout(H),H=c,a("filter",t,(C,p)=>{(u===!0||l.focused.value===!0)&&H===c&&(clearTimeout(H),typeof C=="function"&&C(),s.value=!1,G(()=>{l.innerLoading.value=!1,l.editable.value===!0&&(u===!0?i.value===!0&&ue():i.value===!0?Re(!0):i.value=!0),typeof p=="function"&&G(()=>{p(S)}),typeof n=="function"&&G(()=>{n(S)})}))},()=>{l.focused.value===!0&&H===c&&(clearTimeout(H),l.innerLoading.value=!1,s.value=!1),i.value===!0&&(i.value=!1)})}function Ct(){return w(Jt,{ref:X,class:v.value,style:e.popupContentStyle,modelValue:i.value,fit:e.menuShrink!==!0,cover:e.optionsCover===!0&&O.value!==!0&&e.useInput!==!0,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:x.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:e.popupNoRouteDismiss,square:He.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...ee.value,onScrollPassive:ye,onBeforeShow:ut,onBeforeHide:xt,onShow:kt},et)}function xt(t){nt(t),se()}function kt(){be()}function At(t){ve(t),T.value?.focus(),E.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function zt(t){ve(t),G(()=>{E.value=!1})}function It(){const t=[w(Zt,{class:`col-auto ${l.fieldClass.value}`,...d.value,for:l.targetUid.value,dark:x.value,square:!0,loading:s.value,itemAligned:!1,filled:!0,stackLabel:g.value.length!==0,...l.splitAttrs.listeners.value,onFocus:At,onBlur:zt},{...r,rawControl:()=>l.getControl(!0),before:void 0,after:void 0})];return i.value===!0&&t.push(w("div",{ref:ge,class:v.value+" scroll",style:e.popupContentStyle,...ee.value,onClick:Pe,onScrollPassive:ye},et())),w(Ut,{ref:J,modelValue:_.value,position:e.useInput===!0?"top":void 0,transitionShow:W,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,noRouteDismiss:e.popupNoRouteDismiss,onBeforeShow:ut,onBeforeHide:Ft,onHide:Mt,onShow:Ot},()=>w("div",{class:"q-select__dialog"+(x.value===!0?" q-select__dialog--dark q-dark":"")+(E.value===!0?" q-select__dialog--focused":"")},t))}function Ft(t){nt(t),J.value!==null&&J.value.__updateRefocusTarget(l.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")),l.focused.value=!1}function Mt(t){ue(),l.focused.value===!1&&a("blur",t),de()}function Ot(){const t=document.activeElement;(t===null||t.id!==l.targetUid.value)&&T.value!==null&&T.value!==t&&T.value.focus(),be()}function se(){_.value!==!0&&(y.value=-1,i.value===!0&&(i.value=!1),l.focused.value===!1&&(H!==null&&(clearTimeout(H),H=null),l.innerLoading.value===!0&&(a("filterAbort"),l.innerLoading.value=!1,s.value=!1)))}function ce(t){l.editable.value===!0&&(F===!0?(l.onControlFocusin(t),_.value=!0,G(()=>{l.focus()})):l.focus(),e.onFilter!==void 0?re(g.value):(O.value!==!0||r["no-option"]!==void 0)&&(i.value=!0))}function ue(){_.value=!1,se()}function de(){e.useInput===!0&&pe(e.multiple!==!0&&e.fillInput===!0&&o.value.length!==0&&P.value(o.value[0])||"",!0,!0)}function Re(t){let u=-1;if(t===!0){if(o.value.length!==0){const n=j.value(o.value[0]);u=e.options.findIndex(c=>Ce(j.value(c),n))}$(u)}ae(u)}function qt(t,u){i.value===!0&&l.innerLoading.value===!1&&($(-1,!0),G(()=>{i.value===!0&&l.innerLoading.value===!1&&(t>u?$():Re(!0))}))}function lt(){_.value===!1&&X.value!==null&&X.value.updatePosition()}function ut(t){t!==void 0&&ve(t),a("popupShow",t),l.hasPopupOpen=!0,l.onControlFocusin(t)}function nt(t){t!==void 0&&ve(t),a("popupHide",t),l.hasPopupOpen=!1,l.onControlFocusout(t)}function ot(){F=z.platform.is.mobile!==!0&&e.behavior!=="dialog"?!1:e.behavior!=="menu"&&(e.useInput===!0?r["no-option"]!==void 0||e.onFilter!==void 0||O.value===!1:!0),W=z.platform.is.ios===!0&&F===!0&&e.useInput===!0?"fade":e.transitionShow}return Kt(ot),$t(lt),ot(),St(()=>{b!==null&&clearTimeout(b),V!==null&&clearTimeout(V)}),Object.assign(S,{showPopup:ce,hidePopup:ue,removeAtIndex:Te,add:Ue,toggleOption:le,getOptionIndex:()=>y.value,setOptionIndex:ae,moveOptionSelection:qe,filter:re,updateMenuPosition:lt,updateInputValue:pe,isOptionSelected:Le,getEmittingOptionValue:Qe,isOptionDisabled:(...t)=>ie.value.apply(null,t)===!0,getOptionValue:(...t)=>j.value.apply(null,t),getOptionLabel:(...t)=>P.value.apply(null,t)}),Object.assign(l,{innerValue:o,fieldClass:m(()=>`q-select q-field--auto-height q-select--with${e.useInput!==!0?"out":""}-input q-select--with${e.useChips!==!0?"out":""}-chips q-select--${e.multiple===!0?"multiple":"single"}`),inputRef:ke,targetRef:T,hasValue:M,showPopup:ce,floatingLabel:m(()=>e.hideSelected!==!0&&M.value===!0||typeof g.value=="number"||g.value.length!==0||it(e.displayValue)),getControlChild:()=>{if(l.editable.value!==!1&&(_.value===!0||O.value!==!0||r["no-option"]!==void 0))return F===!0?It():Ct();l.hasPopupOpen===!0&&(l.hasPopupOpen=!1)},controlEvents:{onFocusin(t){l.onControlFocusin(t)},onFocusout(t){l.onControlFocusout(t,()=>{de(),se()})},onClick(t){if(Pe(t),F!==!0&&i.value===!0){se(),T.value?.focus();return}ce(t)}},getControl:t=>{const u=Vt(),n=t===!0||_.value!==!0||F!==!0;if(e.useInput===!0)u.push(pt(t,n));else if(l.editable.value===!0){const C=n===!0?Fe.value:void 0;u.push(w("input",{ref:n===!0?T:void 0,key:"d_t",class:"q-select__focus-target",id:n===!0?l.targetUid.value:void 0,value:D.value,readonly:!0,"data-autofocus":t===!0||e.autofocus===!0||void 0,...C,onKeydown:Je,onKeyup:Xe,onKeypress:Ge})),n===!0&&typeof e.autocomplete=="string"&&e.autocomplete.length!==0&&u.push(w("input",{class:"q-select__autocomplete-input",autocomplete:e.autocomplete,tabindex:-1,onKeyup:Ye}))}if(Z.value!==void 0&&e.disable!==!0&&Oe.value.length!==0){const C=Oe.value.map(p=>w("option",{value:p,selected:!0}));u.push(w("select",{class:"hidden",name:Z.value,multiple:e.multiple},C))}const c=e.useInput===!0||n!==!0?void 0:l.splitAttrs.attributes.value;return w("div",{class:"q-field__native row items-center",...c,...l.splitAttrs.listeners.value},u)},getInnerAppend:()=>e.loading!==!0&&s.value!==!0&&e.hideDropdownIcon!==!0?[w(jt,{class:"q-select__dropdown-icon"+(i.value===!0?" rotate-180":""),name:we.value})]:null}),ft(l)}});export{fl as Q,el as a};
|