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