primevue 4.3.3 → 4.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/accordion/index.mjs +4 -2
  2. package/accordion/index.mjs.map +1 -1
  3. package/accordionheader/AccordionHeader.vue +1 -1
  4. package/accordionheader/index.d.ts +6 -1
  5. package/accordionheader/index.mjs +1 -1
  6. package/accordionheader/index.mjs.map +1 -1
  7. package/autocomplete/AutoComplete.vue +4 -1
  8. package/autocomplete/index.d.ts +4 -0
  9. package/autocomplete/index.mjs +38 -31
  10. package/autocomplete/index.mjs.map +1 -1
  11. package/breadcrumb/index.mjs +4 -2
  12. package/breadcrumb/index.mjs.map +1 -1
  13. package/carousel/index.mjs +10 -5
  14. package/carousel/index.mjs.map +1 -1
  15. package/cascadeselect/CascadeSelect.vue +3 -0
  16. package/cascadeselect/CascadeSelectSub.vue +1 -1
  17. package/cascadeselect/index.mjs +31 -23
  18. package/cascadeselect/index.mjs.map +1 -1
  19. package/colorpicker/ColorPicker.vue +4 -0
  20. package/colorpicker/index.mjs +4 -0
  21. package/colorpicker/index.mjs.map +1 -1
  22. package/confirmationoptions/index.d.ts +1 -1
  23. package/confirmdialog/index.d.ts +4 -0
  24. package/contextmenu/index.mjs +28 -20
  25. package/contextmenu/index.mjs.map +1 -1
  26. package/datatable/ColumnFilter.vue +2 -2
  27. package/datatable/DataTable.vue +7 -3
  28. package/datatable/index.d.ts +2 -2
  29. package/datatable/index.mjs +48 -40
  30. package/datatable/index.mjs.map +1 -1
  31. package/datatable/style/index.mjs +4 -4
  32. package/datatable/style/index.mjs.map +1 -1
  33. package/dataview/index.d.ts +5 -5
  34. package/datepicker/DatePicker.vue +10 -3
  35. package/datepicker/index.mjs +123 -84
  36. package/datepicker/index.mjs.map +1 -1
  37. package/dock/index.mjs +8 -4
  38. package/dock/index.mjs.map +1 -1
  39. package/dynamicdialog/index.mjs +6 -3
  40. package/dynamicdialog/index.mjs.map +1 -1
  41. package/fileupload/FileUpload.vue +2 -3
  42. package/fileupload/index.mjs +20 -15
  43. package/fileupload/index.mjs.map +1 -1
  44. package/floatlabel/index.d.ts +1 -1
  45. package/galleria/index.mjs +8 -4
  46. package/galleria/index.mjs.map +1 -1
  47. package/image/Image.vue +1 -1
  48. package/image/index.mjs +1 -1
  49. package/image/index.mjs.map +1 -1
  50. package/inputchips/index.mjs +2 -1
  51. package/inputchips/index.mjs.map +1 -1
  52. package/inputmask/InputMask.vue +3 -3
  53. package/inputmask/index.d.ts +3 -3
  54. package/inputmask/index.mjs +3 -3
  55. package/inputmask/index.mjs.map +1 -1
  56. package/inputnumber/InputNumber.vue +1 -1
  57. package/inputnumber/index.mjs +2 -2
  58. package/inputnumber/index.mjs.map +1 -1
  59. package/inputtext/index.d.ts +2 -1
  60. package/listbox/Listbox.vue +1 -0
  61. package/listbox/index.mjs +35 -30
  62. package/listbox/index.mjs.map +1 -1
  63. package/megamenu/index.d.ts +1 -1
  64. package/megamenu/index.mjs +33 -22
  65. package/megamenu/index.mjs.map +1 -1
  66. package/menu/Menu.vue +4 -4
  67. package/menu/index.d.ts +3 -12
  68. package/menu/index.mjs +10 -7
  69. package/menu/index.mjs.map +1 -1
  70. package/menubar/index.mjs +30 -23
  71. package/menubar/index.mjs.map +1 -1
  72. package/metergroup/index.d.ts +1 -1
  73. package/metergroup/index.mjs +10 -5
  74. package/metergroup/index.mjs.map +1 -1
  75. package/multiselect/MultiSelect.vue +4 -1
  76. package/multiselect/index.d.ts +1 -1
  77. package/multiselect/index.mjs +59 -52
  78. package/multiselect/index.mjs.map +1 -1
  79. package/organizationchart/OrganizationChartNode.vue +1 -1
  80. package/organizationchart/index.mjs +6 -3
  81. package/organizationchart/index.mjs.map +1 -1
  82. package/organizationchart/style/index.mjs +11 -6
  83. package/organizationchart/style/index.mjs.map +1 -1
  84. package/package.json +6 -6
  85. package/paginator/index.mjs +10 -4
  86. package/paginator/index.mjs.map +1 -1
  87. package/panel/Panel.vue +2 -2
  88. package/panel/index.mjs +2 -2
  89. package/panel/index.mjs.map +1 -1
  90. package/panelmenu/index.mjs +45 -24
  91. package/panelmenu/index.mjs.map +1 -1
  92. package/password/Password.vue +8 -3
  93. package/password/index.d.ts +1 -1
  94. package/password/index.mjs +18 -9
  95. package/password/index.mjs.map +1 -1
  96. package/rating/index.mjs +10 -5
  97. package/rating/index.mjs.map +1 -1
  98. package/select/Select.vue +21 -3
  99. package/select/index.mjs +66 -42
  100. package/select/index.mjs.map +1 -1
  101. package/selectbutton/index.d.ts +0 -24
  102. package/speeddial/index.mjs +6 -3
  103. package/speeddial/index.mjs.map +1 -1
  104. package/splitter/Splitter.vue +2 -2
  105. package/splitter/index.d.ts +1 -1
  106. package/splitter/index.mjs +5 -3
  107. package/splitter/index.mjs.map +1 -1
  108. package/splitter/style/index.mjs +1 -13
  109. package/splitter/style/index.mjs.map +1 -1
  110. package/step/Step.vue +2 -2
  111. package/step/index.mjs +2 -2
  112. package/step/index.mjs.map +1 -1
  113. package/steppanel/StepPanel.vue +2 -2
  114. package/steppanel/index.mjs +2 -2
  115. package/steppanel/index.mjs.map +1 -1
  116. package/steps/index.mjs +8 -4
  117. package/steps/index.mjs.map +1 -1
  118. package/tabmenu/index.mjs +8 -2
  119. package/tabmenu/index.mjs.map +1 -1
  120. package/tabview/index.mjs +8 -4
  121. package/tabview/index.mjs.map +1 -1
  122. package/terminal/index.mjs +8 -4
  123. package/terminal/index.mjs.map +1 -1
  124. package/textarea/index.d.ts +2 -1
  125. package/tieredmenu/index.mjs +30 -21
  126. package/tieredmenu/index.mjs.map +1 -1
  127. package/timeline/index.mjs +12 -6
  128. package/timeline/index.mjs.map +1 -1
  129. package/toast/ToastMessage.vue +1 -1
  130. package/toast/index.mjs +1 -1
  131. package/toast/index.mjs.map +1 -1
  132. package/toggleswitch/style/index.d.ts +1 -5
  133. package/tooltip/index.mjs +25 -14
  134. package/tooltip/index.mjs.map +1 -1
  135. package/treeselect/TreeSelect.vue +3 -0
  136. package/treeselect/index.mjs +5 -1
  137. package/treeselect/index.mjs.map +1 -1
  138. package/treetable/index.mjs +2 -1
  139. package/treetable/index.mjs.map +1 -1
  140. package/umd/primevue.min.js +12213 -1
  141. package/virtualscroller/VirtualScroller.vue +4 -1
  142. package/virtualscroller/index.mjs +21 -19
  143. package/virtualscroller/index.mjs.map +1 -1
  144. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/tabview/BaseTabView.vue","../../src/tabview/TabView.vue","../../src/tabview/TabView.vue?vue&type=template&id=15a9c0e0&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabViewStyle from 'primevue/tabview/style';\n\nexport default {\n name: 'BaseTabView',\n extends: BaseComponent,\n props: {\n activeIndex: {\n type: Number,\n default: 0\n },\n lazy: {\n type: Boolean,\n default: false\n },\n scrollable: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: Number,\n default: 0\n },\n selectOnFocus: {\n type: Boolean,\n default: false\n },\n prevButtonProps: {\n type: null,\n default: null\n },\n nextButtonProps: {\n type: null,\n default: null\n },\n prevIcon: {\n type: String,\n default: undefined\n },\n nextIcon: {\n type: String,\n default: undefined\n }\n },\n style: TabViewStyle,\n provide() {\n return {\n $pcTabs: undefined, // Backwards compatible to prevent <TabPanel> component from breaking\n $pcTabView: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"tablist\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('navContainer')\" v-bind=\"ptm('navContainer')\">\n <button\n v-if=\"scrollable && !isPrevButtonDisabled\"\n ref=\"prevBtn\"\n v-ripple\n type=\"button\"\n :class=\"cx('prevButton')\"\n :tabindex=\"tabindex\"\n :aria-label=\"prevButtonAriaLabel\"\n @click=\"onPrevButtonClick\"\n v-bind=\"{ ...prevButtonProps, ...ptm('prevButton') }\"\n data-pc-group-section=\"navbutton\"\n >\n <slot name=\"previcon\">\n <component :is=\"prevIcon ? 'span' : 'ChevronLeftIcon'\" aria-hidden=\"true\" :class=\"prevIcon\" v-bind=\"ptm('prevIcon')\" />\n </slot>\n </button>\n <div ref=\"content\" :class=\"cx('navContent')\" @scroll=\"onScroll\" v-bind=\"ptm('navContent')\">\n <ul ref=\"nav\" :class=\"cx('nav')\" v-bind=\"ptm('nav')\">\n <li\n v-for=\"(tab, index) of tabs\"\n :key=\"getKey(tab, index)\"\n :style=\"getTabProp(tab, 'headerStyle')\"\n :class=\"cx('tab.header', { tab, index })\"\n role=\"presentation\"\n v-bind=\"{ ...getTabProp(tab, 'headerProps'), ...getTabPT(tab, 'root', index), ...getTabPT(tab, 'header', index) }\"\n data-pc-name=\"tabpanel\"\n :data-p-active=\"d_activeIndex === index\"\n :data-p-disabled=\"getTabProp(tab, 'disabled')\"\n :data-pc-index=\"index\"\n >\n <a\n :id=\"getTabHeaderActionId(index)\"\n v-ripple\n :class=\"cx('tab.headerAction')\"\n :tabindex=\"getTabProp(tab, 'disabled') || !isTabActive(index) ? -1 : tabindex\"\n role=\"tab\"\n :aria-disabled=\"getTabProp(tab, 'disabled')\"\n :aria-selected=\"isTabActive(index)\"\n :aria-controls=\"getTabContentId(index)\"\n @click=\"onTabClick($event, tab, index)\"\n @keydown=\"onTabKeyDown($event, tab, index)\"\n v-bind=\"{ ...getTabProp(tab, 'headerActionProps'), ...getTabPT(tab, 'headerAction', index) }\"\n >\n <span v-if=\"tab.props && tab.props.header\" :class=\"cx('tab.headerTitle')\" v-bind=\"getTabPT(tab, 'headerTitle', index)\">{{ tab.props.header }}</span>\n <component v-if=\"tab.children && tab.children.header\" :is=\"tab.children.header\"></component>\n </a>\n </li>\n <li ref=\"inkbar\" :class=\"cx('inkbar')\" role=\"presentation\" aria-hidden=\"true\" v-bind=\"ptm('inkbar')\"></li>\n </ul>\n </div>\n <button\n v-if=\"scrollable && !isNextButtonDisabled\"\n ref=\"nextBtn\"\n v-ripple\n type=\"button\"\n :class=\"cx('nextButton')\"\n :tabindex=\"tabindex\"\n :aria-label=\"nextButtonAriaLabel\"\n @click=\"onNextButtonClick\"\n v-bind=\"{ ...nextButtonProps, ...ptm('nextButton') }\"\n data-pc-group-section=\"navbutton\"\n >\n <slot name=\"nexticon\">\n <component :is=\"nextIcon ? 'span' : 'ChevronRightIcon'\" aria-hidden=\"true\" :class=\"nextIcon\" v-bind=\"ptm('nextIcon')\" />\n </slot>\n </button>\n </div>\n <div :class=\"cx('panelContainer')\" v-bind=\"ptm('panelContainer')\">\n <template v-for=\"(tab, index) of tabs\" :key=\"getKey(tab, index)\">\n <div\n v-if=\"lazy ? isTabActive(index) : true\"\n v-show=\"lazy ? true : isTabActive(index)\"\n :id=\"getTabContentId(index)\"\n :style=\"getTabProp(tab, 'contentStyle')\"\n :class=\"cx('tab.content', { tab })\"\n role=\"tabpanel\"\n :aria-labelledby=\"getTabHeaderActionId(index)\"\n v-bind=\"{ ...getTabProp(tab, 'contentProps'), ...getTabPT(tab, 'root', index), ...getTabPT(tab, 'content', index) }\"\n data-pc-name=\"tabpanel\"\n :data-pc-index=\"index\"\n :data-p-active=\"d_activeIndex === index\"\n >\n <component :is=\"tab\"></component>\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script>\nimport { findSingle, focus, getAttribute, getOffset, getWidth } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseTabView from './BaseTabView.vue';\n\nexport default {\n name: 'TabView',\n extends: BaseTabView,\n inheritAttrs: false,\n emits: ['update:activeIndex', 'tab-change', 'tab-click'],\n data() {\n return {\n d_activeIndex: this.activeIndex,\n isPrevButtonDisabled: true,\n isNextButtonDisabled: false\n };\n },\n watch: {\n activeIndex(newValue) {\n this.d_activeIndex = newValue;\n\n this.scrollInView({ index: newValue });\n }\n },\n mounted() {\n console.warn('Deprecated since v4. Use Tabs component instead.');\n\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n updated() {\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n methods: {\n isTabPanel(child) {\n return child.type.name === 'TabPanel';\n },\n isTabActive(index) {\n return this.d_activeIndex === index;\n },\n getTabProp(tab, name) {\n return tab.props ? tab.props[name] : undefined;\n },\n getKey(tab, index) {\n return this.getTabProp(tab, 'header') || index;\n },\n getTabHeaderActionId(index) {\n return `${this.$id}_${index}_header_action`;\n },\n getTabContentId(index) {\n return `${this.$id}_${index}_content`;\n },\n getTabPT(tab, key, index) {\n const count = this.tabs.length;\n const tabMetaData = {\n props: tab.props,\n parent: {\n instance: this,\n props: this.$props,\n state: this.$data\n },\n context: {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n active: this.isTabActive(index)\n }\n };\n\n return mergeProps(this.ptm(`tabpanel.${key}`, { tabpanel: tabMetaData }), this.ptm(`tabpanel.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));\n },\n onScroll(event) {\n this.scrollable && this.updateButtonState();\n\n event.preventDefault();\n },\n onPrevButtonClick() {\n const content = this.$refs.content;\n const width = getWidth(content);\n const pos = content.scrollLeft - width;\n\n content.scrollLeft = pos <= 0 ? 0 : pos;\n },\n onNextButtonClick() {\n const content = this.$refs.content;\n const width = getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft + width;\n const lastPos = content.scrollWidth - width;\n\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n },\n onTabClick(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n this.$emit('tab-click', { originalEvent: event, index });\n },\n onTabKeyDown(event, tab, index) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onTabArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onTabArrowRightKey(event);\n break;\n\n case 'Home':\n this.onTabHomeKey(event);\n break;\n\n case 'End':\n this.onTabEndKey(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 case 'NumpadEnter':\n case 'Space':\n this.onTabEnterKey(event, tab, index);\n break;\n\n default:\n break;\n }\n },\n onTabArrowRightKey(event) {\n const nextHeaderAction = this.findNextHeaderAction(event.target.parentElement);\n\n nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction) : this.onTabHomeKey(event);\n event.preventDefault();\n },\n onTabArrowLeftKey(event) {\n const prevHeaderAction = this.findPrevHeaderAction(event.target.parentElement);\n\n prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction) : this.onTabEndKey(event);\n event.preventDefault();\n },\n onTabHomeKey(event) {\n const firstHeaderAction = this.findFirstHeaderAction();\n\n this.changeFocusedTab(event, firstHeaderAction);\n event.preventDefault();\n },\n onTabEndKey(event) {\n const lastHeaderAction = this.findLastHeaderAction();\n\n this.changeFocusedTab(event, lastHeaderAction);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView({ index: this.$refs.nav.children.length - 2 });\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView({ index: 0 });\n event.preventDefault();\n },\n onTabEnterKey(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n\n event.preventDefault();\n },\n findNextHeaderAction(tabElement, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;\n\n return headerElement\n ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findNextHeaderAction(headerElement)\n : findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n },\n findPrevHeaderAction(tabElement, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return headerElement\n ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findPrevHeaderAction(headerElement)\n : findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n },\n findFirstHeaderAction() {\n return this.findNextHeaderAction(this.$refs.nav.firstElementChild, true);\n },\n findLastHeaderAction() {\n return this.findPrevHeaderAction(this.$refs.nav.lastElementChild, true);\n },\n changeActiveIndex(event, tab, index) {\n if (!this.getTabProp(tab, 'disabled') && this.d_activeIndex !== index) {\n this.d_activeIndex = index;\n\n this.$emit('update:activeIndex', index);\n this.$emit('tab-change', { originalEvent: event, index });\n\n this.scrollInView({ index });\n }\n },\n changeFocusedTab(event, element) {\n if (element) {\n focus(element);\n this.scrollInView({ element });\n\n if (this.selectOnFocus) {\n const index = parseInt(element.parentElement.dataset.pcIndex, 10);\n const tab = this.tabs[index];\n\n this.changeActiveIndex(event, tab, index);\n }\n }\n },\n scrollInView({ element, index = -1 }) {\n const currentElement = element || this.$refs.nav.children[index];\n\n if (currentElement) {\n currentElement.scrollIntoView && currentElement.scrollIntoView({ block: 'nearest' });\n }\n },\n updateInkBar() {\n let tabHeader = this.$refs.nav.children[this.d_activeIndex];\n\n this.$refs.inkbar.style.width = getWidth(tabHeader) + 'px';\n this.$refs.inkbar.style.left = getOffset(tabHeader).left - getOffset(this.$refs.nav).left + 'px';\n },\n updateButtonState() {\n const content = this.$refs.content;\n const { scrollLeft, scrollWidth } = content;\n const width = getWidth(content);\n\n this.isPrevButtonDisabled = scrollLeft === 0;\n this.isNextButtonDisabled = parseInt(scrollLeft) === scrollWidth - width;\n },\n getVisibleButtonWidths() {\n const { prevBtn, nextBtn } = this.$refs;\n\n return [prevBtn, nextBtn].reduce((acc, el) => (el ? acc + getWidth(el) : acc), 0);\n }\n },\n computed: {\n tabs() {\n return this.$slots.default().reduce((tabs, child) => {\n if (this.isTabPanel(child)) {\n tabs.push(child);\n } else if (child.children && child.children instanceof Array) {\n child.children.forEach((nestedChild) => {\n if (this.isTabPanel(nestedChild)) {\n tabs.push(nestedChild);\n }\n });\n }\n\n return tabs;\n }, []);\n },\n prevButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : undefined;\n },\n nextButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : undefined;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n ChevronLeftIcon,\n ChevronRightIcon\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"tablist\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('navContainer')\" v-bind=\"ptm('navContainer')\">\n <button\n v-if=\"scrollable && !isPrevButtonDisabled\"\n ref=\"prevBtn\"\n v-ripple\n type=\"button\"\n :class=\"cx('prevButton')\"\n :tabindex=\"tabindex\"\n :aria-label=\"prevButtonAriaLabel\"\n @click=\"onPrevButtonClick\"\n v-bind=\"{ ...prevButtonProps, ...ptm('prevButton') }\"\n data-pc-group-section=\"navbutton\"\n >\n <slot name=\"previcon\">\n <component :is=\"prevIcon ? 'span' : 'ChevronLeftIcon'\" aria-hidden=\"true\" :class=\"prevIcon\" v-bind=\"ptm('prevIcon')\" />\n </slot>\n </button>\n <div ref=\"content\" :class=\"cx('navContent')\" @scroll=\"onScroll\" v-bind=\"ptm('navContent')\">\n <ul ref=\"nav\" :class=\"cx('nav')\" v-bind=\"ptm('nav')\">\n <li\n v-for=\"(tab, index) of tabs\"\n :key=\"getKey(tab, index)\"\n :style=\"getTabProp(tab, 'headerStyle')\"\n :class=\"cx('tab.header', { tab, index })\"\n role=\"presentation\"\n v-bind=\"{ ...getTabProp(tab, 'headerProps'), ...getTabPT(tab, 'root', index), ...getTabPT(tab, 'header', index) }\"\n data-pc-name=\"tabpanel\"\n :data-p-active=\"d_activeIndex === index\"\n :data-p-disabled=\"getTabProp(tab, 'disabled')\"\n :data-pc-index=\"index\"\n >\n <a\n :id=\"getTabHeaderActionId(index)\"\n v-ripple\n :class=\"cx('tab.headerAction')\"\n :tabindex=\"getTabProp(tab, 'disabled') || !isTabActive(index) ? -1 : tabindex\"\n role=\"tab\"\n :aria-disabled=\"getTabProp(tab, 'disabled')\"\n :aria-selected=\"isTabActive(index)\"\n :aria-controls=\"getTabContentId(index)\"\n @click=\"onTabClick($event, tab, index)\"\n @keydown=\"onTabKeyDown($event, tab, index)\"\n v-bind=\"{ ...getTabProp(tab, 'headerActionProps'), ...getTabPT(tab, 'headerAction', index) }\"\n >\n <span v-if=\"tab.props && tab.props.header\" :class=\"cx('tab.headerTitle')\" v-bind=\"getTabPT(tab, 'headerTitle', index)\">{{ tab.props.header }}</span>\n <component v-if=\"tab.children && tab.children.header\" :is=\"tab.children.header\"></component>\n </a>\n </li>\n <li ref=\"inkbar\" :class=\"cx('inkbar')\" role=\"presentation\" aria-hidden=\"true\" v-bind=\"ptm('inkbar')\"></li>\n </ul>\n </div>\n <button\n v-if=\"scrollable && !isNextButtonDisabled\"\n ref=\"nextBtn\"\n v-ripple\n type=\"button\"\n :class=\"cx('nextButton')\"\n :tabindex=\"tabindex\"\n :aria-label=\"nextButtonAriaLabel\"\n @click=\"onNextButtonClick\"\n v-bind=\"{ ...nextButtonProps, ...ptm('nextButton') }\"\n data-pc-group-section=\"navbutton\"\n >\n <slot name=\"nexticon\">\n <component :is=\"nextIcon ? 'span' : 'ChevronRightIcon'\" aria-hidden=\"true\" :class=\"nextIcon\" v-bind=\"ptm('nextIcon')\" />\n </slot>\n </button>\n </div>\n <div :class=\"cx('panelContainer')\" v-bind=\"ptm('panelContainer')\">\n <template v-for=\"(tab, index) of tabs\" :key=\"getKey(tab, index)\">\n <div\n v-if=\"lazy ? isTabActive(index) : true\"\n v-show=\"lazy ? true : isTabActive(index)\"\n :id=\"getTabContentId(index)\"\n :style=\"getTabProp(tab, 'contentStyle')\"\n :class=\"cx('tab.content', { tab })\"\n role=\"tabpanel\"\n :aria-labelledby=\"getTabHeaderActionId(index)\"\n v-bind=\"{ ...getTabProp(tab, 'contentProps'), ...getTabPT(tab, 'root', index), ...getTabPT(tab, 'content', index) }\"\n data-pc-name=\"tabpanel\"\n :data-pc-index=\"index\"\n :data-p-active=\"d_activeIndex === index\"\n >\n <component :is=\"tab\"></component>\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script>\nimport { findSingle, focus, getAttribute, getOffset, getWidth } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseTabView from './BaseTabView.vue';\n\nexport default {\n name: 'TabView',\n extends: BaseTabView,\n inheritAttrs: false,\n emits: ['update:activeIndex', 'tab-change', 'tab-click'],\n data() {\n return {\n d_activeIndex: this.activeIndex,\n isPrevButtonDisabled: true,\n isNextButtonDisabled: false\n };\n },\n watch: {\n activeIndex(newValue) {\n this.d_activeIndex = newValue;\n\n this.scrollInView({ index: newValue });\n }\n },\n mounted() {\n console.warn('Deprecated since v4. Use Tabs component instead.');\n\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n updated() {\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n methods: {\n isTabPanel(child) {\n return child.type.name === 'TabPanel';\n },\n isTabActive(index) {\n return this.d_activeIndex === index;\n },\n getTabProp(tab, name) {\n return tab.props ? tab.props[name] : undefined;\n },\n getKey(tab, index) {\n return this.getTabProp(tab, 'header') || index;\n },\n getTabHeaderActionId(index) {\n return `${this.$id}_${index}_header_action`;\n },\n getTabContentId(index) {\n return `${this.$id}_${index}_content`;\n },\n getTabPT(tab, key, index) {\n const count = this.tabs.length;\n const tabMetaData = {\n props: tab.props,\n parent: {\n instance: this,\n props: this.$props,\n state: this.$data\n },\n context: {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n active: this.isTabActive(index)\n }\n };\n\n return mergeProps(this.ptm(`tabpanel.${key}`, { tabpanel: tabMetaData }), this.ptm(`tabpanel.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));\n },\n onScroll(event) {\n this.scrollable && this.updateButtonState();\n\n event.preventDefault();\n },\n onPrevButtonClick() {\n const content = this.$refs.content;\n const width = getWidth(content);\n const pos = content.scrollLeft - width;\n\n content.scrollLeft = pos <= 0 ? 0 : pos;\n },\n onNextButtonClick() {\n const content = this.$refs.content;\n const width = getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft + width;\n const lastPos = content.scrollWidth - width;\n\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n },\n onTabClick(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n this.$emit('tab-click', { originalEvent: event, index });\n },\n onTabKeyDown(event, tab, index) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onTabArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onTabArrowRightKey(event);\n break;\n\n case 'Home':\n this.onTabHomeKey(event);\n break;\n\n case 'End':\n this.onTabEndKey(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 case 'NumpadEnter':\n case 'Space':\n this.onTabEnterKey(event, tab, index);\n break;\n\n default:\n break;\n }\n },\n onTabArrowRightKey(event) {\n const nextHeaderAction = this.findNextHeaderAction(event.target.parentElement);\n\n nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction) : this.onTabHomeKey(event);\n event.preventDefault();\n },\n onTabArrowLeftKey(event) {\n const prevHeaderAction = this.findPrevHeaderAction(event.target.parentElement);\n\n prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction) : this.onTabEndKey(event);\n event.preventDefault();\n },\n onTabHomeKey(event) {\n const firstHeaderAction = this.findFirstHeaderAction();\n\n this.changeFocusedTab(event, firstHeaderAction);\n event.preventDefault();\n },\n onTabEndKey(event) {\n const lastHeaderAction = this.findLastHeaderAction();\n\n this.changeFocusedTab(event, lastHeaderAction);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView({ index: this.$refs.nav.children.length - 2 });\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView({ index: 0 });\n event.preventDefault();\n },\n onTabEnterKey(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n\n event.preventDefault();\n },\n findNextHeaderAction(tabElement, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;\n\n return headerElement\n ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findNextHeaderAction(headerElement)\n : findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n },\n findPrevHeaderAction(tabElement, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return headerElement\n ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findPrevHeaderAction(headerElement)\n : findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n },\n findFirstHeaderAction() {\n return this.findNextHeaderAction(this.$refs.nav.firstElementChild, true);\n },\n findLastHeaderAction() {\n return this.findPrevHeaderAction(this.$refs.nav.lastElementChild, true);\n },\n changeActiveIndex(event, tab, index) {\n if (!this.getTabProp(tab, 'disabled') && this.d_activeIndex !== index) {\n this.d_activeIndex = index;\n\n this.$emit('update:activeIndex', index);\n this.$emit('tab-change', { originalEvent: event, index });\n\n this.scrollInView({ index });\n }\n },\n changeFocusedTab(event, element) {\n if (element) {\n focus(element);\n this.scrollInView({ element });\n\n if (this.selectOnFocus) {\n const index = parseInt(element.parentElement.dataset.pcIndex, 10);\n const tab = this.tabs[index];\n\n this.changeActiveIndex(event, tab, index);\n }\n }\n },\n scrollInView({ element, index = -1 }) {\n const currentElement = element || this.$refs.nav.children[index];\n\n if (currentElement) {\n currentElement.scrollIntoView && currentElement.scrollIntoView({ block: 'nearest' });\n }\n },\n updateInkBar() {\n let tabHeader = this.$refs.nav.children[this.d_activeIndex];\n\n this.$refs.inkbar.style.width = getWidth(tabHeader) + 'px';\n this.$refs.inkbar.style.left = getOffset(tabHeader).left - getOffset(this.$refs.nav).left + 'px';\n },\n updateButtonState() {\n const content = this.$refs.content;\n const { scrollLeft, scrollWidth } = content;\n const width = getWidth(content);\n\n this.isPrevButtonDisabled = scrollLeft === 0;\n this.isNextButtonDisabled = parseInt(scrollLeft) === scrollWidth - width;\n },\n getVisibleButtonWidths() {\n const { prevBtn, nextBtn } = this.$refs;\n\n return [prevBtn, nextBtn].reduce((acc, el) => (el ? acc + getWidth(el) : acc), 0);\n }\n },\n computed: {\n tabs() {\n return this.$slots.default().reduce((tabs, child) => {\n if (this.isTabPanel(child)) {\n tabs.push(child);\n } else if (child.children && child.children instanceof Array) {\n child.children.forEach((nestedChild) => {\n if (this.isTabPanel(nestedChild)) {\n tabs.push(nestedChild);\n }\n });\n }\n\n return tabs;\n }, []);\n },\n prevButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : undefined;\n },\n nextButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : undefined;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n ChevronLeftIcon,\n ChevronRightIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","activeIndex","type","Number","lazy","Boolean","scrollable","tabindex","selectOnFocus","prevButtonProps","nextButtonProps","prevIcon","String","undefined","nextIcon","style","TabViewStyle","provide","$pcTabs","$pcTabView","$parentInstance","BaseTabView","inheritAttrs","emits","data","d_activeIndex","isPrevButtonDisabled","isNextButtonDisabled","watch","newValue","scrollInView","index","mounted","console","warn","updateInkBar","updateButtonState","updated","methods","isTabPanel","child","isTabActive","getTabProp","tab","getKey","getTabHeaderActionId","concat","$id","getTabContentId","getTabPT","key","count","tabs","length","tabMetaData","parent","instance","$props","state","$data","context","first","last","active","mergeProps","ptm","tabpanel","ptmo","onScroll","event","preventDefault","onPrevButtonClick","content","$refs","width","getWidth","pos","scrollLeft","onNextButtonClick","getVisibleButtonWidths","lastPos","scrollWidth","onTabClick","changeActiveIndex","$emit","originalEvent","onTabKeyDown","code","onTabArrowLeftKey","onTabArrowRightKey","onTabHomeKey","onTabEndKey","onPageDownKey","onPageUpKey","onTabEnterKey","nextHeaderAction","findNextHeaderAction","target","parentElement","changeFocusedTab","prevHeaderAction","findPrevHeaderAction","firstHeaderAction","findFirstHeaderAction","lastHeaderAction","findLastHeaderAction","nav","children","tabElement","selfCheck","arguments","headerElement","nextElementSibling","getAttribute","findSingle","previousElementSibling","firstElementChild","lastElementChild","element","focus","parseInt","dataset","pcIndex","_ref","_ref$index","currentElement","scrollIntoView","block","tabHeader","inkbar","left","getOffset","_this$$refs","prevBtn","nextBtn","reduce","acc","el","computed","_this","$slots","push","Array","forEach","nestedChild","prevButtonAriaLabel","$primevue","config","locale","aria","previous","nextButtonAriaLabel","next","directives","ripple","Ripple","components","ChevronLeftIcon","ChevronRightIcon","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","role","ptmi","_createElementVNode","_withDirectives","ref","$options","onClick","apply","_objectSpread","_renderSlot","_createBlock","_resolveDynamicComponent","_Fragment","_renderList","id","$event","onKeydown","header"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/tabview/BaseTabView.vue","../../src/tabview/TabView.vue","../../src/tabview/TabView.vue?vue&type=template&id=15a9c0e0&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabViewStyle from 'primevue/tabview/style';\n\nexport default {\n name: 'BaseTabView',\n extends: BaseComponent,\n props: {\n activeIndex: {\n type: Number,\n default: 0\n },\n lazy: {\n type: Boolean,\n default: false\n },\n scrollable: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: Number,\n default: 0\n },\n selectOnFocus: {\n type: Boolean,\n default: false\n },\n prevButtonProps: {\n type: null,\n default: null\n },\n nextButtonProps: {\n type: null,\n default: null\n },\n prevIcon: {\n type: String,\n default: undefined\n },\n nextIcon: {\n type: String,\n default: undefined\n }\n },\n style: TabViewStyle,\n provide() {\n return {\n $pcTabs: undefined, // Backwards compatible to prevent <TabPanel> component from breaking\n $pcTabView: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"tablist\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('navContainer')\" v-bind=\"ptm('navContainer')\">\n <button\n v-if=\"scrollable && !isPrevButtonDisabled\"\n ref=\"prevBtn\"\n v-ripple\n type=\"button\"\n :class=\"cx('prevButton')\"\n :tabindex=\"tabindex\"\n :aria-label=\"prevButtonAriaLabel\"\n @click=\"onPrevButtonClick\"\n v-bind=\"{ ...prevButtonProps, ...ptm('prevButton') }\"\n data-pc-group-section=\"navbutton\"\n >\n <slot name=\"previcon\">\n <component :is=\"prevIcon ? 'span' : 'ChevronLeftIcon'\" aria-hidden=\"true\" :class=\"prevIcon\" v-bind=\"ptm('prevIcon')\" />\n </slot>\n </button>\n <div ref=\"content\" :class=\"cx('navContent')\" @scroll=\"onScroll\" v-bind=\"ptm('navContent')\">\n <ul ref=\"nav\" :class=\"cx('nav')\" v-bind=\"ptm('nav')\">\n <li\n v-for=\"(tab, index) of tabs\"\n :key=\"getKey(tab, index)\"\n :style=\"getTabProp(tab, 'headerStyle')\"\n :class=\"cx('tab.header', { tab, index })\"\n role=\"presentation\"\n v-bind=\"{ ...getTabProp(tab, 'headerProps'), ...getTabPT(tab, 'root', index), ...getTabPT(tab, 'header', index) }\"\n data-pc-name=\"tabpanel\"\n :data-p-active=\"d_activeIndex === index\"\n :data-p-disabled=\"getTabProp(tab, 'disabled')\"\n :data-pc-index=\"index\"\n >\n <a\n :id=\"getTabHeaderActionId(index)\"\n v-ripple\n :class=\"cx('tab.headerAction')\"\n :tabindex=\"getTabProp(tab, 'disabled') || !isTabActive(index) ? -1 : tabindex\"\n role=\"tab\"\n :aria-disabled=\"getTabProp(tab, 'disabled')\"\n :aria-selected=\"isTabActive(index)\"\n :aria-controls=\"getTabContentId(index)\"\n @click=\"onTabClick($event, tab, index)\"\n @keydown=\"onTabKeyDown($event, tab, index)\"\n v-bind=\"{ ...getTabProp(tab, 'headerActionProps'), ...getTabPT(tab, 'headerAction', index) }\"\n >\n <span v-if=\"tab.props && tab.props.header\" :class=\"cx('tab.headerTitle')\" v-bind=\"getTabPT(tab, 'headerTitle', index)\">{{ tab.props.header }}</span>\n <component v-if=\"tab.children && tab.children.header\" :is=\"tab.children.header\"></component>\n </a>\n </li>\n <li ref=\"inkbar\" :class=\"cx('inkbar')\" role=\"presentation\" aria-hidden=\"true\" v-bind=\"ptm('inkbar')\"></li>\n </ul>\n </div>\n <button\n v-if=\"scrollable && !isNextButtonDisabled\"\n ref=\"nextBtn\"\n v-ripple\n type=\"button\"\n :class=\"cx('nextButton')\"\n :tabindex=\"tabindex\"\n :aria-label=\"nextButtonAriaLabel\"\n @click=\"onNextButtonClick\"\n v-bind=\"{ ...nextButtonProps, ...ptm('nextButton') }\"\n data-pc-group-section=\"navbutton\"\n >\n <slot name=\"nexticon\">\n <component :is=\"nextIcon ? 'span' : 'ChevronRightIcon'\" aria-hidden=\"true\" :class=\"nextIcon\" v-bind=\"ptm('nextIcon')\" />\n </slot>\n </button>\n </div>\n <div :class=\"cx('panelContainer')\" v-bind=\"ptm('panelContainer')\">\n <template v-for=\"(tab, index) of tabs\" :key=\"getKey(tab, index)\">\n <div\n v-if=\"lazy ? isTabActive(index) : true\"\n v-show=\"lazy ? true : isTabActive(index)\"\n :id=\"getTabContentId(index)\"\n :style=\"getTabProp(tab, 'contentStyle')\"\n :class=\"cx('tab.content', { tab })\"\n role=\"tabpanel\"\n :aria-labelledby=\"getTabHeaderActionId(index)\"\n v-bind=\"{ ...getTabProp(tab, 'contentProps'), ...getTabPT(tab, 'root', index), ...getTabPT(tab, 'content', index) }\"\n data-pc-name=\"tabpanel\"\n :data-pc-index=\"index\"\n :data-p-active=\"d_activeIndex === index\"\n >\n <component :is=\"tab\"></component>\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script>\nimport { findSingle, focus, getAttribute, getOffset, getWidth } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseTabView from './BaseTabView.vue';\n\nexport default {\n name: 'TabView',\n extends: BaseTabView,\n inheritAttrs: false,\n emits: ['update:activeIndex', 'tab-change', 'tab-click'],\n data() {\n return {\n d_activeIndex: this.activeIndex,\n isPrevButtonDisabled: true,\n isNextButtonDisabled: false\n };\n },\n watch: {\n activeIndex(newValue) {\n this.d_activeIndex = newValue;\n\n this.scrollInView({ index: newValue });\n }\n },\n mounted() {\n console.warn('Deprecated since v4. Use Tabs component instead.');\n\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n updated() {\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n methods: {\n isTabPanel(child) {\n return child.type.name === 'TabPanel';\n },\n isTabActive(index) {\n return this.d_activeIndex === index;\n },\n getTabProp(tab, name) {\n return tab.props ? tab.props[name] : undefined;\n },\n getKey(tab, index) {\n return this.getTabProp(tab, 'header') || index;\n },\n getTabHeaderActionId(index) {\n return `${this.$id}_${index}_header_action`;\n },\n getTabContentId(index) {\n return `${this.$id}_${index}_content`;\n },\n getTabPT(tab, key, index) {\n const count = this.tabs.length;\n const tabMetaData = {\n props: tab.props,\n parent: {\n instance: this,\n props: this.$props,\n state: this.$data\n },\n context: {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n active: this.isTabActive(index)\n }\n };\n\n return mergeProps(this.ptm(`tabpanel.${key}`, { tabpanel: tabMetaData }), this.ptm(`tabpanel.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));\n },\n onScroll(event) {\n this.scrollable && this.updateButtonState();\n\n event.preventDefault();\n },\n onPrevButtonClick() {\n const content = this.$refs.content;\n const width = getWidth(content);\n const pos = content.scrollLeft - width;\n\n content.scrollLeft = pos <= 0 ? 0 : pos;\n },\n onNextButtonClick() {\n const content = this.$refs.content;\n const width = getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft + width;\n const lastPos = content.scrollWidth - width;\n\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n },\n onTabClick(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n this.$emit('tab-click', { originalEvent: event, index });\n },\n onTabKeyDown(event, tab, index) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onTabArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onTabArrowRightKey(event);\n break;\n\n case 'Home':\n this.onTabHomeKey(event);\n break;\n\n case 'End':\n this.onTabEndKey(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 case 'NumpadEnter':\n case 'Space':\n this.onTabEnterKey(event, tab, index);\n break;\n\n default:\n break;\n }\n },\n onTabArrowRightKey(event) {\n const nextHeaderAction = this.findNextHeaderAction(event.target.parentElement);\n\n nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction) : this.onTabHomeKey(event);\n event.preventDefault();\n },\n onTabArrowLeftKey(event) {\n const prevHeaderAction = this.findPrevHeaderAction(event.target.parentElement);\n\n prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction) : this.onTabEndKey(event);\n event.preventDefault();\n },\n onTabHomeKey(event) {\n const firstHeaderAction = this.findFirstHeaderAction();\n\n this.changeFocusedTab(event, firstHeaderAction);\n event.preventDefault();\n },\n onTabEndKey(event) {\n const lastHeaderAction = this.findLastHeaderAction();\n\n this.changeFocusedTab(event, lastHeaderAction);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView({ index: this.$refs.nav.children.length - 2 });\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView({ index: 0 });\n event.preventDefault();\n },\n onTabEnterKey(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n\n event.preventDefault();\n },\n findNextHeaderAction(tabElement, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;\n\n return headerElement\n ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findNextHeaderAction(headerElement)\n : findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n },\n findPrevHeaderAction(tabElement, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return headerElement\n ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findPrevHeaderAction(headerElement)\n : findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n },\n findFirstHeaderAction() {\n return this.findNextHeaderAction(this.$refs.nav.firstElementChild, true);\n },\n findLastHeaderAction() {\n return this.findPrevHeaderAction(this.$refs.nav.lastElementChild, true);\n },\n changeActiveIndex(event, tab, index) {\n if (!this.getTabProp(tab, 'disabled') && this.d_activeIndex !== index) {\n this.d_activeIndex = index;\n\n this.$emit('update:activeIndex', index);\n this.$emit('tab-change', { originalEvent: event, index });\n\n this.scrollInView({ index });\n }\n },\n changeFocusedTab(event, element) {\n if (element) {\n focus(element);\n this.scrollInView({ element });\n\n if (this.selectOnFocus) {\n const index = parseInt(element.parentElement.dataset.pcIndex, 10);\n const tab = this.tabs[index];\n\n this.changeActiveIndex(event, tab, index);\n }\n }\n },\n scrollInView({ element, index = -1 }) {\n const currentElement = element || this.$refs.nav.children[index];\n\n if (currentElement) {\n currentElement.scrollIntoView && currentElement.scrollIntoView({ block: 'nearest' });\n }\n },\n updateInkBar() {\n let tabHeader = this.$refs.nav.children[this.d_activeIndex];\n\n this.$refs.inkbar.style.width = getWidth(tabHeader) + 'px';\n this.$refs.inkbar.style.left = getOffset(tabHeader).left - getOffset(this.$refs.nav).left + 'px';\n },\n updateButtonState() {\n const content = this.$refs.content;\n const { scrollLeft, scrollWidth } = content;\n const width = getWidth(content);\n\n this.isPrevButtonDisabled = scrollLeft === 0;\n this.isNextButtonDisabled = parseInt(scrollLeft) === scrollWidth - width;\n },\n getVisibleButtonWidths() {\n const { prevBtn, nextBtn } = this.$refs;\n\n return [prevBtn, nextBtn].reduce((acc, el) => (el ? acc + getWidth(el) : acc), 0);\n }\n },\n computed: {\n tabs() {\n return this.$slots.default().reduce((tabs, child) => {\n if (this.isTabPanel(child)) {\n tabs.push(child);\n } else if (child.children && child.children instanceof Array) {\n child.children.forEach((nestedChild) => {\n if (this.isTabPanel(nestedChild)) {\n tabs.push(nestedChild);\n }\n });\n }\n\n return tabs;\n }, []);\n },\n prevButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : undefined;\n },\n nextButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : undefined;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n ChevronLeftIcon,\n ChevronRightIcon\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"tablist\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('navContainer')\" v-bind=\"ptm('navContainer')\">\n <button\n v-if=\"scrollable && !isPrevButtonDisabled\"\n ref=\"prevBtn\"\n v-ripple\n type=\"button\"\n :class=\"cx('prevButton')\"\n :tabindex=\"tabindex\"\n :aria-label=\"prevButtonAriaLabel\"\n @click=\"onPrevButtonClick\"\n v-bind=\"{ ...prevButtonProps, ...ptm('prevButton') }\"\n data-pc-group-section=\"navbutton\"\n >\n <slot name=\"previcon\">\n <component :is=\"prevIcon ? 'span' : 'ChevronLeftIcon'\" aria-hidden=\"true\" :class=\"prevIcon\" v-bind=\"ptm('prevIcon')\" />\n </slot>\n </button>\n <div ref=\"content\" :class=\"cx('navContent')\" @scroll=\"onScroll\" v-bind=\"ptm('navContent')\">\n <ul ref=\"nav\" :class=\"cx('nav')\" v-bind=\"ptm('nav')\">\n <li\n v-for=\"(tab, index) of tabs\"\n :key=\"getKey(tab, index)\"\n :style=\"getTabProp(tab, 'headerStyle')\"\n :class=\"cx('tab.header', { tab, index })\"\n role=\"presentation\"\n v-bind=\"{ ...getTabProp(tab, 'headerProps'), ...getTabPT(tab, 'root', index), ...getTabPT(tab, 'header', index) }\"\n data-pc-name=\"tabpanel\"\n :data-p-active=\"d_activeIndex === index\"\n :data-p-disabled=\"getTabProp(tab, 'disabled')\"\n :data-pc-index=\"index\"\n >\n <a\n :id=\"getTabHeaderActionId(index)\"\n v-ripple\n :class=\"cx('tab.headerAction')\"\n :tabindex=\"getTabProp(tab, 'disabled') || !isTabActive(index) ? -1 : tabindex\"\n role=\"tab\"\n :aria-disabled=\"getTabProp(tab, 'disabled')\"\n :aria-selected=\"isTabActive(index)\"\n :aria-controls=\"getTabContentId(index)\"\n @click=\"onTabClick($event, tab, index)\"\n @keydown=\"onTabKeyDown($event, tab, index)\"\n v-bind=\"{ ...getTabProp(tab, 'headerActionProps'), ...getTabPT(tab, 'headerAction', index) }\"\n >\n <span v-if=\"tab.props && tab.props.header\" :class=\"cx('tab.headerTitle')\" v-bind=\"getTabPT(tab, 'headerTitle', index)\">{{ tab.props.header }}</span>\n <component v-if=\"tab.children && tab.children.header\" :is=\"tab.children.header\"></component>\n </a>\n </li>\n <li ref=\"inkbar\" :class=\"cx('inkbar')\" role=\"presentation\" aria-hidden=\"true\" v-bind=\"ptm('inkbar')\"></li>\n </ul>\n </div>\n <button\n v-if=\"scrollable && !isNextButtonDisabled\"\n ref=\"nextBtn\"\n v-ripple\n type=\"button\"\n :class=\"cx('nextButton')\"\n :tabindex=\"tabindex\"\n :aria-label=\"nextButtonAriaLabel\"\n @click=\"onNextButtonClick\"\n v-bind=\"{ ...nextButtonProps, ...ptm('nextButton') }\"\n data-pc-group-section=\"navbutton\"\n >\n <slot name=\"nexticon\">\n <component :is=\"nextIcon ? 'span' : 'ChevronRightIcon'\" aria-hidden=\"true\" :class=\"nextIcon\" v-bind=\"ptm('nextIcon')\" />\n </slot>\n </button>\n </div>\n <div :class=\"cx('panelContainer')\" v-bind=\"ptm('panelContainer')\">\n <template v-for=\"(tab, index) of tabs\" :key=\"getKey(tab, index)\">\n <div\n v-if=\"lazy ? isTabActive(index) : true\"\n v-show=\"lazy ? true : isTabActive(index)\"\n :id=\"getTabContentId(index)\"\n :style=\"getTabProp(tab, 'contentStyle')\"\n :class=\"cx('tab.content', { tab })\"\n role=\"tabpanel\"\n :aria-labelledby=\"getTabHeaderActionId(index)\"\n v-bind=\"{ ...getTabProp(tab, 'contentProps'), ...getTabPT(tab, 'root', index), ...getTabPT(tab, 'content', index) }\"\n data-pc-name=\"tabpanel\"\n :data-pc-index=\"index\"\n :data-p-active=\"d_activeIndex === index\"\n >\n <component :is=\"tab\"></component>\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script>\nimport { findSingle, focus, getAttribute, getOffset, getWidth } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseTabView from './BaseTabView.vue';\n\nexport default {\n name: 'TabView',\n extends: BaseTabView,\n inheritAttrs: false,\n emits: ['update:activeIndex', 'tab-change', 'tab-click'],\n data() {\n return {\n d_activeIndex: this.activeIndex,\n isPrevButtonDisabled: true,\n isNextButtonDisabled: false\n };\n },\n watch: {\n activeIndex(newValue) {\n this.d_activeIndex = newValue;\n\n this.scrollInView({ index: newValue });\n }\n },\n mounted() {\n console.warn('Deprecated since v4. Use Tabs component instead.');\n\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n updated() {\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n methods: {\n isTabPanel(child) {\n return child.type.name === 'TabPanel';\n },\n isTabActive(index) {\n return this.d_activeIndex === index;\n },\n getTabProp(tab, name) {\n return tab.props ? tab.props[name] : undefined;\n },\n getKey(tab, index) {\n return this.getTabProp(tab, 'header') || index;\n },\n getTabHeaderActionId(index) {\n return `${this.$id}_${index}_header_action`;\n },\n getTabContentId(index) {\n return `${this.$id}_${index}_content`;\n },\n getTabPT(tab, key, index) {\n const count = this.tabs.length;\n const tabMetaData = {\n props: tab.props,\n parent: {\n instance: this,\n props: this.$props,\n state: this.$data\n },\n context: {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n active: this.isTabActive(index)\n }\n };\n\n return mergeProps(this.ptm(`tabpanel.${key}`, { tabpanel: tabMetaData }), this.ptm(`tabpanel.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));\n },\n onScroll(event) {\n this.scrollable && this.updateButtonState();\n\n event.preventDefault();\n },\n onPrevButtonClick() {\n const content = this.$refs.content;\n const width = getWidth(content);\n const pos = content.scrollLeft - width;\n\n content.scrollLeft = pos <= 0 ? 0 : pos;\n },\n onNextButtonClick() {\n const content = this.$refs.content;\n const width = getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft + width;\n const lastPos = content.scrollWidth - width;\n\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n },\n onTabClick(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n this.$emit('tab-click', { originalEvent: event, index });\n },\n onTabKeyDown(event, tab, index) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onTabArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onTabArrowRightKey(event);\n break;\n\n case 'Home':\n this.onTabHomeKey(event);\n break;\n\n case 'End':\n this.onTabEndKey(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 case 'NumpadEnter':\n case 'Space':\n this.onTabEnterKey(event, tab, index);\n break;\n\n default:\n break;\n }\n },\n onTabArrowRightKey(event) {\n const nextHeaderAction = this.findNextHeaderAction(event.target.parentElement);\n\n nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction) : this.onTabHomeKey(event);\n event.preventDefault();\n },\n onTabArrowLeftKey(event) {\n const prevHeaderAction = this.findPrevHeaderAction(event.target.parentElement);\n\n prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction) : this.onTabEndKey(event);\n event.preventDefault();\n },\n onTabHomeKey(event) {\n const firstHeaderAction = this.findFirstHeaderAction();\n\n this.changeFocusedTab(event, firstHeaderAction);\n event.preventDefault();\n },\n onTabEndKey(event) {\n const lastHeaderAction = this.findLastHeaderAction();\n\n this.changeFocusedTab(event, lastHeaderAction);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView({ index: this.$refs.nav.children.length - 2 });\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView({ index: 0 });\n event.preventDefault();\n },\n onTabEnterKey(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n\n event.preventDefault();\n },\n findNextHeaderAction(tabElement, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;\n\n return headerElement\n ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findNextHeaderAction(headerElement)\n : findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n },\n findPrevHeaderAction(tabElement, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return headerElement\n ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findPrevHeaderAction(headerElement)\n : findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n },\n findFirstHeaderAction() {\n return this.findNextHeaderAction(this.$refs.nav.firstElementChild, true);\n },\n findLastHeaderAction() {\n return this.findPrevHeaderAction(this.$refs.nav.lastElementChild, true);\n },\n changeActiveIndex(event, tab, index) {\n if (!this.getTabProp(tab, 'disabled') && this.d_activeIndex !== index) {\n this.d_activeIndex = index;\n\n this.$emit('update:activeIndex', index);\n this.$emit('tab-change', { originalEvent: event, index });\n\n this.scrollInView({ index });\n }\n },\n changeFocusedTab(event, element) {\n if (element) {\n focus(element);\n this.scrollInView({ element });\n\n if (this.selectOnFocus) {\n const index = parseInt(element.parentElement.dataset.pcIndex, 10);\n const tab = this.tabs[index];\n\n this.changeActiveIndex(event, tab, index);\n }\n }\n },\n scrollInView({ element, index = -1 }) {\n const currentElement = element || this.$refs.nav.children[index];\n\n if (currentElement) {\n currentElement.scrollIntoView && currentElement.scrollIntoView({ block: 'nearest' });\n }\n },\n updateInkBar() {\n let tabHeader = this.$refs.nav.children[this.d_activeIndex];\n\n this.$refs.inkbar.style.width = getWidth(tabHeader) + 'px';\n this.$refs.inkbar.style.left = getOffset(tabHeader).left - getOffset(this.$refs.nav).left + 'px';\n },\n updateButtonState() {\n const content = this.$refs.content;\n const { scrollLeft, scrollWidth } = content;\n const width = getWidth(content);\n\n this.isPrevButtonDisabled = scrollLeft === 0;\n this.isNextButtonDisabled = parseInt(scrollLeft) === scrollWidth - width;\n },\n getVisibleButtonWidths() {\n const { prevBtn, nextBtn } = this.$refs;\n\n return [prevBtn, nextBtn].reduce((acc, el) => (el ? acc + getWidth(el) : acc), 0);\n }\n },\n computed: {\n tabs() {\n return this.$slots.default().reduce((tabs, child) => {\n if (this.isTabPanel(child)) {\n tabs.push(child);\n } else if (child.children && child.children instanceof Array) {\n child.children.forEach((nestedChild) => {\n if (this.isTabPanel(nestedChild)) {\n tabs.push(nestedChild);\n }\n });\n }\n\n return tabs;\n }, []);\n },\n prevButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : undefined;\n },\n nextButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : undefined;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n ChevronLeftIcon,\n ChevronRightIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","activeIndex","type","Number","lazy","Boolean","scrollable","tabindex","selectOnFocus","prevButtonProps","nextButtonProps","prevIcon","String","undefined","nextIcon","style","TabViewStyle","provide","$pcTabs","$pcTabView","$parentInstance","BaseTabView","inheritAttrs","emits","data","d_activeIndex","isPrevButtonDisabled","isNextButtonDisabled","watch","newValue","scrollInView","index","mounted","console","warn","updateInkBar","updateButtonState","updated","methods","isTabPanel","child","isTabActive","getTabProp","tab","getKey","getTabHeaderActionId","concat","$id","getTabContentId","getTabPT","key","count","tabs","length","tabMetaData","parent","instance","$props","state","$data","context","first","last","active","mergeProps","ptm","tabpanel","ptmo","onScroll","event","preventDefault","onPrevButtonClick","content","$refs","width","getWidth","pos","scrollLeft","onNextButtonClick","getVisibleButtonWidths","lastPos","scrollWidth","onTabClick","changeActiveIndex","$emit","originalEvent","onTabKeyDown","code","onTabArrowLeftKey","onTabArrowRightKey","onTabHomeKey","onTabEndKey","onPageDownKey","onPageUpKey","onTabEnterKey","nextHeaderAction","findNextHeaderAction","target","parentElement","changeFocusedTab","prevHeaderAction","findPrevHeaderAction","firstHeaderAction","findFirstHeaderAction","lastHeaderAction","findLastHeaderAction","nav","children","tabElement","selfCheck","arguments","headerElement","nextElementSibling","getAttribute","findSingle","previousElementSibling","firstElementChild","lastElementChild","element","focus","parseInt","dataset","pcIndex","_ref","_ref$index","currentElement","scrollIntoView","block","tabHeader","inkbar","left","getOffset","_this$$refs","prevBtn","nextBtn","reduce","acc","el","computed","_this","$slots","push","Array","forEach","nestedChild","prevButtonAriaLabel","$primevue","config","locale","aria","previous","nextButtonAriaLabel","next","directives","ripple","Ripple","components","ChevronLeftIcon","ChevronRightIcon","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","role","ptmi","_createElementVNode","_withDirectives","ref","$options","onClick","apply","_objectSpread","_renderSlot","_createBlock","_resolveDynamicComponent","_Fragment","_renderList","ref_for","id","$event","onKeydown","header"],"mappings":"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"}
@@ -78,17 +78,21 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
78
78
  }, _ctx.ptm('content')), [(openBlock(true), createElementBlock(Fragment, null, renderList($data.commands, function (command, i) {
79
79
  return openBlock(), createElementBlock("div", mergeProps({
80
80
  key: command.text + i.toString(),
81
- "class": _ctx.cx('command'),
81
+ "class": _ctx.cx('command')
82
+ }, {
82
83
  ref_for: true
83
84
  }, _ctx.ptm('commands')), [createElementVNode("span", mergeProps({
84
- "class": _ctx.cx('promptLabel'),
85
+ "class": _ctx.cx('promptLabel')
86
+ }, {
85
87
  ref_for: true
86
88
  }, _ctx.ptm('prompt')), toDisplayString(_ctx.prompt), 17), createElementVNode("span", mergeProps({
87
- "class": _ctx.cx('commandValue'),
89
+ "class": _ctx.cx('commandValue')
90
+ }, {
88
91
  ref_for: true
89
92
  }, _ctx.ptm('command')), toDisplayString(command.text), 17), createElementVNode("div", mergeProps({
90
93
  "class": _ctx.cx('commandResponse'),
91
- "aria-live": "polite",
94
+ "aria-live": "polite"
95
+ }, {
92
96
  ref_for: true
93
97
  }, _ctx.ptm('response')), toDisplayString(command.response), 17)], 16);
94
98
  }), 128))], 16), createElementVNode("div", mergeProps({
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/terminal/BaseTerminal.vue","../../src/terminal/Terminal.vue","../../src/terminal/Terminal.vue?vue&type=template&id=df319ce0&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TerminalStyle from 'primevue/terminal/style';\n\nexport default {\n name: 'BaseTerminal',\n extends: BaseComponent,\n props: {\n welcomeMessage: {\n type: String,\n default: null\n },\n prompt: {\n type: String,\n default: null\n }\n },\n style: TerminalStyle,\n provide() {\n return {\n $pcTerminal: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div v-if=\"welcomeMessage\" :class=\"cx('welcomeMessage')\" v-bind=\"ptm('welcomeMessage')\">{{ welcomeMessage }}</div>\n <div :class=\"cx('commandList')\" v-bind=\"ptm('content')\">\n <div v-for=\"(command, i) of commands\" :key=\"command.text + i.toString()\" :class=\"cx('command')\" v-bind=\"ptm('commands')\">\n <span :class=\"cx('promptLabel')\" v-bind=\"ptm('prompt')\">{{ prompt }}</span>\n <span :class=\"cx('commandValue')\" v-bind=\"ptm('command')\">{{ command.text }}</span>\n <div :class=\"cx('commandResponse')\" aria-live=\"polite\" v-bind=\"ptm('response')\">{{ command.response }}</div>\n </div>\n </div>\n <div :class=\"cx('prompt')\" v-bind=\"ptm('container')\">\n <span :class=\"cx('promptLabel')\" v-bind=\"ptm('prompt')\">{{ prompt }}</span>\n <input ref=\"input\" v-model=\"commandText\" :class=\"cx('promptValue')\" type=\"text\" autocomplete=\"off\" @keydown=\"onKeydown\" v-bind=\"ptm('commandText')\" />\n </div>\n </div>\n</template>\n\n<script>\nimport TerminalService from 'primevue/terminalservice';\nimport BaseTerminal from './BaseTerminal.vue';\n\nexport default {\n name: 'Terminal',\n extends: BaseTerminal,\n inheritAttrs: false,\n data() {\n return {\n commandText: null,\n commands: []\n };\n },\n mounted() {\n TerminalService.on('response', this.responseListener);\n this.$refs.input.focus();\n },\n updated() {\n this.$el.scrollTop = this.$el.scrollHeight;\n },\n beforeUnmount() {\n TerminalService.off('response', this.responseListener);\n },\n methods: {\n onClick() {\n this.$refs.input.focus();\n },\n onKeydown(event) {\n if (event.key === 'Enter' && this.commandText) {\n this.commands.push({ text: this.commandText });\n TerminalService.emit('command', this.commandText);\n this.commandText = '';\n }\n },\n responseListener(response) {\n this.commands[this.commands.length - 1].response = response;\n }\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div v-if=\"welcomeMessage\" :class=\"cx('welcomeMessage')\" v-bind=\"ptm('welcomeMessage')\">{{ welcomeMessage }}</div>\n <div :class=\"cx('commandList')\" v-bind=\"ptm('content')\">\n <div v-for=\"(command, i) of commands\" :key=\"command.text + i.toString()\" :class=\"cx('command')\" v-bind=\"ptm('commands')\">\n <span :class=\"cx('promptLabel')\" v-bind=\"ptm('prompt')\">{{ prompt }}</span>\n <span :class=\"cx('commandValue')\" v-bind=\"ptm('command')\">{{ command.text }}</span>\n <div :class=\"cx('commandResponse')\" aria-live=\"polite\" v-bind=\"ptm('response')\">{{ command.response }}</div>\n </div>\n </div>\n <div :class=\"cx('prompt')\" v-bind=\"ptm('container')\">\n <span :class=\"cx('promptLabel')\" v-bind=\"ptm('prompt')\">{{ prompt }}</span>\n <input ref=\"input\" v-model=\"commandText\" :class=\"cx('promptValue')\" type=\"text\" autocomplete=\"off\" @keydown=\"onKeydown\" v-bind=\"ptm('commandText')\" />\n </div>\n </div>\n</template>\n\n<script>\nimport TerminalService from 'primevue/terminalservice';\nimport BaseTerminal from './BaseTerminal.vue';\n\nexport default {\n name: 'Terminal',\n extends: BaseTerminal,\n inheritAttrs: false,\n data() {\n return {\n commandText: null,\n commands: []\n };\n },\n mounted() {\n TerminalService.on('response', this.responseListener);\n this.$refs.input.focus();\n },\n updated() {\n this.$el.scrollTop = this.$el.scrollHeight;\n },\n beforeUnmount() {\n TerminalService.off('response', this.responseListener);\n },\n methods: {\n onClick() {\n this.$refs.input.focus();\n },\n onKeydown(event) {\n if (event.key === 'Enter' && this.commandText) {\n this.commands.push({ text: this.commandText });\n TerminalService.emit('command', this.commandText);\n this.commandText = '';\n }\n },\n responseListener(response) {\n this.commands[this.commands.length - 1].response = response;\n }\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","welcomeMessage","type","String","prompt","style","TerminalStyle","provide","$pcTerminal","$parentInstance","BaseTerminal","inheritAttrs","data","commandText","commands","mounted","TerminalService","on","responseListener","$refs","input","focus","updated","$el","scrollTop","scrollHeight","beforeUnmount","off","methods","onClick","onKeydown","event","key","push","text","emit","response","length","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","$options","apply","arguments","ptmi","ptm","_createElementVNode","_Fragment","_renderList","$data","command","i","toString","_toDisplayString","_withDirectives","ref","$event","autocomplete"],"mappings":";;;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,cAAc;AACpB,EAAA,SAAA,EAASC,aAAa;AACtBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,cAAc,EAAE;AACZC,MAAAA,IAAI,EAAEC,MAAM;MACZ,SAAS,EAAA;KACZ;AACDC,IAAAA,MAAM,EAAE;AACJF,MAAAA,IAAI,EAAEC,MAAM;MACZ,SAAS,EAAA;AACb;GACH;AACDE,EAAAA,KAAK,EAAEC,aAAa;EACpBC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,OAAO;AACHC,MAAAA,WAAW,EAAE,IAAI;AACjBC,MAAAA,eAAe,EAAE;KACpB;AACL;AACJ,CAAC;;ACHD,aAAe;AACXX,EAAAA,IAAI,EAAE,UAAU;AAChB,EAAA,SAAA,EAASY,QAAY;AACrBC,EAAAA,YAAY,EAAE,KAAK;EACnBC,IAAI,EAAA,SAAJA,IAAIA,GAAG;IACH,OAAO;AACHC,MAAAA,WAAW,EAAE,IAAI;AACjBC,MAAAA,QAAQ,EAAE;KACb;GACJ;EACDC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACNC,eAAe,CAACC,EAAE,CAAC,UAAU,EAAE,IAAI,CAACC,gBAAgB,CAAC;AACrD,IAAA,IAAI,CAACC,KAAK,CAACC,KAAK,CAACC,KAAK,EAAE;GAC3B;EACDC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,IAAI,CAACC,GAAG,CAACC,YAAY,IAAI,CAACD,GAAG,CAACE,YAAY;GAC7C;EACDC,aAAa,EAAA,SAAbA,aAAaA,GAAG;IACZV,eAAe,CAACW,GAAG,CAAC,UAAU,EAAE,IAAI,CAACT,gBAAgB,CAAC;GACzD;AACDU,EAAAA,OAAO,EAAE;IACLC,OAAO,EAAA,SAAPA,OAAOA,GAAG;AACN,MAAA,IAAI,CAACV,KAAK,CAACC,KAAK,CAACC,KAAK,EAAE;KAC3B;AACDS,IAAAA,SAAS,EAATA,SAAAA,SAASA,CAACC,KAAK,EAAE;MACb,IAAIA,KAAK,CAACC,QAAQ,OAAM,IAAK,IAAI,CAACnB,WAAW,EAAE;AAC3C,QAAA,IAAI,CAACC,QAAQ,CAACmB,IAAI,CAAC;UAAEC,IAAI,EAAE,IAAI,CAACrB;AAAY,SAAC,CAAC;QAC9CG,eAAe,CAACmB,IAAI,CAAC,SAAS,EAAE,IAAI,CAACtB,WAAW,CAAC;QACjD,IAAI,CAACA,WAAY,GAAE,EAAE;AACzB;KACH;AACDK,IAAAA,gBAAgB,EAAhBA,SAAAA,gBAAgBA,CAACkB,QAAQ,EAAE;AACvB,MAAA,IAAI,CAACtB,QAAQ,CAAC,IAAI,CAACA,QAAQ,CAACuB,MAAK,GAAI,CAAC,CAAC,CAACD,QAAO,GAAIA,QAAQ;AAC/D;AACJ;AACJ,CAAC;;;ECvDG,OAAAE,SAAA,EAAA,EAAAC,kBAAA,CAaK,OAbLC,UAaK,CAAA;AAbC,IAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,MAAA,CAAA;IAAWb,OAAK;aAAEc,QAAO,CAAAd,OAAA,IAAAc,QAAA,CAAAd,OAAA,CAAAe,KAAA,CAAAD,QAAA,EAAAE,SAAA,CAAA;KAAA;KAAUJ,IAAI,CAAAK,IAAA,CAAA,MAAA,CAAA,CAAA,EAAA,CACvCL,IAAc,CAAAxC,cAAA,IAAzBqC,SAAA,EAAA,EAAAC,kBAAA,CAAiH,OAAjHC,UAAiH,CAAA;;AAArF,IAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,gBAAA;AAA4B,GAAA,EAAAD,IAAA,CAAAM,GAAG,qCAAuBN,IAAe,CAAAxC,cAAA,CAAA,EAAA,EAAA,CAAA,kCAC1G+C,kBAAA,CAMK,OANLR,UAMK,CAAA;AANC,IAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,aAAA;KAAyBD,IAAG,CAAAM,GAAA,CAAA,SAAA,CAAA,CAAA,EAAA,EACvCT,SAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,CAIKU,QAJuB,EAAA,IAAA,EAAAC,UAAA,CAAAC,KAAA,CAAArC,QAAQ,EAAvB,UAAAsC,OAAO,EAAEC,CAAC,EAAA;IAAvB,OAAAf,SAAA,EAAA,EAAAC,kBAAA,CAIK,OAJLC,UAIK,CAAA;MAJkCR,GAAG,EAAEoB,OAAO,CAAClB,IAAG,GAAImB,CAAC,CAACC,QAAQ,EAAA;AAAK,MAAA,OAAA,EAAOb,IAAE,CAAAC,EAAA,CAAA,SAAA,CAAA;;OAAqBD,IAAG,CAAAM,GAAA,CAAA,UAAA,CAAA,CAAA,EAAA,CACvGC,kBAAA,CAA0E,QAA1ER,UAA0E,CAAA;AAAnE,MAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,aAAA,CAAA;;KAAyB,EAAAD,IAAA,CAAAM,GAAG,6BAAeN,IAAK,CAAArC,MAAA,CAAA,EAAA,EAAA,CAAA,EAChE4C,kBAAA,CAAkF,QAAlFR,UAAkF,CAAA;AAA3E,MAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,cAAA,CAAA;;OAA0BD,IAAG,CAAAM,GAAA,CAAA,SAAA,CAAA,CAAA,EAAAQ,eAAA,CAAgBH,OAAO,CAAClB,IAAK,CAAA,EAAA,EAAA,CAAA,EAC1Ec,kBAAA,CAA2G,OAA3GR,UAA2G,CAAA;AAArG,MAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,iBAAA,CAAA;AAAqB,MAAA,WAAS,EAAC;;OAAiBD,IAAG,CAAAM,GAAA,CAAA,UAAA,CAAA,CAAA,EAAAQ,eAAA,CAAiBH,OAAO,CAAChB,QAAS,CAAA,EAAA,EAAA,CAAA;mBAG5GY,kBAAA,CAGK,OAHLR,UAGK,CAAA;AAHC,IAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,QAAA;KAAoBD,IAAG,CAAAM,GAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAClCC,kBAAA,CAA0E,QAA1ER,UAA0E,CAAA;AAAnE,IAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,aAAA;GAAyB,EAAAD,IAAA,CAAAM,GAAG,6BAAeN,IAAK,CAAArC,MAAA,CAAA,EAAA,EAAA,CAAA,EAChEoD,cAAA,CAAAR,kBAAA,CAAqJ,SAArJR,UAAqJ,CAAA;AAA9IiB,IAAAA,GAAG,EAAC,OAAQ;;aAASN,KAAW,CAAAtC,WAAA,GAAA6C,MAAA;AAAA,KAAA,CAAA;AAAG,IAAA,OAAA,EAAOjB,IAAE,CAAAC,EAAA,CAAA,aAAA,CAAA;AAAiBxC,IAAAA,IAAI,EAAC,MAAO;AAAAyD,IAAAA,YAAY,EAAC,KAAM;IAAC7B,SAAO;aAAEa,QAAS,CAAAb,SAAA,IAAAa,QAAA,CAAAb,SAAA,CAAAc,KAAA,CAAAD,QAAA,EAAAE,SAAA,CAAA;KAAA;KAAUJ,IAAG,CAAAM,GAAA,CAAA,aAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,cAAvGI,KAAW,CAAAtC,WAAA,CAAA;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/terminal/BaseTerminal.vue","../../src/terminal/Terminal.vue","../../src/terminal/Terminal.vue?vue&type=template&id=df319ce0&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TerminalStyle from 'primevue/terminal/style';\n\nexport default {\n name: 'BaseTerminal',\n extends: BaseComponent,\n props: {\n welcomeMessage: {\n type: String,\n default: null\n },\n prompt: {\n type: String,\n default: null\n }\n },\n style: TerminalStyle,\n provide() {\n return {\n $pcTerminal: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div v-if=\"welcomeMessage\" :class=\"cx('welcomeMessage')\" v-bind=\"ptm('welcomeMessage')\">{{ welcomeMessage }}</div>\n <div :class=\"cx('commandList')\" v-bind=\"ptm('content')\">\n <div v-for=\"(command, i) of commands\" :key=\"command.text + i.toString()\" :class=\"cx('command')\" v-bind=\"ptm('commands')\">\n <span :class=\"cx('promptLabel')\" v-bind=\"ptm('prompt')\">{{ prompt }}</span>\n <span :class=\"cx('commandValue')\" v-bind=\"ptm('command')\">{{ command.text }}</span>\n <div :class=\"cx('commandResponse')\" aria-live=\"polite\" v-bind=\"ptm('response')\">{{ command.response }}</div>\n </div>\n </div>\n <div :class=\"cx('prompt')\" v-bind=\"ptm('container')\">\n <span :class=\"cx('promptLabel')\" v-bind=\"ptm('prompt')\">{{ prompt }}</span>\n <input ref=\"input\" v-model=\"commandText\" :class=\"cx('promptValue')\" type=\"text\" autocomplete=\"off\" @keydown=\"onKeydown\" v-bind=\"ptm('commandText')\" />\n </div>\n </div>\n</template>\n\n<script>\nimport TerminalService from 'primevue/terminalservice';\nimport BaseTerminal from './BaseTerminal.vue';\n\nexport default {\n name: 'Terminal',\n extends: BaseTerminal,\n inheritAttrs: false,\n data() {\n return {\n commandText: null,\n commands: []\n };\n },\n mounted() {\n TerminalService.on('response', this.responseListener);\n this.$refs.input.focus();\n },\n updated() {\n this.$el.scrollTop = this.$el.scrollHeight;\n },\n beforeUnmount() {\n TerminalService.off('response', this.responseListener);\n },\n methods: {\n onClick() {\n this.$refs.input.focus();\n },\n onKeydown(event) {\n if (event.key === 'Enter' && this.commandText) {\n this.commands.push({ text: this.commandText });\n TerminalService.emit('command', this.commandText);\n this.commandText = '';\n }\n },\n responseListener(response) {\n this.commands[this.commands.length - 1].response = response;\n }\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div v-if=\"welcomeMessage\" :class=\"cx('welcomeMessage')\" v-bind=\"ptm('welcomeMessage')\">{{ welcomeMessage }}</div>\n <div :class=\"cx('commandList')\" v-bind=\"ptm('content')\">\n <div v-for=\"(command, i) of commands\" :key=\"command.text + i.toString()\" :class=\"cx('command')\" v-bind=\"ptm('commands')\">\n <span :class=\"cx('promptLabel')\" v-bind=\"ptm('prompt')\">{{ prompt }}</span>\n <span :class=\"cx('commandValue')\" v-bind=\"ptm('command')\">{{ command.text }}</span>\n <div :class=\"cx('commandResponse')\" aria-live=\"polite\" v-bind=\"ptm('response')\">{{ command.response }}</div>\n </div>\n </div>\n <div :class=\"cx('prompt')\" v-bind=\"ptm('container')\">\n <span :class=\"cx('promptLabel')\" v-bind=\"ptm('prompt')\">{{ prompt }}</span>\n <input ref=\"input\" v-model=\"commandText\" :class=\"cx('promptValue')\" type=\"text\" autocomplete=\"off\" @keydown=\"onKeydown\" v-bind=\"ptm('commandText')\" />\n </div>\n </div>\n</template>\n\n<script>\nimport TerminalService from 'primevue/terminalservice';\nimport BaseTerminal from './BaseTerminal.vue';\n\nexport default {\n name: 'Terminal',\n extends: BaseTerminal,\n inheritAttrs: false,\n data() {\n return {\n commandText: null,\n commands: []\n };\n },\n mounted() {\n TerminalService.on('response', this.responseListener);\n this.$refs.input.focus();\n },\n updated() {\n this.$el.scrollTop = this.$el.scrollHeight;\n },\n beforeUnmount() {\n TerminalService.off('response', this.responseListener);\n },\n methods: {\n onClick() {\n this.$refs.input.focus();\n },\n onKeydown(event) {\n if (event.key === 'Enter' && this.commandText) {\n this.commands.push({ text: this.commandText });\n TerminalService.emit('command', this.commandText);\n this.commandText = '';\n }\n },\n responseListener(response) {\n this.commands[this.commands.length - 1].response = response;\n }\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","welcomeMessage","type","String","prompt","style","TerminalStyle","provide","$pcTerminal","$parentInstance","BaseTerminal","inheritAttrs","data","commandText","commands","mounted","TerminalService","on","responseListener","$refs","input","focus","updated","$el","scrollTop","scrollHeight","beforeUnmount","off","methods","onClick","onKeydown","event","key","push","text","emit","response","length","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","$options","apply","arguments","ptmi","ptm","_createElementVNode","_Fragment","_renderList","$data","command","i","toString","ref_for","_toDisplayString","_withDirectives","ref","$event","autocomplete"],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  import type { DefineComponent, DesignToken, EmitFn, HintedString, Nullable, PassThrough } from '@primevue/core';
11
11
  import type { ComponentHooks } from '@primevue/core/basecomponent';
12
12
  import type { PassThroughOptions } from 'primevue/passthrough';
13
+ import type { TextareaHTMLAttributes } from 'vue';
13
14
 
14
15
  export declare type TextareaPassThroughOptionType = TextareaPassThroughAttributes | ((options: TextareaPassThroughMethodOptions) => TextareaPassThroughAttributes | string) | string | null | undefined;
15
16
 
@@ -85,7 +86,7 @@ export interface TextareaContext {
85
86
  /**
86
87
  * Defines valid properties in Textarea component. In addition to these, all properties of TextareaHTMLAttributes can be used in this component.
87
88
  */
88
- export interface TextareaProps {
89
+ export interface TextareaProps extends TextareaHTMLAttributes {
89
90
  /**
90
91
  * Value of the component.
91
92
  */
@@ -251,7 +251,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
251
251
  "aria-haspopup": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, 'to') ? 'menu' : undefined,
252
252
  "aria-level": $props.level + 1,
253
253
  "aria-setsize": $options.getAriaSetSize(),
254
- "aria-posinset": $options.getAriaPosInset(index),
254
+ "aria-posinset": $options.getAriaPosInset(index)
255
+ }, {
255
256
  ref_for: true
256
257
  }, $options.getPTOptions(processedItem, index, 'item'), {
257
258
  "data-p-active": $options.isItemActive(processedItem),
@@ -267,14 +268,16 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
267
268
  },
268
269
  onMousemove: function onMousemove($event) {
269
270
  return $options.onItemMouseMove($event, processedItem);
270
- },
271
+ }
272
+ }, {
271
273
  ref_for: true
272
274
  }, $options.getPTOptions(processedItem, index, 'itemContent')), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({
273
275
  key: 0,
274
276
  href: $options.getItemProp(processedItem, 'url'),
275
277
  "class": _ctx.cx('itemLink'),
276
278
  target: $options.getItemProp(processedItem, 'target'),
277
- tabindex: "-1",
279
+ tabindex: "-1"
280
+ }, {
278
281
  ref_for: true
279
282
  }, $options.getPTOptions(processedItem, index, 'itemLink')), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), {
280
283
  key: 0,
@@ -282,22 +285,26 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
282
285
  "class": normalizeClass(_ctx.cx('itemIcon'))
283
286
  }, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, 'icon') ? (openBlock(), createElementBlock("span", mergeProps({
284
287
  key: 1,
285
- "class": [_ctx.cx('itemIcon'), $options.getItemProp(processedItem, 'icon')],
288
+ "class": [_ctx.cx('itemIcon'), $options.getItemProp(processedItem, 'icon')]
289
+ }, {
286
290
  ref_for: true
287
291
  }, $options.getPTOptions(processedItem, index, 'itemIcon')), null, 16)) : createCommentVNode("", true), createElementVNode("span", mergeProps({
288
292
  id: $options.getItemLabelId(processedItem),
289
- "class": _ctx.cx('itemLabel'),
293
+ "class": _ctx.cx('itemLabel')
294
+ }, {
290
295
  ref_for: true
291
296
  }, $options.getPTOptions(processedItem, index, 'itemLabel')), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_5), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {
292
297
  key: 2
293
298
  }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), mergeProps({
294
299
  key: 0,
295
300
  "class": _ctx.cx('submenuIcon'),
296
- active: $options.isItemActive(processedItem),
301
+ active: $options.isItemActive(processedItem)
302
+ }, {
297
303
  ref_for: true
298
304
  }, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, ["class", "active"])) : (openBlock(), createBlock(_component_AngleRightIcon, mergeProps({
299
305
  key: 1,
300
- "class": _ctx.cx('submenuIcon'),
306
+ "class": _ctx.cx('submenuIcon')
307
+ }, {
301
308
  ref_for: true
302
309
  }, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_4)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), {
303
310
  key: 1,
@@ -331,14 +338,16 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
331
338
  }),
