claude-web/node_modules/primevue/treeselect/index.mjs.map

1 line
80 KiB
Plaintext

{"version":3,"file":"index.mjs","sources":["../../src/treeselect/BaseTreeSelect.vue","../../src/treeselect/TreeSelect.vue","../../src/treeselect/TreeSelect.vue?vue&type=template&id=50dafaaa&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport TreeSelectStyle from 'primevue/treeselect/style';\n\nexport default {\n name: 'BaseTreeSelect',\n extends: BaseInput,\n props: {\n options: Array,\n scrollHeight: {\n type: String,\n default: '20rem'\n },\n placeholder: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: null\n },\n selectionMode: {\n type: String,\n default: 'single'\n },\n selectedItemsLabel: {\n type: String,\n default: null\n },\n maxSelectedLabels: {\n type: Number,\n default: null\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n emptyMessage: {\n type: String,\n default: null\n },\n display: {\n type: String,\n default: 'comma'\n },\n metaKeySelection: {\n type: Boolean,\n default: false\n },\n loading: {\n type: Boolean,\n default: false\n },\n loadingIcon: {\n type: String,\n default: undefined\n },\n loadingMode: {\n type: String,\n default: 'mask'\n },\n showClear: {\n type: Boolean,\n default: false\n },\n clearIcon: {\n type: String,\n default: undefined\n },\n filter: {\n type: Boolean,\n default: false\n },\n filterBy: {\n type: [String, Function],\n default: 'label'\n },\n filterMode: {\n type: String,\n default: 'lenient'\n },\n filterPlaceholder: {\n type: String,\n default: null\n },\n filterLocale: {\n type: String,\n default: undefined\n },\n inputId: {\n type: String,\n default: null\n },\n inputClass: {\n type: [String, Object],\n default: null\n },\n inputStyle: {\n type: Object,\n default: null\n },\n inputProps: {\n type: null,\n default: null\n },\n panelClass: {\n type: [String, Object],\n default: null\n },\n panelProps: {\n type: null,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n },\n expandedKeys: {\n type: null,\n default: null\n }\n },\n style: TreeSelectStyle,\n provide() {\n return {\n $pcTreeSelect: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" :style=\"sx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenInputContainer')\" :data-p-hidden-accessible=\"true\">\n <input\n ref=\"focusInput\"\n :id=\"inputId\"\n type=\"text\"\n role=\"combobox\"\n :class=\"inputClass\"\n :style=\"inputStyle\"\n readonly\n :disabled=\"disabled\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n aria-haspopup=\"tree\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"overlayVisible ? listId : undefined\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @keydown=\"onKeyDown($event)\"\n v-bind=\"{ ...inputProps, ...ptm('hiddenInput') }\"\n />\n </div>\n <div :class=\"cx('labelContainer')\" v-bind=\"ptm('labelContainer')\">\n <div :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"value\" :value=\"selectedNodes\" :placeholder=\"placeholder\">\n <template v-if=\"display === 'comma'\">\n {{ label || 'empty' }}\n </template>\n <template v-else-if=\"display === 'chip'\">\n <template v-if=\"chipSelectedItems\">\n <span>{{ label }}</span>\n </template>\n <template v-else>\n <div v-for=\"node of selectedNodes\" :key=\"node.key\" :class=\"cx('chipItem')\" v-bind=\"ptm('chipItem')\">\n <Chip :class=\"cx('pcChip')\" :label=\"node.label\" :unstyled=\"unstyled\" :pt=\"ptm('pcChip')\" />\n </div>\n <template v-if=\"emptyValue\">{{ placeholder || 'empty' }}</template>\n </template>\n </template>\n </slot>\n </div>\n </div>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" :aria-expanded=\"overlayVisible\" v-bind=\"ptm('dropdown')\">\n <!-- TODO: triggericon is deprecated since v4.0 -->\n <slot :name=\"$slots.dropdownicon ? 'dropdownicon' : 'triggericon'\" :class=\"cx('dropdownIcon')\">\n <component :is=\"'ChevronDownIcon'\" :class=\"cx('dropdownIcon')\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-anchored-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" @click=\"onOverlayClick\" :class=\"[cx('panel'), panelClass]\" @keydown=\"onOverlayKeydown\" v-bind=\"{ ...panelProps, ...ptm('panel') }\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"options\"></slot>\n <div :class=\"cx('treeContainer')\" :style=\"{ 'max-height': scrollHeight }\" v-bind=\"ptm('treeContainer')\">\n <TSTree\n v-if=\"options && options.length > 0\"\n ref=\"tree\"\n :id=\"listId\"\n :value=\"options\"\n :selectionMode=\"selectionMode\"\n :loading=\"loading\"\n :loadingIcon=\"loadingIcon\"\n :loadingMode=\"loadingMode\"\n :filter=\"filter\"\n :filterBy=\"filterBy\"\n :filterMode=\"filterMode\"\n :filterPlaceholder=\"filterPlaceholder\"\n :filterLocale=\"filterLocale\"\n @update:selectionKeys=\"onSelectionChange\"\n :selectionKeys=\"d_value\"\n :expandedKeys=\"d_expandedKeys\"\n @update:expandedKeys=\"onNodeToggle\"\n :metaKeySelection=\"metaKeySelection\"\n @node-expand=\"$emit('node-expand', $event)\"\n @node-collapse=\"$emit('node-collapse', $event)\"\n @node-select=\"onNodeSelect\"\n @node-unselect=\"onNodeUnselect\"\n @click.stop\n :level=\"0\"\n :unstyled=\"unstyled\"\n :pt=\"ptm('pcTree')\"\n >\n <template v-if=\"$slots.option\" #default=\"optionSlotProps\">\n <slot name=\"option\" :node=\"optionSlotProps.node\" :expanded=\"optionSlotProps.expanded\" :selected=\"optionSlotProps.selected\" />\n </template>\n <template v-if=\"$slots.itemtoggleicon\" #toggleicon=\"iconSlotProps\">\n <slot name=\"itemtoggleicon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <!--TODO: itemtogglericon deprecated since v4.0-->\n <template v-else-if=\"$slots.itemtogglericon\" #togglericon=\"iconSlotProps\">\n <slot name=\"itemtogglericon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <template v-if=\"$slots.itemcheckboxicon\" #checkboxicon=\"iconSlotProps\">\n <slot name=\"itemcheckboxicon\" :checked=\"iconSlotProps.checked\" :partialChecked=\"iconSlotProps.partialChecked\" :class=\"iconSlotProps.class\" />\n </template>\n </TSTree>\n <div v-if=\"emptyOptions && !loading\" :class=\"cx('emptyMessage')\" v-bind=\"ptm('emptyMessage')\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </div>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"options\"></slot>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { absolutePosition, addStyle, find, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isTouchDevice, relativePosition } from '@primeuix/utils/dom';\nimport { isEmpty, isNotEmpty } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport TimesIcon from '@primevue/icons/times';\nimport Chip from 'primevue/chip';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport Tree from 'primevue/tree';\nimport BaseTreeSelect from './BaseTreeSelect.vue';\n\nexport default {\n name: 'TreeSelect',\n extends: BaseTreeSelect,\n inheritAttrs: false,\n emits: ['before-show', 'before-hide', 'change', 'show', 'hide', 'node-select', 'node-unselect', 'node-expand', 'node-collapse', 'focus', 'blur', 'update:expandedKeys'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n focused: false,\n overlayVisible: false,\n d_expandedKeys: this.expandedKeys || {}\n };\n },\n watch: {\n modelValue: {\n handler: function () {\n if (!this.selfChange) {\n this.updateTreeState();\n }\n\n this.selfChange = false;\n },\n immediate: true\n },\n options() {\n this.updateTreeState();\n },\n expandedKeys(value) {\n this.d_expandedKeys = value;\n }\n },\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n selfChange: false,\n selfClick: false,\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 ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n mounted() {\n this.updateTreeState();\n },\n methods: {\n show() {\n this.$emit('before-show');\n this.overlayVisible = true;\n },\n hide() {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.$refs.focusInput.focus();\n },\n onFocus(event) {\n this.focused = true;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focused = false;\n this.$emit('blur', event);\n this.formField.onBlur?.();\n },\n onClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlay || !this.overlay.contains(event.target)) {\n if (this.overlayVisible) this.hide();\n else this.show();\n\n focus(this.$refs.focusInput);\n }\n },\n onClearClick() {\n this.onSelectionChange(null);\n },\n onSelectionChange(keys) {\n this.selfChange = true;\n this.writeValue(keys);\n this.$emit('change', keys);\n },\n onNodeSelect(node) {\n this.$emit('node-select', node);\n\n if (this.selectionMode === 'single') {\n this.hide();\n }\n },\n onNodeUnselect(node) {\n this.$emit('node-unselect', node);\n },\n onNodeToggle(keys) {\n this.d_expandedKeys = keys;\n\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n getSelectedItemsLabel() {\n let pattern = /{(.*?)}/;\n const selectedItemsLabel = this.selectedItemsLabel || this.$primevue.config.locale.selectionMessage;\n\n if (pattern.test(selectedItemsLabel)) {\n return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], Object.keys(this.d_value).length + '');\n }\n\n return selectedItemsLabel;\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'Space':\n case 'Enter':\n case 'NumpadEnter':\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 default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (this.overlayVisible) return;\n\n this.show();\n\n this.$nextTick(() => {\n const treeNodeEl = find(this.$refs.tree.$el, '[data-pc-section=\"treeitem\"]');\n const focusedElement = [...treeNodeEl].find((item) => item.getAttribute('tabindex') === '0');\n\n focus(focusedElement);\n });\n\n event.preventDefault();\n },\n onEnterKey(event) {\n if (this.overlayVisible) {\n this.hide();\n } else {\n this.onArrowDownKey(event);\n }\n\n event.preventDefault();\n },\n onEscapeKey(event) {\n if (this.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n }\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.focus();\n\n // Issue: #7508\n this.$attrSelector && el.setAttribute(this.$attrSelector, '');\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.scrollValueInView();\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n focus() {\n let focusableElements = getFocusableElements(this.overlay);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && !this.selfClick && this.isOutsideClicked(event)) {\n this.hide();\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\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 && !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.$el.isSameNode(event.target) || this.$el.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));\n },\n overlayRef(el) {\n this.overlay = el;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n\n this.selfClick = true;\n },\n onOverlayKeydown(event) {\n if (event.code === 'Escape') this.hide();\n },\n fillNodeMap(node, nodeMap) {\n nodeMap[node.key] = node;\n\n if (node.children && node.children.length > 0) {\n node.children.forEach((children) => this.fillNodeMap(children, nodeMap));\n }\n },\n isSelected(node, keys) {\n return this.selectionMode === 'checkbox' ? keys[node?.key] && keys[node?.key].checked : keys[node?.key];\n },\n updateTreeState() {\n let keys = { ...this.d_value };\n\n if (keys && this.options && this.options.length > 0) {\n this.updateTreeBranchState(null, null, keys);\n }\n },\n updateTreeBranchState(node, path, keys) {\n if (node) {\n if (this.isSelected(node, keys)) {\n this.expandPath(path);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n path.push(node.key);\n this.updateTreeBranchState(childNode, path, keys);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.updateTreeBranchState(childNode, [], keys);\n }\n }\n },\n expandPath(path) {\n if (path.length > 0) {\n for (let key of path) {\n this.d_expandedKeys[key] = true;\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n }\n },\n scrollValueInView() {\n if (this.overlay) {\n let selectedItem = findSingle(this.overlay, '[data-p-selected=\"true\"]');\n\n if (selectedItem) {\n selectedItem.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n }\n },\n computed: {\n nodeMap() {\n const nodeMap = {};\n\n this.options?.forEach((node) => this.fillNodeMap(node, nodeMap));\n\n return nodeMap;\n },\n selectedNodes() {\n let selectedNodes = [];\n\n if (this.d_value && this.options && this.options.length > 0) {\n Object.keys(this.d_value).forEach((key) => {\n const node = this.nodeMap[key];\n\n if (this.isSelected(node, this.d_value)) {\n selectedNodes.push(node);\n }\n });\n }\n\n return selectedNodes;\n },\n label() {\n let value = this.selectedNodes;\n let label;\n\n if (value.length) {\n if (isNotEmpty(this.maxSelectedLabels) && value.length > this.maxSelectedLabels) {\n label = this.getSelectedItemsLabel();\n } else {\n label = value.map((node) => node.label).join(', ');\n }\n } else {\n label = this.placeholder;\n }\n\n return label;\n },\n chipSelectedItems() {\n return isNotEmpty(this.maxSelectedLabels) && this.d_value && Object.keys(this.d_value).length > this.maxSelectedLabels;\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage;\n },\n emptyValue() {\n return !this.$filled;\n },\n emptyOptions() {\n return !this.options || this.options.length === 0;\n },\n listId() {\n return this.$id + '_list';\n },\n hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options) && !this.disabled && !this.loading;\n }\n },\n components: {\n TSTree: Tree,\n Chip,\n Portal,\n ChevronDownIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" :style=\"sx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenInputContainer')\" :data-p-hidden-accessible=\"true\">\n <input\n ref=\"focusInput\"\n :id=\"inputId\"\n type=\"text\"\n role=\"combobox\"\n :class=\"inputClass\"\n :style=\"inputStyle\"\n readonly\n :disabled=\"disabled\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n aria-haspopup=\"tree\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"overlayVisible ? listId : undefined\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @keydown=\"onKeyDown($event)\"\n v-bind=\"{ ...inputProps, ...ptm('hiddenInput') }\"\n />\n </div>\n <div :class=\"cx('labelContainer')\" v-bind=\"ptm('labelContainer')\">\n <div :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"value\" :value=\"selectedNodes\" :placeholder=\"placeholder\">\n <template v-if=\"display === 'comma'\">\n {{ label || 'empty' }}\n </template>\n <template v-else-if=\"display === 'chip'\">\n <template v-if=\"chipSelectedItems\">\n <span>{{ label }}</span>\n </template>\n <template v-else>\n <div v-for=\"node of selectedNodes\" :key=\"node.key\" :class=\"cx('chipItem')\" v-bind=\"ptm('chipItem')\">\n <Chip :class=\"cx('pcChip')\" :label=\"node.label\" :unstyled=\"unstyled\" :pt=\"ptm('pcChip')\" />\n </div>\n <template v-if=\"emptyValue\">{{ placeholder || 'empty' }}</template>\n </template>\n </template>\n </slot>\n </div>\n </div>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" :aria-expanded=\"overlayVisible\" v-bind=\"ptm('dropdown')\">\n <!-- TODO: triggericon is deprecated since v4.0 -->\n <slot :name=\"$slots.dropdownicon ? 'dropdownicon' : 'triggericon'\" :class=\"cx('dropdownIcon')\">\n <component :is=\"'ChevronDownIcon'\" :class=\"cx('dropdownIcon')\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-anchored-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" @click=\"onOverlayClick\" :class=\"[cx('panel'), panelClass]\" @keydown=\"onOverlayKeydown\" v-bind=\"{ ...panelProps, ...ptm('panel') }\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"options\"></slot>\n <div :class=\"cx('treeContainer')\" :style=\"{ 'max-height': scrollHeight }\" v-bind=\"ptm('treeContainer')\">\n <TSTree\n v-if=\"options && options.length > 0\"\n ref=\"tree\"\n :id=\"listId\"\n :value=\"options\"\n :selectionMode=\"selectionMode\"\n :loading=\"loading\"\n :loadingIcon=\"loadingIcon\"\n :loadingMode=\"loadingMode\"\n :filter=\"filter\"\n :filterBy=\"filterBy\"\n :filterMode=\"filterMode\"\n :filterPlaceholder=\"filterPlaceholder\"\n :filterLocale=\"filterLocale\"\n @update:selectionKeys=\"onSelectionChange\"\n :selectionKeys=\"d_value\"\n :expandedKeys=\"d_expandedKeys\"\n @update:expandedKeys=\"onNodeToggle\"\n :metaKeySelection=\"metaKeySelection\"\n @node-expand=\"$emit('node-expand', $event)\"\n @node-collapse=\"$emit('node-collapse', $event)\"\n @node-select=\"onNodeSelect\"\n @node-unselect=\"onNodeUnselect\"\n @click.stop\n :level=\"0\"\n :unstyled=\"unstyled\"\n :pt=\"ptm('pcTree')\"\n >\n <template v-if=\"$slots.option\" #default=\"optionSlotProps\">\n <slot name=\"option\" :node=\"optionSlotProps.node\" :expanded=\"optionSlotProps.expanded\" :selected=\"optionSlotProps.selected\" />\n </template>\n <template v-if=\"$slots.itemtoggleicon\" #toggleicon=\"iconSlotProps\">\n <slot name=\"itemtoggleicon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <!--TODO: itemtogglericon deprecated since v4.0-->\n <template v-else-if=\"$slots.itemtogglericon\" #togglericon=\"iconSlotProps\">\n <slot name=\"itemtogglericon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <template v-if=\"$slots.itemcheckboxicon\" #checkboxicon=\"iconSlotProps\">\n <slot name=\"itemcheckboxicon\" :checked=\"iconSlotProps.checked\" :partialChecked=\"iconSlotProps.partialChecked\" :class=\"iconSlotProps.class\" />\n </template>\n </TSTree>\n <div v-if=\"emptyOptions && !loading\" :class=\"cx('emptyMessage')\" v-bind=\"ptm('emptyMessage')\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </div>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"options\"></slot>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { absolutePosition, addStyle, find, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isTouchDevice, relativePosition } from '@primeuix/utils/dom';\nimport { isEmpty, isNotEmpty } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport TimesIcon from '@primevue/icons/times';\nimport Chip from 'primevue/chip';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport Tree from 'primevue/tree';\nimport BaseTreeSelect from './BaseTreeSelect.vue';\n\nexport default {\n name: 'TreeSelect',\n extends: BaseTreeSelect,\n inheritAttrs: false,\n emits: ['before-show', 'before-hide', 'change', 'show', 'hide', 'node-select', 'node-unselect', 'node-expand', 'node-collapse', 'focus', 'blur', 'update:expandedKeys'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n focused: false,\n overlayVisible: false,\n d_expandedKeys: this.expandedKeys || {}\n };\n },\n watch: {\n modelValue: {\n handler: function () {\n if (!this.selfChange) {\n this.updateTreeState();\n }\n\n this.selfChange = false;\n },\n immediate: true\n },\n options() {\n this.updateTreeState();\n },\n expandedKeys(value) {\n this.d_expandedKeys = value;\n }\n },\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n selfChange: false,\n selfClick: false,\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 ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n mounted() {\n this.updateTreeState();\n },\n methods: {\n show() {\n this.$emit('before-show');\n this.overlayVisible = true;\n },\n hide() {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.$refs.focusInput.focus();\n },\n onFocus(event) {\n this.focused = true;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focused = false;\n this.$emit('blur', event);\n this.formField.onBlur?.();\n },\n onClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlay || !this.overlay.contains(event.target)) {\n if (this.overlayVisible) this.hide();\n else this.show();\n\n focus(this.$refs.focusInput);\n }\n },\n onClearClick() {\n this.onSelectionChange(null);\n },\n onSelectionChange(keys) {\n this.selfChange = true;\n this.writeValue(keys);\n this.$emit('change', keys);\n },\n onNodeSelect(node) {\n this.$emit('node-select', node);\n\n if (this.selectionMode === 'single') {\n this.hide();\n }\n },\n onNodeUnselect(node) {\n this.$emit('node-unselect', node);\n },\n onNodeToggle(keys) {\n this.d_expandedKeys = keys;\n\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n getSelectedItemsLabel() {\n let pattern = /{(.*?)}/;\n const selectedItemsLabel = this.selectedItemsLabel || this.$primevue.config.locale.selectionMessage;\n\n if (pattern.test(selectedItemsLabel)) {\n return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], Object.keys(this.d_value).length + '');\n }\n\n return selectedItemsLabel;\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'Space':\n case 'Enter':\n case 'NumpadEnter':\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 default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (this.overlayVisible) return;\n\n this.show();\n\n this.$nextTick(() => {\n const treeNodeEl = find(this.$refs.tree.$el, '[data-pc-section=\"treeitem\"]');\n const focusedElement = [...treeNodeEl].find((item) => item.getAttribute('tabindex') === '0');\n\n focus(focusedElement);\n });\n\n event.preventDefault();\n },\n onEnterKey(event) {\n if (this.overlayVisible) {\n this.hide();\n } else {\n this.onArrowDownKey(event);\n }\n\n event.preventDefault();\n },\n onEscapeKey(event) {\n if (this.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n }\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.focus();\n\n // Issue: #7508\n this.$attrSelector && el.setAttribute(this.$attrSelector, '');\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.scrollValueInView();\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n focus() {\n let focusableElements = getFocusableElements(this.overlay);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && !this.selfClick && this.isOutsideClicked(event)) {\n this.hide();\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\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 && !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.$el.isSameNode(event.target) || this.$el.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));\n },\n overlayRef(el) {\n this.overlay = el;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n\n this.selfClick = true;\n },\n onOverlayKeydown(event) {\n if (event.code === 'Escape') this.hide();\n },\n fillNodeMap(node, nodeMap) {\n nodeMap[node.key] = node;\n\n if (node.children && node.children.length > 0) {\n node.children.forEach((children) => this.fillNodeMap(children, nodeMap));\n }\n },\n isSelected(node, keys) {\n return this.selectionMode === 'checkbox' ? keys[node?.key] && keys[node?.key].checked : keys[node?.key];\n },\n updateTreeState() {\n let keys = { ...this.d_value };\n\n if (keys && this.options && this.options.length > 0) {\n this.updateTreeBranchState(null, null, keys);\n }\n },\n updateTreeBranchState(node, path, keys) {\n if (node) {\n if (this.isSelected(node, keys)) {\n this.expandPath(path);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n path.push(node.key);\n this.updateTreeBranchState(childNode, path, keys);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.updateTreeBranchState(childNode, [], keys);\n }\n }\n },\n expandPath(path) {\n if (path.length > 0) {\n for (let key of path) {\n this.d_expandedKeys[key] = true;\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n }\n },\n scrollValueInView() {\n if (this.overlay) {\n let selectedItem = findSingle(this.overlay, '[data-p-selected=\"true\"]');\n\n if (selectedItem) {\n selectedItem.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n }\n },\n computed: {\n nodeMap() {\n const nodeMap = {};\n\n this.options?.forEach((node) => this.fillNodeMap(node, nodeMap));\n\n return nodeMap;\n },\n selectedNodes() {\n let selectedNodes = [];\n\n if (this.d_value && this.options && this.options.length > 0) {\n Object.keys(this.d_value).forEach((key) => {\n const node = this.nodeMap[key];\n\n if (this.isSelected(node, this.d_value)) {\n selectedNodes.push(node);\n }\n });\n }\n\n return selectedNodes;\n },\n label() {\n let value = this.selectedNodes;\n let label;\n\n if (value.length) {\n if (isNotEmpty(this.maxSelectedLabels) && value.length > this.maxSelectedLabels) {\n label = this.getSelectedItemsLabel();\n } else {\n label = value.map((node) => node.label).join(', ');\n }\n } else {\n label = this.placeholder;\n }\n\n return label;\n },\n chipSelectedItems() {\n return isNotEmpty(this.maxSelectedLabels) && this.d_value && Object.keys(this.d_value).length > this.maxSelectedLabels;\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage;\n },\n emptyValue() {\n return !this.$filled;\n },\n emptyOptions() {\n return !this.options || this.options.length === 0;\n },\n listId() {\n return this.$id + '_list';\n },\n hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options) && !this.disabled && !this.loading;\n }\n },\n components: {\n TSTree: Tree,\n Chip,\n Portal,\n ChevronDownIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseInput","props","options","Array","scrollHeight","type","String","placeholder","tabindex","Number","selectionMode","selectedItemsLabel","maxSelectedLabels","appendTo","Object","emptyMessage","display","metaKeySelection","Boolean","loading","loadingIcon","undefined","loadingMode","showClear","clearIcon","filter","filterBy","Function","filterMode","filterPlaceholder","filterLocale","inputId","inputClass","inputStyle","inputProps","panelClass","panelProps","ariaLabelledby","ariaLabel","expandedKeys","style","TreeSelectStyle","provide","$pcTreeSelect","$parentInstance","BaseTreeSelect","inheritAttrs","emits","inject","$pcFluid","data","focused","overlayVisible","d_expandedKeys","watch","modelValue","handler","selfChange","updateTreeState","immediate","value","outsideClickListener","resizeListener","scrollHandler","overlay","selfClick","beforeUnmount","unbindOutsideClickListener","unbindResizeListener","destroy","ZIndex","clear","mounted","methods","show","$emit","hide","$refs","focusInput","focus","onFocus","event","onBlur","_this$formField$onBlu","_this$formField","formField","call","onClick","disabled","target","tagName","getAttribute","closest","contains","onClearClick","onSelectionChange","keys","writeValue","onNodeSelect","node","onNodeUnselect","onNodeToggle","getSelectedItemsLabel","pattern","$primevue","config","locale","selectionMessage","test","replace","match","d_value","length","onFirstHiddenFocus","focusableEl","relatedTarget","getFirstFocusableElement","onLastHiddenFocus","getLastFocusableElement","onKeyDown","code","onArrowDownKey","onEnterKey","onEscapeKey","onTabKey","_this","$nextTick","treeNodeEl","find","tree","$el","focusedElement","_toConsumableArray","item","preventDefault","pressedInInputText","hasFocusableElements","firstHiddenFocusableElementOnOverlay","getFocusableElements","onOverlayEnter","el","set","zIndex","addStyle","position","top","alignOverlay","$attrSelector","setAttribute","onOverlayAfterEnter","bindOutsideClickListener","bindScrollListener","bindResizeListener","scrollValueInView","onOverlayLeave","unbindScrollListener","onOverlayAfterLeave","focusableElements","relativePosition","minWidth","getOuterWidth","absolutePosition","_this2","isOutsideClicked","document","addEventListener","removeEventListener","_this3","ConnectedOverlayScrollHandler","container","_this4","isTouchDevice","window","isSameNode","overlayRef","onOverlayClick","OverlayEventBus","emit","originalEvent","onOverlayKeydown","fillNodeMap","nodeMap","_this5","key","children","forEach","isSelected","checked","_objectSpread","updateTreeBranchState","path","expandPath","_iterator","_createForOfIteratorHelper","_step","s","n","done","childNode","push","err","e","f","_iterator2","_step2","_iterator3","_step3","selectedItem","findSingle","scrollIntoView","block","inline","computed","_this$options","_this6","selectedNodes","_this7","label","isNotEmpty","map","join","chipSelectedItems","emptyMessageText","emptyValue","$filled","emptyOptions","listId","$id","hasFluid","isEmpty","fluid","isClearIconVisible","components","TSTree","Tree","Chip","Portal","ChevronDownIcon","TimesIcon","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","sx","$options","apply","arguments","ptmi","_createElementVNode","ptm","id","role","readonly","$data","_cache","$event","onKeydown","_hoisted_1","_renderSlot","$slots","_Fragment","_renderList","_createVNode","_component_Chip","unstyled","pt","clearCallback","_createBlock","_resolveDynamicComponent","dropdownicon","_component_Portal","_Transition","onEnter","onAfterEnter","onLeave","onAfterLeave","_component_TSTree","selectionKeys","onNodeExpand","onNodeCollapse","level","option","fn","_withCtx","optionSlotProps","expanded","selected","itemtoggleicon","iconSlotProps","_normalizeClass","itemtogglericon","itemcheckboxicon","partialChecked"],"mappings":"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"}