primevue 4.3.5 → 4.3.6

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 (209) hide show
  1. package/accordion/index.mjs.map +1 -1
  2. package/accordioncontent/AccordionContent.vue +2 -2
  3. package/accordioncontent/index.mjs +2 -2
  4. package/accordioncontent/index.mjs.map +1 -1
  5. package/accordionheader/AccordionHeader.vue +2 -2
  6. package/accordionheader/index.mjs +2 -2
  7. package/accordionheader/index.mjs.map +1 -1
  8. package/accordionpanel/index.mjs.map +1 -1
  9. package/accordiontab/index.mjs.map +1 -1
  10. package/animateonscroll/index.mjs.map +1 -1
  11. package/autocomplete/AutoComplete.vue +3 -1
  12. package/autocomplete/index.mjs +2 -1
  13. package/autocomplete/index.mjs.map +1 -1
  14. package/autocomplete/style/index.mjs +6 -5
  15. package/autocomplete/style/index.mjs.map +1 -1
  16. package/avatar/index.mjs.map +1 -1
  17. package/avatargroup/index.mjs.map +1 -1
  18. package/badge/index.mjs.map +1 -1
  19. package/badge/style/index.mjs.map +1 -1
  20. package/badgedirective/index.mjs.map +1 -1
  21. package/blockui/index.mjs.map +1 -1
  22. package/breadcrumb/index.mjs.map +1 -1
  23. package/button/Button.vue +1 -1
  24. package/button/index.d.ts +4 -0
  25. package/button/index.mjs +5 -4
  26. package/button/index.mjs.map +1 -1
  27. package/button/style/index.mjs.map +1 -1
  28. package/buttongroup/index.mjs.map +1 -1
  29. package/card/index.mjs.map +1 -1
  30. package/carousel/index.mjs.map +1 -1
  31. package/cascadeselect/index.mjs.map +1 -1
  32. package/chart/index.mjs.map +1 -1
  33. package/checkbox/index.mjs.map +1 -1
  34. package/checkboxgroup/index.mjs.map +1 -1
  35. package/chip/Chip.vue +1 -1
  36. package/chip/index.mjs +1 -1
  37. package/chip/index.mjs.map +1 -1
  38. package/colorpicker/index.mjs.map +1 -1
  39. package/column/index.mjs.map +1 -1
  40. package/columngroup/index.mjs.map +1 -1
  41. package/confirmdialog/index.mjs.map +1 -1
  42. package/confirmpopup/index.mjs.map +1 -1
  43. package/contextmenu/index.mjs.map +1 -1
  44. package/datatable/BodyCell.vue +1 -1
  45. package/datatable/ColumnFilter.vue +2 -13
  46. package/datatable/DataTable.vue +1 -1
  47. package/datatable/index.d.ts +2 -2
  48. package/datatable/index.mjs +17 -29
  49. package/datatable/index.mjs.map +1 -1
  50. package/dataview/index.mjs.map +1 -1
  51. package/datepicker/DatePicker.vue +13 -2
  52. package/datepicker/index.mjs +14 -5
  53. package/datepicker/index.mjs.map +1 -1
  54. package/deferredcontent/index.mjs.map +1 -1
  55. package/dialog/Dialog.vue +1 -1
  56. package/dialog/index.mjs +1 -1
  57. package/dialog/index.mjs.map +1 -1
  58. package/dialog/style/index.mjs.map +1 -1
  59. package/divider/index.mjs.map +1 -1
  60. package/dock/index.mjs.map +1 -1
  61. package/dock/style/index.mjs.map +1 -1
  62. package/drawer/index.mjs.map +1 -1
  63. package/drawer/style/index.mjs.map +1 -1
  64. package/dynamicdialog/index.mjs.map +1 -1
  65. package/editor/index.mjs.map +1 -1
  66. package/fieldset/index.mjs.map +1 -1
  67. package/fileupload/FileUpload.vue +27 -25
  68. package/fileupload/index.d.ts +5 -0
  69. package/fileupload/index.mjs +4 -2
  70. package/fileupload/index.mjs.map +1 -1
  71. package/fileupload/style/index.d.ts +5 -1
  72. package/fileupload/style/index.mjs +2 -1
  73. package/fileupload/style/index.mjs.map +1 -1
  74. package/floatlabel/index.mjs.map +1 -1
  75. package/fluid/index.mjs.map +1 -1
  76. package/focustrap/index.mjs.map +1 -1
  77. package/galleria/index.mjs.map +1 -1
  78. package/iconfield/index.mjs.map +1 -1
  79. package/iftalabel/index.mjs.map +1 -1
  80. package/image/index.mjs.map +1 -1
  81. package/imagecompare/index.mjs.map +1 -1
  82. package/inlinemessage/index.mjs.map +1 -1
  83. package/inplace/index.mjs.map +1 -1
  84. package/inputchips/index.mjs.map +1 -1
  85. package/inputgroup/index.mjs.map +1 -1
  86. package/inputgroupaddon/index.mjs.map +1 -1
  87. package/inputicon/index.mjs.map +1 -1
  88. package/inputmask/index.mjs.map +1 -1
  89. package/inputnumber/InputNumber.vue +10 -1
  90. package/inputnumber/index.mjs +8 -1
  91. package/inputnumber/index.mjs.map +1 -1
  92. package/inputotp/index.mjs.map +1 -1
  93. package/inputtext/index.mjs.map +1 -1
  94. package/keyfilter/index.mjs.map +1 -1
  95. package/knob/index.mjs +2 -2
  96. package/knob/index.mjs.map +1 -1
  97. package/listbox/BaseListbox.vue +4 -0
  98. package/listbox/Listbox.vue +8 -6
  99. package/listbox/index.d.ts +5 -0
  100. package/listbox/index.mjs +12 -6
  101. package/listbox/index.mjs.map +1 -1
  102. package/listbox/style/index.mjs +1 -0
  103. package/listbox/style/index.mjs.map +1 -1
  104. package/megamenu/index.d.ts +0 -1
  105. package/megamenu/index.mjs.map +1 -1
  106. package/menu/index.mjs.map +1 -1
  107. package/menubar/MenubarSub.vue +0 -1
  108. package/menubar/index.d.ts +0 -2
  109. package/menubar/index.mjs +1 -2
  110. package/menubar/index.mjs.map +1 -1
  111. package/message/index.mjs.map +1 -1
  112. package/metergroup/index.mjs.map +1 -1
  113. package/multiselect/MultiSelect.vue +10 -5
  114. package/multiselect/index.mjs +9 -5
  115. package/multiselect/index.mjs.map +1 -1
  116. package/orderlist/index.mjs.map +1 -1
  117. package/organizationchart/index.mjs.map +1 -1
  118. package/overlaybadge/index.mjs.map +1 -1
  119. package/package.json +6 -6
  120. package/paginator/index.mjs.map +1 -1
  121. package/paginator/style/index.mjs.map +1 -1
  122. package/panel/index.mjs.map +1 -1
  123. package/panelmenu/index.mjs.map +1 -1
  124. package/passthrough/index.mjs.map +1 -1
  125. package/password/Password.vue +0 -1
  126. package/password/index.mjs +1 -4
  127. package/password/index.mjs.map +1 -1
  128. package/picklist/PickList.vue +8 -11
  129. package/picklist/index.mjs +15 -7
  130. package/picklist/index.mjs.map +1 -1
  131. package/popover/index.mjs.map +1 -1
  132. package/portal/index.mjs.map +1 -1
  133. package/progressbar/index.mjs.map +1 -1
  134. package/progressspinner/index.mjs.map +1 -1
  135. package/radiobutton/index.mjs.map +1 -1
  136. package/radiobuttongroup/index.mjs.map +1 -1
  137. package/rating/Rating.vue +2 -2
  138. package/rating/index.d.ts +10 -0
  139. package/rating/index.mjs +7 -1
  140. package/rating/index.mjs.map +1 -1
  141. package/ripple/index.mjs.map +1 -1
  142. package/row/index.mjs.map +1 -1
  143. package/scrollpanel/ScrollPanel.vue +3 -1
  144. package/scrollpanel/index.mjs +2 -1
  145. package/scrollpanel/index.mjs.map +1 -1
  146. package/scrolltop/index.mjs.map +1 -1
  147. package/select/Select.vue +2 -2
  148. package/select/index.mjs +2 -2
  149. package/select/index.mjs.map +1 -1
  150. package/selectbutton/BaseSelectButton.vue +4 -0
  151. package/selectbutton/index.d.ts +25 -0
  152. package/selectbutton/index.mjs +4 -0
  153. package/selectbutton/index.mjs.map +1 -1
  154. package/selectbutton/style/index.mjs +5 -2
  155. package/selectbutton/style/index.mjs.map +1 -1
  156. package/skeleton/index.mjs.map +1 -1
  157. package/slider/index.mjs.map +1 -1
  158. package/speeddial/index.mjs.map +1 -1
  159. package/speeddial/style/index.mjs.map +1 -1
  160. package/splitbutton/index.mjs.map +1 -1
  161. package/splitter/index.mjs.map +1 -1
  162. package/splitterpanel/index.mjs.map +1 -1
  163. package/step/index.mjs.map +1 -1
  164. package/stepitem/index.mjs.map +1 -1
  165. package/steplist/index.mjs.map +1 -1
  166. package/steppanel/index.mjs.map +1 -1
  167. package/steppanels/index.mjs.map +1 -1
  168. package/stepper/index.mjs.map +1 -1
  169. package/steps/index.mjs.map +1 -1
  170. package/styleclass/index.mjs.map +1 -1
  171. package/tab/index.mjs.map +1 -1
  172. package/tablist/index.mjs.map +1 -1
  173. package/tabmenu/index.mjs.map +1 -1
  174. package/tabpanel/index.mjs.map +1 -1
  175. package/tabpanels/index.mjs.map +1 -1
  176. package/tabs/index.mjs.map +1 -1
  177. package/tabview/index.mjs.map +1 -1
  178. package/tag/index.mjs.map +1 -1
  179. package/terminal/index.mjs.map +1 -1
  180. package/textarea/index.mjs.map +1 -1
  181. package/tieredmenu/index.mjs.map +1 -1
  182. package/timeline/index.mjs.map +1 -1
  183. package/toast/Toast.vue +3 -0
  184. package/toast/ToastMessage.vue +20 -8
  185. package/toast/index.d.ts +16 -4
  186. package/toast/index.mjs +26 -13
  187. package/toast/index.mjs.map +1 -1
  188. package/toast/style/index.mjs.map +1 -1
  189. package/togglebutton/BaseToggleButton.vue +4 -0
  190. package/togglebutton/index.d.ts +5 -0
  191. package/togglebutton/index.mjs +4 -0
  192. package/togglebutton/index.mjs.map +1 -1
  193. package/togglebutton/style/index.mjs +1 -0
  194. package/togglebutton/style/index.mjs.map +1 -1
  195. package/toggleswitch/index.mjs.map +1 -1
  196. package/toolbar/index.mjs.map +1 -1
  197. package/tooltip/index.mjs.map +1 -1
  198. package/tree/index.mjs.map +1 -1
  199. package/treeselect/index.mjs.map +1 -1
  200. package/treetable/TreeTable.vue +1 -1
  201. package/treetable/index.mjs +1 -1
  202. package/treetable/index.mjs.map +1 -1
  203. package/umd/primevue.min.js +1 -12213
  204. package/useconfirm/index.mjs.map +1 -1
  205. package/usedialog/index.mjs.map +1 -1
  206. package/usetoast/index.mjs.map +1 -1
  207. package/virtualscroller/index.mjs.map +1 -1
  208. package/virtualscroller/style/index.mjs.map +1 -1
  209. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/steps/BaseSteps.vue","../../src/steps/Steps.vue","../../src/steps/Steps.vue?vue&type=template&id=514a482f&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport StepsStyle from 'primevue/steps/style';\n\nexport default {\n name: 'BaseSteps',\n extends: BaseComponent,\n props: {\n id: {\n type: String\n },\n model: {\n type: Array,\n default: null\n },\n readonly: {\n type: Boolean,\n default: true\n },\n activeStep: {\n type: Number,\n default: 0\n }\n },\n style: StepsStyle,\n provide() {\n return {\n $pcSteps: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <nav :id=\"id\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <ol ref=\"list\" :class=\"cx('list')\" v-bind=\"ptm('list')\">\n <template v-for=\"(item, index) of model\" :key=\"label(item) + '_' + index.toString()\">\n <li\n v-if=\"visible(item)\"\n :class=\"[cx('item', { item, index }), item.class]\"\n :style=\"item.style\"\n :aria-current=\"isActive(index) ? 'step' : undefined\"\n @click=\"onItemClick($event, item, index)\"\n @keydown=\"onItemKeydown($event, item, index)\"\n v-bind=\"getPTOptions('item', item, index)\"\n :data-p-active=\"isActive(index)\"\n :data-p-disabled=\"isItemDisabled(item, index)\"\n >\n <template v-if=\"!$slots.item\">\n <span :class=\"cx('itemLink')\" v-bind=\"getPTOptions('itemLink', item, index)\">\n <span :class=\"cx('itemNumber')\" v-bind=\"getPTOptions('itemNumber', item, index)\">{{ index + 1 }}</span>\n <span :class=\"cx('itemLabel')\" v-bind=\"getPTOptions('itemLabel', item, index)\">{{ label(item) }}</span>\n </span>\n </template>\n <component v-else :is=\"$slots.item\" :item=\"item\" :index=\"index\" :active=\"index === d_activeStep\" :label=\"label(item)\" :props=\"getMenuItemProps(item, index)\"></component>\n </li>\n </template>\n </ol>\n </nav>\n</template>\n\n<script>\nimport { findSingle, find } from '@primeuix/utils/dom';\nimport { mergeProps } from 'vue';\nimport BaseSteps from './BaseSteps.vue';\n\nexport default {\n name: 'Steps',\n extends: BaseSteps,\n inheritAttrs: false,\n emits: ['update:activeStep', 'step-change'],\n data() {\n return {\n d_activeStep: this.activeStep\n };\n },\n watch: {\n activeStep(newValue) {\n this.d_activeStep = newValue;\n }\n },\n mounted() {\n const firstItem = this.findFirstItem();\n\n firstItem && (firstItem.tabIndex = '0');\n },\n methods: {\n getPTOptions(key, item, index) {\n return this.ptm(key, {\n context: {\n item,\n index,\n active: this.isActive(index),\n disabled: this.isItemDisabled(item, index)\n }\n });\n },\n onItemClick(event, item, index) {\n if (this.disabled(item) || this.readonly) {\n event.preventDefault();\n\n return;\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n if (index !== this.d_activeStep) {\n this.d_activeStep = index;\n this.$emit('update:activeStep', this.d_activeStep);\n }\n\n this.$emit('step-change', {\n originalEvent: event,\n index: index\n });\n },\n onItemKeydown(event, item) {\n switch (event.code) {\n case 'ArrowRight': {\n this.navigateToNextItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n this.navigateToPrevItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Home': {\n this.navigateToFirstItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'End': {\n this.navigateToLastItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Tab':\n //no op\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n this.onItemClick(event, item);\n event.preventDefault();\n break;\n }\n\n default:\n break;\n }\n },\n navigateToNextItem(target) {\n const nextItem = this.findNextItem(target);\n\n nextItem && this.setFocusToMenuitem(target, nextItem);\n },\n navigateToPrevItem(target) {\n const prevItem = this.findPrevItem(target);\n\n prevItem && this.setFocusToMenuitem(target, prevItem);\n },\n navigateToFirstItem(target) {\n const firstItem = this.findFirstItem(target);\n\n firstItem && this.setFocusToMenuitem(target, firstItem);\n },\n navigateToLastItem(target) {\n const lastItem = this.findLastItem(target);\n\n lastItem && this.setFocusToMenuitem(target, lastItem);\n },\n findNextItem(item) {\n const nextItem = item.parentElement.nextElementSibling;\n\n return nextItem ? nextItem.children[0] : null;\n },\n findPrevItem(item) {\n const prevItem = item.parentElement.previousElementSibling;\n\n return prevItem ? prevItem.children[0] : null;\n },\n findFirstItem() {\n const firstSibling = findSingle(this.$refs.list, '[data-pc-section=\"item\"]');\n\n return firstSibling ? firstSibling.children[0] : null;\n },\n findLastItem() {\n const siblings = find(this.$refs.list, '[data-pc-section=\"item\"]');\n\n return siblings ? siblings[siblings.length - 1].children[0] : null;\n },\n setFocusToMenuitem(target, focusableItem) {\n target.tabIndex = '-1';\n focusableItem.tabIndex = '0';\n focusableItem.focus();\n },\n isActive(index) {\n return index === this.d_activeStep;\n },\n isItemDisabled(item, index) {\n return this.disabled(item) || (this.readonly && !this.isActive(index));\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n getMenuItemProps(item, index) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n onClick: ($event) => this.onItemClick($event, item),\n onKeyDown: ($event) => this.onItemKeydown($event, item)\n },\n this.getPTOptions('itemLink', item, index)\n ),\n step: mergeProps(\n {\n class: this.cx('itemNumber')\n },\n this.getPTOptions('itemNumber', item, index)\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel', item, index)\n )\n };\n }\n }\n};\n</script>\n","<template>\n <nav :id=\"id\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <ol ref=\"list\" :class=\"cx('list')\" v-bind=\"ptm('list')\">\n <template v-for=\"(item, index) of model\" :key=\"label(item) + '_' + index.toString()\">\n <li\n v-if=\"visible(item)\"\n :class=\"[cx('item', { item, index }), item.class]\"\n :style=\"item.style\"\n :aria-current=\"isActive(index) ? 'step' : undefined\"\n @click=\"onItemClick($event, item, index)\"\n @keydown=\"onItemKeydown($event, item, index)\"\n v-bind=\"getPTOptions('item', item, index)\"\n :data-p-active=\"isActive(index)\"\n :data-p-disabled=\"isItemDisabled(item, index)\"\n >\n <template v-if=\"!$slots.item\">\n <span :class=\"cx('itemLink')\" v-bind=\"getPTOptions('itemLink', item, index)\">\n <span :class=\"cx('itemNumber')\" v-bind=\"getPTOptions('itemNumber', item, index)\">{{ index + 1 }}</span>\n <span :class=\"cx('itemLabel')\" v-bind=\"getPTOptions('itemLabel', item, index)\">{{ label(item) }}</span>\n </span>\n </template>\n <component v-else :is=\"$slots.item\" :item=\"item\" :index=\"index\" :active=\"index === d_activeStep\" :label=\"label(item)\" :props=\"getMenuItemProps(item, index)\"></component>\n </li>\n </template>\n </ol>\n </nav>\n</template>\n\n<script>\nimport { findSingle, find } from '@primeuix/utils/dom';\nimport { mergeProps } from 'vue';\nimport BaseSteps from './BaseSteps.vue';\n\nexport default {\n name: 'Steps',\n extends: BaseSteps,\n inheritAttrs: false,\n emits: ['update:activeStep', 'step-change'],\n data() {\n return {\n d_activeStep: this.activeStep\n };\n },\n watch: {\n activeStep(newValue) {\n this.d_activeStep = newValue;\n }\n },\n mounted() {\n const firstItem = this.findFirstItem();\n\n firstItem && (firstItem.tabIndex = '0');\n },\n methods: {\n getPTOptions(key, item, index) {\n return this.ptm(key, {\n context: {\n item,\n index,\n active: this.isActive(index),\n disabled: this.isItemDisabled(item, index)\n }\n });\n },\n onItemClick(event, item, index) {\n if (this.disabled(item) || this.readonly) {\n event.preventDefault();\n\n return;\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n if (index !== this.d_activeStep) {\n this.d_activeStep = index;\n this.$emit('update:activeStep', this.d_activeStep);\n }\n\n this.$emit('step-change', {\n originalEvent: event,\n index: index\n });\n },\n onItemKeydown(event, item) {\n switch (event.code) {\n case 'ArrowRight': {\n this.navigateToNextItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n this.navigateToPrevItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Home': {\n this.navigateToFirstItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'End': {\n this.navigateToLastItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Tab':\n //no op\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n this.onItemClick(event, item);\n event.preventDefault();\n break;\n }\n\n default:\n break;\n }\n },\n navigateToNextItem(target) {\n const nextItem = this.findNextItem(target);\n\n nextItem && this.setFocusToMenuitem(target, nextItem);\n },\n navigateToPrevItem(target) {\n const prevItem = this.findPrevItem(target);\n\n prevItem && this.setFocusToMenuitem(target, prevItem);\n },\n navigateToFirstItem(target) {\n const firstItem = this.findFirstItem(target);\n\n firstItem && this.setFocusToMenuitem(target, firstItem);\n },\n navigateToLastItem(target) {\n const lastItem = this.findLastItem(target);\n\n lastItem && this.setFocusToMenuitem(target, lastItem);\n },\n findNextItem(item) {\n const nextItem = item.parentElement.nextElementSibling;\n\n return nextItem ? nextItem.children[0] : null;\n },\n findPrevItem(item) {\n const prevItem = item.parentElement.previousElementSibling;\n\n return prevItem ? prevItem.children[0] : null;\n },\n findFirstItem() {\n const firstSibling = findSingle(this.$refs.list, '[data-pc-section=\"item\"]');\n\n return firstSibling ? firstSibling.children[0] : null;\n },\n findLastItem() {\n const siblings = find(this.$refs.list, '[data-pc-section=\"item\"]');\n\n return siblings ? siblings[siblings.length - 1].children[0] : null;\n },\n setFocusToMenuitem(target, focusableItem) {\n target.tabIndex = '-1';\n focusableItem.tabIndex = '0';\n focusableItem.focus();\n },\n isActive(index) {\n return index === this.d_activeStep;\n },\n isItemDisabled(item, index) {\n return this.disabled(item) || (this.readonly && !this.isActive(index));\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n getMenuItemProps(item, index) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n onClick: ($event) => this.onItemClick($event, item),\n onKeyDown: ($event) => this.onItemKeydown($event, item)\n },\n this.getPTOptions('itemLink', item, index)\n ),\n step: mergeProps(\n {\n class: this.cx('itemNumber')\n },\n this.getPTOptions('itemNumber', item, index)\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel', item, index)\n )\n };\n }\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","id","type","String","model","Array","readonly","Boolean","activeStep","Number","style","StepsStyle","provide","$pcSteps","$parentInstance","BaseSteps","inheritAttrs","emits","data","d_activeStep","watch","newValue","mounted","firstItem","findFirstItem","tabIndex","methods","getPTOptions","key","item","index","ptm","context","active","isActive","disabled","isItemDisabled","onItemClick","event","preventDefault","command","originalEvent","$emit","onItemKeydown","code","navigateToNextItem","target","navigateToPrevItem","navigateToFirstItem","navigateToLastItem","nextItem","findNextItem","setFocusToMenuitem","prevItem","findPrevItem","lastItem","findLastItem","parentElement","nextElementSibling","children","previousElementSibling","firstSibling","findSingle","$refs","list","siblings","find","length","focusableItem","focus","visible","label","getMenuItemProps","_this","action","mergeProps","cx","onClick","$event","onKeyDown","step","_openBlock","_createElementBlock","_mergeProps","_ctx","ptmi","_createElementVNode","ref","_Fragment","_renderList","$options","toString","undefined","onKeydown","$slots","ref_for","_toDisplayString","_createBlock","_resolveDynamicComponent","$data"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/steps/BaseSteps.vue","../../src/steps/Steps.vue","../../src/steps/Steps.vue?vue&type=template&id=514a482f&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport StepsStyle from 'primevue/steps/style';\n\nexport default {\n name: 'BaseSteps',\n extends: BaseComponent,\n props: {\n id: {\n type: String\n },\n model: {\n type: Array,\n default: null\n },\n readonly: {\n type: Boolean,\n default: true\n },\n activeStep: {\n type: Number,\n default: 0\n }\n },\n style: StepsStyle,\n provide() {\n return {\n $pcSteps: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <nav :id=\"id\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <ol ref=\"list\" :class=\"cx('list')\" v-bind=\"ptm('list')\">\n <template v-for=\"(item, index) of model\" :key=\"label(item) + '_' + index.toString()\">\n <li\n v-if=\"visible(item)\"\n :class=\"[cx('item', { item, index }), item.class]\"\n :style=\"item.style\"\n :aria-current=\"isActive(index) ? 'step' : undefined\"\n @click=\"onItemClick($event, item, index)\"\n @keydown=\"onItemKeydown($event, item, index)\"\n v-bind=\"getPTOptions('item', item, index)\"\n :data-p-active=\"isActive(index)\"\n :data-p-disabled=\"isItemDisabled(item, index)\"\n >\n <template v-if=\"!$slots.item\">\n <span :class=\"cx('itemLink')\" v-bind=\"getPTOptions('itemLink', item, index)\">\n <span :class=\"cx('itemNumber')\" v-bind=\"getPTOptions('itemNumber', item, index)\">{{ index + 1 }}</span>\n <span :class=\"cx('itemLabel')\" v-bind=\"getPTOptions('itemLabel', item, index)\">{{ label(item) }}</span>\n </span>\n </template>\n <component v-else :is=\"$slots.item\" :item=\"item\" :index=\"index\" :active=\"index === d_activeStep\" :label=\"label(item)\" :props=\"getMenuItemProps(item, index)\"></component>\n </li>\n </template>\n </ol>\n </nav>\n</template>\n\n<script>\nimport { findSingle, find } from '@primeuix/utils/dom';\nimport { mergeProps } from 'vue';\nimport BaseSteps from './BaseSteps.vue';\n\nexport default {\n name: 'Steps',\n extends: BaseSteps,\n inheritAttrs: false,\n emits: ['update:activeStep', 'step-change'],\n data() {\n return {\n d_activeStep: this.activeStep\n };\n },\n watch: {\n activeStep(newValue) {\n this.d_activeStep = newValue;\n }\n },\n mounted() {\n const firstItem = this.findFirstItem();\n\n firstItem && (firstItem.tabIndex = '0');\n },\n methods: {\n getPTOptions(key, item, index) {\n return this.ptm(key, {\n context: {\n item,\n index,\n active: this.isActive(index),\n disabled: this.isItemDisabled(item, index)\n }\n });\n },\n onItemClick(event, item, index) {\n if (this.disabled(item) || this.readonly) {\n event.preventDefault();\n\n return;\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n if (index !== this.d_activeStep) {\n this.d_activeStep = index;\n this.$emit('update:activeStep', this.d_activeStep);\n }\n\n this.$emit('step-change', {\n originalEvent: event,\n index: index\n });\n },\n onItemKeydown(event, item) {\n switch (event.code) {\n case 'ArrowRight': {\n this.navigateToNextItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n this.navigateToPrevItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Home': {\n this.navigateToFirstItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'End': {\n this.navigateToLastItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Tab':\n //no op\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n this.onItemClick(event, item);\n event.preventDefault();\n break;\n }\n\n default:\n break;\n }\n },\n navigateToNextItem(target) {\n const nextItem = this.findNextItem(target);\n\n nextItem && this.setFocusToMenuitem(target, nextItem);\n },\n navigateToPrevItem(target) {\n const prevItem = this.findPrevItem(target);\n\n prevItem && this.setFocusToMenuitem(target, prevItem);\n },\n navigateToFirstItem(target) {\n const firstItem = this.findFirstItem(target);\n\n firstItem && this.setFocusToMenuitem(target, firstItem);\n },\n navigateToLastItem(target) {\n const lastItem = this.findLastItem(target);\n\n lastItem && this.setFocusToMenuitem(target, lastItem);\n },\n findNextItem(item) {\n const nextItem = item.parentElement.nextElementSibling;\n\n return nextItem ? nextItem.children[0] : null;\n },\n findPrevItem(item) {\n const prevItem = item.parentElement.previousElementSibling;\n\n return prevItem ? prevItem.children[0] : null;\n },\n findFirstItem() {\n const firstSibling = findSingle(this.$refs.list, '[data-pc-section=\"item\"]');\n\n return firstSibling ? firstSibling.children[0] : null;\n },\n findLastItem() {\n const siblings = find(this.$refs.list, '[data-pc-section=\"item\"]');\n\n return siblings ? siblings[siblings.length - 1].children[0] : null;\n },\n setFocusToMenuitem(target, focusableItem) {\n target.tabIndex = '-1';\n focusableItem.tabIndex = '0';\n focusableItem.focus();\n },\n isActive(index) {\n return index === this.d_activeStep;\n },\n isItemDisabled(item, index) {\n return this.disabled(item) || (this.readonly && !this.isActive(index));\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n getMenuItemProps(item, index) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n onClick: ($event) => this.onItemClick($event, item),\n onKeyDown: ($event) => this.onItemKeydown($event, item)\n },\n this.getPTOptions('itemLink', item, index)\n ),\n step: mergeProps(\n {\n class: this.cx('itemNumber')\n },\n this.getPTOptions('itemNumber', item, index)\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel', item, index)\n )\n };\n }\n }\n};\n</script>\n","<template>\n <nav :id=\"id\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <ol ref=\"list\" :class=\"cx('list')\" v-bind=\"ptm('list')\">\n <template v-for=\"(item, index) of model\" :key=\"label(item) + '_' + index.toString()\">\n <li\n v-if=\"visible(item)\"\n :class=\"[cx('item', { item, index }), item.class]\"\n :style=\"item.style\"\n :aria-current=\"isActive(index) ? 'step' : undefined\"\n @click=\"onItemClick($event, item, index)\"\n @keydown=\"onItemKeydown($event, item, index)\"\n v-bind=\"getPTOptions('item', item, index)\"\n :data-p-active=\"isActive(index)\"\n :data-p-disabled=\"isItemDisabled(item, index)\"\n >\n <template v-if=\"!$slots.item\">\n <span :class=\"cx('itemLink')\" v-bind=\"getPTOptions('itemLink', item, index)\">\n <span :class=\"cx('itemNumber')\" v-bind=\"getPTOptions('itemNumber', item, index)\">{{ index + 1 }}</span>\n <span :class=\"cx('itemLabel')\" v-bind=\"getPTOptions('itemLabel', item, index)\">{{ label(item) }}</span>\n </span>\n </template>\n <component v-else :is=\"$slots.item\" :item=\"item\" :index=\"index\" :active=\"index === d_activeStep\" :label=\"label(item)\" :props=\"getMenuItemProps(item, index)\"></component>\n </li>\n </template>\n </ol>\n </nav>\n</template>\n\n<script>\nimport { findSingle, find } from '@primeuix/utils/dom';\nimport { mergeProps } from 'vue';\nimport BaseSteps from './BaseSteps.vue';\n\nexport default {\n name: 'Steps',\n extends: BaseSteps,\n inheritAttrs: false,\n emits: ['update:activeStep', 'step-change'],\n data() {\n return {\n d_activeStep: this.activeStep\n };\n },\n watch: {\n activeStep(newValue) {\n this.d_activeStep = newValue;\n }\n },\n mounted() {\n const firstItem = this.findFirstItem();\n\n firstItem && (firstItem.tabIndex = '0');\n },\n methods: {\n getPTOptions(key, item, index) {\n return this.ptm(key, {\n context: {\n item,\n index,\n active: this.isActive(index),\n disabled: this.isItemDisabled(item, index)\n }\n });\n },\n onItemClick(event, item, index) {\n if (this.disabled(item) || this.readonly) {\n event.preventDefault();\n\n return;\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n if (index !== this.d_activeStep) {\n this.d_activeStep = index;\n this.$emit('update:activeStep', this.d_activeStep);\n }\n\n this.$emit('step-change', {\n originalEvent: event,\n index: index\n });\n },\n onItemKeydown(event, item) {\n switch (event.code) {\n case 'ArrowRight': {\n this.navigateToNextItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n this.navigateToPrevItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Home': {\n this.navigateToFirstItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'End': {\n this.navigateToLastItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Tab':\n //no op\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n this.onItemClick(event, item);\n event.preventDefault();\n break;\n }\n\n default:\n break;\n }\n },\n navigateToNextItem(target) {\n const nextItem = this.findNextItem(target);\n\n nextItem && this.setFocusToMenuitem(target, nextItem);\n },\n navigateToPrevItem(target) {\n const prevItem = this.findPrevItem(target);\n\n prevItem && this.setFocusToMenuitem(target, prevItem);\n },\n navigateToFirstItem(target) {\n const firstItem = this.findFirstItem(target);\n\n firstItem && this.setFocusToMenuitem(target, firstItem);\n },\n navigateToLastItem(target) {\n const lastItem = this.findLastItem(target);\n\n lastItem && this.setFocusToMenuitem(target, lastItem);\n },\n findNextItem(item) {\n const nextItem = item.parentElement.nextElementSibling;\n\n return nextItem ? nextItem.children[0] : null;\n },\n findPrevItem(item) {\n const prevItem = item.parentElement.previousElementSibling;\n\n return prevItem ? prevItem.children[0] : null;\n },\n findFirstItem() {\n const firstSibling = findSingle(this.$refs.list, '[data-pc-section=\"item\"]');\n\n return firstSibling ? firstSibling.children[0] : null;\n },\n findLastItem() {\n const siblings = find(this.$refs.list, '[data-pc-section=\"item\"]');\n\n return siblings ? siblings[siblings.length - 1].children[0] : null;\n },\n setFocusToMenuitem(target, focusableItem) {\n target.tabIndex = '-1';\n focusableItem.tabIndex = '0';\n focusableItem.focus();\n },\n isActive(index) {\n return index === this.d_activeStep;\n },\n isItemDisabled(item, index) {\n return this.disabled(item) || (this.readonly && !this.isActive(index));\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n getMenuItemProps(item, index) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n onClick: ($event) => this.onItemClick($event, item),\n onKeyDown: ($event) => this.onItemKeydown($event, item)\n },\n this.getPTOptions('itemLink', item, index)\n ),\n step: mergeProps(\n {\n class: this.cx('itemNumber')\n },\n this.getPTOptions('itemNumber', item, index)\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel', item, index)\n )\n };\n }\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","id","type","String","model","Array","readonly","Boolean","activeStep","Number","style","StepsStyle","provide","$pcSteps","$parentInstance","BaseSteps","inheritAttrs","emits","data","d_activeStep","watch","newValue","mounted","firstItem","findFirstItem","tabIndex","methods","getPTOptions","key","item","index","ptm","context","active","isActive","disabled","isItemDisabled","onItemClick","event","preventDefault","command","originalEvent","$emit","onItemKeydown","code","navigateToNextItem","target","navigateToPrevItem","navigateToFirstItem","navigateToLastItem","nextItem","findNextItem","setFocusToMenuitem","prevItem","findPrevItem","lastItem","findLastItem","parentElement","nextElementSibling","children","previousElementSibling","firstSibling","findSingle","$refs","list","siblings","find","length","focusableItem","focus","visible","label","getMenuItemProps","_this","action","mergeProps","cx","onClick","$event","onKeyDown","step","_openBlock","_createElementBlock","_mergeProps","_ctx","ptmi","_createElementVNode","ref","_Fragment","_renderList","$options","toString","undefined","onKeydown","$slots","ref_for","_toDisplayString","_createBlock","_resolveDynamicComponent","$data"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/styleclass/BaseStyleClass.js","../../src/styleclass/StyleClass.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport StyleClassStyle from 'primevue/styleclass/style';\n\nconst BaseStyleClass = BaseDirective.extend({\n style: StyleClassStyle\n});\n\nexport default BaseStyleClass;\n","import { addClass, hasClass, removeClass } from '@primeuix/utils/dom';\nimport BaseStyleClass from './BaseStyleClass';\n\nconst StyleClass = BaseStyleClass.extend('styleclass', {\n mounted(el, binding) {\n el.setAttribute('data-pd-styleclass', true);\n\n this.bind(el, binding);\n },\n unmounted(el) {\n this.unbind(el);\n },\n methods: {\n bind(el, binding) {\n const target = this.resolveTarget(el, binding);\n\n this.$el = target;\n\n el.$_pstyleclass_clicklistener = () => {\n if (binding.value.toggleClass) {\n if (hasClass(target, binding.value.toggleClass)) removeClass(target, binding.value.toggleClass);\n else addClass(target, binding.value.toggleClass);\n } else {\n if (target.offsetParent === null) this.enter(target, el, binding);\n else this.leave(target, binding);\n }\n };\n\n el.addEventListener('click', el.$_pstyleclass_clicklistener);\n },\n unbind(el) {\n if (el.$_pstyleclass_clicklistener) {\n el.removeEventListener('click', el.$_pstyleclass_clicklistener);\n el.$_pstyleclass_clicklistener = null;\n }\n\n this.unbindDocumentListener(el);\n },\n enter(target, el, binding) {\n if (binding.value.enterActiveClass) {\n if (!target.$_pstyleclass_animating) {\n target.$_pstyleclass_animating = true;\n\n if (binding.value.enterActiveClass.includes('slidedown')) {\n target.style.height = '0px';\n removeClass(target, binding.value.hiddenClass || binding.value.enterFromClass);\n target.style.maxHeight = target.scrollHeight + 'px';\n addClass(target, binding.value.hiddenClass || binding.value.enterActiveClass);\n target.style.height = '';\n }\n\n addClass(target, binding.value.enterActiveClass);\n\n if (binding.value.enterFromClass) {\n removeClass(target, binding.value.enterFromClass);\n }\n\n target.$p_styleclass_enterlistener = () => {\n removeClass(target, binding.value.enterActiveClass);\n\n if (binding.value.enterToClass) {\n addClass(target, binding.value.enterToClass);\n }\n\n target.removeEventListener('animationend', target.$p_styleclass_enterlistener);\n\n if (binding.value.enterActiveClass.includes('slidedown')) {\n target.style.maxHeight = '';\n }\n\n target.$_pstyleclass_animating = false;\n };\n\n target.addEventListener('animationend', target.$p_styleclass_enterlistener);\n }\n } else {\n if (binding.value.enterFromClass) {\n removeClass(target, binding.value.enterFromClass);\n }\n\n if (binding.value.enterToClass) {\n addClass(target, binding.value.enterToClass);\n }\n }\n\n if (binding.value.hideOnOutsideClick) {\n this.bindDocumentListener(target, el, binding);\n }\n },\n leave(target, binding) {\n if (binding.value.leaveActiveClass) {\n if (!target.$_pstyleclass_animating) {\n target.$_pstyleclass_animating = true;\n addClass(target, binding.value.leaveActiveClass);\n\n if (binding.value.leaveFromClass) {\n removeClass(target, binding.value.leaveFromClass);\n }\n\n target.$p_styleclass_leavelistener = () => {\n removeClass(target, binding.value.leaveActiveClass);\n\n if (binding.value.leaveToClass) {\n addClass(target, binding.value.leaveToClass);\n }\n\n target.removeEventListener('animationend', target.$p_styleclass_leavelistener);\n target.$_pstyleclass_animating = false;\n };\n\n target.addEventListener('animationend', target.$p_styleclass_leavelistener);\n }\n } else {\n if (binding.value.leaveFromClass) {\n removeClass(target, binding.value.leaveFromClass);\n }\n\n if (binding.value.leaveToClass) {\n addClass(target, binding.value.leaveToClass);\n }\n }\n\n if (binding.value.hideOnOutsideClick) {\n this.unbindDocumentListener(target);\n }\n },\n resolveTarget(el, binding) {\n switch (binding.value.selector) {\n case '@next':\n return el.nextElementSibling;\n\n case '@prev':\n return el.previousElementSibling;\n\n case '@parent':\n return el.parentElement;\n\n case '@grandparent':\n return el.parentElement.parentElement;\n\n default:\n return document.querySelector(binding.value.selector);\n }\n },\n bindDocumentListener(target, el, binding) {\n if (!target.$p_styleclass_documentlistener) {\n target.$p_styleclass_documentlistener = (event) => {\n if (!this.isVisible(target) || getComputedStyle(target).getPropertyValue('position') === 'static') {\n this.unbindDocumentListener(target);\n } else if (this.isOutsideClick(event, target, el)) {\n this.leave(target, binding);\n }\n };\n\n target.ownerDocument.addEventListener('click', target.$p_styleclass_documentlistener);\n }\n },\n unbindDocumentListener(target) {\n if (target.$p_styleclass_documentlistener) {\n target.ownerDocument.removeEventListener('click', target.$p_styleclass_documentlistener);\n target.$p_styleclass_documentlistener = null;\n }\n },\n isVisible(target) {\n return target.offsetParent !== null;\n },\n isOutsideClick(event, target, el) {\n return !el.isSameNode(event.target) && !el.contains(event.target) && !target.contains(event.target);\n }\n }\n});\n\nexport default StyleClass;\n"],"names":["BaseStyleClass","BaseDirective","extend","style","StyleClassStyle","StyleClass","mounted","el","binding","setAttribute","bind","unmounted","unbind","methods","_this","target","resolveTarget","$el","$_pstyleclass_clicklistener","value","toggleClass","hasClass","removeClass","addClass","offsetParent","enter","leave","addEventListener","removeEventListener","unbindDocumentListener","enterActiveClass","$_pstyleclass_animating","includes","height","hiddenClass","enterFromClass","maxHeight","scrollHeight","$p_styleclass_enterlistener","enterToClass","hideOnOutsideClick","bindDocumentListener","leaveActiveClass","leaveFromClass","$p_styleclass_leavelistener","leaveToClass","selector","nextElementSibling","previousElementSibling","parentElement","document","querySelector","_this2","$p_styleclass_documentlistener","event","isVisible","getComputedStyle","getPropertyValue","isOutsideClick","ownerDocument","isSameNode","contains"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/styleclass/BaseStyleClass.js","../../src/styleclass/StyleClass.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport StyleClassStyle from 'primevue/styleclass/style';\n\nconst BaseStyleClass = BaseDirective.extend({\n style: StyleClassStyle\n});\n\nexport default BaseStyleClass;\n","import { addClass, hasClass, removeClass } from '@primeuix/utils/dom';\nimport BaseStyleClass from './BaseStyleClass';\n\nconst StyleClass = BaseStyleClass.extend('styleclass', {\n mounted(el, binding) {\n el.setAttribute('data-pd-styleclass', true);\n\n this.bind(el, binding);\n },\n unmounted(el) {\n this.unbind(el);\n },\n methods: {\n bind(el, binding) {\n const target = this.resolveTarget(el, binding);\n\n this.$el = target;\n\n el.$_pstyleclass_clicklistener = () => {\n if (binding.value.toggleClass) {\n if (hasClass(target, binding.value.toggleClass)) removeClass(target, binding.value.toggleClass);\n else addClass(target, binding.value.toggleClass);\n } else {\n if (target.offsetParent === null) this.enter(target, el, binding);\n else this.leave(target, binding);\n }\n };\n\n el.addEventListener('click', el.$_pstyleclass_clicklistener);\n },\n unbind(el) {\n if (el.$_pstyleclass_clicklistener) {\n el.removeEventListener('click', el.$_pstyleclass_clicklistener);\n el.$_pstyleclass_clicklistener = null;\n }\n\n this.unbindDocumentListener(el);\n },\n enter(target, el, binding) {\n if (binding.value.enterActiveClass) {\n if (!target.$_pstyleclass_animating) {\n target.$_pstyleclass_animating = true;\n\n if (binding.value.enterActiveClass.includes('slidedown')) {\n target.style.height = '0px';\n removeClass(target, binding.value.hiddenClass || binding.value.enterFromClass);\n target.style.maxHeight = target.scrollHeight + 'px';\n addClass(target, binding.value.hiddenClass || binding.value.enterActiveClass);\n target.style.height = '';\n }\n\n addClass(target, binding.value.enterActiveClass);\n\n if (binding.value.enterFromClass) {\n removeClass(target, binding.value.enterFromClass);\n }\n\n target.$p_styleclass_enterlistener = () => {\n removeClass(target, binding.value.enterActiveClass);\n\n if (binding.value.enterToClass) {\n addClass(target, binding.value.enterToClass);\n }\n\n target.removeEventListener('animationend', target.$p_styleclass_enterlistener);\n\n if (binding.value.enterActiveClass.includes('slidedown')) {\n target.style.maxHeight = '';\n }\n\n target.$_pstyleclass_animating = false;\n };\n\n target.addEventListener('animationend', target.$p_styleclass_enterlistener);\n }\n } else {\n if (binding.value.enterFromClass) {\n removeClass(target, binding.value.enterFromClass);\n }\n\n if (binding.value.enterToClass) {\n addClass(target, binding.value.enterToClass);\n }\n }\n\n if (binding.value.hideOnOutsideClick) {\n this.bindDocumentListener(target, el, binding);\n }\n },\n leave(target, binding) {\n if (binding.value.leaveActiveClass) {\n if (!target.$_pstyleclass_animating) {\n target.$_pstyleclass_animating = true;\n addClass(target, binding.value.leaveActiveClass);\n\n if (binding.value.leaveFromClass) {\n removeClass(target, binding.value.leaveFromClass);\n }\n\n target.$p_styleclass_leavelistener = () => {\n removeClass(target, binding.value.leaveActiveClass);\n\n if (binding.value.leaveToClass) {\n addClass(target, binding.value.leaveToClass);\n }\n\n target.removeEventListener('animationend', target.$p_styleclass_leavelistener);\n target.$_pstyleclass_animating = false;\n };\n\n target.addEventListener('animationend', target.$p_styleclass_leavelistener);\n }\n } else {\n if (binding.value.leaveFromClass) {\n removeClass(target, binding.value.leaveFromClass);\n }\n\n if (binding.value.leaveToClass) {\n addClass(target, binding.value.leaveToClass);\n }\n }\n\n if (binding.value.hideOnOutsideClick) {\n this.unbindDocumentListener(target);\n }\n },\n resolveTarget(el, binding) {\n switch (binding.value.selector) {\n case '@next':\n return el.nextElementSibling;\n\n case '@prev':\n return el.previousElementSibling;\n\n case '@parent':\n return el.parentElement;\n\n case '@grandparent':\n return el.parentElement.parentElement;\n\n default:\n return document.querySelector(binding.value.selector);\n }\n },\n bindDocumentListener(target, el, binding) {\n if (!target.$p_styleclass_documentlistener) {\n target.$p_styleclass_documentlistener = (event) => {\n if (!this.isVisible(target) || getComputedStyle(target).getPropertyValue('position') === 'static') {\n this.unbindDocumentListener(target);\n } else if (this.isOutsideClick(event, target, el)) {\n this.leave(target, binding);\n }\n };\n\n target.ownerDocument.addEventListener('click', target.$p_styleclass_documentlistener);\n }\n },\n unbindDocumentListener(target) {\n if (target.$p_styleclass_documentlistener) {\n target.ownerDocument.removeEventListener('click', target.$p_styleclass_documentlistener);\n target.$p_styleclass_documentlistener = null;\n }\n },\n isVisible(target) {\n return target.offsetParent !== null;\n },\n isOutsideClick(event, target, el) {\n return !el.isSameNode(event.target) && !el.contains(event.target) && !target.contains(event.target);\n }\n }\n});\n\nexport default StyleClass;\n"],"names":["BaseStyleClass","BaseDirective","extend","style","StyleClassStyle","StyleClass","mounted","el","binding","setAttribute","bind","unmounted","unbind","methods","_this","target","resolveTarget","$el","$_pstyleclass_clicklistener","value","toggleClass","hasClass","removeClass","addClass","offsetParent","enter","leave","addEventListener","removeEventListener","unbindDocumentListener","enterActiveClass","$_pstyleclass_animating","includes","height","hiddenClass","enterFromClass","maxHeight","scrollHeight","$p_styleclass_enterlistener","enterToClass","hideOnOutsideClick","bindDocumentListener","leaveActiveClass","leaveFromClass","$p_styleclass_leavelistener","leaveToClass","selector","nextElementSibling","previousElementSibling","parentElement","document","querySelector","_this2","$p_styleclass_documentlistener","event","isVisible","getComputedStyle","getPropertyValue","isOutsideClick","ownerDocument","isSameNode","contains"],"mappings":"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"}
package/tab/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/tab/BaseTab.vue","../../src/tab/Tab.vue","../../src/tab/Tab.vue?vue&type=template&id=987cccf2&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabStyle from 'primevue/tab/style';\n\nexport default {\n name: 'BaseTab',\n extends: BaseComponent,\n props: {\n value: {\n type: [String, Number],\n default: undefined\n },\n disabled: {\n type: Boolean,\n default: false\n },\n as: {\n type: [String, Object],\n default: 'BUTTON'\n },\n asChild: {\n type: Boolean,\n default: false\n }\n },\n style: TabStyle,\n provide() {\n return {\n $pcTab: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" :data-p=\"dataP\" @click=\"onClick\" v-bind=\"attrs\">\n <slot></slot>\n </component>\n <slot v-else :dataP=\"dataP\" :class=\"cx('root')\" :active=\"active\" :a11yAttrs=\"a11yAttrs\" :onClick=\"onClick\"></slot>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { findSingle, focus, getAttribute } from '@primeuix/utils/dom';\nimport { equals } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseTab from './BaseTab.vue';\n\nexport default {\n name: 'Tab',\n extends: BaseTab,\n inheritAttrs: false,\n inject: ['$pcTabs', '$pcTabList'],\n methods: {\n onFocus() {\n this.$pcTabs.selectOnFocus && this.changeActiveValue();\n },\n onClick() {\n this.changeActiveValue();\n },\n onKeydown(event) {\n switch (event.code) {\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowRightKey(event) {\n const nextTab = this.findNextTab(event.currentTarget);\n\n nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowLeftKey(event) {\n const prevTab = this.findPrevTab(event.currentTarget);\n\n prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey(event) {\n const firstTab = this.findFirstTab();\n\n this.changeFocusedTab(event, firstTab);\n event.preventDefault();\n },\n onEndKey(event) {\n const lastTab = this.findLastTab();\n\n this.changeFocusedTab(event, lastTab);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.findLastTab());\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(this.findFirstTab());\n event.preventDefault();\n },\n onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findNextTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.nextElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findNextTab(element) : findSingle(element, '[data-pc-name=\"tab\"]')) : null;\n },\n findPrevTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findPrevTab(element) : findSingle(element, '[data-pc-name=\"tab\"]')) : null;\n },\n findFirstTab() {\n return this.findNextTab(this.$pcTabList.$refs.tabs.firstElementChild, true);\n },\n findLastTab() {\n return this.findPrevTab(this.$pcTabList.$refs.tabs.lastElementChild, true);\n },\n changeActiveValue() {\n this.$pcTabs.updateValue(this.value);\n },\n changeFocusedTab(event, element) {\n focus(element);\n this.scrollInView(element);\n },\n scrollInView(element) {\n element?.scrollIntoView?.({ block: 'nearest' });\n }\n },\n computed: {\n active() {\n return equals(this.$pcTabs?.d_value, this.value);\n },\n id() {\n return `${this.$pcTabs?.$id}_tab_${this.value}`;\n },\n ariaControls() {\n return `${this.$pcTabs?.$id}_tabpanel_${this.value}`;\n },\n attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs() {\n return this.as === 'BUTTON' ? { type: 'button', disabled: this.disabled } : undefined;\n },\n a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.active ? this.$pcTabs.tabindex : -1,\n role: 'tab',\n 'aria-selected': this.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'tab',\n 'data-p-disabled': this.disabled,\n 'data-p-active': this.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams() {\n return {\n context: {\n active: this.active\n }\n };\n },\n dataP() {\n return cn({\n active: this.active\n });\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" :data-p=\"dataP\" @click=\"onClick\" v-bind=\"attrs\">\n <slot></slot>\n </component>\n <slot v-else :dataP=\"dataP\" :class=\"cx('root')\" :active=\"active\" :a11yAttrs=\"a11yAttrs\" :onClick=\"onClick\"></slot>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { findSingle, focus, getAttribute } from '@primeuix/utils/dom';\nimport { equals } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseTab from './BaseTab.vue';\n\nexport default {\n name: 'Tab',\n extends: BaseTab,\n inheritAttrs: false,\n inject: ['$pcTabs', '$pcTabList'],\n methods: {\n onFocus() {\n this.$pcTabs.selectOnFocus && this.changeActiveValue();\n },\n onClick() {\n this.changeActiveValue();\n },\n onKeydown(event) {\n switch (event.code) {\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowRightKey(event) {\n const nextTab = this.findNextTab(event.currentTarget);\n\n nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowLeftKey(event) {\n const prevTab = this.findPrevTab(event.currentTarget);\n\n prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey(event) {\n const firstTab = this.findFirstTab();\n\n this.changeFocusedTab(event, firstTab);\n event.preventDefault();\n },\n onEndKey(event) {\n const lastTab = this.findLastTab();\n\n this.changeFocusedTab(event, lastTab);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.findLastTab());\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(this.findFirstTab());\n event.preventDefault();\n },\n onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findNextTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.nextElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findNextTab(element) : findSingle(element, '[data-pc-name=\"tab\"]')) : null;\n },\n findPrevTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findPrevTab(element) : findSingle(element, '[data-pc-name=\"tab\"]')) : null;\n },\n findFirstTab() {\n return this.findNextTab(this.$pcTabList.$refs.tabs.firstElementChild, true);\n },\n findLastTab() {\n return this.findPrevTab(this.$pcTabList.$refs.tabs.lastElementChild, true);\n },\n changeActiveValue() {\n this.$pcTabs.updateValue(this.value);\n },\n changeFocusedTab(event, element) {\n focus(element);\n this.scrollInView(element);\n },\n scrollInView(element) {\n element?.scrollIntoView?.({ block: 'nearest' });\n }\n },\n computed: {\n active() {\n return equals(this.$pcTabs?.d_value, this.value);\n },\n id() {\n return `${this.$pcTabs?.$id}_tab_${this.value}`;\n },\n ariaControls() {\n return `${this.$pcTabs?.$id}_tabpanel_${this.value}`;\n },\n attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs() {\n return this.as === 'BUTTON' ? { type: 'button', disabled: this.disabled } : undefined;\n },\n a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.active ? this.$pcTabs.tabindex : -1,\n role: 'tab',\n 'aria-selected': this.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'tab',\n 'data-p-disabled': this.disabled,\n 'data-p-active': this.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams() {\n return {\n context: {\n active: this.active\n }\n };\n },\n dataP() {\n return cn({\n active: this.active\n });\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","type","String","Number","undefined","disabled","Boolean","as","Object","asChild","style","TabStyle","provide","$pcTab","$parentInstance","BaseTab","inheritAttrs","inject","methods","onFocus","$pcTabs","selectOnFocus","changeActiveValue","onClick","onKeydown","event","code","onArrowRightKey","onArrowLeftKey","onHomeKey","onEndKey","onPageDownKey","onPageUpKey","onEnterKey","nextTab","findNextTab","currentTarget","changeFocusedTab","preventDefault","prevTab","findPrevTab","firstTab","findFirstTab","lastTab","findLastTab","scrollInView","tabElement","selfCheck","element","nextElementSibling","getAttribute","findSingle","previousElementSibling","$pcTabList","$refs","tabs","firstElementChild","lastElementChild","updateValue","focus","_element$scrollIntoVi","scrollIntoView","call","block","computed","active","_this$$pcTabs","equals","d_value","id","_this$$pcTabs2","concat","$id","ariaControls","_this$$pcTabs3","attrs","mergeProps","asAttrs","a11yAttrs","ptmi","ptParams","tabindex","role","context","dataP","cn","directives","ripple","Ripple","_ctx","_createBlock","_resolveDynamicComponent","_mergeProps","cx","$options","_renderSlot","$slots"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/tab/BaseTab.vue","../../src/tab/Tab.vue","../../src/tab/Tab.vue?vue&type=template&id=987cccf2&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabStyle from 'primevue/tab/style';\n\nexport default {\n name: 'BaseTab',\n extends: BaseComponent,\n props: {\n value: {\n type: [String, Number],\n default: undefined\n },\n disabled: {\n type: Boolean,\n default: false\n },\n as: {\n type: [String, Object],\n default: 'BUTTON'\n },\n asChild: {\n type: Boolean,\n default: false\n }\n },\n style: TabStyle,\n provide() {\n return {\n $pcTab: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" :data-p=\"dataP\" @click=\"onClick\" v-bind=\"attrs\">\n <slot></slot>\n </component>\n <slot v-else :dataP=\"dataP\" :class=\"cx('root')\" :active=\"active\" :a11yAttrs=\"a11yAttrs\" :onClick=\"onClick\"></slot>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { findSingle, focus, getAttribute } from '@primeuix/utils/dom';\nimport { equals } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseTab from './BaseTab.vue';\n\nexport default {\n name: 'Tab',\n extends: BaseTab,\n inheritAttrs: false,\n inject: ['$pcTabs', '$pcTabList'],\n methods: {\n onFocus() {\n this.$pcTabs.selectOnFocus && this.changeActiveValue();\n },\n onClick() {\n this.changeActiveValue();\n },\n onKeydown(event) {\n switch (event.code) {\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowRightKey(event) {\n const nextTab = this.findNextTab(event.currentTarget);\n\n nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowLeftKey(event) {\n const prevTab = this.findPrevTab(event.currentTarget);\n\n prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey(event) {\n const firstTab = this.findFirstTab();\n\n this.changeFocusedTab(event, firstTab);\n event.preventDefault();\n },\n onEndKey(event) {\n const lastTab = this.findLastTab();\n\n this.changeFocusedTab(event, lastTab);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.findLastTab());\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(this.findFirstTab());\n event.preventDefault();\n },\n onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findNextTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.nextElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findNextTab(element) : findSingle(element, '[data-pc-name=\"tab\"]')) : null;\n },\n findPrevTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findPrevTab(element) : findSingle(element, '[data-pc-name=\"tab\"]')) : null;\n },\n findFirstTab() {\n return this.findNextTab(this.$pcTabList.$refs.tabs.firstElementChild, true);\n },\n findLastTab() {\n return this.findPrevTab(this.$pcTabList.$refs.tabs.lastElementChild, true);\n },\n changeActiveValue() {\n this.$pcTabs.updateValue(this.value);\n },\n changeFocusedTab(event, element) {\n focus(element);\n this.scrollInView(element);\n },\n scrollInView(element) {\n element?.scrollIntoView?.({ block: 'nearest' });\n }\n },\n computed: {\n active() {\n return equals(this.$pcTabs?.d_value, this.value);\n },\n id() {\n return `${this.$pcTabs?.$id}_tab_${this.value}`;\n },\n ariaControls() {\n return `${this.$pcTabs?.$id}_tabpanel_${this.value}`;\n },\n attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs() {\n return this.as === 'BUTTON' ? { type: 'button', disabled: this.disabled } : undefined;\n },\n a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.active ? this.$pcTabs.tabindex : -1,\n role: 'tab',\n 'aria-selected': this.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'tab',\n 'data-p-disabled': this.disabled,\n 'data-p-active': this.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams() {\n return {\n context: {\n active: this.active\n }\n };\n },\n dataP() {\n return cn({\n active: this.active\n });\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" :data-p=\"dataP\" @click=\"onClick\" v-bind=\"attrs\">\n <slot></slot>\n </component>\n <slot v-else :dataP=\"dataP\" :class=\"cx('root')\" :active=\"active\" :a11yAttrs=\"a11yAttrs\" :onClick=\"onClick\"></slot>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { findSingle, focus, getAttribute } from '@primeuix/utils/dom';\nimport { equals } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseTab from './BaseTab.vue';\n\nexport default {\n name: 'Tab',\n extends: BaseTab,\n inheritAttrs: false,\n inject: ['$pcTabs', '$pcTabList'],\n methods: {\n onFocus() {\n this.$pcTabs.selectOnFocus && this.changeActiveValue();\n },\n onClick() {\n this.changeActiveValue();\n },\n onKeydown(event) {\n switch (event.code) {\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowRightKey(event) {\n const nextTab = this.findNextTab(event.currentTarget);\n\n nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowLeftKey(event) {\n const prevTab = this.findPrevTab(event.currentTarget);\n\n prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey(event) {\n const firstTab = this.findFirstTab();\n\n this.changeFocusedTab(event, firstTab);\n event.preventDefault();\n },\n onEndKey(event) {\n const lastTab = this.findLastTab();\n\n this.changeFocusedTab(event, lastTab);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.findLastTab());\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(this.findFirstTab());\n event.preventDefault();\n },\n onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findNextTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.nextElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findNextTab(element) : findSingle(element, '[data-pc-name=\"tab\"]')) : null;\n },\n findPrevTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findPrevTab(element) : findSingle(element, '[data-pc-name=\"tab\"]')) : null;\n },\n findFirstTab() {\n return this.findNextTab(this.$pcTabList.$refs.tabs.firstElementChild, true);\n },\n findLastTab() {\n return this.findPrevTab(this.$pcTabList.$refs.tabs.lastElementChild, true);\n },\n changeActiveValue() {\n this.$pcTabs.updateValue(this.value);\n },\n changeFocusedTab(event, element) {\n focus(element);\n this.scrollInView(element);\n },\n scrollInView(element) {\n element?.scrollIntoView?.({ block: 'nearest' });\n }\n },\n computed: {\n active() {\n return equals(this.$pcTabs?.d_value, this.value);\n },\n id() {\n return `${this.$pcTabs?.$id}_tab_${this.value}`;\n },\n ariaControls() {\n return `${this.$pcTabs?.$id}_tabpanel_${this.value}`;\n },\n attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs() {\n return this.as === 'BUTTON' ? { type: 'button', disabled: this.disabled } : undefined;\n },\n a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.active ? this.$pcTabs.tabindex : -1,\n role: 'tab',\n 'aria-selected': this.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'tab',\n 'data-p-disabled': this.disabled,\n 'data-p-active': this.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams() {\n return {\n context: {\n active: this.active\n }\n };\n },\n dataP() {\n return cn({\n active: this.active\n });\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","type","String","Number","undefined","disabled","Boolean","as","Object","asChild","style","TabStyle","provide","$pcTab","$parentInstance","BaseTab","inheritAttrs","inject","methods","onFocus","$pcTabs","selectOnFocus","changeActiveValue","onClick","onKeydown","event","code","onArrowRightKey","onArrowLeftKey","onHomeKey","onEndKey","onPageDownKey","onPageUpKey","onEnterKey","nextTab","findNextTab","currentTarget","changeFocusedTab","preventDefault","prevTab","findPrevTab","firstTab","findFirstTab","lastTab","findLastTab","scrollInView","tabElement","selfCheck","element","nextElementSibling","getAttribute","findSingle","previousElementSibling","$pcTabList","$refs","tabs","firstElementChild","lastElementChild","updateValue","focus","_element$scrollIntoVi","scrollIntoView","call","block","computed","active","_this$$pcTabs","equals","d_value","id","_this$$pcTabs2","concat","$id","ariaControls","_this$$pcTabs3","attrs","mergeProps","asAttrs","a11yAttrs","ptmi","ptParams","tabindex","role","context","dataP","cn","directives","ripple","Ripple","_ctx","_createBlock","_resolveDynamicComponent","_mergeProps","cx","$options","_renderSlot","$slots"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/tablist/BaseTabList.vue","../../src/tablist/TabList.vue","../../src/tablist/TabList.vue?vue&type=template&id=2e7eb3bb&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabListStyle from 'primevue/tablist/style';\n\nexport default {\n name: 'BaseTabList',\n extends: BaseComponent,\n props: {},\n style: TabListStyle,\n provide() {\n return {\n $pcTabList: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div ref=\"list\" :class=\"cx('root')\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <button\n v-if=\"showNavigators && isPrevButtonEnabled\"\n ref=\"prevButton\"\n type=\"button\"\n v-ripple\n :class=\"cx('prevButton')\"\n :aria-label=\"prevButtonAriaLabel\"\n :tabindex=\"$pcTabs.tabindex\"\n @click=\"onPrevButtonClick\"\n v-bind=\"ptm('prevButton')\"\n data-pc-group-section=\"navigator\"\n >\n <component :is=\"templates.previcon || 'ChevronLeftIcon'\" aria-hidden=\"true\" v-bind=\"ptm('prevIcon')\" />\n </button>\n <div ref=\"content\" :class=\"cx('content')\" @scroll=\"onScroll\" :data-p=\"dataP\" v-bind=\"ptm('content')\">\n <div ref=\"tabs\" :class=\"cx('tabList')\" role=\"tablist\" :aria-orientation=\"$pcTabs.orientation || 'horizontal'\" v-bind=\"ptm('tabList')\">\n <slot></slot>\n <span ref=\"inkbar\" :class=\"cx('activeBar')\" role=\"presentation\" aria-hidden=\"true\" v-bind=\"ptm('activeBar')\"></span>\n </div>\n </div>\n <button\n v-if=\"showNavigators && isNextButtonEnabled\"\n ref=\"nextButton\"\n type=\"button\"\n v-ripple\n :class=\"cx('nextButton')\"\n :aria-label=\"nextButtonAriaLabel\"\n :tabindex=\"$pcTabs.tabindex\"\n @click=\"onNextButtonClick\"\n v-bind=\"ptm('nextButton')\"\n data-pc-group-section=\"navigator\"\n >\n <component :is=\"templates.nexticon || 'ChevronRightIcon'\" aria-hidden=\"true\" v-bind=\"ptm('nextIcon')\" />\n </button>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { findSingle, getHeight, getOffset, getOuterHeight, getOuterWidth, getWidth, isRTL } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\nimport BaseTabList from './BaseTabList.vue';\n\nexport default {\n name: 'TabList',\n extends: BaseTabList,\n inheritAttrs: false,\n inject: ['$pcTabs'],\n data() {\n return {\n isPrevButtonEnabled: false,\n isNextButtonEnabled: true\n };\n },\n resizeObserver: undefined,\n watch: {\n showNavigators(newValue) {\n newValue ? this.bindResizeObserver() : this.unbindResizeObserver();\n },\n activeValue: {\n flush: 'post',\n handler() {\n this.updateInkBar();\n }\n }\n },\n mounted() {\n setTimeout(() => {\n this.updateInkBar();\n }, 150);\n\n if (this.showNavigators) {\n this.updateButtonState();\n this.bindResizeObserver();\n }\n },\n updated() {\n this.showNavigators && this.updateButtonState();\n },\n beforeUnmount() {\n this.unbindResizeObserver();\n },\n methods: {\n onScroll(event) {\n this.showNavigators && this.updateButtonState();\n\n event.preventDefault();\n },\n onPrevButtonClick() {\n const content = this.$refs.content;\n const buttonWidths = this.getVisibleButtonWidths();\n const width = getWidth(content) - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft - scrollStep;\n const scrollLeft = Math.max(targetScrollLeft, 0);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n },\n onNextButtonClick() {\n const content = this.$refs.content;\n const buttonWidths = this.getVisibleButtonWidths();\n const width = getWidth(content) - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft + scrollStep;\n const maxScrollLeft = content.scrollWidth - width;\n const scrollLeft = Math.min(targetScrollLeft, maxScrollLeft);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n },\n bindResizeObserver() {\n this.resizeObserver = new ResizeObserver(() => this.updateButtonState());\n this.resizeObserver.observe(this.$refs.list);\n },\n unbindResizeObserver() {\n this.resizeObserver?.unobserve(this.$refs.list);\n this.resizeObserver = undefined;\n },\n updateInkBar() {\n const { content, inkbar, tabs } = this.$refs;\n\n if (!inkbar) return;\n\n const activeTab = findSingle(content, '[data-pc-name=\"tab\"][data-p-active=\"true\"]');\n\n if (this.$pcTabs.isVertical()) {\n inkbar.style.height = getOuterHeight(activeTab) + 'px';\n inkbar.style.top = getOffset(activeTab).top - getOffset(tabs).top + 'px';\n } else {\n inkbar.style.width = getOuterWidth(activeTab) + 'px';\n inkbar.style.left = getOffset(activeTab).left - getOffset(tabs).left + 'px';\n }\n },\n updateButtonState() {\n const { list, content } = this.$refs;\n const { scrollTop, scrollWidth, scrollHeight, offsetWidth, offsetHeight } = content;\n const scrollLeft = Math.abs(content.scrollLeft);\n const [width, height] = [getWidth(content), getHeight(content)];\n\n if (this.$pcTabs.isVertical()) {\n this.isPrevButtonEnabled = scrollTop !== 0;\n this.isNextButtonEnabled = list.offsetHeight >= offsetHeight && parseInt(scrollTop) !== scrollHeight - height;\n } else {\n this.isPrevButtonEnabled = scrollLeft !== 0;\n this.isNextButtonEnabled = list.offsetWidth >= offsetWidth && parseInt(scrollLeft) !== scrollWidth - width;\n }\n },\n getVisibleButtonWidths() {\n const { prevButton, nextButton } = this.$refs;\n let width = 0;\n\n if (this.showNavigators) {\n width = (prevButton?.offsetWidth || 0) + (nextButton?.offsetWidth || 0);\n }\n\n return width;\n }\n },\n computed: {\n templates() {\n return this.$pcTabs.$slots;\n },\n activeValue() {\n return this.$pcTabs.d_value;\n },\n showNavigators() {\n return this.$pcTabs.scrollable && this.$pcTabs.showNavigators;\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 dataP() {\n return cn({\n scrollable: this.$pcTabs.scrollable\n });\n }\n },\n components: {\n ChevronLeftIcon,\n ChevronRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div ref=\"list\" :class=\"cx('root')\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <button\n v-if=\"showNavigators && isPrevButtonEnabled\"\n ref=\"prevButton\"\n type=\"button\"\n v-ripple\n :class=\"cx('prevButton')\"\n :aria-label=\"prevButtonAriaLabel\"\n :tabindex=\"$pcTabs.tabindex\"\n @click=\"onPrevButtonClick\"\n v-bind=\"ptm('prevButton')\"\n data-pc-group-section=\"navigator\"\n >\n <component :is=\"templates.previcon || 'ChevronLeftIcon'\" aria-hidden=\"true\" v-bind=\"ptm('prevIcon')\" />\n </button>\n <div ref=\"content\" :class=\"cx('content')\" @scroll=\"onScroll\" :data-p=\"dataP\" v-bind=\"ptm('content')\">\n <div ref=\"tabs\" :class=\"cx('tabList')\" role=\"tablist\" :aria-orientation=\"$pcTabs.orientation || 'horizontal'\" v-bind=\"ptm('tabList')\">\n <slot></slot>\n <span ref=\"inkbar\" :class=\"cx('activeBar')\" role=\"presentation\" aria-hidden=\"true\" v-bind=\"ptm('activeBar')\"></span>\n </div>\n </div>\n <button\n v-if=\"showNavigators && isNextButtonEnabled\"\n ref=\"nextButton\"\n type=\"button\"\n v-ripple\n :class=\"cx('nextButton')\"\n :aria-label=\"nextButtonAriaLabel\"\n :tabindex=\"$pcTabs.tabindex\"\n @click=\"onNextButtonClick\"\n v-bind=\"ptm('nextButton')\"\n data-pc-group-section=\"navigator\"\n >\n <component :is=\"templates.nexticon || 'ChevronRightIcon'\" aria-hidden=\"true\" v-bind=\"ptm('nextIcon')\" />\n </button>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { findSingle, getHeight, getOffset, getOuterHeight, getOuterWidth, getWidth, isRTL } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\nimport BaseTabList from './BaseTabList.vue';\n\nexport default {\n name: 'TabList',\n extends: BaseTabList,\n inheritAttrs: false,\n inject: ['$pcTabs'],\n data() {\n return {\n isPrevButtonEnabled: false,\n isNextButtonEnabled: true\n };\n },\n resizeObserver: undefined,\n watch: {\n showNavigators(newValue) {\n newValue ? this.bindResizeObserver() : this.unbindResizeObserver();\n },\n activeValue: {\n flush: 'post',\n handler() {\n this.updateInkBar();\n }\n }\n },\n mounted() {\n setTimeout(() => {\n this.updateInkBar();\n }, 150);\n\n if (this.showNavigators) {\n this.updateButtonState();\n this.bindResizeObserver();\n }\n },\n updated() {\n this.showNavigators && this.updateButtonState();\n },\n beforeUnmount() {\n this.unbindResizeObserver();\n },\n methods: {\n onScroll(event) {\n this.showNavigators && this.updateButtonState();\n\n event.preventDefault();\n },\n onPrevButtonClick() {\n const content = this.$refs.content;\n const buttonWidths = this.getVisibleButtonWidths();\n const width = getWidth(content) - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft - scrollStep;\n const scrollLeft = Math.max(targetScrollLeft, 0);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n },\n onNextButtonClick() {\n const content = this.$refs.content;\n const buttonWidths = this.getVisibleButtonWidths();\n const width = getWidth(content) - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft + scrollStep;\n const maxScrollLeft = content.scrollWidth - width;\n const scrollLeft = Math.min(targetScrollLeft, maxScrollLeft);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n },\n bindResizeObserver() {\n this.resizeObserver = new ResizeObserver(() => this.updateButtonState());\n this.resizeObserver.observe(this.$refs.list);\n },\n unbindResizeObserver() {\n this.resizeObserver?.unobserve(this.$refs.list);\n this.resizeObserver = undefined;\n },\n updateInkBar() {\n const { content, inkbar, tabs } = this.$refs;\n\n if (!inkbar) return;\n\n const activeTab = findSingle(content, '[data-pc-name=\"tab\"][data-p-active=\"true\"]');\n\n if (this.$pcTabs.isVertical()) {\n inkbar.style.height = getOuterHeight(activeTab) + 'px';\n inkbar.style.top = getOffset(activeTab).top - getOffset(tabs).top + 'px';\n } else {\n inkbar.style.width = getOuterWidth(activeTab) + 'px';\n inkbar.style.left = getOffset(activeTab).left - getOffset(tabs).left + 'px';\n }\n },\n updateButtonState() {\n const { list, content } = this.$refs;\n const { scrollTop, scrollWidth, scrollHeight, offsetWidth, offsetHeight } = content;\n const scrollLeft = Math.abs(content.scrollLeft);\n const [width, height] = [getWidth(content), getHeight(content)];\n\n if (this.$pcTabs.isVertical()) {\n this.isPrevButtonEnabled = scrollTop !== 0;\n this.isNextButtonEnabled = list.offsetHeight >= offsetHeight && parseInt(scrollTop) !== scrollHeight - height;\n } else {\n this.isPrevButtonEnabled = scrollLeft !== 0;\n this.isNextButtonEnabled = list.offsetWidth >= offsetWidth && parseInt(scrollLeft) !== scrollWidth - width;\n }\n },\n getVisibleButtonWidths() {\n const { prevButton, nextButton } = this.$refs;\n let width = 0;\n\n if (this.showNavigators) {\n width = (prevButton?.offsetWidth || 0) + (nextButton?.offsetWidth || 0);\n }\n\n return width;\n }\n },\n computed: {\n templates() {\n return this.$pcTabs.$slots;\n },\n activeValue() {\n return this.$pcTabs.d_value;\n },\n showNavigators() {\n return this.$pcTabs.scrollable && this.$pcTabs.showNavigators;\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 dataP() {\n return cn({\n scrollable: this.$pcTabs.scrollable\n });\n }\n },\n components: {\n ChevronLeftIcon,\n ChevronRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","style","TabListStyle","provide","$pcTabList","$parentInstance","BaseTabList","inheritAttrs","inject","data","isPrevButtonEnabled","isNextButtonEnabled","resizeObserver","undefined","watch","showNavigators","newValue","bindResizeObserver","unbindResizeObserver","activeValue","flush","handler","updateInkBar","mounted","_this","setTimeout","updateButtonState","updated","beforeUnmount","methods","onScroll","event","preventDefault","onPrevButtonClick","content","$refs","buttonWidths","getVisibleButtonWidths","width","getWidth","currentScrollLeft","Math","abs","scrollLeft","scrollStep","targetScrollLeft","max","isRTL","onNextButtonClick","maxScrollLeft","scrollWidth","min","_this2","ResizeObserver","observe","list","_this$resizeObserver","unobserve","_this$$refs","inkbar","tabs","activeTab","findSingle","$pcTabs","isVertical","height","getOuterHeight","top","getOffset","getOuterWidth","left","_this$$refs2","scrollTop","scrollHeight","offsetWidth","offsetHeight","_ref","getHeight","parseInt","_this$$refs3","prevButton","nextButton","computed","templates","$slots","d_value","scrollable","prevButtonAriaLabel","$primevue","config","locale","aria","previous","nextButtonAriaLabel","next","dataP","cn","components","ChevronLeftIcon","ChevronRightIcon","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","$options","ptmi","$data","_withDirectives","type","tabindex","onClick","apply","arguments","ptm","_createBlock","_resolveDynamicComponent","previcon","_createElementVNode","role","orientation","_renderSlot","nexticon"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/tablist/BaseTabList.vue","../../src/tablist/TabList.vue","../../src/tablist/TabList.vue?vue&type=template&id=2e7eb3bb&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabListStyle from 'primevue/tablist/style';\n\nexport default {\n name: 'BaseTabList',\n extends: BaseComponent,\n props: {},\n style: TabListStyle,\n provide() {\n return {\n $pcTabList: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div ref=\"list\" :class=\"cx('root')\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <button\n v-if=\"showNavigators && isPrevButtonEnabled\"\n ref=\"prevButton\"\n type=\"button\"\n v-ripple\n :class=\"cx('prevButton')\"\n :aria-label=\"prevButtonAriaLabel\"\n :tabindex=\"$pcTabs.tabindex\"\n @click=\"onPrevButtonClick\"\n v-bind=\"ptm('prevButton')\"\n data-pc-group-section=\"navigator\"\n >\n <component :is=\"templates.previcon || 'ChevronLeftIcon'\" aria-hidden=\"true\" v-bind=\"ptm('prevIcon')\" />\n </button>\n <div ref=\"content\" :class=\"cx('content')\" @scroll=\"onScroll\" :data-p=\"dataP\" v-bind=\"ptm('content')\">\n <div ref=\"tabs\" :class=\"cx('tabList')\" role=\"tablist\" :aria-orientation=\"$pcTabs.orientation || 'horizontal'\" v-bind=\"ptm('tabList')\">\n <slot></slot>\n <span ref=\"inkbar\" :class=\"cx('activeBar')\" role=\"presentation\" aria-hidden=\"true\" v-bind=\"ptm('activeBar')\"></span>\n </div>\n </div>\n <button\n v-if=\"showNavigators && isNextButtonEnabled\"\n ref=\"nextButton\"\n type=\"button\"\n v-ripple\n :class=\"cx('nextButton')\"\n :aria-label=\"nextButtonAriaLabel\"\n :tabindex=\"$pcTabs.tabindex\"\n @click=\"onNextButtonClick\"\n v-bind=\"ptm('nextButton')\"\n data-pc-group-section=\"navigator\"\n >\n <component :is=\"templates.nexticon || 'ChevronRightIcon'\" aria-hidden=\"true\" v-bind=\"ptm('nextIcon')\" />\n </button>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { findSingle, getHeight, getOffset, getOuterHeight, getOuterWidth, getWidth, isRTL } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\nimport BaseTabList from './BaseTabList.vue';\n\nexport default {\n name: 'TabList',\n extends: BaseTabList,\n inheritAttrs: false,\n inject: ['$pcTabs'],\n data() {\n return {\n isPrevButtonEnabled: false,\n isNextButtonEnabled: true\n };\n },\n resizeObserver: undefined,\n watch: {\n showNavigators(newValue) {\n newValue ? this.bindResizeObserver() : this.unbindResizeObserver();\n },\n activeValue: {\n flush: 'post',\n handler() {\n this.updateInkBar();\n }\n }\n },\n mounted() {\n setTimeout(() => {\n this.updateInkBar();\n }, 150);\n\n if (this.showNavigators) {\n this.updateButtonState();\n this.bindResizeObserver();\n }\n },\n updated() {\n this.showNavigators && this.updateButtonState();\n },\n beforeUnmount() {\n this.unbindResizeObserver();\n },\n methods: {\n onScroll(event) {\n this.showNavigators && this.updateButtonState();\n\n event.preventDefault();\n },\n onPrevButtonClick() {\n const content = this.$refs.content;\n const buttonWidths = this.getVisibleButtonWidths();\n const width = getWidth(content) - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft - scrollStep;\n const scrollLeft = Math.max(targetScrollLeft, 0);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n },\n onNextButtonClick() {\n const content = this.$refs.content;\n const buttonWidths = this.getVisibleButtonWidths();\n const width = getWidth(content) - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft + scrollStep;\n const maxScrollLeft = content.scrollWidth - width;\n const scrollLeft = Math.min(targetScrollLeft, maxScrollLeft);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n },\n bindResizeObserver() {\n this.resizeObserver = new ResizeObserver(() => this.updateButtonState());\n this.resizeObserver.observe(this.$refs.list);\n },\n unbindResizeObserver() {\n this.resizeObserver?.unobserve(this.$refs.list);\n this.resizeObserver = undefined;\n },\n updateInkBar() {\n const { content, inkbar, tabs } = this.$refs;\n\n if (!inkbar) return;\n\n const activeTab = findSingle(content, '[data-pc-name=\"tab\"][data-p-active=\"true\"]');\n\n if (this.$pcTabs.isVertical()) {\n inkbar.style.height = getOuterHeight(activeTab) + 'px';\n inkbar.style.top = getOffset(activeTab).top - getOffset(tabs).top + 'px';\n } else {\n inkbar.style.width = getOuterWidth(activeTab) + 'px';\n inkbar.style.left = getOffset(activeTab).left - getOffset(tabs).left + 'px';\n }\n },\n updateButtonState() {\n const { list, content } = this.$refs;\n const { scrollTop, scrollWidth, scrollHeight, offsetWidth, offsetHeight } = content;\n const scrollLeft = Math.abs(content.scrollLeft);\n const [width, height] = [getWidth(content), getHeight(content)];\n\n if (this.$pcTabs.isVertical()) {\n this.isPrevButtonEnabled = scrollTop !== 0;\n this.isNextButtonEnabled = list.offsetHeight >= offsetHeight && parseInt(scrollTop) !== scrollHeight - height;\n } else {\n this.isPrevButtonEnabled = scrollLeft !== 0;\n this.isNextButtonEnabled = list.offsetWidth >= offsetWidth && parseInt(scrollLeft) !== scrollWidth - width;\n }\n },\n getVisibleButtonWidths() {\n const { prevButton, nextButton } = this.$refs;\n let width = 0;\n\n if (this.showNavigators) {\n width = (prevButton?.offsetWidth || 0) + (nextButton?.offsetWidth || 0);\n }\n\n return width;\n }\n },\n computed: {\n templates() {\n return this.$pcTabs.$slots;\n },\n activeValue() {\n return this.$pcTabs.d_value;\n },\n showNavigators() {\n return this.$pcTabs.scrollable && this.$pcTabs.showNavigators;\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 dataP() {\n return cn({\n scrollable: this.$pcTabs.scrollable\n });\n }\n },\n components: {\n ChevronLeftIcon,\n ChevronRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div ref=\"list\" :class=\"cx('root')\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <button\n v-if=\"showNavigators && isPrevButtonEnabled\"\n ref=\"prevButton\"\n type=\"button\"\n v-ripple\n :class=\"cx('prevButton')\"\n :aria-label=\"prevButtonAriaLabel\"\n :tabindex=\"$pcTabs.tabindex\"\n @click=\"onPrevButtonClick\"\n v-bind=\"ptm('prevButton')\"\n data-pc-group-section=\"navigator\"\n >\n <component :is=\"templates.previcon || 'ChevronLeftIcon'\" aria-hidden=\"true\" v-bind=\"ptm('prevIcon')\" />\n </button>\n <div ref=\"content\" :class=\"cx('content')\" @scroll=\"onScroll\" :data-p=\"dataP\" v-bind=\"ptm('content')\">\n <div ref=\"tabs\" :class=\"cx('tabList')\" role=\"tablist\" :aria-orientation=\"$pcTabs.orientation || 'horizontal'\" v-bind=\"ptm('tabList')\">\n <slot></slot>\n <span ref=\"inkbar\" :class=\"cx('activeBar')\" role=\"presentation\" aria-hidden=\"true\" v-bind=\"ptm('activeBar')\"></span>\n </div>\n </div>\n <button\n v-if=\"showNavigators && isNextButtonEnabled\"\n ref=\"nextButton\"\n type=\"button\"\n v-ripple\n :class=\"cx('nextButton')\"\n :aria-label=\"nextButtonAriaLabel\"\n :tabindex=\"$pcTabs.tabindex\"\n @click=\"onNextButtonClick\"\n v-bind=\"ptm('nextButton')\"\n data-pc-group-section=\"navigator\"\n >\n <component :is=\"templates.nexticon || 'ChevronRightIcon'\" aria-hidden=\"true\" v-bind=\"ptm('nextIcon')\" />\n </button>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { findSingle, getHeight, getOffset, getOuterHeight, getOuterWidth, getWidth, isRTL } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\nimport BaseTabList from './BaseTabList.vue';\n\nexport default {\n name: 'TabList',\n extends: BaseTabList,\n inheritAttrs: false,\n inject: ['$pcTabs'],\n data() {\n return {\n isPrevButtonEnabled: false,\n isNextButtonEnabled: true\n };\n },\n resizeObserver: undefined,\n watch: {\n showNavigators(newValue) {\n newValue ? this.bindResizeObserver() : this.unbindResizeObserver();\n },\n activeValue: {\n flush: 'post',\n handler() {\n this.updateInkBar();\n }\n }\n },\n mounted() {\n setTimeout(() => {\n this.updateInkBar();\n }, 150);\n\n if (this.showNavigators) {\n this.updateButtonState();\n this.bindResizeObserver();\n }\n },\n updated() {\n this.showNavigators && this.updateButtonState();\n },\n beforeUnmount() {\n this.unbindResizeObserver();\n },\n methods: {\n onScroll(event) {\n this.showNavigators && this.updateButtonState();\n\n event.preventDefault();\n },\n onPrevButtonClick() {\n const content = this.$refs.content;\n const buttonWidths = this.getVisibleButtonWidths();\n const width = getWidth(content) - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft - scrollStep;\n const scrollLeft = Math.max(targetScrollLeft, 0);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n },\n onNextButtonClick() {\n const content = this.$refs.content;\n const buttonWidths = this.getVisibleButtonWidths();\n const width = getWidth(content) - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft + scrollStep;\n const maxScrollLeft = content.scrollWidth - width;\n const scrollLeft = Math.min(targetScrollLeft, maxScrollLeft);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n },\n bindResizeObserver() {\n this.resizeObserver = new ResizeObserver(() => this.updateButtonState());\n this.resizeObserver.observe(this.$refs.list);\n },\n unbindResizeObserver() {\n this.resizeObserver?.unobserve(this.$refs.list);\n this.resizeObserver = undefined;\n },\n updateInkBar() {\n const { content, inkbar, tabs } = this.$refs;\n\n if (!inkbar) return;\n\n const activeTab = findSingle(content, '[data-pc-name=\"tab\"][data-p-active=\"true\"]');\n\n if (this.$pcTabs.isVertical()) {\n inkbar.style.height = getOuterHeight(activeTab) + 'px';\n inkbar.style.top = getOffset(activeTab).top - getOffset(tabs).top + 'px';\n } else {\n inkbar.style.width = getOuterWidth(activeTab) + 'px';\n inkbar.style.left = getOffset(activeTab).left - getOffset(tabs).left + 'px';\n }\n },\n updateButtonState() {\n const { list, content } = this.$refs;\n const { scrollTop, scrollWidth, scrollHeight, offsetWidth, offsetHeight } = content;\n const scrollLeft = Math.abs(content.scrollLeft);\n const [width, height] = [getWidth(content), getHeight(content)];\n\n if (this.$pcTabs.isVertical()) {\n this.isPrevButtonEnabled = scrollTop !== 0;\n this.isNextButtonEnabled = list.offsetHeight >= offsetHeight && parseInt(scrollTop) !== scrollHeight - height;\n } else {\n this.isPrevButtonEnabled = scrollLeft !== 0;\n this.isNextButtonEnabled = list.offsetWidth >= offsetWidth && parseInt(scrollLeft) !== scrollWidth - width;\n }\n },\n getVisibleButtonWidths() {\n const { prevButton, nextButton } = this.$refs;\n let width = 0;\n\n if (this.showNavigators) {\n width = (prevButton?.offsetWidth || 0) + (nextButton?.offsetWidth || 0);\n }\n\n return width;\n }\n },\n computed: {\n templates() {\n return this.$pcTabs.$slots;\n },\n activeValue() {\n return this.$pcTabs.d_value;\n },\n showNavigators() {\n return this.$pcTabs.scrollable && this.$pcTabs.showNavigators;\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 dataP() {\n return cn({\n scrollable: this.$pcTabs.scrollable\n });\n }\n },\n components: {\n ChevronLeftIcon,\n ChevronRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","style","TabListStyle","provide","$pcTabList","$parentInstance","BaseTabList","inheritAttrs","inject","data","isPrevButtonEnabled","isNextButtonEnabled","resizeObserver","undefined","watch","showNavigators","newValue","bindResizeObserver","unbindResizeObserver","activeValue","flush","handler","updateInkBar","mounted","_this","setTimeout","updateButtonState","updated","beforeUnmount","methods","onScroll","event","preventDefault","onPrevButtonClick","content","$refs","buttonWidths","getVisibleButtonWidths","width","getWidth","currentScrollLeft","Math","abs","scrollLeft","scrollStep","targetScrollLeft","max","isRTL","onNextButtonClick","maxScrollLeft","scrollWidth","min","_this2","ResizeObserver","observe","list","_this$resizeObserver","unobserve","_this$$refs","inkbar","tabs","activeTab","findSingle","$pcTabs","isVertical","height","getOuterHeight","top","getOffset","getOuterWidth","left","_this$$refs2","scrollTop","scrollHeight","offsetWidth","offsetHeight","_ref","getHeight","parseInt","_this$$refs3","prevButton","nextButton","computed","templates","$slots","d_value","scrollable","prevButtonAriaLabel","$primevue","config","locale","aria","previous","nextButtonAriaLabel","next","dataP","cn","components","ChevronLeftIcon","ChevronRightIcon","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","$options","ptmi","$data","_withDirectives","type","tabindex","onClick","apply","arguments","ptm","_createBlock","_resolveDynamicComponent","previcon","_createElementVNode","role","orientation","_renderSlot","nexticon"],"mappings":"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"}