332
339
  onItemMousemove: _cache[2] || (_cache[2] = function ($event) {
333
340
  return _ctx.$emit('item-mousemove', $event);
334
- }),
341
+ })
342
+ }, {
335
343
  ref_for: true
336
344
  }, _ctx.ptm('submenu')), null, 16, ["id", "class", "style", "aria-labelledby", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "level", "visible", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_2)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock("li", mergeProps({
337
345
  key: 1,
338
346
  id: $options.getItemId(processedItem),
339
347
  style: $options.getItemProp(processedItem, 'style'),
340
348
  "class": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],
341
- role: "separator",
349
+ role: "separator"
350
+ }, {
342
351
  ref_for: true
343
352
  }, _ctx.ptm('separator')), null, 16, _hoisted_6)) : createCommentVNode("", true)], 64);
344
353
  }), 128))], 8, _hoisted_1$1)) : createCommentVNode("", true)];
@@ -869,9 +878,9 @@ var script = {
869
878
  return matchedItemIndex > -1 ? matchedItemIndex : index;
870
879
  },
871
880
  findSelectedItemIndex: function findSelectedItemIndex() {
872
- var _this10 = this;
881
+ var _this0 = this;
873
882
  return this.visibleItems.findIndex(function (processedItem) {
874
- return _this10.isValidSelectedItem(processedItem);
883
+ return _this0.isValidSelectedItem(processedItem);
875
884
  });
876
885
  },
