{"version":3,"sources":["webpack:///./node_modules/primevue/overlayeventbus/overlayeventbus.esm.js","webpack:///./node_modules/primevue/autocomplete/autocomplete.esm.js","webpack:///./node_modules/primevue/virtualscroller/virtualscroller.esm.js","webpack:///./node_modules/primevue/portal/portal.esm.js"],"names":["OverlayEventBus","script","name","emits","props","modelValue","suggestions","type","Array","default","field","String","Function","optionLabel","optionDisabled","optionGroupLabel","optionGroupChildren","scrollHeight","dropdown","Boolean","dropdownMode","autoHighlight","multiple","disabled","placeholder","dataKey","minLength","Number","delay","appendTo","forceSelection","completeOnFocus","inputId","inputStyle","inputClass","inputProps","panelStyle","panelClass","panelProps","dropdownIcon","loadingIcon","removeTokenIcon","virtualScrollerOptions","Object","autoOptionFocus","selectOnFocus","searchLocale","undefined","searchMessage","selectionMessage","emptySelectionMessage","emptySearchMessage","tabindex","outsideClickListener","resizeListener","scrollHandler","overlay","virtualScroller","searchTimeout","focusOnHover","dirty","focused","focusedOptionIndex","focusedMultipleOptionIndex","overlayVisible","searching","watch","this","isNotEmpty","show","hide","findFirstFocusedOptionIndex","autoUpdateModel","alignOverlay","unbindOutsideClickListener","unbindResizeListener","destroy","clear","methods","index","fn","virtualScrollerDisabled","option","resolveFieldData","getOptionLabel","optionGroup","group","visibleOptions","slice","filter","isOptionGroup","length","isFocus","$emit","focus","$refs","focusInput","_hide","setTimeout","event","search","target","value","scrollInView","code","onArrowDownKey","onArrowUpKey","onArrowLeftKey","onArrowRightKey","onHomeKey","onEndKey","onPageDownKey","onPageUpKey","onEnterKey","onEscapeKey","onTabKey","onBackspaceKey","clearTimeout","query","updateModel","valid","matchedValue","find","isOptionMatched","isSelected","onOptionSelect","onArrowLeftKeyOnMultiple","onArrowRightKeyOnMultiple","onBackspaceKeyOnMultiple","isInputClicked","isDropdownClicked","contains","originalEvent","isHide","getOptionValue","changeFocusedOptionIndex","emit","$el","optionIndex","findNextOptionIndex","preventDefault","altKey","findPrevOptionIndex","findLastFocusedOptionIndex","currentTarget","isEmpty","hasSelectedOption","multiContainer","stopPropagation","len","shiftKey","setSelectionRange","removedValue","newValue","removeOption","el","set","$primevue","config","zIndex","bindOutsideClickListener","bindScrollListener","bindResizeListener","unbindScrollListener","relativePosition","style","minWidth","getOuterWidth","absolutePosition","isOutsideClicked","document","addEventListener","removeEventListener","container","isTouchDevice","window","dropdownButton","isValidOption","toLocaleLowerCase","isOptionDisabled","equals","equalityKey","findIndex","findLastIndex","matchedOptionIndex","isValidSelectedOption","selectedIndex","findSelectedOptionIndex","findFirstOptionIndex","findLastOptionIndex","source","trim","removedOption","_","i","map","id","focusedOptionId","element","findSingle","list","scrollIntoView","block","inline","scrollToIndex","options","reduce","result","push","getOptionGroupChildren","forEach","o","contentRef","computed","inputValue","ripple","flatOptions","label","searchMessageText","replaceAll","emptySearchMessageText","locale","selectionMessageText","emptySelectionMessageText","$attrs","components","Button","VirtualScroller","Portal","directives","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","class","_hoisted_5","_hoisted_6","role","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","render","_ctx","_cache","$props","$setup","$data","$options","_component_Button","_component_VirtualScroller","_component_Portal","_directive_ripple","ref","containerClass","onClick","args","onContainerClick","key","inputStyleClass","autocomplete","ariaLabel","ariaLabelledby","onFocus","onBlur","onKeydown","onKeyDown","onInput","onChange","multiContainerClass","focusedMultipleOptionId","onMultipleContainerFocus","onMultipleContainerBlur","onMultipleContainerKeyDown","$slots","$event","loadingIconClass","icon","onDropdownClick","searchResultMessageText","onEnter","onOverlayEnter","onAfterEnter","onOverlayAfterEnter","onLeave","onOverlayLeave","onAfterLeave","onOverlayAfterLeave","overlayRef","panelStyleClass","onOverlayClick","onOverlayKeyDown","virtualScrollerRef","height","items","content","styleClass","getItemOptions","contentStyle","itemSize","listRef","getOptionRenderKey","getOptionIndex","item","getOptionGroupLabel","ariaSetSize","getAriaPosInset","onMousemove","onOptionMouseMove","selectedMessageText","styleInject","css","insertAt","head","getElementsByTagName","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","css_248z","scrollWidth","orientation","numToleratedItems","lazy","loaderDisabled","columns","loading","showSpacer","showLoader","first","isBoth","rows","cols","last","numItemsInViewport","lastScrollPos","top","left","d_numToleratedItems","d_loading","loaderArr","spacerStyle","scrollTimeout","oldValue","init","setSize","calculateOptions","setSpacerSize","scrollTo","behavior","both","horizontal","isHorizontal","calculateNumItems","calculateFirst","_index","_numT","calculateCoord","_first","_size","newFirst","to","viewport","getRenderedRange","isToStart","isToEnd","pos","calculateFirstInViewport","_pos","Math","floor","firstInViewport","lastInViewport","scrollTop","scrollLeft","scrollPos","contentPos","getContentPosition","contentWidth","offsetWidth","contentHeight","offsetHeight","calculateNumItemsInViewport","_contentSize","_itemSize","ceil","calculateNumToleratedItems","_numItems","calculateLast","_num","_isCols","getLast","from","isCols","min","getComputedStyle","parseInt","paddingLeft","max","right","paddingRight","paddingTop","bottom","paddingBottom","x","y","parentElement","width","setProp","_name","_value","_cpos","calculateTranslateVal","setTransform","_x","_y","transform","translateVal","calculateScrollPos","calculateCurrentIndex","calculateTriggerIndex","_currentIndex","_last","_isScrollDownOrRight","_triggerIndex","lastValue","newLast","isRangeChanged","newScrollPos","isScrollDown","isScrollRight","currentIndex","triggerIndex","isScrollDownOrRight","onScrollPositionChange","newState","setContentPosition","changed","onScrollChange","renderedIndex","count","even","odd","extOptions","loader","loadedItems","loadedColumns","elementRef","onScroll","contentClass","getOptions","getLoaderOptions","loadedRows","vertical","isVertical","loaderClass","numCols","d_numItemsInViewport","mounted","isClient"],"mappings":"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","file":"js/chunk-6ac2c655.a106411b.js","sourcesContent":["import { EventBus } from 'primevue/utils';\n\nvar OverlayEventBus = EventBus();\n\nexport { OverlayEventBus as default };\n","import Button from 'primevue/button';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport { ObjectUtils, ZIndexUtils, DomHandler, ConnectedOverlayScrollHandler, UniqueComponentId } from 'primevue/utils';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport { resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, mergeProps, createCommentVNode, Fragment, renderList, renderSlot, createElementVNode, toDisplayString, createBlock, createVNode, withCtx, Transition, createSlots, normalizeStyle, createTextVNode, withDirectives } from 'vue';\n\nvar script = {\n name: 'AutoComplete',\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'item-select', 'item-unselect', 'dropdown-click', 'clear', 'complete', 'before-show', 'before-hide', 'show', 'hide'],\n props: {\n modelValue: null,\n suggestions: {\n type: Array,\n default: null\n },\n field: {\n // TODO: Deprecated since v3.16.0\n type: [String, Function],\n default: null\n },\n optionLabel: null,\n optionDisabled: null,\n optionGroupLabel: null,\n optionGroupChildren: null,\n scrollHeight: {\n type: String,\n default: '200px'\n },\n dropdown: {\n type: Boolean,\n default: false\n },\n dropdownMode: {\n type: String,\n default: 'blank'\n },\n autoHighlight: {\n // TODO: Deprecated since v3.16.0. Use selectOnFocus property instead.\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: null\n },\n dataKey: {\n type: String,\n default: null\n },\n minLength: {\n type: Number,\n default: 1\n },\n delay: {\n type: Number,\n default: 300\n },\n appendTo: {\n type: String,\n default: 'body'\n },\n forceSelection: {\n type: Boolean,\n default: false\n },\n completeOnFocus: {\n type: Boolean,\n default: false\n },\n inputId: {\n type: String,\n default: null\n },\n inputStyle: {\n type: null,\n default: null\n },\n inputClass: {\n type: String,\n default: null\n },\n inputProps: {\n type: null,\n default: null\n },\n panelStyle: {\n type: null,\n default: null\n },\n panelClass: {\n type: String,\n default: null\n },\n panelProps: {\n type: null,\n default: null\n },\n dropdownIcon: {\n type: String,\n default: 'pi pi-chevron-down'\n },\n loadingIcon: {\n type: String,\n default: 'pi pi-spinner'\n },\n removeTokenIcon: {\n type: String,\n default: 'pi pi-times-circle'\n },\n virtualScrollerOptions: {\n type: Object,\n default: null\n },\n autoOptionFocus: {\n type: Boolean,\n default: true\n },\n selectOnFocus: {\n type: Boolean,\n default: false\n },\n searchLocale: {\n type: String,\n default: undefined\n },\n searchMessage: {\n type: String,\n default: null\n },\n selectionMessage: {\n type: String,\n default: null\n },\n emptySelectionMessage: {\n type: String,\n default: null\n },\n emptySearchMessage: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: 0\n },\n 'aria-label': {\n type: String,\n default: null\n },\n 'aria-labelledby': {\n type: String,\n default: null\n }\n },\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n virtualScroller: null,\n searchTimeout: null,\n focusOnHover: false,\n dirty: false,\n data() {\n return {\n focused: false,\n focusedOptionIndex: -1,\n focusedMultipleOptionIndex: -1,\n overlayVisible: false,\n searching: false\n };\n },\n watch: {\n suggestions() {\n if (this.searching) {\n ObjectUtils.isNotEmpty(this.suggestions) ? this.show() : this.hide();\n this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.searching = false;\n }\n\n this.autoUpdateModel();\n }\n },\n mounted() {\n this.autoUpdateModel();\n },\n updated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndexUtils.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel(option) {\n return this.field || this.optionLabel ? ObjectUtils.resolveFieldData(option, this.field || this.optionLabel) : option;\n },\n getOptionValue(option) {\n return option; // TODO: The 'optionValue' properties can be added.\n },\n getOptionRenderKey(option, index) {\n return (this.dataKey ? ObjectUtils.resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n isOptionDisabled(option) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel(optionGroup) {\n return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren(optionGroup) {\n return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset(index) {\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;\n },\n show(isFocus) {\n this.$emit('before-show');\n this.dirty = true;\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n\n isFocus && DomHandler.focus(this.$refs.focusInput);\n },\n hide(isFocus) {\n const _hide = () => {\n this.$emit('before-hide');\n this.dirty = isFocus;\n this.overlayVisible = false;\n this.focusedOptionIndex = -1;\n\n isFocus && DomHandler.focus(this.$refs.focusInput);\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus(event) {\n if (!this.dirty && this.completeOnFocus) {\n this.search(event, event.target.value, 'focus');\n }\n\n this.dirty = true;\n this.focused = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex);\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n }\n },\n onInput(event) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = event.target.value;\n\n if (!this.multiple) {\n this.updateModel(event, query);\n }\n\n if (query.length === 0) {\n this.hide();\n this.$emit('clear');\n } else {\n if (query.length >= this.minLength) {\n this.focusedOptionIndex = -1;\n\n this.searchTimeout = setTimeout(() => {\n this.search(event, query, 'input');\n }, this.delay);\n } else {\n this.hide();\n }\n }\n },\n onChange(event) {\n if (this.forceSelection) {\n let valid = false;\n\n if (this.visibleOptions) {\n const matchedValue = this.visibleOptions.find((option) => this.isOptionMatched(option, event.target.value));\n\n if (matchedValue !== undefined) {\n valid = true;\n !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);\n }\n }\n\n if (!valid) {\n this.$refs.focusInput.value = '';\n this.$emit('clear');\n !this.multiple && this.updateModel(event, null);\n }\n }\n },\n onMultipleContainerFocus() {\n this.focused = true;\n },\n onMultipleContainerBlur() {\n this.focusedMultipleOptionIndex = -1;\n this.focused = false;\n },\n onMultipleContainerKeyDown(event) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n }\n },\n onContainerClick(event) {\n if (this.disabled || this.searching || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n if (!this.overlay || !this.overlay.contains(event.target)) {\n DomHandler.focus(this.$refs.focusInput);\n }\n },\n onDropdownClick(event) {\n let query = undefined;\n\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n DomHandler.focus(this.$refs.focusInput);\n query = this.$refs.focusInput.value;\n\n if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');\n else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n\n this.$emit('dropdown-click', { originalEvent: event, query });\n },\n onOptionSelect(event, option, isHide = true) {\n const value = this.getOptionValue(option);\n\n if (this.multiple) {\n this.$refs.focusInput.value = '';\n\n if (!this.isSelected(option)) {\n this.updateModel(event, [...(this.modelValue || []), value]);\n }\n } else {\n this.updateModel(event, value);\n }\n\n this.$emit('item-select', { originalEvent: event, value: option });\n\n isHide && this.hide(true);\n },\n onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n }\n },\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n const optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n },\n onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n if (event.altKey) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n }\n },\n onArrowLeftKey(event) {\n const target = event.currentTarget;\n\n this.focusedOptionIndex = -1;\n\n if (this.multiple) {\n if (ObjectUtils.isEmpty(target.value) && this.hasSelectedOption) {\n DomHandler.focus(this.$refs.multiContainer);\n this.focusedMultipleOptionIndex = this.modelValue.length;\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n },\n onArrowRightKey(event) {\n this.focusedOptionIndex = -1;\n\n this.multiple && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n },\n onHomeKey(event) {\n const target = event.currentTarget;\n const len = target.value.length;\n\n if (event.shiftKey) {\n event.currentTarget.setSelectionRange(0, len);\n } else {\n event.currentTarget.setSelectionRange(0, 0);\n }\n\n this.focusedOptionIndex = -1;\n\n event.preventDefault();\n },\n onEndKey(event) {\n const target = event.currentTarget;\n const len = target.value.length;\n\n if (event.shiftKey) {\n event.currentTarget.setSelectionRange(0, len);\n } else {\n target.setSelectionRange(len, len);\n }\n\n this.focusedOptionIndex = -1;\n\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n if (!this.overlayVisible) {\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.hide();\n }\n\n event.preventDefault();\n },\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n },\n onTabKey(event) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide();\n },\n onBackspaceKey(event) {\n if (this.multiple) {\n if (ObjectUtils.isNotEmpty(this.modelValue) && !this.$refs.focusInput.value) {\n const removedValue = this.modelValue[this.modelValue.length - 1];\n const newValue = this.modelValue.slice(0, -1);\n\n this.$emit('update:modelValue', newValue);\n this.$emit('item-unselect', { originalEvent: event, value: removedValue });\n }\n\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n },\n onArrowLeftKeyOnMultiple() {\n this.focusedMultipleOptionIndex = this.focusedMultipleOptionIndex < 1 ? 0 : this.focusedMultipleOptionIndex - 1;\n },\n onArrowRightKeyOnMultiple() {\n this.focusedMultipleOptionIndex++;\n\n if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) {\n this.focusedMultipleOptionIndex = -1;\n DomHandler.focus(this.$refs.focusInput);\n }\n },\n onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex);\n }\n },\n onOverlayEnter(el) {\n ZIndexUtils.set('overlay', el, this.$primevue.config.zIndex.overlay);\n this.alignOverlay();\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndexUtils.clear(el);\n },\n alignOverlay() {\n let target = this.multiple ? this.$refs.multiContainer : this.$refs.focusInput;\n\n if (this.appendTo === 'self') {\n DomHandler.relativePosition(this.overlay, target);\n } else {\n this.overlay.style.minWidth = DomHandler.getOuterWidth(target) + 'px';\n DomHandler.absolutePosition(this.overlay, target);\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && this.overlay && this.isOutsideClicked(event)) {\n this.hide();\n }\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isOutsideClicked(event) {\n return !this.overlay.contains(event.target) && !this.isInputClicked(event) && !this.isDropdownClicked(event);\n },\n isInputClicked(event) {\n if (this.multiple) return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target);\n else return event.target === this.$refs.focusInput;\n },\n isDropdownClicked(event) {\n return this.$refs.dropdownButton ? event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.$el.contains(event.target) : false;\n },\n isOptionMatched(option, value) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);\n },\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isSelected(option) {\n return ObjectUtils.equals(this.modelValue, this.getOptionValue(option), this.equalityKey);\n },\n findFirstOptionIndex() {\n return this.visibleOptions.findIndex((option) => this.isValidOption(option));\n },\n findLastOptionIndex() {\n return ObjectUtils.findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));\n },\n findNextOptionIndex(index) {\n const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n },\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n },\n findSelectedOptionIndex() {\n return this.hasSelectedOption ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;\n },\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n\n this.searching = true;\n this.$emit('complete', { originalEvent: event, query });\n },\n removeOption(event, index) {\n const removedOption = this.modelValue[index];\n const value = this.modelValue.filter((_, i) => i !== index).map((option) => this.getOptionValue(option));\n\n this.updateModel(event, value);\n this.$emit('item-unselect', { originalEvent: event, value: removedOption });\n this.dirty = true;\n DomHandler.focus(this.$refs.focusInput);\n },\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n\n if (this.selectOnFocus || this.autoHighlight) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n const element = DomHandler.findSingle(this.list, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroller && this.virtualScroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex);\n }, 0);\n }\n },\n autoUpdateModel() {\n if ((this.selectOnFocus || this.autoHighlight) && this.autoOptionFocus && !this.hasSelectedOption) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel(event, value) {\n this.$emit('update:modelValue', value);\n this.$emit('change', { originalEvent: event, value });\n },\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n },\n overlayRef(el) {\n this.overlay = el;\n },\n listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n containerClass() {\n return [\n 'p-autocomplete p-component p-inputwrapper',\n {\n 'p-disabled': this.disabled,\n 'p-focus': this.focused,\n 'p-autocomplete-dd': this.dropdown,\n 'p-autocomplete-multiple': this.multiple,\n 'p-inputwrapper-filled': this.modelValue || ObjectUtils.isNotEmpty(this.inputValue),\n 'p-inputwrapper-focus': this.focused,\n 'p-overlay-open': this.overlayVisible\n }\n ];\n },\n inputStyleClass() {\n return [\n 'p-autocomplete-input p-inputtext p-component',\n this.inputClass,\n {\n 'p-autocomplete-dd-input': this.dropdown\n }\n ];\n },\n multiContainerClass() {\n return ['p-autocomplete-multiple-container p-component p-inputtext'];\n },\n panelStyleClass() {\n return [\n 'p-autocomplete-panel p-component',\n this.panelClass,\n {\n 'p-input-filled': this.$primevue.config.inputStyle === 'filled',\n 'p-ripple-disabled': this.$primevue.config.ripple === false\n }\n ];\n },\n loadingIconClass() {\n return ['p-autocomplete-loader pi-spin', this.loadingIcon];\n },\n visibleOptions() {\n return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || [];\n },\n inputValue() {\n if (this.modelValue) {\n if (typeof this.modelValue === 'object') {\n const label = this.getOptionLabel(this.modelValue);\n\n return label != null ? label : this.modelValue;\n } else {\n return this.modelValue;\n }\n } else {\n return '';\n }\n },\n hasSelectedOption() {\n return ObjectUtils.isNotEmpty(this.modelValue);\n },\n equalityKey() {\n return this.dataKey; // TODO: The 'optionValue' properties can be added.\n },\n searchResultMessageText() {\n return ObjectUtils.isNotEmpty(this.visibleOptions) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptySearchMessageText;\n },\n searchMessageText() {\n return this.searchMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptySearchMessageText() {\n return this.emptySearchMessage || this.$primevue.config.locale.emptySearchMessage || '';\n },\n selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText() {\n return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue.length : '1') : this.emptySelectionMessageText;\n },\n id() {\n return this.$attrs.id || UniqueComponentId();\n },\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? `${this.id}_${this.focusedOptionIndex}` : null;\n },\n focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex !== -1 ? `${this.id}_multiple_option_${this.focusedMultipleOptionIndex}` : null;\n },\n ariaSetSize() {\n return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;\n },\n virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n }\n },\n components: {\n Button: Button,\n VirtualScroller: VirtualScroller,\n Portal: Portal\n },\n directives: {\n ripple: Ripple\n }\n};\n\nconst _hoisted_1 = [\"id\", \"value\", \"placeholder\", \"tabindex\", \"disabled\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\"];\nconst _hoisted_2 = [\"aria-activedescendant\"];\nconst _hoisted_3 = [\"id\", \"aria-label\", \"aria-setsize\", \"aria-posinset\"];\nconst _hoisted_4 = { class: \"p-autocomplete-token-label\" };\nconst _hoisted_5 = [\"onClick\"];\nconst _hoisted_6 = {\n class: \"p-autocomplete-input-token\",\n role: \"option\"\n};\nconst _hoisted_7 = [\"id\", \"placeholder\", \"tabindex\", \"disabled\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\"];\nconst _hoisted_8 = {\n role: \"status\",\n \"aria-live\": \"polite\",\n class: \"p-hidden-accessible\"\n};\nconst _hoisted_9 = [\"id\"];\nconst _hoisted_10 = [\"id\"];\nconst _hoisted_11 = [\"id\", \"aria-label\", \"aria-selected\", \"aria-disabled\", \"aria-setsize\", \"aria-posinset\", \"onClick\", \"onMousemove\"];\nconst _hoisted_12 = {\n role: \"status\",\n \"aria-live\": \"polite\",\n class: \"p-hidden-accessible\"\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Button = resolveComponent(\"Button\");\n const _component_VirtualScroller = resolveComponent(\"VirtualScroller\");\n const _component_Portal = resolveComponent(\"Portal\");\n const _directive_ripple = resolveDirective(\"ripple\");\n\n return (openBlock(), createElementBlock(\"div\", {\n ref: \"container\",\n class: normalizeClass($options.containerClass),\n onClick: _cache[15] || (_cache[15] = (...args) => ($options.onContainerClick && $options.onContainerClick(...args)))\n }, [\n (!$props.multiple)\n ? (openBlock(), createElementBlock(\"input\", mergeProps({\n key: 0,\n ref: \"focusInput\",\n id: $props.inputId,\n type: \"text\",\n style: $props.inputStyle,\n class: $options.inputStyleClass,\n value: $options.inputValue,\n placeholder: $props.placeholder,\n tabindex: !$props.disabled ? $props.tabindex : -1,\n disabled: $props.disabled,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $options.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n onFocus: _cache[0] || (_cache[0] = (...args) => ($options.onFocus && $options.onFocus(...args))),\n onBlur: _cache[1] || (_cache[1] = (...args) => ($options.onBlur && $options.onBlur(...args))),\n onKeydown: _cache[2] || (_cache[2] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),\n onInput: _cache[3] || (_cache[3] = (...args) => ($options.onInput && $options.onInput(...args))),\n onChange: _cache[4] || (_cache[4] = (...args) => ($options.onChange && $options.onChange(...args)))\n }, $props.inputProps), null, 16, _hoisted_1))\n : createCommentVNode(\"\", true),\n ($props.multiple)\n ? (openBlock(), createElementBlock(\"ul\", {\n key: 1,\n ref: \"multiContainer\",\n class: normalizeClass($options.multiContainerClass),\n tabindex: \"-1\",\n role: \"listbox\",\n \"aria-orientation\": \"horizontal\",\n \"aria-activedescendant\": $data.focused ? $options.focusedMultipleOptionId : undefined,\n onFocus: _cache[10] || (_cache[10] = (...args) => ($options.onMultipleContainerFocus && $options.onMultipleContainerFocus(...args))),\n onBlur: _cache[11] || (_cache[11] = (...args) => ($options.onMultipleContainerBlur && $options.onMultipleContainerBlur(...args))),\n onKeydown: _cache[12] || (_cache[12] = (...args) => ($options.onMultipleContainerKeyDown && $options.onMultipleContainerKeyDown(...args)))\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($props.modelValue, (option, i) => {\n return (openBlock(), createElementBlock(\"li\", {\n key: i,\n id: $options.id + '_multiple_option_' + i,\n class: normalizeClass(['p-autocomplete-token', { 'p-focus': $data.focusedMultipleOptionIndex === i }]),\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": true,\n \"aria-setsize\": $props.modelValue.length,\n \"aria-posinset\": i + 1\n }, [\n renderSlot(_ctx.$slots, \"chip\", { value: option }, () => [\n createElementVNode(\"span\", _hoisted_4, toDisplayString($options.getOptionLabel(option)), 1)\n ]),\n createElementVNode(\"span\", {\n class: normalizeClass(['p-autocomplete-token-icon', $props.removeTokenIcon]),\n onClick: $event => ($options.removeOption($event, i)),\n \"aria-hidden\": \"true\"\n }, null, 10, _hoisted_5)\n ], 10, _hoisted_3))\n }), 128)),\n createElementVNode(\"li\", _hoisted_6, [\n createElementVNode(\"input\", mergeProps({\n ref: \"focusInput\",\n id: $props.inputId,\n type: \"text\",\n style: $props.inputStyle,\n class: $props.inputClass,\n placeholder: $props.placeholder,\n tabindex: !$props.disabled ? $props.tabindex : -1,\n disabled: $props.disabled,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $options.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n onFocus: _cache[5] || (_cache[5] = (...args) => ($options.onFocus && $options.onFocus(...args))),\n onBlur: _cache[6] || (_cache[6] = (...args) => ($options.onBlur && $options.onBlur(...args))),\n onKeydown: _cache[7] || (_cache[7] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),\n onInput: _cache[8] || (_cache[8] = (...args) => ($options.onInput && $options.onInput(...args))),\n onChange: _cache[9] || (_cache[9] = (...args) => ($options.onChange && $options.onChange(...args)))\n }, $props.inputProps), null, 16, _hoisted_7)\n ])\n ], 42, _hoisted_2))\n : createCommentVNode(\"\", true),\n ($data.searching)\n ? (openBlock(), createElementBlock(\"i\", {\n key: 2,\n class: normalizeClass($options.loadingIconClass),\n \"aria-hidden\": \"true\"\n }, null, 2))\n : createCommentVNode(\"\", true),\n ($props.dropdown)\n ? (openBlock(), createBlock(_component_Button, {\n key: 3,\n ref: \"dropdownButton\",\n type: \"button\",\n icon: $props.dropdownIcon,\n class: \"p-autocomplete-dropdown\",\n tabindex: \"-1\",\n disabled: $props.disabled,\n \"aria-hidden\": \"true\",\n onClick: $options.onDropdownClick\n }, null, 8, [\"icon\", \"disabled\", \"onClick\"]))\n : createCommentVNode(\"\", true),\n createElementVNode(\"span\", _hoisted_8, toDisplayString($options.searchResultMessageText), 1),\n createVNode(_component_Portal, { appendTo: $props.appendTo }, {\n default: withCtx(() => [\n createVNode(Transition, {\n name: \"p-connected-overlay\",\n onEnter: $options.onOverlayEnter,\n onAfterEnter: $options.onOverlayAfterEnter,\n onLeave: $options.onOverlayLeave,\n onAfterLeave: $options.onOverlayAfterLeave\n }, {\n default: withCtx(() => [\n ($data.overlayVisible)\n ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.overlayRef,\n class: $options.panelStyleClass,\n style: { ...$props.panelStyle, 'max-height': $options.virtualScrollerDisabled ? $props.scrollHeight : '' },\n onClick: _cache[13] || (_cache[13] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args))),\n onKeydown: _cache[14] || (_cache[14] = (...args) => ($options.onOverlayKeyDown && $options.onOverlayKeyDown(...args)))\n }, $props.panelProps), [\n renderSlot(_ctx.$slots, \"header\", {\n value: $props.modelValue,\n suggestions: $options.visibleOptions\n }),\n createVNode(_component_VirtualScroller, mergeProps({ ref: $options.virtualScrollerRef }, $props.virtualScrollerOptions, {\n style: { height: $props.scrollHeight },\n items: $options.visibleOptions,\n tabindex: -1,\n disabled: $options.virtualScrollerDisabled\n }), createSlots({\n content: withCtx(({ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }) => [\n createElementVNode(\"ul\", {\n ref: (el) => $options.listRef(el, contentRef),\n id: $options.id + '_list',\n class: normalizeClass(['p-autocomplete-items', styleClass]),\n style: normalizeStyle(contentStyle),\n role: \"listbox\"\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(items, (option, i) => {\n return (openBlock(), createElementBlock(Fragment, {\n key: $options.getOptionRenderKey(option, $options.getOptionIndex(i, getItemOptions))\n }, [\n ($options.isOptionGroup(option))\n ? (openBlock(), createElementBlock(\"li\", {\n key: 0,\n id: $options.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: normalizeStyle({ height: itemSize ? itemSize + 'px' : undefined }),\n class: \"p-autocomplete-item-group\",\n role: \"option\"\n }, [\n renderSlot(_ctx.$slots, \"optiongroup\", {\n option: option.optionGroup,\n item: option.optionGroup,\n index: $options.getOptionIndex(i, getItemOptions)\n }, () => [\n createTextVNode(toDisplayString($options.getOptionGroupLabel(option.optionGroup)), 1)\n ])\n ], 12, _hoisted_10))\n : withDirectives((openBlock(), createElementBlock(\"li\", {\n key: 1,\n id: $options.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: normalizeStyle({ height: itemSize ? itemSize + 'px' : undefined }),\n class: normalizeClass(['p-autocomplete-item', { 'p-highlight': $options.isSelected(option), 'p-focus': $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions), 'p-disabled': $options.isOptionDisabled(option) }]),\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": $options.isSelected(option),\n \"aria-disabled\": $options.isOptionDisabled(option),\n \"aria-setsize\": $options.ariaSetSize,\n \"aria-posinset\": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)),\n onClick: $event => ($options.onOptionSelect($event, option)),\n onMousemove: $event => ($options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions)))\n }, [\n (_ctx.$slots.option)\n ? renderSlot(_ctx.$slots, \"option\", {\n key: 0,\n option: option,\n index: $options.getOptionIndex(i, getItemOptions)\n }, () => [\n createTextVNode(toDisplayString($options.getOptionLabel(option)), 1)\n ])\n : renderSlot(_ctx.$slots, \"item\", {\n key: 1,\n item: option,\n index: $options.getOptionIndex(i, getItemOptions)\n }, () => [\n createTextVNode(toDisplayString($options.getOptionLabel(option)), 1)\n ])\n ], 46, _hoisted_11)), [\n [_directive_ripple]\n ])\n ], 64))\n }), 128))\n ], 14, _hoisted_9),\n createElementVNode(\"span\", _hoisted_12, toDisplayString($options.selectedMessageText), 1)\n ]),\n _: 2\n }, [\n (_ctx.$slots.loader)\n ? {\n name: \"loader\",\n fn: withCtx(({ options }) => [\n renderSlot(_ctx.$slots, \"loader\", { options: options })\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1040, [\"style\", \"items\", \"disabled\"]),\n renderSlot(_ctx.$slots, \"footer\", {\n value: $props.modelValue,\n suggestions: $options.visibleOptions\n })\n ], 16))\n : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])\n ]),\n _: 3\n }, 8, [\"appendTo\"])\n ], 2))\n}\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\\n.p-autocomplete {\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n position: relative;\\n}\\n.p-autocomplete-loader {\\n position: absolute;\\n top: 50%;\\n margin-top: -0.5rem;\\n}\\n.p-autocomplete-dd .p-autocomplete-input {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 auto;\\n flex: 1 1 auto;\\n width: 1%;\\n}\\n.p-autocomplete-dd .p-autocomplete-input,\\n.p-autocomplete-dd .p-autocomplete-multiple-container {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n.p-autocomplete-dd .p-autocomplete-dropdown {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0px;\\n}\\n.p-autocomplete .p-autocomplete-panel {\\n min-width: 100%;\\n}\\n.p-autocomplete-panel {\\n position: absolute;\\n overflow: auto;\\n top: 0;\\n left: 0;\\n}\\n.p-autocomplete-items {\\n margin: 0;\\n padding: 0;\\n list-style-type: none;\\n}\\n.p-autocomplete-item {\\n cursor: pointer;\\n white-space: nowrap;\\n position: relative;\\n overflow: hidden;\\n}\\n.p-autocomplete-multiple-container {\\n margin: 0;\\n padding: 0;\\n list-style-type: none;\\n cursor: text;\\n overflow: hidden;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n}\\n.p-autocomplete-token {\\n cursor: default;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n}\\n.p-autocomplete-token-icon {\\n cursor: pointer;\\n}\\n.p-autocomplete-input-token {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 auto;\\n flex: 1 1 auto;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n}\\n.p-autocomplete-input-token input {\\n border: 0 none;\\n outline: 0 none;\\n background-color: transparent;\\n margin: 0;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n border-radius: 0;\\n width: 100%;\\n}\\n.p-fluid .p-autocomplete {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n.p-fluid .p-autocomplete-dd .p-autocomplete-input {\\n width: 1%;\\n}\\n\";\nstyleInject(css_248z);\n\nscript.render = render;\n\nexport { script as default };\n","import { openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot, createElementVNode, Fragment, renderList, createCommentVNode } from 'vue';\n\nvar script = {\n name: 'VirtualScroller',\n emits: ['update:numToleratedItems', 'scroll', 'scroll-index-change', 'lazy-load'],\n props: {\n id: {\n type: String,\n default: null\n },\n style: null,\n class: null,\n items: {\n type: Array,\n default: null\n },\n itemSize: {\n type: [Number, Array],\n default: 0\n },\n scrollHeight: null,\n scrollWidth: null,\n orientation: {\n type: String,\n default: 'vertical'\n },\n numToleratedItems: {\n type: Number,\n default: null\n },\n delay: {\n type: Number,\n default: 0\n },\n lazy: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n loaderDisabled: {\n type: Boolean,\n default: false\n },\n columns: {\n type: Array,\n default: null\n },\n loading: {\n type: Boolean,\n default: false\n },\n showSpacer: {\n type: Boolean,\n default: true\n },\n showLoader: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: Number,\n default: 0\n }\n },\n data() {\n return {\n first: this.isBoth() ? { rows: 0, cols: 0 } : 0,\n last: this.isBoth() ? { rows: 0, cols: 0 } : 0,\n numItemsInViewport: this.isBoth() ? { rows: 0, cols: 0 } : 0,\n lastScrollPos: this.isBoth() ? { top: 0, left: 0 } : 0,\n d_numToleratedItems: this.numToleratedItems,\n d_loading: this.loading,\n loaderArr: [],\n spacerStyle: {},\n contentStyle: {}\n };\n },\n element: null,\n content: null,\n lastScrollPos: null,\n scrollTimeout: null,\n watch: {\n numToleratedItems(newValue) {\n this.d_numToleratedItems = newValue;\n },\n loading(newValue) {\n this.d_loading = newValue;\n },\n items(newValue, oldValue) {\n if (!oldValue || oldValue.length !== (newValue || []).length) {\n this.init();\n }\n },\n orientation() {\n this.lastScrollPos = this.isBoth() ? { top: 0, left: 0 } : 0;\n }\n },\n mounted() {\n this.init();\n\n this.lastScrollPos = this.isBoth() ? { top: 0, left: 0 } : 0;\n },\n methods: {\n init() {\n this.setSize();\n this.calculateOptions();\n this.setSpacerSize();\n },\n isVertical() {\n return this.orientation === 'vertical';\n },\n isHorizontal() {\n return this.orientation === 'horizontal';\n },\n isBoth() {\n return this.orientation === 'both';\n },\n scrollTo(options) {\n this.element && this.element.scrollTo(options);\n },\n scrollToIndex(index, behavior = 'auto') {\n const both = this.isBoth();\n const horizontal = this.isHorizontal();\n const first = this.first;\n const { numToleratedItems } = this.calculateNumItems();\n const itemSize = this.itemSize;\n const calculateFirst = (_index = 0, _numT) => (_index <= _numT ? 0 : _index);\n const calculateCoord = (_first, _size) => _first * _size;\n const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });\n\n if (both) {\n const newFirst = { rows: calculateFirst(index[0], numToleratedItems[0]), cols: calculateFirst(index[1], numToleratedItems[1]) };\n\n if (newFirst.rows !== first.rows || newFirst.cols !== first.cols) {\n scrollTo(calculateCoord(newFirst.cols, itemSize[1]), calculateCoord(newFirst.rows, itemSize[0]));\n }\n } else {\n const newFirst = calculateFirst(index, numToleratedItems);\n\n if (newFirst !== first) {\n horizontal ? scrollTo(calculateCoord(newFirst, itemSize), 0) : scrollTo(0, calculateCoord(newFirst, itemSize));\n }\n }\n },\n scrollInView(index, to, behavior = 'auto') {\n if (to) {\n const both = this.isBoth();\n const horizontal = this.isHorizontal();\n const { first, viewport } = this.getRenderedRange();\n const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });\n const isToStart = to === 'to-start';\n const isToEnd = to === 'to-end';\n\n if (isToStart) {\n if (both) {\n if (viewport.first.rows - first.rows > index[0]) {\n scrollTo(viewport.first.cols * this.itemSize[1], (viewport.first.rows - 1) * this.itemSize[0]);\n } else if (viewport.first.cols - first.cols > index[1]) {\n scrollTo((viewport.first.cols - 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]);\n }\n } else {\n if (viewport.first - first > index) {\n const pos = (viewport.first - 1) * this.itemSize;\n\n horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);\n }\n }\n } else if (isToEnd) {\n if (both) {\n if (viewport.last.rows - first.rows <= index[0] + 1) {\n scrollTo(viewport.first.cols * this.itemSize[1], (viewport.first.rows + 1) * this.itemSize[0]);\n } else if (viewport.last.cols - first.cols <= index[1] + 1) {\n scrollTo((viewport.first.cols + 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]);\n }\n } else {\n if (viewport.last - first <= index + 1) {\n const pos = (viewport.first + 1) * this.itemSize;\n\n horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);\n }\n }\n }\n } else {\n this.scrollToIndex(index, behavior);\n }\n },\n getRenderedRange() {\n const calculateFirstInViewport = (_pos, _size) => Math.floor(_pos / (_size || _pos));\n\n let firstInViewport = this.first;\n let lastInViewport = 0;\n\n if (this.element) {\n const both = this.isBoth();\n const horizontal = this.isHorizontal();\n const scrollTop = this.element.scrollTop;\n const scrollLeft = this.element.scrollLeft;\n\n if (both) {\n firstInViewport = { rows: calculateFirstInViewport(scrollTop, this.itemSize[0]), cols: calculateFirstInViewport(scrollLeft, this.itemSize[1]) };\n lastInViewport = { rows: firstInViewport.rows + this.numItemsInViewport.rows, cols: firstInViewport.cols + this.numItemsInViewport.cols };\n } else {\n const scrollPos = horizontal ? scrollLeft : scrollTop;\n\n firstInViewport = calculateFirstInViewport(scrollPos, this.itemSize);\n lastInViewport = firstInViewport + this.numItemsInViewport;\n }\n }\n\n return {\n first: this.first,\n last: this.last,\n viewport: {\n first: firstInViewport,\n last: lastInViewport\n }\n };\n },\n calculateNumItems() {\n const both = this.isBoth();\n const horizontal = this.isHorizontal();\n const itemSize = this.itemSize;\n const contentPos = this.getContentPosition();\n const contentWidth = this.element ? this.element.offsetWidth - contentPos.left : 0;\n const contentHeight = this.element ? this.element.offsetHeight - contentPos.top : 0;\n const calculateNumItemsInViewport = (_contentSize, _itemSize) => Math.ceil(_contentSize / (_itemSize || _contentSize));\n const calculateNumToleratedItems = (_numItems) => Math.ceil(_numItems / 2);\n const numItemsInViewport = both\n ? { rows: calculateNumItemsInViewport(contentHeight, itemSize[0]), cols: calculateNumItemsInViewport(contentWidth, itemSize[1]) }\n : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, itemSize);\n\n const numToleratedItems = this.d_numToleratedItems || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));\n\n return { numItemsInViewport, numToleratedItems };\n },\n calculateOptions() {\n const both = this.isBoth();\n const first = this.first;\n const { numItemsInViewport, numToleratedItems } = this.calculateNumItems();\n const calculateLast = (_first, _num, _numT, _isCols) => this.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);\n const last = both\n ? { rows: calculateLast(first.rows, numItemsInViewport.rows, numToleratedItems[0]), cols: calculateLast(first.cols, numItemsInViewport.cols, numToleratedItems[1], true) }\n : calculateLast(first, numItemsInViewport, numToleratedItems);\n\n this.last = last;\n this.numItemsInViewport = numItemsInViewport;\n this.d_numToleratedItems = numToleratedItems;\n this.$emit('update:numToleratedItems', this.d_numToleratedItems);\n\n if (this.showLoader) {\n this.loaderArr = both ? Array.from({ length: numItemsInViewport.rows }).map(() => Array.from({ length: numItemsInViewport.cols })) : Array.from({ length: numItemsInViewport });\n }\n\n if (this.lazy) {\n this.$emit('lazy-load', { first, last });\n }\n },\n getLast(last = 0, isCols) {\n if (this.items) {\n return Math.min(isCols ? (this.columns || this.items[0]).length : this.items.length, last);\n }\n\n return 0;\n },\n getContentPosition() {\n if (this.content) {\n const style = getComputedStyle(this.content);\n const left = parseInt(style.paddingLeft, 10) + Math.max(parseInt(style.left, 10), 0);\n const right = parseInt(style.paddingRight, 10) + Math.max(parseInt(style.right, 10), 0);\n const top = parseInt(style.paddingTop, 10) + Math.max(parseInt(style.top, 10), 0);\n const bottom = parseInt(style.paddingBottom, 10) + Math.max(parseInt(style.bottom, 10), 0);\n\n return { left, right, top, bottom, x: left + right, y: top + bottom };\n }\n\n return { left: 0, right: 0, top: 0, bottom: 0, x: 0, y: 0 };\n },\n setSize() {\n if (this.element) {\n const both = this.isBoth();\n const horizontal = this.isHorizontal();\n const parentElement = this.element.parentElement;\n const width = this.scrollWidth || `${this.element.offsetWidth || parentElement.offsetWidth}px`;\n const height = this.scrollHeight || `${this.element.offsetHeight || parentElement.offsetHeight}px`;\n const setProp = (_name, _value) => (this.element.style[_name] = _value);\n\n if (both || horizontal) {\n setProp('height', height);\n setProp('width', width);\n } else {\n setProp('height', height);\n }\n }\n },\n setSpacerSize() {\n const items = this.items;\n\n if (items) {\n const both = this.isBoth();\n const horizontal = this.isHorizontal();\n const contentPos = this.getContentPosition();\n const setProp = (_name, _value, _size, _cpos = 0) => (this.spacerStyle = { ...this.spacerStyle, ...{ [`${_name}`]: (_value || []).length * _size + _cpos + 'px' } });\n\n if (both) {\n setProp('height', items, this.itemSize[0], contentPos.y);\n setProp('width', this.columns || items[1], this.itemSize[1], contentPos.x);\n } else {\n horizontal ? setProp('width', this.columns || items, this.itemSize, contentPos.x) : setProp('height', items, this.itemSize, contentPos.y);\n }\n }\n },\n setContentPosition(pos) {\n if (this.content) {\n const both = this.isBoth();\n const horizontal = this.isHorizontal();\n const first = pos ? pos.first : this.first;\n const calculateTranslateVal = (_first, _size) => _first * _size;\n\n const setTransform = (_x = 0, _y = 0) => {\n this.contentStyle = { ...this.contentStyle, ...{ transform: `translate3d(${_x}px, ${_y}px, 0)` } };\n };\n\n if (both) {\n setTransform(calculateTranslateVal(first.cols, this.itemSize[1]), calculateTranslateVal(first.rows, this.itemSize[0]));\n } else {\n const translateVal = calculateTranslateVal(first, this.itemSize);\n\n horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);\n }\n }\n },\n onScrollPositionChange(event) {\n const target = event.target;\n const both = this.isBoth();\n const horizontal = this.isHorizontal();\n const contentPos = this.getContentPosition();\n const calculateScrollPos = (_pos, _cpos) => (_pos ? (_pos > _cpos ? _pos - _cpos : _pos) : 0);\n const calculateCurrentIndex = (_pos, _size) => Math.floor(_pos / (_size || _pos));\n\n const calculateTriggerIndex = (_currentIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {\n return _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1;\n };\n\n const calculateFirst = (_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {\n if (_currentIndex <= _numT) return 0;\n else return Math.max(0, _isScrollDownOrRight ? (_currentIndex < _triggerIndex ? _first : _currentIndex - _numT) : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT);\n };\n\n const calculateLast = (_currentIndex, _first, _last, _num, _numT, _isCols) => {\n let lastValue = _first + _num + 2 * _numT;\n\n if (_currentIndex >= _numT) {\n lastValue += _numT + 1;\n }\n\n return this.getLast(lastValue, _isCols);\n };\n\n const scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);\n const scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);\n\n let newFirst = both ? { rows: 0, cols: 0 } : 0;\n let newLast = this.last;\n let isRangeChanged = false;\n let newScrollPos = this.lastScrollPos;\n\n if (both) {\n const isScrollDown = this.lastScrollPos.top <= scrollTop;\n const isScrollRight = this.lastScrollPos.left <= scrollLeft;\n const currentIndex = { rows: calculateCurrentIndex(scrollTop, this.itemSize[0]), cols: calculateCurrentIndex(scrollLeft, this.itemSize[1]) };\n const triggerIndex = {\n rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n\n newFirst = {\n rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n newLast = {\n rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]),\n cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true)\n };\n\n isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols;\n newScrollPos = { top: scrollTop, left: scrollLeft };\n } else {\n const scrollPos = horizontal ? scrollLeft : scrollTop;\n const isScrollDownOrRight = this.lastScrollPos <= scrollPos;\n const currentIndex = calculateCurrentIndex(scrollPos, this.itemSize);\n const triggerIndex = calculateTriggerIndex(currentIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n\n newFirst = calculateFirst(currentIndex, triggerIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n newLast = calculateLast(currentIndex, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems);\n isRangeChanged = newFirst !== this.first || newLast !== this.last;\n newScrollPos = scrollPos;\n }\n\n return {\n first: newFirst,\n last: newLast,\n isRangeChanged,\n scrollPos: newScrollPos\n };\n },\n onScrollChange(event) {\n const { first, last, isRangeChanged, scrollPos } = this.onScrollPositionChange(event);\n\n if (isRangeChanged) {\n const newState = { first, last };\n\n this.setContentPosition(newState);\n\n this.first = first;\n this.last = last;\n this.lastScrollPos = scrollPos;\n\n this.$emit('scroll-index-change', newState);\n\n if (this.lazy) {\n this.$emit('lazy-load', newState);\n }\n }\n },\n onScroll(event) {\n this.$emit('scroll', event);\n\n if (this.delay) {\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n }\n\n if (!this.d_loading && this.showLoader) {\n const { isRangeChanged: changed } = this.onScrollPositionChange(event);\n\n changed && (this.d_loading = true);\n }\n\n this.scrollTimeout = setTimeout(() => {\n this.onScrollChange(event);\n\n if (this.d_loading && this.showLoader && !this.lazy) {\n this.d_loading = false;\n }\n }, this.delay);\n } else {\n this.onScrollChange(event);\n }\n },\n getOptions(renderedIndex) {\n const count = (this.items || []).length;\n const index = this.isBoth() ? this.first.rows + renderedIndex : this.first + renderedIndex;\n\n return {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0\n };\n },\n getLoaderOptions(index, extOptions) {\n let count = this.loaderArr.length;\n\n return {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0,\n ...extOptions\n };\n },\n elementRef(el) {\n this.element = el;\n },\n contentRef(el) {\n this.content = el;\n }\n },\n computed: {\n containerClass() {\n return [\n 'p-virtualscroller',\n {\n 'p-both-scroll': this.isBoth(),\n 'p-horizontal-scroll': this.isHorizontal()\n },\n this.class\n ];\n },\n contentClass() {\n return [\n 'p-virtualscroller-content',\n {\n 'p-virtualscroller-loading': this.d_loading\n }\n ];\n },\n loaderClass() {\n return [\n 'p-virtualscroller-loader',\n {\n 'p-component-overlay': !this.$slots.loader\n }\n ];\n },\n loadedItems() {\n const items = this.items;\n\n if (items && !this.d_loading) {\n if (this.isBoth()) {\n return items.slice(this.first.rows, this.last.rows).map((item) => (this.columns ? item : item.slice(this.first.cols, this.last.cols)));\n } else if (this.isHorizontal() && this.columns) return items;\n else return items.slice(this.first, this.last);\n }\n\n return [];\n },\n loadedRows() {\n return this.d_loading ? (this.loaderDisabled ? this.loaderArr : []) : this.loadedItems;\n },\n loadedColumns() {\n if (this.columns) {\n const both = this.isBoth();\n const horizontal = this.isHorizontal();\n\n if (both || horizontal) {\n return this.d_loading && this.loaderDisabled ? (both ? this.loaderArr[0] : this.loaderArr) : this.columns.slice(both ? this.first.cols : this.first, both ? this.last.cols : this.last);\n }\n }\n\n return this.columns;\n }\n }\n};\n\nconst _hoisted_1 = [\"tabindex\"];\nconst _hoisted_2 = {\n key: 1,\n class: \"p-virtualscroller-loading-icon pi pi-spinner pi-spin\"\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (!$props.disabled)\n ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n ref: $options.elementRef,\n class: normalizeClass($options.containerClass),\n tabindex: $props.tabindex,\n style: normalizeStyle($props.style),\n onScroll: _cache[0] || (_cache[0] = (...args) => ($options.onScroll && $options.onScroll(...args)))\n }, [\n renderSlot(_ctx.$slots, \"content\", {\n styleClass: $options.contentClass,\n items: $options.loadedItems,\n getItemOptions: $options.getOptions,\n loading: $data.d_loading,\n getLoaderOptions: $options.getLoaderOptions,\n itemSize: $props.itemSize,\n rows: $options.loadedRows,\n columns: $options.loadedColumns,\n contentRef: $options.contentRef,\n spacerStyle: $data.spacerStyle,\n contentStyle: $data.contentStyle,\n vertical: $options.isVertical(),\n horizontal: $options.isHorizontal(),\n both: $options.isBoth()\n }, () => [\n createElementVNode(\"div\", {\n ref: $options.contentRef,\n class: normalizeClass($options.contentClass),\n style: normalizeStyle($data.contentStyle)\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($options.loadedItems, (item, index) => {\n return renderSlot(_ctx.$slots, \"item\", {\n key: index,\n item: item,\n options: $options.getOptions(index)\n })\n }), 128))\n ], 6)\n ]),\n ($props.showSpacer)\n ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: \"p-virtualscroller-spacer\",\n style: normalizeStyle($data.spacerStyle)\n }, null, 4))\n : createCommentVNode(\"\", true),\n (!$props.loaderDisabled && $props.showLoader && $data.d_loading)\n ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass($options.loaderClass)\n }, [\n (_ctx.$slots && _ctx.$slots.loader)\n ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList($data.loaderArr, (_, index) => {\n return renderSlot(_ctx.$slots, \"loader\", {\n key: index,\n options: $options.getLoaderOptions(index, $options.isBoth() && { numCols: _ctx.d_numItemsInViewport.cols })\n })\n }), 128))\n : (openBlock(), createElementBlock(\"i\", _hoisted_2))\n ], 2))\n : createCommentVNode(\"\", true)\n ], 46, _hoisted_1))\n : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n renderSlot(_ctx.$slots, \"default\"),\n renderSlot(_ctx.$slots, \"content\", {\n items: $props.items,\n rows: $props.items,\n columns: $options.loadedColumns\n })\n ], 64))\n}\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\\n.p-virtualscroller {\\n position: relative;\\n overflow: auto;\\n contain: strict;\\n -webkit-transform: translateZ(0);\\n transform: translateZ(0);\\n will-change: scroll-position;\\n outline: 0 none;\\n}\\n.p-virtualscroller-content {\\n position: absolute;\\n top: 0;\\n left: 0;\\n contain: content;\\n min-height: 100%;\\n min-width: 100%;\\n will-change: transform;\\n}\\n.p-virtualscroller-spacer {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 1px;\\n width: 1px;\\n -webkit-transform-origin: 0 0;\\n transform-origin: 0 0;\\n pointer-events: none;\\n}\\n.p-virtualscroller .p-virtualscroller-loader {\\n position: sticky;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.p-virtualscroller-loader.p-component-overlay {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n}\\n\";\nstyleInject(css_248z);\n\nscript.render = render;\n\nexport { script as default };\n","import { DomHandler } from 'primevue/utils';\nimport { renderSlot, openBlock, createBlock, Teleport, createCommentVNode } from 'vue';\n\nvar script = {\n name: 'Portal',\n props: {\n appendTo: {\n type: String,\n default: 'body'\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n mounted: false\n };\n },\n mounted() {\n this.mounted = DomHandler.isClient();\n },\n computed: {\n inline() {\n return this.disabled || this.appendTo === 'self';\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return ($options.inline)\n ? renderSlot(_ctx.$slots, \"default\", { key: 0 })\n : ($data.mounted)\n ? (openBlock(), createBlock(Teleport, {\n key: 1,\n to: $props.appendTo\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 8, [\"to\"]))\n : createCommentVNode(\"\", true)\n}\n\nscript.render = render;\n\nexport { script as default };\n"],"sourceRoot":""}