{"version":3,"sources":["webpack:///./node_modules/quasar/src/utils/private/rtl.js","webpack:///./node_modules/quasar/src/components/virtual-scroll/use-virtual-scroll.js","webpack:///./node_modules/quasar/src/utils/format.js","webpack:///./node_modules/quasar/src/components/field/QField.js","webpack:///./node_modules/quasar/src/components/chip/QChip.js","webpack:///./node_modules/quasar/src/components/select/QSelect.js"],"names":["rtlHasScrollBug","scroller","document","createElement","setAttribute","Object","assign","style","width","height","overflow","spacer","body","appendChild","scrollLeft","remove","aggBucketSize","scrollToEdges","filterProto","Array","prototype","filter","setOverflowAnchor","__QUASAR_SSR__","window","getComputedStyle","overflowAnchor","noop","contentEl","index","_qOverflowAnimationFrame","cancelAnimationFrame","requestAnimationFrame","children","call","el","dataset","qVsAnchor","forEach","sumFn","acc","h","getScrollDetails","parent","child","beforeRef","afterRef","horizontal","rtl","stickyStart","stickyEnd","parentCalc","scrollingElement","documentElement","propElSize","details","scrollStart","scrollViewSize","scrollMaxSize","offsetStart","offsetEnd","pageXOffset","scrollX","clientWidth","scrollWidth","pageYOffset","scrollY","scrollTop","clientHeight","scrollHeight","previousElementSibling","classList","contains","nextElementSibling","parentRect","getBoundingClientRect","childRect","left","top","setScroll","scroll","scrollTo","offsetWidth","sumSize","sizeAgg","size","from","to","lastTo","length","fromAgg","Math","floor","toAgg","total","slice","reduce","commonVirtScrollProps","virtualScrollSliceSize","type","Number","String","default","virtualScrollSliceRatioBefore","virtualScrollSliceRatioAfter","virtualScrollItemSize","virtualScrollStickySizeStart","virtualScrollStickySizeEnd","tableColspan","commonVirtPropsList","keys","useVirtualScrollProps","virtualScrollHorizontal","Boolean","onVirtualScroll","Function","useVirtualScroll","virtualScrollLength","getVirtualScrollTarget","getVirtualScrollEl","virtualScrollItemSizeComputed","vm","getCurrentInstance","props","emit","proxy","$q","prevScrollStart","prevToIndex","localScrollViewSize","virtualScrollSizesAgg","virtualScrollSizes","virtualScrollPaddingBefore","ref","virtualScrollPaddingAfter","virtualScrollSliceSizeComputed","contentRef","virtualScrollSliceRange","colspanAttr","computed","needsReset","value","needsSliceRecalc","watch","setVirtualScrollSize","reset","localResetVirtualScroll","refresh","toIndex","edge","scrollEl","nodeType","scrollDetails","lang","setVirtualScrollSliceRange","min","max","parseInt","indexOf","localOnVirtualScrollEvt","listLastIndex","listEndOffset","updateVirtualScrollSizes","scrollMaxStart","ceil","listOffset","offset","j","align","alignForce","alignEnd","replace","alignRange","rangeChanged","emitScroll","activeElement","addEventListener","onBlurRefocusFn","setTimeout","removeEventListener","sizeBefore","tempTo","sizeAfter","posStart","posEnd","scrollPosition","sizeDiff","round","childrenLength","sizeFn","offsetHeight","diff","i","focus","fullReset","defaultSize","isArray","oldVirtualScrollSizesLength","jMax","iMax","push","nextTick","onVirtualScrollEvt","parseFloat","multiplier","view","baseSize","start","center","end","padVirtualScroll","tag","content","paddingSize","class","key","colspan","tabindex","flat","direction","debounce","platform","is","ios","onBeforeMount","shouldActivate","onDeactivated","onActivated","onBeforeUnmount","cancel","units","humanStorageSize","bytes","u","toFixed","capitalize","str","charAt","toUpperCase","between","v","normalizeToInterval","pad","char","val","join","createComponent","name","inheritAttrs","useFieldProps","emits","useFieldEmits","setup","useField","useFieldState","requiredForAttr","tagProp","defaultSizes","xs","sm","md","lg","xl","useDarkProps","useSizeProps","dense","icon","iconRight","iconRemove","iconSelected","label","color","textColor","modelValue","selected","square","outline","clickable","removable","removeAriaLabel","disable","ripple","slots","isDark","useDark","sizeStyle","useSize","hasLeftIcon","leftIcon","iconSet","chip","removeIcon","isClickable","classes","text","attributes","role","onKeyup","e","keyCode","onClick","onRemove","stopAndPrevent","getContent","QIcon","hMergeSlotSafely","data","hDir","Ripple","validateNewValueMode","includes","reEscapeList","fieldPropsList","useFormProps","required","multiple","displayValue","displayValueHtml","dropdownIcon","options","optionValue","optionLabel","optionDisable","hideSelected","hideDropdownIcon","fillInput","maxValues","optionsDense","optionsDark","optionsSelectedClass","optionsHtml","optionsCover","menuShrink","menuAnchor","menuSelf","menuOffset","popupContentClass","popupContentStyle","popupNoRouteDismiss","useInput","useChips","newValueMode","validator","mapOptions","emitValue","inputDebounce","inputClass","inputStyle","autocomplete","transitionShow","transitionHide","transitionDuration","behavior","onNewValue","onFilter","menu","dialog","optionIndex","inputValue","dialogFieldFocused","innerLoadingIndicator","filterTimer","inputValueTimer","innerValueCache","hasDialog","userInputValue","filterId","defaultInputValue","transitionShowComputed","searchBuffer","searchBufferExp","inputRef","targetRef","menuRef","dialogRef","menuContentRef","nameProp","useFormInputNameAttr","onComposition","useKeyComposition","onInput","state","innerValue","mapNull","cache","values","map","getOption","innerFieldProps","isOptionsDark","hasValue","fieldValueIsFilled","computedInputClass","cls","menuContentClass","noOptions","selectedString","opt","getOptionLabel","ariaCurrentValue","needsHtmlFn","html","valueAsHtml","some","focused","comboboxAttrs","attrs","readonly","targetUid","listboxAttrs","id","selectedScope","removeAtIndex","removeAtIndexAndFocus","toggleOption","optionScope","isOptionDisabled","active","isOptionSelected","itemProps","activeClass","computedOptionsSelectedClass","manualFocus","dark","desktop","onMousemove","setOptionIndex","dropdownArrowIcon","arrow","dropdown","squaredMenu","outlined","standout","borderless","rounded","getOptionValue","getPropValueFn","innerOptionsValue","inputControlEvents","evt","onChange","onKeydown","onTargetKeydown","onTargetAutocomplete","onKeypress","onTargetKeypress","onFocus","selectInputText","stop","onCompositionstart","onCompositionupdate","onCompositionend","innerLoading","resetInputValue","immediate","updateMenu","rerenderMenu","getEmittingOptionValue","model","splice","add","unique","updateInputValue","keepOpen","editable","optValue","hidePopup","isDeepEqual","findIndex","moveOptionSelection","skipInputValue","setInputValue","valueCache","fn","find","propValue","defaultVal","target","select","onTargetKeyup","isKeyCode","clearTimeout","needle","toLocaleLowerCase","findFn","extractFn","option","fillFn","afterFilter","clearValue","shouldIgnoreKey","newValueModeValid","tabShouldSelect","shiftKey","prevent","closeMenu","showPopup","clearable","optionsLength","Date","now","altKey","ctrlKey","metaKey","keyRepeat","searchRe","RegExp","split","l","test","done","mode","getSelection","scope","concat","QChip","getAllOptions","QItem","QItemSection","QItemLabel","hMergeSlot","getInput","fromDialog","isTarget","splitAttrs","maxlength","autofocus","disabled","qComposing","emitImmediately","noFiltering","internal","keepClosed","afterUpdateFn","localFilterId","afterFn","getMenu","QMenu","fit","cover","anchor","self","noParentEvent","noRefocus","noFocus","noRouteDismiss","separateClosePopup","onScrollPassive","onBeforeShow","onControlPopupShow","onBeforeHide","onMenuBeforeHide","onShow","onMenuShow","onControlPopupHide","onDialogFieldFocus","onDialogFieldBlur","getDialog","QField","fieldClass","for","loading","itemAligned","filled","stackLabel","listeners","onBlur","rawControl","getControl","before","after","QDialog","position","onDialogBeforeHide","onHide","onDialogHide","onDialogShow","__updateRefocusTarget","rootRef","querySelector","onControlFocusin","show","newLength","oldLength","updateMenuPosition","updatePosition","hasPopupOpen","onControlFocusout","updatePreState","mobile","onBeforeUpdate","onUpdated","getOptionIndex","args","apply","floatingLabel","getControlChild","controlEvents","onFocusin","onFocusout","opts","getInnerAppend"],"mappings":"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","file":"js/chunk-5fcce295.96185b3e.js","sourcesContent":["let rtlHasScrollBug = false\n\n// mobile Chrome takes the crown for this\nif (!__QUASAR_SSR__) {\n const scroller = document.createElement('div')\n scroller.setAttribute('dir', 'rtl')\n Object.assign(scroller.style, {\n width: '1px',\n height: '1px',\n overflow: 'auto'\n })\n\n const spacer = document.createElement('div')\n Object.assign(spacer.style, {\n width: '1000px',\n height: '1px'\n })\n\n document.body.appendChild(scroller)\n scroller.appendChild(spacer)\n scroller.scrollLeft = -1000\n\n rtlHasScrollBug = scroller.scrollLeft >= 0\n\n scroller.remove()\n}\n\nexport {\n rtlHasScrollBug\n}\n","import { h, ref, computed, watch, onActivated, onDeactivated, onBeforeMount, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'\n\nimport debounce from '../../utils/debounce.js'\nimport { noop } from '../../utils/event.js'\nimport { rtlHasScrollBug } from '../../utils/private/rtl.js'\n\nconst aggBucketSize = 1000\n\nconst scrollToEdges = [\n 'start',\n 'center',\n 'end',\n 'start-force',\n 'center-force',\n 'end-force'\n]\n\nconst filterProto = Array.prototype.filter\n\nconst setOverflowAnchor = __QUASAR_SSR__ || window.getComputedStyle(document.body).overflowAnchor === void 0\n ? noop\n : function (contentEl, index) {\n if (contentEl === null) {\n return\n }\n\n if (contentEl._qOverflowAnimationFrame !== void 0) {\n cancelAnimationFrame(contentEl._qOverflowAnimationFrame)\n }\n\n contentEl._qOverflowAnimationFrame = requestAnimationFrame(() => {\n if (contentEl === null) {\n return\n }\n\n contentEl._qOverflowAnimationFrame = void 0\n const children = contentEl.children || []\n\n filterProto\n .call(children, el => el.dataset && el.dataset.qVsAnchor !== void 0)\n .forEach(el => {\n delete el.dataset.qVsAnchor\n })\n\n const el = children[ index ]\n\n if (el && el.dataset) {\n el.dataset.qVsAnchor = ''\n }\n })\n }\n\nfunction sumFn (acc, h) {\n return acc + h\n}\n\nfunction getScrollDetails (\n parent,\n child,\n beforeRef,\n afterRef,\n horizontal,\n rtl,\n stickyStart,\n stickyEnd\n) {\n const\n parentCalc = parent === window ? document.scrollingElement || document.documentElement : parent,\n propElSize = horizontal === true ? 'offsetWidth' : 'offsetHeight',\n details = {\n scrollStart: 0,\n scrollViewSize: -stickyStart - stickyEnd,\n scrollMaxSize: 0,\n offsetStart: -stickyStart,\n offsetEnd: -stickyEnd\n }\n\n if (horizontal === true) {\n if (parent === window) {\n details.scrollStart = window.pageXOffset || window.scrollX || document.body.scrollLeft || 0\n details.scrollViewSize += document.documentElement.clientWidth\n }\n else {\n details.scrollStart = parentCalc.scrollLeft\n details.scrollViewSize += parentCalc.clientWidth\n }\n details.scrollMaxSize = parentCalc.scrollWidth\n\n if (rtl === true) {\n details.scrollStart = (rtlHasScrollBug === true ? details.scrollMaxSize - details.scrollViewSize : 0) - details.scrollStart\n }\n }\n else {\n if (parent === window) {\n details.scrollStart = window.pageYOffset || window.scrollY || document.body.scrollTop || 0\n details.scrollViewSize += document.documentElement.clientHeight\n }\n else {\n details.scrollStart = parentCalc.scrollTop\n details.scrollViewSize += parentCalc.clientHeight\n }\n details.scrollMaxSize = parentCalc.scrollHeight\n }\n\n if (beforeRef !== null) {\n for (let el = beforeRef.previousElementSibling; el !== null; el = el.previousElementSibling) {\n if (el.classList.contains('q-virtual-scroll--skip') === false) {\n details.offsetStart += el[ propElSize ]\n }\n }\n }\n\n if (afterRef !== null) {\n for (let el = afterRef.nextElementSibling; el !== null; el = el.nextElementSibling) {\n if (el.classList.contains('q-virtual-scroll--skip') === false) {\n details.offsetEnd += el[ propElSize ]\n }\n }\n }\n\n if (child !== parent) {\n const\n parentRect = parentCalc.getBoundingClientRect(),\n childRect = child.getBoundingClientRect()\n\n if (horizontal === true) {\n details.offsetStart += childRect.left - parentRect.left\n details.offsetEnd -= childRect.width\n }\n else {\n details.offsetStart += childRect.top - parentRect.top\n details.offsetEnd -= childRect.height\n }\n\n if (parent !== window) {\n details.offsetStart += details.scrollStart\n }\n details.offsetEnd += details.scrollMaxSize - details.offsetStart\n }\n\n return details\n}\n\nfunction setScroll (parent, scroll, horizontal, rtl) {\n if (scroll === 'end') {\n scroll = (parent === window ? document.body : parent)[\n horizontal === true ? 'scrollWidth' : 'scrollHeight'\n ]\n }\n\n if (parent === window) {\n if (horizontal === true) {\n if (rtl === true) {\n scroll = (rtlHasScrollBug === true ? document.body.scrollWidth - document.documentElement.clientWidth : 0) - scroll\n }\n window.scrollTo(scroll, window.pageYOffset || window.scrollY || document.body.scrollTop || 0)\n }\n else {\n window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, scroll)\n }\n }\n else if (horizontal === true) {\n if (rtl === true) {\n scroll = (rtlHasScrollBug === true ? parent.scrollWidth - parent.offsetWidth : 0) - scroll\n }\n parent.scrollLeft = scroll\n }\n else {\n parent.scrollTop = scroll\n }\n}\n\nfunction sumSize (sizeAgg, size, from, to) {\n if (from >= to) { return 0 }\n\n const\n lastTo = size.length,\n fromAgg = Math.floor(from / aggBucketSize),\n toAgg = Math.floor((to - 1) / aggBucketSize) + 1\n\n let total = sizeAgg.slice(fromAgg, toAgg).reduce(sumFn, 0)\n\n if (from % aggBucketSize !== 0) {\n total -= size.slice(fromAgg * aggBucketSize, from).reduce(sumFn, 0)\n }\n if (to % aggBucketSize !== 0 && to !== lastTo) {\n total -= size.slice(to, toAgg * aggBucketSize).reduce(sumFn, 0)\n }\n\n return total\n}\n\nconst commonVirtScrollProps = {\n virtualScrollSliceSize: {\n type: [ Number, String ],\n default: null\n },\n\n virtualScrollSliceRatioBefore: {\n type: [ Number, String ],\n default: 1\n },\n\n virtualScrollSliceRatioAfter: {\n type: [ Number, String ],\n default: 1\n },\n\n virtualScrollItemSize: {\n type: [ Number, String ],\n default: 24\n },\n\n virtualScrollStickySizeStart: {\n type: [ Number, String ],\n default: 0\n },\n\n virtualScrollStickySizeEnd: {\n type: [ Number, String ],\n default: 0\n },\n\n tableColspan: [ Number, String ]\n}\n\nexport const commonVirtPropsList = Object.keys(commonVirtScrollProps)\n\nexport const useVirtualScrollProps = {\n virtualScrollHorizontal: Boolean,\n onVirtualScroll: Function,\n ...commonVirtScrollProps\n}\n\nexport function useVirtualScroll ({\n virtualScrollLength, getVirtualScrollTarget, getVirtualScrollEl,\n virtualScrollItemSizeComputed // optional\n}) {\n const vm = getCurrentInstance()\n\n const { props, emit, proxy } = vm\n const { $q } = proxy\n\n let prevScrollStart, prevToIndex, localScrollViewSize, virtualScrollSizesAgg = [], virtualScrollSizes\n\n const virtualScrollPaddingBefore = ref(0)\n const virtualScrollPaddingAfter = ref(0)\n const virtualScrollSliceSizeComputed = ref({})\n\n const beforeRef = ref(null)\n const afterRef = ref(null)\n const contentRef = ref(null)\n\n const virtualScrollSliceRange = ref({ from: 0, to: 0 })\n\n const colspanAttr = computed(() => (props.tableColspan !== void 0 ? props.tableColspan : 100))\n\n if (virtualScrollItemSizeComputed === void 0) {\n virtualScrollItemSizeComputed = computed(() => props.virtualScrollItemSize)\n }\n\n const needsReset = computed(() => virtualScrollItemSizeComputed.value + ';' + props.virtualScrollHorizontal)\n\n const needsSliceRecalc = computed(() =>\n needsReset.value + ';' + props.virtualScrollSliceRatioBefore + ';' + props.virtualScrollSliceRatioAfter\n )\n\n watch(needsSliceRecalc, () => { setVirtualScrollSize() })\n watch(needsReset, reset)\n\n function reset () {\n localResetVirtualScroll(prevToIndex, true)\n }\n\n function refresh (toIndex) {\n localResetVirtualScroll(toIndex === void 0 ? prevToIndex : toIndex)\n }\n\n function scrollTo (toIndex, edge) {\n const scrollEl = getVirtualScrollTarget()\n\n if (scrollEl === void 0 || scrollEl === null || scrollEl.nodeType === 8) {\n return\n }\n\n const scrollDetails = getScrollDetails(\n scrollEl,\n getVirtualScrollEl(),\n beforeRef.value,\n afterRef.value,\n props.virtualScrollHorizontal,\n $q.lang.rtl,\n props.virtualScrollStickySizeStart,\n props.virtualScrollStickySizeEnd\n )\n\n localScrollViewSize !== scrollDetails.scrollViewSize && setVirtualScrollSize(scrollDetails.scrollViewSize)\n\n setVirtualScrollSliceRange(\n scrollEl,\n scrollDetails,\n Math.min(virtualScrollLength.value - 1, Math.max(0, parseInt(toIndex, 10) || 0)),\n 0,\n scrollToEdges.indexOf(edge) !== -1 ? edge : (prevToIndex !== -1 && toIndex > prevToIndex ? 'end' : 'start')\n )\n }\n\n function localOnVirtualScrollEvt () {\n const scrollEl = getVirtualScrollTarget()\n\n if (scrollEl === void 0 || scrollEl === null || scrollEl.nodeType === 8) {\n return\n }\n\n const\n scrollDetails = getScrollDetails(\n scrollEl,\n getVirtualScrollEl(),\n beforeRef.value,\n afterRef.value,\n props.virtualScrollHorizontal,\n $q.lang.rtl,\n props.virtualScrollStickySizeStart,\n props.virtualScrollStickySizeEnd\n ),\n listLastIndex = virtualScrollLength.value - 1,\n listEndOffset = scrollDetails.scrollMaxSize - scrollDetails.offsetStart - scrollDetails.offsetEnd - virtualScrollPaddingAfter.value\n\n if (prevScrollStart === scrollDetails.scrollStart) {\n return\n }\n\n if (scrollDetails.scrollMaxSize <= 0) {\n setVirtualScrollSliceRange(scrollEl, scrollDetails, 0, 0)\n return\n }\n\n localScrollViewSize !== scrollDetails.scrollViewSize && setVirtualScrollSize(scrollDetails.scrollViewSize)\n\n updateVirtualScrollSizes(virtualScrollSliceRange.value.from)\n\n const scrollMaxStart = Math.floor(scrollDetails.scrollMaxSize\n - Math.max(scrollDetails.scrollViewSize, scrollDetails.offsetEnd)\n - Math.min(virtualScrollSizes[ listLastIndex ], scrollDetails.scrollViewSize / 2))\n\n if (scrollMaxStart > 0 && Math.ceil(scrollDetails.scrollStart) >= scrollMaxStart) {\n setVirtualScrollSliceRange(\n scrollEl,\n scrollDetails,\n listLastIndex,\n scrollDetails.scrollMaxSize - scrollDetails.offsetEnd - virtualScrollSizesAgg.reduce(sumFn, 0)\n )\n\n return\n }\n\n let\n toIndex = 0,\n listOffset = scrollDetails.scrollStart - scrollDetails.offsetStart,\n offset = listOffset\n\n if (listOffset <= listEndOffset && listOffset + scrollDetails.scrollViewSize >= virtualScrollPaddingBefore.value) {\n listOffset -= virtualScrollPaddingBefore.value\n toIndex = virtualScrollSliceRange.value.from\n offset = listOffset\n }\n else {\n for (let j = 0; listOffset >= virtualScrollSizesAgg[ j ] && toIndex < listLastIndex; j++) {\n listOffset -= virtualScrollSizesAgg[ j ]\n toIndex += aggBucketSize\n }\n }\n\n while (listOffset > 0 && toIndex < listLastIndex) {\n listOffset -= virtualScrollSizes[ toIndex ]\n if (listOffset > -scrollDetails.scrollViewSize) {\n toIndex++\n offset = listOffset\n }\n else {\n offset = virtualScrollSizes[ toIndex ] + listOffset\n }\n }\n\n setVirtualScrollSliceRange(\n scrollEl,\n scrollDetails,\n toIndex,\n offset\n )\n }\n\n function setVirtualScrollSliceRange (scrollEl, scrollDetails, toIndex, offset, align) {\n const alignForce = typeof align === 'string' && align.indexOf('-force') !== -1\n const alignEnd = alignForce === true ? align.replace('-force', '') : align\n const alignRange = alignEnd !== void 0 ? alignEnd : 'start'\n\n let\n from = Math.max(0, toIndex - virtualScrollSliceSizeComputed.value[ alignRange ]),\n to = from + virtualScrollSliceSizeComputed.value.total\n\n if (to > virtualScrollLength.value) {\n to = virtualScrollLength.value\n from = Math.max(0, to - virtualScrollSliceSizeComputed.value.total)\n }\n\n prevScrollStart = scrollDetails.scrollStart\n\n const rangeChanged = from !== virtualScrollSliceRange.value.from || to !== virtualScrollSliceRange.value.to\n\n if (rangeChanged === false && alignEnd === void 0) {\n emitScroll(toIndex)\n return\n }\n\n const { activeElement } = document\n const contentEl = contentRef.value\n if (\n rangeChanged === true\n && contentEl !== null\n && contentEl !== activeElement\n && contentEl.contains(activeElement) === true\n ) {\n contentEl.addEventListener('focusout', onBlurRefocusFn)\n\n setTimeout(() => {\n contentEl !== null && contentEl.removeEventListener('focusout', onBlurRefocusFn)\n })\n }\n\n setOverflowAnchor(contentEl, toIndex - from)\n\n const sizeBefore = alignEnd !== void 0 ? virtualScrollSizes.slice(from, toIndex).reduce(sumFn, 0) : 0\n\n if (rangeChanged === true) {\n // vue key matching algorithm works only if\n // the array of VNodes changes on only one of the ends\n // so we first change one end and then the other\n\n const tempTo = to >= virtualScrollSliceRange.value.from && from <= virtualScrollSliceRange.value.to\n ? virtualScrollSliceRange.value.to\n : to\n\n virtualScrollSliceRange.value = { from, to: tempTo }\n virtualScrollPaddingBefore.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, 0, from)\n virtualScrollPaddingAfter.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, to, virtualScrollLength.value)\n\n requestAnimationFrame(() => {\n if (virtualScrollSliceRange.value.to !== to && prevScrollStart === scrollDetails.scrollStart) {\n virtualScrollSliceRange.value = { from: virtualScrollSliceRange.value.from, to }\n virtualScrollPaddingAfter.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, to, virtualScrollLength.value)\n }\n })\n }\n\n requestAnimationFrame(() => {\n // if the scroll was changed give up\n // (another call to setVirtualScrollSliceRange before animation frame)\n if (prevScrollStart !== scrollDetails.scrollStart) {\n return\n }\n\n if (rangeChanged === true) {\n updateVirtualScrollSizes(from)\n }\n\n const\n sizeAfter = virtualScrollSizes.slice(from, toIndex).reduce(sumFn, 0),\n posStart = sizeAfter + scrollDetails.offsetStart + virtualScrollPaddingBefore.value,\n posEnd = posStart + virtualScrollSizes[ toIndex ]\n\n let scrollPosition = posStart + offset\n\n if (alignEnd !== void 0) {\n const sizeDiff = sizeAfter - sizeBefore\n const scrollStart = scrollDetails.scrollStart + sizeDiff\n\n scrollPosition = alignForce !== true && scrollStart < posStart && posEnd < scrollStart + scrollDetails.scrollViewSize\n ? scrollStart\n : (\n alignEnd === 'end'\n ? posEnd - scrollDetails.scrollViewSize\n : posStart - (alignEnd === 'start' ? 0 : Math.round((scrollDetails.scrollViewSize - virtualScrollSizes[ toIndex ]) / 2))\n )\n }\n\n prevScrollStart = scrollPosition\n\n setScroll(\n scrollEl,\n scrollPosition,\n props.virtualScrollHorizontal,\n $q.lang.rtl\n )\n\n emitScroll(toIndex)\n })\n }\n\n function updateVirtualScrollSizes (from) {\n const contentEl = contentRef.value\n\n if (contentEl) {\n const\n children = filterProto.call(\n contentEl.children,\n el => el.classList && el.classList.contains('q-virtual-scroll--skip') === false\n ),\n childrenLength = children.length,\n sizeFn = props.virtualScrollHorizontal === true\n ? el => el.getBoundingClientRect().width\n : el => el.offsetHeight\n\n let\n index = from,\n size, diff\n\n for (let i = 0; i < childrenLength;) {\n size = sizeFn(children[ i ])\n i++\n\n while (i < childrenLength && children[ i ].classList.contains('q-virtual-scroll--with-prev') === true) {\n size += sizeFn(children[ i ])\n i++\n }\n\n diff = size - virtualScrollSizes[ index ]\n\n if (diff !== 0) {\n virtualScrollSizes[ index ] += diff\n virtualScrollSizesAgg[ Math.floor(index / aggBucketSize) ] += diff\n }\n\n index++\n }\n }\n }\n\n function onBlurRefocusFn () {\n contentRef.value !== null && contentRef.value !== void 0 && contentRef.value.focus()\n }\n\n function localResetVirtualScroll (toIndex, fullReset) {\n const defaultSize = 1 * virtualScrollItemSizeComputed.value\n\n if (fullReset === true || Array.isArray(virtualScrollSizes) === false) {\n virtualScrollSizes = []\n }\n\n const oldVirtualScrollSizesLength = virtualScrollSizes.length\n\n virtualScrollSizes.length = virtualScrollLength.value\n\n for (let i = virtualScrollLength.value - 1; i >= oldVirtualScrollSizesLength; i--) {\n virtualScrollSizes[ i ] = defaultSize\n }\n\n const jMax = Math.floor((virtualScrollLength.value - 1) / aggBucketSize)\n virtualScrollSizesAgg = []\n for (let j = 0; j <= jMax; j++) {\n let size = 0\n const iMax = Math.min((j + 1) * aggBucketSize, virtualScrollLength.value)\n for (let i = j * aggBucketSize; i < iMax; i++) {\n size += virtualScrollSizes[ i ]\n }\n virtualScrollSizesAgg.push(size)\n }\n\n prevToIndex = -1\n prevScrollStart = void 0\n\n virtualScrollPaddingBefore.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, 0, virtualScrollSliceRange.value.from)\n virtualScrollPaddingAfter.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, virtualScrollSliceRange.value.to, virtualScrollLength.value)\n\n if (toIndex >= 0) {\n updateVirtualScrollSizes(virtualScrollSliceRange.value.from)\n nextTick(() => { scrollTo(toIndex) })\n }\n else {\n onVirtualScrollEvt()\n }\n }\n\n function setVirtualScrollSize (scrollViewSize) {\n if (scrollViewSize === void 0 && typeof window !== 'undefined') {\n const scrollEl = getVirtualScrollTarget()\n\n if (scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {\n scrollViewSize = getScrollDetails(\n scrollEl,\n getVirtualScrollEl(),\n beforeRef.value,\n afterRef.value,\n props.virtualScrollHorizontal,\n $q.lang.rtl,\n props.virtualScrollStickySizeStart,\n props.virtualScrollStickySizeEnd\n ).scrollViewSize\n }\n }\n\n localScrollViewSize = scrollViewSize\n\n const virtualScrollSliceRatioBefore = parseFloat(props.virtualScrollSliceRatioBefore) || 0\n const virtualScrollSliceRatioAfter = parseFloat(props.virtualScrollSliceRatioAfter) || 0\n const multiplier = 1 + virtualScrollSliceRatioBefore + virtualScrollSliceRatioAfter\n const view = scrollViewSize === void 0 || scrollViewSize <= 0\n ? 1\n : Math.ceil(scrollViewSize / virtualScrollItemSizeComputed.value)\n\n const baseSize = Math.max(\n 1,\n view,\n Math.ceil((props.virtualScrollSliceSize > 0 ? props.virtualScrollSliceSize : 10) / multiplier)\n )\n\n virtualScrollSliceSizeComputed.value = {\n total: Math.ceil(baseSize * multiplier),\n start: Math.ceil(baseSize * virtualScrollSliceRatioBefore),\n center: Math.ceil(baseSize * (0.5 + virtualScrollSliceRatioBefore)),\n end: Math.ceil(baseSize * (1 + virtualScrollSliceRatioBefore)),\n view\n }\n }\n\n function padVirtualScroll (tag, content) {\n const paddingSize = props.virtualScrollHorizontal === true ? 'width' : 'height'\n const style = {\n [ '--q-virtual-scroll-item-' + paddingSize ]: virtualScrollItemSizeComputed.value + 'px'\n }\n\n return [\n tag === 'tbody'\n ? h(tag, {\n class: 'q-virtual-scroll__padding',\n key: 'before',\n ref: beforeRef\n }, [\n h('tr', [\n h('td', {\n style: { [ paddingSize ]: `${ virtualScrollPaddingBefore.value }px`, ...style },\n colspan: colspanAttr.value\n })\n ])\n ])\n : h(tag, {\n class: 'q-virtual-scroll__padding',\n key: 'before',\n ref: beforeRef,\n style: { [ paddingSize ]: `${ virtualScrollPaddingBefore.value }px`, ...style }\n }),\n\n h(tag, {\n class: 'q-virtual-scroll__content',\n key: 'content',\n ref: contentRef,\n tabindex: -1\n }, content.flat()),\n\n tag === 'tbody'\n ? h(tag, {\n class: 'q-virtual-scroll__padding',\n key: 'after',\n ref: afterRef\n }, [\n h('tr', [\n h('td', {\n style: { [ paddingSize ]: `${ virtualScrollPaddingAfter.value }px`, ...style },\n colspan: colspanAttr.value\n })\n ])\n ])\n : h(tag, {\n class: 'q-virtual-scroll__padding',\n key: 'after',\n ref: afterRef,\n style: { [ paddingSize ]: `${ virtualScrollPaddingAfter.value }px`, ...style }\n })\n ]\n }\n\n function emitScroll (index) {\n if (prevToIndex !== index) {\n props.onVirtualScroll !== void 0 && emit('virtualScroll', {\n index,\n from: virtualScrollSliceRange.value.from,\n to: virtualScrollSliceRange.value.to - 1,\n direction: index < prevToIndex ? 'decrease' : 'increase',\n ref: proxy\n })\n\n prevToIndex = index\n }\n }\n\n setVirtualScrollSize()\n const onVirtualScrollEvt = debounce(\n localOnVirtualScrollEvt,\n $q.platform.is.ios === true ? 120 : 35\n )\n\n onBeforeMount(() => {\n setVirtualScrollSize()\n })\n\n let shouldActivate = false\n\n onDeactivated(() => {\n shouldActivate = true\n })\n\n onActivated(() => {\n if (shouldActivate !== true) return\n\n const scrollEl = getVirtualScrollTarget()\n\n if (prevScrollStart !== void 0 && scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {\n setScroll(\n scrollEl,\n prevScrollStart,\n props.virtualScrollHorizontal,\n $q.lang.rtl\n )\n }\n else {\n scrollTo(prevToIndex)\n }\n })\n\n __QUASAR_SSR__ || onBeforeUnmount(() => {\n onVirtualScrollEvt.cancel()\n })\n\n // expose public methods\n Object.assign(proxy, { scrollTo, reset, refresh })\n\n return {\n virtualScrollSliceRange,\n virtualScrollSliceSizeComputed,\n\n setVirtualScrollSize,\n onVirtualScrollEvt,\n localResetVirtualScroll,\n padVirtualScroll,\n\n scrollTo,\n reset,\n refresh\n }\n}\n","const units = [ 'B', 'KB', 'MB', 'GB', 'TB', 'PB' ]\n\nexport function humanStorageSize (bytes) {\n let u = 0\n\n while (parseInt(bytes, 10) >= 1024 && u < units.length - 1) {\n bytes /= 1024\n ++u\n }\n\n return `${ bytes.toFixed(1) }${ units[ u ] }`\n}\n\nexport function capitalize (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function between (v, min, max) {\n return max <= min\n ? min\n : Math.min(max, Math.max(min, v))\n}\n\nexport function normalizeToInterval (v, min, max) {\n if (max <= min) {\n return min\n }\n\n const size = (max - min + 1)\n\n let index = min + (v - min) % size\n if (index < min) {\n index = size + index\n }\n\n return index === 0 ? 0 : index // fix for (-a % a) => -0\n}\n\nexport function pad (v, length = 2, char = '0') {\n if (v === void 0 || v === null) {\n return v\n }\n\n const val = '' + v\n return val.length >= length\n ? val\n : new Array(length - val.length + 1).join(char) + val\n}\n\nexport default {\n humanStorageSize,\n capitalize,\n between,\n normalizeToInterval,\n pad\n}\n","import useField, { useFieldState, useFieldProps, useFieldEmits } from '../../composables/private/use-field.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nexport default createComponent({\n name: 'QField',\n\n inheritAttrs: false,\n\n props: {\n ...useFieldProps,\n\n tag: {\n type: String,\n default: 'label'\n }\n },\n\n emits: useFieldEmits,\n\n setup () {\n return useField(\n useFieldState({\n requiredForAttr: false,\n tagProp: true\n })\n )\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport Ripple from '../../directives/ripple/Ripple.js'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { hMergeSlotSafely, hDir } from '../../utils/private/render.js'\n\nexport const defaultSizes = {\n xs: 8,\n sm: 10,\n md: 14,\n lg: 20,\n xl: 24\n}\n\nexport default createComponent({\n name: 'QChip',\n\n props: {\n ...useDarkProps,\n ...useSizeProps,\n\n dense: Boolean,\n\n icon: String,\n iconRight: String,\n iconRemove: String,\n iconSelected: String,\n label: [ String, Number ],\n\n color: String,\n textColor: String,\n\n modelValue: {\n type: Boolean,\n default: true\n },\n selected: {\n type: Boolean,\n default: null\n },\n\n square: Boolean,\n outline: Boolean,\n clickable: Boolean,\n removable: Boolean,\n\n removeAriaLabel: String,\n\n tabindex: [ String, Number ],\n disable: Boolean,\n\n ripple: {\n type: [ Boolean, Object ],\n default: true\n }\n },\n\n emits: [ 'update:modelValue', 'update:selected', 'remove', 'click' ],\n\n setup (props, { slots, emit }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const isDark = useDark(props, $q)\n const sizeStyle = useSize(props, defaultSizes)\n\n const hasLeftIcon = computed(() => props.selected === true || props.icon !== void 0)\n\n const leftIcon = computed(() => (\n props.selected === true\n ? props.iconSelected || $q.iconSet.chip.selected\n : props.icon\n ))\n\n const removeIcon = computed(() => props.iconRemove || $q.iconSet.chip.remove)\n\n const isClickable = computed(() =>\n props.disable === false\n && (props.clickable === true || props.selected !== null)\n )\n\n const classes = computed(() => {\n const text = props.outline === true\n ? props.color || props.textColor\n : props.textColor\n\n return 'q-chip row inline no-wrap items-center'\n + (props.outline === false && props.color !== void 0 ? ` bg-${ props.color }` : '')\n + (text ? ` text-${ text } q-chip--colored` : '')\n + (props.disable === true ? ' disabled' : '')\n + (props.dense === true ? ' q-chip--dense' : '')\n + (props.outline === true ? ' q-chip--outline' : '')\n + (props.selected === true ? ' q-chip--selected' : '')\n + (isClickable.value === true ? ' q-chip--clickable cursor-pointer non-selectable q-hoverable' : '')\n + (props.square === true ? ' q-chip--square' : '')\n + (isDark.value === true ? ' q-chip--dark q-dark' : '')\n })\n\n const attributes = computed(() => {\n const chip = props.disable === true\n ? { tabindex: -1, 'aria-disabled': 'true' }\n : { tabindex: props.tabindex || 0 }\n const remove = {\n ...chip,\n role: 'button',\n 'aria-hidden': 'false',\n 'aria-label': props.removeAriaLabel || $q.lang.label.remove\n }\n\n return { chip, remove }\n })\n\n function onKeyup (e) {\n e.keyCode === 13 /* ENTER */ && onClick(e)\n }\n\n function onClick (e) {\n if (!props.disable) {\n emit('update:selected', !props.selected)\n emit('click', e)\n }\n }\n\n function onRemove (e) {\n if (e.keyCode === void 0 || e.keyCode === 13) {\n stopAndPrevent(e)\n if (props.disable === false) {\n emit('update:modelValue', false)\n emit('remove')\n }\n }\n }\n\n function getContent () {\n const child = []\n\n isClickable.value === true && child.push(\n h('div', { class: 'q-focus-helper' })\n )\n\n hasLeftIcon.value === true && child.push(\n h(QIcon, {\n class: 'q-chip__icon q-chip__icon--left',\n name: leftIcon.value\n })\n )\n\n const label = props.label !== void 0\n ? [ h('div', { class: 'ellipsis' }, [ props.label ]) ]\n : void 0\n\n child.push(\n h('div', {\n class: 'q-chip__content col row no-wrap items-center q-anchor--skip'\n }, hMergeSlotSafely(slots.default, label))\n )\n\n props.iconRight && child.push(\n h(QIcon, {\n class: 'q-chip__icon q-chip__icon--right',\n name: props.iconRight\n })\n )\n\n props.removable === true && child.push(\n h(QIcon, {\n class: 'q-chip__icon q-chip__icon--remove cursor-pointer',\n name: removeIcon.value,\n ...attributes.value.remove,\n onClick: onRemove,\n onKeyup: onRemove\n })\n )\n\n return child\n }\n\n return () => {\n if (props.modelValue === false) return\n\n const data = {\n class: classes.value,\n style: sizeStyle.value\n }\n\n isClickable.value === true && Object.assign(\n data,\n attributes.value.chip,\n { onClick, onKeyup }\n )\n\n return hDir(\n 'div',\n data,\n getContent(),\n 'ripple',\n props.ripple !== false && props.disable !== true,\n () => [ [ Ripple, props.ripple ] ]\n )\n }\n }\n})\n","import { h, ref, computed, watch, onBeforeUpdate, onUpdated, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'\n\nimport QField from '../field/QField.js'\nimport QIcon from '../icon/QIcon.js'\nimport QChip from '../chip/QChip.js'\n\nimport QItem from '../item/QItem.js'\nimport QItemSection from '../item/QItemSection.js'\nimport QItemLabel from '../item/QItemLabel.js'\n\nimport QMenu from '../menu/QMenu.js'\nimport QDialog from '../dialog/QDialog.js'\n\nimport useField, { useFieldState, useFieldProps, useFieldEmits, fieldValueIsFilled } from '../../composables/private/use-field.js'\nimport { useVirtualScroll, useVirtualScrollProps } from '../virtual-scroll/use-virtual-scroll.js'\nimport { useFormProps, useFormInputNameAttr } from '../../composables/private/use-form.js'\nimport useKeyComposition from '../../composables/private/use-key-composition.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { isDeepEqual } from '../../utils/is.js'\nimport { stop, prevent, stopAndPrevent } from '../../utils/event.js'\nimport { normalizeToInterval } from '../../utils/format.js'\nimport { shouldIgnoreKey, isKeyCode } from '../../utils/private/key-composition.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\n\nconst validateNewValueMode = v => [ 'add', 'add-unique', 'toggle' ].includes(v)\nconst reEscapeList = '.*+?^${}()|[]\\\\'\nconst fieldPropsList = Object.keys(useFieldProps)\n\nexport default createComponent({\n name: 'QSelect',\n\n inheritAttrs: false,\n\n props: {\n ...useVirtualScrollProps,\n ...useFormProps,\n ...useFieldProps,\n\n modelValue: {\n required: true\n },\n\n multiple: Boolean,\n\n displayValue: [ String, Number ],\n displayValueHtml: Boolean,\n dropdownIcon: String,\n\n options: {\n type: Array,\n default: () => []\n },\n\n optionValue: [ Function, String ],\n optionLabel: [ Function, String ],\n optionDisable: [ Function, String ],\n\n hideSelected: Boolean,\n hideDropdownIcon: Boolean,\n fillInput: Boolean,\n\n maxValues: [ Number, String ],\n\n optionsDense: Boolean,\n optionsDark: {\n type: Boolean,\n default: null\n },\n optionsSelectedClass: String,\n optionsHtml: Boolean,\n\n optionsCover: Boolean,\n\n menuShrink: Boolean,\n menuAnchor: String,\n menuSelf: String,\n menuOffset: Array,\n\n popupContentClass: String,\n popupContentStyle: [ String, Array, Object ],\n popupNoRouteDismiss: Boolean,\n\n useInput: Boolean,\n useChips: Boolean,\n\n newValueMode: {\n type: String,\n validator: validateNewValueMode\n },\n\n mapOptions: Boolean,\n emitValue: Boolean,\n\n inputDebounce: {\n type: [ Number, String ],\n default: 500\n },\n\n inputClass: [ Array, String, Object ],\n inputStyle: [ Array, String, Object ],\n\n tabindex: {\n type: [ String, Number ],\n default: 0\n },\n\n autocomplete: String,\n\n transitionShow: String,\n transitionHide: String,\n transitionDuration: [ String, Number ],\n\n behavior: {\n type: String,\n validator: v => [ 'default', 'menu', 'dialog' ].includes(v),\n default: 'default'\n },\n\n virtualScrollItemSize: {\n type: [ Number, String ],\n default: void 0\n },\n\n onNewValue: Function,\n onFilter: Function\n },\n\n emits: [\n ...useFieldEmits,\n 'add', 'remove', 'inputValue', 'newValue',\n 'keyup', 'keypress', 'keydown',\n 'filterAbort'\n ],\n\n setup (props, { slots, emit }) {\n const { proxy } = getCurrentInstance()\n const { $q } = proxy\n\n const menu = ref(false)\n const dialog = ref(false)\n const optionIndex = ref(-1)\n const inputValue = ref('')\n const dialogFieldFocused = ref(false)\n const innerLoadingIndicator = ref(false)\n\n let filterTimer = null, inputValueTimer = null,\n innerValueCache,\n hasDialog, userInputValue, filterId = null, defaultInputValue,\n transitionShowComputed, searchBuffer, searchBufferExp\n\n const inputRef = ref(null)\n const targetRef = ref(null)\n const menuRef = ref(null)\n const dialogRef = ref(null)\n const menuContentRef = ref(null)\n\n const nameProp = useFormInputNameAttr(props)\n\n const onComposition = useKeyComposition(onInput)\n\n const virtualScrollLength = computed(() => (\n Array.isArray(props.options)\n ? props.options.length\n : 0\n ))\n\n const virtualScrollItemSizeComputed = computed(() => (\n props.virtualScrollItemSize === void 0\n ? (props.optionsDense === true ? 24 : 48)\n : props.virtualScrollItemSize\n ))\n\n const {\n virtualScrollSliceRange,\n virtualScrollSliceSizeComputed,\n localResetVirtualScroll,\n padVirtualScroll,\n onVirtualScrollEvt,\n scrollTo,\n setVirtualScrollSize\n } = useVirtualScroll({\n virtualScrollLength, getVirtualScrollTarget, getVirtualScrollEl,\n virtualScrollItemSizeComputed\n })\n\n const state = useFieldState()\n\n const innerValue = computed(() => {\n const\n mapNull = props.mapOptions === true && props.multiple !== true,\n val = props.modelValue !== void 0 && (props.modelValue !== null || mapNull === true)\n ? (props.multiple === true && Array.isArray(props.modelValue) ? props.modelValue : [ props.modelValue ])\n : []\n\n if (props.mapOptions === true && Array.isArray(props.options) === true) {\n const cache = props.mapOptions === true && innerValueCache !== void 0\n ? innerValueCache\n : []\n const values = val.map(v => getOption(v, cache))\n\n return props.modelValue === null && mapNull === true\n ? values.filter(v => v !== null)\n : values\n }\n\n return val\n })\n\n const innerFieldProps = computed(() => {\n const acc = {}\n fieldPropsList.forEach(key => {\n const val = props[ key ]\n if (val !== void 0) {\n acc[ key ] = val\n }\n })\n return acc\n })\n\n const isOptionsDark = computed(() => (\n props.optionsDark === null\n ? state.isDark.value\n : props.optionsDark\n ))\n\n const hasValue = computed(() => fieldValueIsFilled(innerValue.value))\n\n const computedInputClass = computed(() => {\n let cls = 'q-field__input q-placeholder col'\n\n if (props.hideSelected === true || innerValue.value.length === 0) {\n return [ cls, props.inputClass ]\n }\n\n cls += ' q-field__input--padding'\n\n return props.inputClass === void 0\n ? cls\n : [ cls, props.inputClass ]\n })\n\n const menuContentClass = computed(() =>\n (props.virtualScrollHorizontal === true ? 'q-virtual-scroll--horizontal' : '')\n + (props.popupContentClass ? ' ' + props.popupContentClass : '')\n )\n\n const noOptions = computed(() => virtualScrollLength.value === 0)\n\n const selectedString = computed(() =>\n innerValue.value\n .map(opt => getOptionLabel.value(opt))\n .join(', ')\n )\n\n const ariaCurrentValue = computed(() => (props.displayValue !== void 0\n ? props.displayValue\n : selectedString.value\n ))\n\n const needsHtmlFn = computed(() => (\n props.optionsHtml === true\n ? () => true\n : opt => opt !== void 0 && opt !== null && opt.html === true\n ))\n\n const valueAsHtml = computed(() => (\n props.displayValueHtml === true || (\n props.displayValue === void 0 && (\n props.optionsHtml === true\n || innerValue.value.some(needsHtmlFn.value)\n )\n )\n ))\n\n const tabindex = computed(() => (state.focused.value === true ? props.tabindex : -1))\n\n const comboboxAttrs = computed(() => {\n const attrs = {\n tabindex: props.tabindex,\n role: 'combobox',\n 'aria-label': props.label,\n 'aria-readonly': props.readonly === true ? 'true' : 'false',\n 'aria-autocomplete': props.useInput === true ? 'list' : 'none',\n 'aria-expanded': menu.value === true ? 'true' : 'false',\n 'aria-controls': `${ state.targetUid.value }_lb`\n }\n\n if (optionIndex.value >= 0) {\n attrs[ 'aria-activedescendant' ] = `${ state.targetUid.value }_${ optionIndex.value }`\n }\n\n return attrs\n })\n\n const listboxAttrs = computed(() => ({\n id: `${ state.targetUid.value }_lb`,\n role: 'listbox',\n 'aria-multiselectable': props.multiple === true ? 'true' : 'false'\n }))\n\n const selectedScope = computed(() => {\n return innerValue.value.map((opt, i) => ({\n index: i,\n opt,\n html: needsHtmlFn.value(opt),\n selected: true,\n removeAtIndex: removeAtIndexAndFocus,\n toggleOption,\n tabindex: tabindex.value\n }))\n })\n\n const optionScope = computed(() => {\n if (virtualScrollLength.value === 0) {\n return []\n }\n\n const { from, to } = virtualScrollSliceRange.value\n\n return props.options.slice(from, to).map((opt, i) => {\n const disable = isOptionDisabled.value(opt) === true\n const active = isOptionSelected(opt) === true\n const index = from + i\n\n const itemProps = {\n clickable: true,\n active,\n activeClass: computedOptionsSelectedClass.value,\n manualFocus: true,\n focused: false,\n disable,\n tabindex: -1,\n dense: props.optionsDense,\n dark: isOptionsDark.value,\n role: 'option',\n 'aria-selected': active === true ? 'true' : 'false',\n id: `${ state.targetUid.value }_${ index }`,\n onClick: () => { toggleOption(opt) }\n }\n\n if (disable !== true) {\n optionIndex.value === index && (itemProps.focused = true)\n\n if ($q.platform.is.desktop === true) {\n itemProps.onMousemove = () => { menu.value === true && setOptionIndex(index) }\n }\n }\n\n return {\n index,\n opt,\n html: needsHtmlFn.value(opt),\n label: getOptionLabel.value(opt),\n selected: itemProps.active,\n focused: itemProps.focused,\n toggleOption,\n setOptionIndex,\n itemProps\n }\n })\n })\n\n const dropdownArrowIcon = computed(() => (\n props.dropdownIcon !== void 0\n ? props.dropdownIcon\n : $q.iconSet.arrow.dropdown\n ))\n\n const squaredMenu = computed(() =>\n props.optionsCover === false\n && props.outlined !== true\n && props.standout !== true\n && props.borderless !== true\n && props.rounded !== true\n )\n\n const computedOptionsSelectedClass = computed(() => (\n props.optionsSelectedClass !== void 0\n ? props.optionsSelectedClass\n : (props.color !== void 0 ? `text-${ props.color }` : '')\n ))\n\n // returns method to get value of an option;\n // takes into account 'option-value' prop\n const getOptionValue = computed(() => getPropValueFn(props.optionValue, 'value'))\n\n // returns method to get label of an option;\n // takes into account 'option-label' prop\n const getOptionLabel = computed(() => getPropValueFn(props.optionLabel, 'label'))\n\n // returns method to tell if an option is disabled;\n // takes into account 'option-disable' prop\n const isOptionDisabled = computed(() => getPropValueFn(props.optionDisable, 'disable'))\n\n const innerOptionsValue = computed(() => innerValue.value.map(opt => getOptionValue.value(opt)))\n\n const inputControlEvents = computed(() => {\n const evt = {\n onInput,\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n onChange: onComposition,\n onKeydown: onTargetKeydown,\n onKeyup: onTargetAutocomplete,\n onKeypress: onTargetKeypress,\n onFocus: selectInputText,\n onClick (e) { hasDialog === true && stop(e) }\n }\n\n evt.onCompositionstart = evt.onCompositionupdate = evt.onCompositionend = onComposition\n\n return evt\n })\n\n watch(innerValue, val => {\n innerValueCache = val\n\n if (\n props.useInput === true\n && props.fillInput === true\n && props.multiple !== true\n // Prevent re-entering in filter while filtering\n // Also prevent clearing inputValue while filtering\n && state.innerLoading.value !== true\n && ((dialog.value !== true && menu.value !== true) || hasValue.value !== true)\n ) {\n userInputValue !== true && resetInputValue()\n if (dialog.value === true || menu.value === true) {\n filter('')\n }\n }\n }, { immediate: true })\n\n watch(() => props.fillInput, resetInputValue)\n\n watch(menu, updateMenu)\n\n watch(virtualScrollLength, rerenderMenu)\n\n function getEmittingOptionValue (opt) {\n return props.emitValue === true\n ? getOptionValue.value(opt)\n : opt\n }\n\n function removeAtIndex (index) {\n if (index !== -1 && index < innerValue.value.length) {\n if (props.multiple === true) {\n const model = props.modelValue.slice()\n emit('remove', { index, value: model.splice(index, 1)[ 0 ] })\n emit('update:modelValue', model)\n }\n else {\n emit('update:modelValue', null)\n }\n }\n }\n\n function removeAtIndexAndFocus (index) {\n removeAtIndex(index)\n state.focus()\n }\n\n function add (opt, unique) {\n const val = getEmittingOptionValue(opt)\n\n if (props.multiple !== true) {\n props.fillInput === true && updateInputValue(\n getOptionLabel.value(opt),\n true,\n true\n )\n\n emit('update:modelValue', val)\n return\n }\n\n if (innerValue.value.length === 0) {\n emit('add', { index: 0, value: val })\n emit('update:modelValue', props.multiple === true ? [ val ] : val)\n return\n }\n\n if (unique === true && isOptionSelected(opt) === true) {\n return\n }\n\n if (props.maxValues !== void 0 && props.modelValue.length >= props.maxValues) {\n return\n }\n\n const model = props.modelValue.slice()\n\n emit('add', { index: model.length, value: val })\n model.push(val)\n emit('update:modelValue', model)\n }\n\n function toggleOption (opt, keepOpen) {\n if (state.editable.value !== true || opt === void 0 || isOptionDisabled.value(opt) === true) {\n return\n }\n\n const optValue = getOptionValue.value(opt)\n\n if (props.multiple !== true) {\n if (keepOpen !== true) {\n updateInputValue(\n props.fillInput === true ? getOptionLabel.value(opt) : '',\n true,\n true\n )\n\n hidePopup()\n }\n\n targetRef.value !== null && targetRef.value.focus()\n\n if (\n innerValue.value.length === 0\n || isDeepEqual(getOptionValue.value(innerValue.value[ 0 ]), optValue) !== true\n ) {\n emit('update:modelValue', props.emitValue === true ? optValue : opt)\n }\n return\n }\n\n (hasDialog !== true || dialogFieldFocused.value === true) && state.focus()\n\n selectInputText()\n\n if (innerValue.value.length === 0) {\n const val = props.emitValue === true ? optValue : opt\n emit('add', { index: 0, value: val })\n emit('update:modelValue', props.multiple === true ? [ val ] : val)\n return\n }\n\n const\n model = props.modelValue.slice(),\n index = innerOptionsValue.value.findIndex(v => isDeepEqual(v, optValue))\n\n if (index !== -1) {\n emit('remove', { index, value: model.splice(index, 1)[ 0 ] })\n }\n else {\n if (props.maxValues !== void 0 && model.length >= props.maxValues) {\n return\n }\n\n const val = props.emitValue === true ? optValue : opt\n\n emit('add', { index: model.length, value: val })\n model.push(val)\n }\n\n emit('update:modelValue', model)\n }\n\n function setOptionIndex (index) {\n if ($q.platform.is.desktop !== true) return\n\n const val = index !== -1 && index < virtualScrollLength.value\n ? index\n : -1\n\n if (optionIndex.value !== val) {\n optionIndex.value = val\n }\n }\n\n function moveOptionSelection (offset = 1, skipInputValue) {\n if (menu.value === true) {\n let index = optionIndex.value\n do {\n index = normalizeToInterval(\n index + offset,\n -1,\n virtualScrollLength.value - 1\n )\n }\n while (index !== -1 && index !== optionIndex.value && isOptionDisabled.value(props.options[ index ]) === true)\n\n if (optionIndex.value !== index) {\n setOptionIndex(index)\n scrollTo(index)\n\n if (skipInputValue !== true && props.useInput === true && props.fillInput === true) {\n setInputValue(\n index >= 0\n ? getOptionLabel.value(props.options[ index ])\n : defaultInputValue,\n true\n )\n }\n }\n }\n }\n\n function getOption (value, valueCache) {\n const fn = opt => isDeepEqual(getOptionValue.value(opt), value)\n return props.options.find(fn) || valueCache.find(fn) || value\n }\n\n function getPropValueFn (propValue, defaultVal) {\n const val = propValue !== void 0\n ? propValue\n : defaultVal\n\n return typeof val === 'function'\n ? val\n : opt => (opt !== null && typeof opt === 'object' && val in opt ? opt[ val ] : opt)\n }\n\n function isOptionSelected (opt) {\n const val = getOptionValue.value(opt)\n return innerOptionsValue.value.find(v => isDeepEqual(v, val)) !== void 0\n }\n\n function selectInputText (e) {\n if (\n props.useInput === true\n && targetRef.value !== null\n && (e === void 0 || (targetRef.value === e.target && e.target.value === selectedString.value))\n ) {\n targetRef.value.select()\n }\n }\n\n function onTargetKeyup (e) {\n // if ESC and we have an opened menu\n // then stop propagation (might be caught by a QDialog\n // and so it will also close the QDialog, which is wrong)\n if (isKeyCode(e, 27) === true && menu.value === true) {\n stop(e)\n // on ESC we need to close the dialog also\n hidePopup()\n resetInputValue()\n }\n\n emit('keyup', e)\n }\n\n function onTargetAutocomplete (e) {\n const { value } = e.target\n\n if (e.keyCode !== void 0) {\n onTargetKeyup(e)\n return\n }\n\n e.target.value = ''\n\n if (filterTimer !== null) {\n clearTimeout(filterTimer)\n filterTimer = null\n }\n if (inputValueTimer !== null) {\n clearTimeout(inputValueTimer)\n inputValueTimer = null\n }\n\n resetInputValue()\n\n if (typeof value === 'string' && value.length !== 0) {\n const needle = value.toLocaleLowerCase()\n const findFn = extractFn => {\n const option = props.options.find(opt => extractFn.value(opt).toLocaleLowerCase() === needle)\n\n if (option === void 0) {\n return false\n }\n\n if (innerValue.value.indexOf(option) === -1) {\n toggleOption(option)\n }\n else {\n hidePopup()\n }\n\n return true\n }\n const fillFn = afterFilter => {\n if (findFn(getOptionValue) === true) {\n return\n }\n if (findFn(getOptionLabel) === true || afterFilter === true) {\n return\n }\n\n filter(value, true, () => fillFn(true))\n }\n\n fillFn()\n }\n else {\n state.clearValue(e)\n }\n }\n\n function onTargetKeypress (e) {\n emit('keypress', e)\n }\n\n function onTargetKeydown (e) {\n emit('keydown', e)\n\n if (shouldIgnoreKey(e) === true) {\n return\n }\n\n const newValueModeValid = inputValue.value.length !== 0\n && (props.newValueMode !== void 0 || props.onNewValue !== void 0)\n\n const tabShouldSelect = e.shiftKey !== true\n && props.multiple !== true\n && (optionIndex.value !== -1 || newValueModeValid === true)\n\n // escape\n if (e.keyCode === 27) {\n prevent(e) // prevent clearing the inputValue\n return\n }\n\n // tab\n if (e.keyCode === 9 && tabShouldSelect === false) {\n closeMenu()\n return\n }\n\n if (\n e.target === void 0\n || e.target.id !== state.targetUid.value\n || state.editable.value !== true\n ) return\n\n // down\n if (\n e.keyCode === 40\n && state.innerLoading.value !== true\n && menu.value === false\n ) {\n stopAndPrevent(e)\n showPopup()\n return\n }\n\n // backspace\n if (\n e.keyCode === 8\n && (\n props.useChips === true\n || props.clearable === true\n )\n && props.hideSelected !== true\n && inputValue.value.length === 0\n ) {\n if (props.multiple === true && Array.isArray(props.modelValue) === true) {\n removeAtIndex(props.modelValue.length - 1)\n }\n else if (props.multiple !== true && props.modelValue !== null) {\n emit('update:modelValue', null)\n }\n return\n }\n\n // home, end - 36, 35\n if (\n (e.keyCode === 35 || e.keyCode === 36)\n && (typeof inputValue.value !== 'string' || inputValue.value.length === 0)\n ) {\n stopAndPrevent(e)\n optionIndex.value = -1\n moveOptionSelection(e.keyCode === 36 ? 1 : -1, props.multiple)\n }\n\n // pg up, pg down - 33, 34\n if (\n (e.keyCode === 33 || e.keyCode === 34)\n && virtualScrollSliceSizeComputed.value !== void 0\n ) {\n stopAndPrevent(e)\n optionIndex.value = Math.max(\n -1,\n Math.min(\n virtualScrollLength.value,\n optionIndex.value + (e.keyCode === 33 ? -1 : 1) * virtualScrollSliceSizeComputed.value.view\n )\n )\n moveOptionSelection(e.keyCode === 33 ? 1 : -1, props.multiple)\n }\n\n // up, down\n if (e.keyCode === 38 || e.keyCode === 40) {\n stopAndPrevent(e)\n moveOptionSelection(e.keyCode === 38 ? -1 : 1, props.multiple)\n }\n\n const optionsLength = virtualScrollLength.value\n\n // clear search buffer if expired\n if (searchBuffer === void 0 || searchBufferExp < Date.now()) {\n searchBuffer = ''\n }\n\n // keyboard search when not having use-input\n if (\n optionsLength > 0\n && props.useInput !== true\n && e.key !== void 0\n && e.key.length === 1 // printable char\n && e.altKey === false // not kbd shortcut\n && e.ctrlKey === false // not kbd shortcut\n && e.metaKey === false // not kbd shortcut, especially on macOS with Command key\n && (e.keyCode !== 32 || searchBuffer.length !== 0) // space in middle of search\n ) {\n menu.value !== true && showPopup(e)\n\n const\n char = e.key.toLocaleLowerCase(),\n keyRepeat = searchBuffer.length === 1 && searchBuffer[ 0 ] === char\n\n searchBufferExp = Date.now() + 1500\n if (keyRepeat === false) {\n stopAndPrevent(e)\n searchBuffer += char\n }\n\n const searchRe = new RegExp('^' + searchBuffer.split('').map(l => (reEscapeList.indexOf(l) !== -1 ? '\\\\' + l : l)).join('.*'), 'i')\n\n let index = optionIndex.value\n\n if (keyRepeat === true || index < 0 || searchRe.test(getOptionLabel.value(props.options[ index ])) !== true) {\n do {\n index = normalizeToInterval(index + 1, -1, optionsLength - 1)\n }\n while (index !== optionIndex.value && (\n isOptionDisabled.value(props.options[ index ]) === true\n || searchRe.test(getOptionLabel.value(props.options[ index ])) !== true\n ))\n }\n\n if (optionIndex.value !== index) {\n nextTick(() => {\n setOptionIndex(index)\n scrollTo(index)\n\n if (index >= 0 && props.useInput === true && props.fillInput === true) {\n setInputValue(getOptionLabel.value(props.options[ index ]), true)\n }\n })\n }\n\n return\n }\n\n // enter, space (when not using use-input and not in search), or tab (when not using multiple and option selected)\n // same target is checked above\n if (\n e.keyCode !== 13\n && (e.keyCode !== 32 || props.useInput === true || searchBuffer !== '')\n && (e.keyCode !== 9 || tabShouldSelect === false)\n ) return\n\n e.keyCode !== 9 && stopAndPrevent(e)\n\n if (optionIndex.value !== -1 && optionIndex.value < optionsLength) {\n toggleOption(props.options[ optionIndex.value ])\n return\n }\n\n if (newValueModeValid === true) {\n const done = (val, mode) => {\n if (mode) {\n if (validateNewValueMode(mode) !== true) {\n return\n }\n }\n else {\n mode = props.newValueMode\n }\n\n updateInputValue('', props.multiple !== true, true)\n\n if (val === void 0 || val === null) {\n return\n }\n\n const fn = mode === 'toggle' ? toggleOption : add\n fn(val, mode === 'add-unique')\n\n if (props.multiple !== true) {\n targetRef.value !== null && targetRef.value.focus()\n hidePopup()\n }\n }\n\n if (props.onNewValue !== void 0) {\n emit('newValue', inputValue.value, done)\n }\n else {\n done(inputValue.value)\n }\n\n if (props.multiple !== true) {\n return\n }\n }\n\n if (menu.value === true) {\n closeMenu()\n }\n else if (state.innerLoading.value !== true) {\n showPopup()\n }\n }\n\n function getVirtualScrollEl () {\n return hasDialog === true\n ? menuContentRef.value\n : (\n menuRef.value !== null && menuRef.value.contentEl !== null\n ? menuRef.value.contentEl\n : void 0\n )\n }\n\n function getVirtualScrollTarget () {\n return getVirtualScrollEl()\n }\n\n function getSelection () {\n if (props.hideSelected === true) {\n return []\n }\n\n if (slots[ 'selected-item' ] !== void 0) {\n return selectedScope.value.map(scope => slots[ 'selected-item' ](scope)).slice()\n }\n\n if (slots.selected !== void 0) {\n return [].concat(slots.selected())\n }\n\n if (props.useChips === true) {\n return selectedScope.value.map((scope, i) => h(QChip, {\n key: 'option-' + i,\n removable: state.editable.value === true && isOptionDisabled.value(scope.opt) !== true,\n dense: true,\n textColor: props.color,\n tabindex: tabindex.value,\n onRemove () { scope.removeAtIndex(i) }\n }, () => h('span', {\n class: 'ellipsis',\n [ scope.html === true ? 'innerHTML' : 'textContent' ]: getOptionLabel.value(scope.opt)\n })))\n }\n\n return [\n h('span', {\n [ valueAsHtml.value === true ? 'innerHTML' : 'textContent' ]: ariaCurrentValue.value\n })\n ]\n }\n\n function getAllOptions () {\n if (noOptions.value === true) {\n return slots[ 'no-option' ] !== void 0\n ? slots[ 'no-option' ]({ inputValue: inputValue.value })\n : void 0\n }\n\n const fn = slots.option !== void 0\n ? slots.option\n : scope => {\n return h(QItem, {\n key: scope.index,\n ...scope.itemProps\n }, () => {\n return h(\n QItemSection,\n () => h(\n QItemLabel,\n () => h('span', {\n [ scope.html === true ? 'innerHTML' : 'textContent' ]: scope.label\n })\n )\n )\n })\n }\n\n let options = padVirtualScroll('div', optionScope.value.map(fn))\n\n if (slots[ 'before-options' ] !== void 0) {\n options = slots[ 'before-options' ]().concat(options)\n }\n\n return hMergeSlot(slots[ 'after-options' ], options)\n }\n\n function getInput (fromDialog, isTarget) {\n const attrs = isTarget === true ? { ...comboboxAttrs.value, ...state.splitAttrs.attributes.value } : void 0\n\n const data = {\n ref: isTarget === true ? targetRef : void 0,\n key: 'i_t',\n class: computedInputClass.value,\n style: props.inputStyle,\n value: inputValue.value !== void 0 ? inputValue.value : '',\n // required for Android in order to show ENTER key when in form\n type: 'search',\n ...attrs,\n id: isTarget === true ? state.targetUid.value : void 0,\n maxlength: props.maxlength,\n autocomplete: props.autocomplete,\n 'data-autofocus': fromDialog === true || props.autofocus === true || void 0,\n disabled: props.disable === true,\n readonly: props.readonly === true,\n ...inputControlEvents.value\n }\n\n if (fromDialog !== true && hasDialog === true) {\n if (Array.isArray(data.class) === true) {\n data.class = [ ...data.class, 'no-pointer-events' ]\n }\n else {\n data.class += ' no-pointer-events'\n }\n }\n\n return h('input', data)\n }\n\n function onInput (e) {\n if (filterTimer !== null) {\n clearTimeout(filterTimer)\n filterTimer = null\n }\n if (inputValueTimer !== null) {\n clearTimeout(inputValueTimer)\n inputValueTimer = null\n }\n\n if (e && e.target && e.target.qComposing === true) {\n return\n }\n\n setInputValue(e.target.value || '')\n // mark it here as user input so that if updateInputValue is called\n // before filter is called the indicator is reset\n userInputValue = true\n defaultInputValue = inputValue.value\n\n if (\n state.focused.value !== true\n && (hasDialog !== true || dialogFieldFocused.value === true)\n ) {\n state.focus()\n }\n\n if (props.onFilter !== void 0) {\n filterTimer = setTimeout(() => {\n filterTimer = null\n filter(inputValue.value)\n }, props.inputDebounce)\n }\n }\n\n function setInputValue (val, emitImmediately) {\n if (inputValue.value !== val) {\n inputValue.value = val\n\n if (emitImmediately === true || props.inputDebounce === 0 || props.inputDebounce === '0') {\n emit('inputValue', val)\n }\n else {\n inputValueTimer = setTimeout(() => {\n inputValueTimer = null\n emit('inputValue', val)\n }, props.inputDebounce)\n }\n }\n }\n\n function updateInputValue (val, noFiltering, internal) {\n userInputValue = internal !== true\n\n if (props.useInput === true) {\n setInputValue(val, true)\n\n if (noFiltering === true || internal !== true) {\n defaultInputValue = val\n }\n\n noFiltering !== true && filter(val)\n }\n }\n\n function filter (val, keepClosed, afterUpdateFn) {\n if (props.onFilter === void 0 || (keepClosed !== true && state.focused.value !== true)) {\n return\n }\n\n if (state.innerLoading.value === true) {\n emit('filterAbort')\n }\n else {\n state.innerLoading.value = true\n innerLoadingIndicator.value = true\n }\n\n if (\n val !== ''\n && props.multiple !== true\n && innerValue.value.length !== 0\n && userInputValue !== true\n && val === getOptionLabel.value(innerValue.value[ 0 ])\n ) {\n val = ''\n }\n\n const localFilterId = setTimeout(() => {\n menu.value === true && (menu.value = false)\n }, 10)\n\n filterId !== null && clearTimeout(filterId)\n filterId = localFilterId\n\n emit(\n 'filter',\n val,\n (fn, afterFn) => {\n if ((keepClosed === true || state.focused.value === true) && filterId === localFilterId) {\n clearTimeout(filterId)\n\n typeof fn === 'function' && fn()\n\n // hide indicator to allow arrow to animate\n innerLoadingIndicator.value = false\n\n nextTick(() => {\n state.innerLoading.value = false\n\n if (state.editable.value === true) {\n if (keepClosed === true) {\n menu.value === true && hidePopup()\n }\n else if (menu.value === true) {\n updateMenu(true)\n }\n else {\n menu.value = true\n }\n }\n\n typeof afterFn === 'function' && nextTick(() => { afterFn(proxy) })\n typeof afterUpdateFn === 'function' && nextTick(() => { afterUpdateFn(proxy) })\n })\n }\n },\n () => {\n if (state.focused.value === true && filterId === localFilterId) {\n clearTimeout(filterId)\n state.innerLoading.value = false\n innerLoadingIndicator.value = false\n }\n menu.value === true && (menu.value = false)\n }\n )\n }\n\n function getMenu () {\n return h(QMenu, {\n ref: menuRef,\n class: menuContentClass.value,\n style: props.popupContentStyle,\n modelValue: menu.value,\n fit: props.menuShrink !== true,\n cover: props.optionsCover === true && noOptions.value !== true && props.useInput !== true,\n anchor: props.menuAnchor,\n self: props.menuSelf,\n offset: props.menuOffset,\n dark: isOptionsDark.value,\n noParentEvent: true,\n noRefocus: true,\n noFocus: true,\n noRouteDismiss: props.popupNoRouteDismiss,\n square: squaredMenu.value,\n transitionShow: props.transitionShow,\n transitionHide: props.transitionHide,\n transitionDuration: props.transitionDuration,\n separateClosePopup: true,\n ...listboxAttrs.value,\n onScrollPassive: onVirtualScrollEvt,\n onBeforeShow: onControlPopupShow,\n onBeforeHide: onMenuBeforeHide,\n onShow: onMenuShow\n }, getAllOptions)\n }\n\n function onMenuBeforeHide (e) {\n onControlPopupHide(e)\n closeMenu()\n }\n\n function onMenuShow () {\n setVirtualScrollSize()\n }\n\n function onDialogFieldFocus (e) {\n stop(e)\n targetRef.value !== null && targetRef.value.focus()\n dialogFieldFocused.value = true\n window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, 0)\n }\n\n function onDialogFieldBlur (e) {\n stop(e)\n nextTick(() => {\n dialogFieldFocused.value = false\n })\n }\n\n function getDialog () {\n const content = [\n h(QField, {\n class: `col-auto ${ state.fieldClass.value }`,\n ...innerFieldProps.value,\n for: state.targetUid.value,\n dark: isOptionsDark.value,\n square: true,\n loading: innerLoadingIndicator.value,\n itemAligned: false,\n filled: true,\n stackLabel: inputValue.value.length !== 0,\n ...state.splitAttrs.listeners.value,\n onFocus: onDialogFieldFocus,\n onBlur: onDialogFieldBlur\n }, {\n ...slots,\n rawControl: () => state.getControl(true),\n before: void 0,\n after: void 0\n })\n ]\n\n menu.value === true && content.push(\n h('div', {\n ref: menuContentRef,\n class: menuContentClass.value + ' scroll',\n style: props.popupContentStyle,\n ...listboxAttrs.value,\n onClick: prevent,\n onScrollPassive: onVirtualScrollEvt\n }, getAllOptions())\n )\n\n return h(QDialog, {\n ref: dialogRef,\n modelValue: dialog.value,\n position: props.useInput === true ? 'top' : void 0,\n transitionShow: transitionShowComputed,\n transitionHide: props.transitionHide,\n transitionDuration: props.transitionDuration,\n noRouteDismiss: props.popupNoRouteDismiss,\n onBeforeShow: onControlPopupShow,\n onBeforeHide: onDialogBeforeHide,\n onHide: onDialogHide,\n onShow: onDialogShow\n }, () => h('div', {\n class: 'q-select__dialog'\n + (isOptionsDark.value === true ? ' q-select__dialog--dark q-dark' : '')\n + (dialogFieldFocused.value === true ? ' q-select__dialog--focused' : '')\n }, content))\n }\n\n function onDialogBeforeHide (e) {\n onControlPopupHide(e)\n\n if (dialogRef.value !== null) {\n dialogRef.value.__updateRefocusTarget(\n state.rootRef.value.querySelector('.q-field__native > [tabindex]:last-child')\n )\n }\n\n state.focused.value = false\n }\n\n function onDialogHide (e) {\n hidePopup()\n state.focused.value === false && emit('blur', e)\n resetInputValue()\n }\n\n function onDialogShow () {\n const el = document.activeElement\n if (\n (el === null || el.id !== state.targetUid.value)\n && targetRef.value !== null\n && targetRef.value !== el\n ) {\n targetRef.value.focus()\n }\n\n setVirtualScrollSize()\n }\n\n function closeMenu () {\n if (dialog.value === true) {\n return\n }\n\n optionIndex.value = -1\n\n if (menu.value === true) {\n menu.value = false\n }\n\n if (state.focused.value === false) {\n if (filterId !== null) {\n clearTimeout(filterId)\n filterId = null\n }\n\n if (state.innerLoading.value === true) {\n emit('filterAbort')\n state.innerLoading.value = false\n innerLoadingIndicator.value = false\n }\n }\n }\n\n function showPopup (e) {\n if (state.editable.value !== true) {\n return\n }\n\n if (hasDialog === true) {\n state.onControlFocusin(e)\n dialog.value = true\n nextTick(() => {\n state.focus()\n })\n }\n else {\n state.focus()\n }\n\n if (props.onFilter !== void 0) {\n filter(inputValue.value)\n }\n else if (noOptions.value !== true || slots[ 'no-option' ] !== void 0) {\n menu.value = true\n }\n }\n\n function hidePopup () {\n dialog.value = false\n closeMenu()\n }\n\n function resetInputValue () {\n props.useInput === true && updateInputValue(\n props.multiple !== true && props.fillInput === true && innerValue.value.length !== 0\n ? getOptionLabel.value(innerValue.value[ 0 ]) || ''\n : '',\n true,\n true\n )\n }\n\n function updateMenu (show) {\n let optionIndex = -1\n\n if (show === true) {\n if (innerValue.value.length !== 0) {\n const val = getOptionValue.value(innerValue.value[ 0 ])\n optionIndex = props.options.findIndex(v => isDeepEqual(getOptionValue.value(v), val))\n }\n\n localResetVirtualScroll(optionIndex)\n }\n\n setOptionIndex(optionIndex)\n }\n\n function rerenderMenu (newLength, oldLength) {\n if (menu.value === true && state.innerLoading.value === false) {\n localResetVirtualScroll(-1, true)\n\n nextTick(() => {\n if (menu.value === true && state.innerLoading.value === false) {\n if (newLength > oldLength) {\n localResetVirtualScroll()\n }\n else {\n updateMenu(true)\n }\n }\n })\n }\n }\n\n function updateMenuPosition () {\n if (dialog.value === false && menuRef.value !== null) {\n menuRef.value.updatePosition()\n }\n }\n\n function onControlPopupShow (e) {\n e !== void 0 && stop(e)\n emit('popupShow', e)\n state.hasPopupOpen = true\n state.onControlFocusin(e)\n }\n\n function onControlPopupHide (e) {\n e !== void 0 && stop(e)\n emit('popupHide', e)\n state.hasPopupOpen = false\n state.onControlFocusout(e)\n }\n\n function updatePreState () {\n hasDialog = $q.platform.is.mobile !== true && props.behavior !== 'dialog'\n ? false\n : props.behavior !== 'menu' && (\n props.useInput === true\n ? slots[ 'no-option' ] !== void 0 || props.onFilter !== void 0 || noOptions.value === false\n : true\n )\n\n transitionShowComputed = $q.platform.is.ios === true && hasDialog === true && props.useInput === true\n ? 'fade'\n : props.transitionShow\n }\n\n onBeforeUpdate(updatePreState)\n onUpdated(updateMenuPosition)\n\n updatePreState()\n\n onBeforeUnmount(() => {\n filterTimer !== null && clearTimeout(filterTimer)\n inputValueTimer !== null && clearTimeout(inputValueTimer)\n })\n\n // expose public methods\n Object.assign(proxy, {\n showPopup, hidePopup,\n removeAtIndex, add, toggleOption,\n getOptionIndex: () => optionIndex.value,\n setOptionIndex, moveOptionSelection,\n filter, updateMenuPosition, updateInputValue,\n isOptionSelected,\n getEmittingOptionValue,\n isOptionDisabled: (...args) => isOptionDisabled.value.apply(null, args) === true,\n getOptionValue: (...args) => getOptionValue.value.apply(null, args),\n getOptionLabel: (...args) => getOptionLabel.value.apply(null, args)\n })\n\n Object.assign(state, {\n innerValue,\n\n fieldClass: computed(() =>\n `q-select q-field--auto-height q-select--with${ props.useInput !== true ? 'out' : '' }-input`\n + ` q-select--with${ props.useChips !== true ? 'out' : '' }-chips`\n + ` q-select--${ props.multiple === true ? 'multiple' : 'single' }`\n ),\n\n inputRef,\n targetRef,\n hasValue,\n showPopup,\n\n floatingLabel: computed(() =>\n (props.hideSelected !== true && hasValue.value === true)\n || typeof inputValue.value === 'number'\n || inputValue.value.length !== 0\n || fieldValueIsFilled(props.displayValue)\n ),\n\n getControlChild: () => {\n if (\n state.editable.value !== false && (\n dialog.value === true // dialog always has menu displayed, so need to render it\n || noOptions.value !== true\n || slots[ 'no-option' ] !== void 0\n )\n ) {\n return hasDialog === true ? getDialog() : getMenu()\n }\n else if (state.hasPopupOpen === true) {\n // explicitly set it otherwise TAB will not blur component\n state.hasPopupOpen = false\n }\n },\n\n controlEvents: {\n onFocusin (e) { state.onControlFocusin(e) },\n onFocusout (e) {\n state.onControlFocusout(e, () => {\n resetInputValue()\n closeMenu()\n })\n },\n onClick (e) {\n // label from QField will propagate click on the input\n prevent(e)\n\n if (hasDialog !== true && menu.value === true) {\n closeMenu()\n targetRef.value !== null && targetRef.value.focus()\n return\n }\n\n showPopup(e)\n }\n },\n\n getControl: fromDialog => {\n const child = getSelection()\n const isTarget = fromDialog === true || dialog.value !== true || hasDialog !== true\n\n if (props.useInput === true) {\n child.push(getInput(fromDialog, isTarget))\n }\n // there can be only one (when dialog is opened the control in dialog should be target)\n else if (state.editable.value === true) {\n const attrs = isTarget === true ? comboboxAttrs.value : void 0\n\n child.push(\n h('input', {\n ref: isTarget === true ? targetRef : void 0,\n key: 'd_t',\n class: 'q-select__focus-target',\n id: isTarget === true ? state.targetUid.value : void 0,\n value: ariaCurrentValue.value,\n readonly: true,\n 'data-autofocus': fromDialog === true || props.autofocus === true || void 0,\n ...attrs,\n onKeydown: onTargetKeydown,\n onKeyup: onTargetKeyup,\n onKeypress: onTargetKeypress\n })\n )\n\n if (isTarget === true && typeof props.autocomplete === 'string' && props.autocomplete.length !== 0) {\n child.push(\n h('input', {\n class: 'q-select__autocomplete-input',\n autocomplete: props.autocomplete,\n tabindex: -1,\n onKeyup: onTargetAutocomplete\n })\n )\n }\n }\n\n if (nameProp.value !== void 0 && props.disable !== true && innerOptionsValue.value.length !== 0) {\n const opts = innerOptionsValue.value.map(value => h('option', { value, selected: true }))\n\n child.push(\n h('select', {\n class: 'hidden',\n name: nameProp.value,\n multiple: props.multiple\n }, opts)\n )\n }\n\n const attrs = props.useInput === true || isTarget !== true ? void 0 : state.splitAttrs.attributes.value\n\n return h('div', {\n class: 'q-field__native row items-center',\n ...attrs,\n ...state.splitAttrs.listeners.value\n }, child)\n },\n\n getInnerAppend: () => (\n props.loading !== true && innerLoadingIndicator.value !== true && props.hideDropdownIcon !== true\n ? [\n h(QIcon, {\n class: 'q-select__dropdown-icon' + (menu.value === true ? ' rotate-180' : ''),\n name: dropdownArrowIcon.value\n })\n ]\n : null\n )\n })\n\n return useField(state)\n }\n})\n"],"sourceRoot":""}