877
886
  findFirstFocusedItemIndex: function findFirstFocusedItemIndex() {
@@ -883,20 +892,20 @@ var script = {
883
892
  return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
884
893
  },
885
894
  searchItems: function searchItems(event, _char) {
886
- var _this11 = this;
895
+ var _this1 = this;
887
896
  this.searchValue = (this.searchValue || '') + _char;
888
897
  var itemIndex = -1;
889
898
  var matched = false;
890
899
  if (this.focusedItemInfo.index !== -1) {
891
900
  itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function (processedItem) {
892
- return _this11.isItemMatched(processedItem);
901
+ return _this1.isItemMatched(processedItem);
893
902
  });
894
903
  itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function (processedItem) {
895
- return _this11.isItemMatched(processedItem);
904
+ return _this1.isItemMatched(processedItem);
896
905
  }) : itemIndex + this.focusedItemInfo.index;
897
906
  } else {
898
907
  itemIndex = this.visibleItems.findIndex(function (processedItem) {
899
- return _this11.isItemMatched(processedItem);
908
+ return _this1.isItemMatched(processedItem);
900
909
  });
901
910
  }
902
911
  if (itemIndex !== -1) {
@@ -912,8 +921,8 @@ var script = {
912
921
  clearTimeout(this.searchTimeout);
913
922
  }
914
923
  this.searchTimeout = setTimeout(function () {
915
- _this11.searchValue = '';
916
- _this11.searchTimeout = null;
924
+ _this1.searchValue = '';
925
+ _this1.searchTimeout = null;
917
926
  }, 500);
918
927
  return matched;
919
928
  },
@@ -935,7 +944,7 @@ var script = {
935
944
  }
936
945
  },
937
946
  createProcessedItems: function createProcessedItems(items) {
938
- var _this12 = this;
947
+ var _this10 = this;
939
948
  var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
940
949
  var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
941
950
  var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
@@ -950,7 +959,7 @@ var script = {
950
959
  parent: parent,
951
960
  parentKey: parentKey
952
961
  };
953
- newItem['items'] = _this12.createProcessedItems(item.items, level + 1, newItem, key);
962
+ newItem['items'] = _this10.createProcessedItems(item.items, level + 1, newItem, key);
954
963
  processedItems.push(newItem);
955
964
  });
956
965
  return processedItems;
@@ -967,9 +976,9 @@ var script = {
967
976
  return this.createProcessedItems(this.model || []);
968
977
  },
969
978
  visibleItems: function visibleItems() {
970
- var _this13 = this;
979
+ var _this11 = this;
971
980
  var processedItem = this.activeItemPath.find(function (p) {
972
- return p.key === _this13.focusedItemInfo.parentKey;
981
+ return p.key === _this11.focusedItemInfo.parentKey;
973
982
  });
974
983
  return processedItem ? processedItem.items : this.processedItems;
975
984
  },