primevue 4.0.0 → 4.0.1

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 (90) hide show
  1. package/accordion/style/index.mjs +1 -1
  2. package/accordion/style/index.mjs.map +1 -1
  3. package/autocomplete/AutoComplete.vue +4 -2
  4. package/autocomplete/index.mjs +3 -2
  5. package/autocomplete/index.mjs.map +1 -1
  6. package/cascadeselect/CascadeSelect.vue +4 -4
  7. package/cascadeselect/index.d.ts +4 -0
  8. package/cascadeselect/index.mjs +2 -2
  9. package/cascadeselect/index.mjs.map +1 -1
  10. package/checkbox/Checkbox.vue +2 -1
  11. package/checkbox/index.d.ts +5 -0
  12. package/checkbox/index.mjs +1 -0
  13. package/checkbox/index.mjs.map +1 -1
  14. package/datatable/BodyCell.vue +8 -5
  15. package/datatable/HeaderCell.vue +2 -2
  16. package/datatable/RowCheckbox.vue +1 -1
  17. package/datatable/index.mjs +19 -16
  18. package/datatable/index.mjs.map +1 -1
  19. package/datatable/style/index.mjs +1 -1
  20. package/datatable/style/index.mjs.map +1 -1
  21. package/datepicker/index.mjs +1 -1
  22. package/fileupload/index.mjs +1 -1
  23. package/galleria/GalleriaItem.vue +5 -5
  24. package/galleria/GalleriaThumbnails.vue +6 -6
  25. package/galleria/index.mjs +16 -16
  26. package/galleria/index.mjs.map +1 -1
  27. package/galleria/style/index.d.ts +4 -4
  28. package/galleria/style/index.mjs +8 -8
  29. package/galleria/style/index.mjs.map +1 -1
  30. package/iconfield/style/index.mjs +1 -1
  31. package/iconfield/style/index.mjs.map +1 -1
  32. package/inputmask/InputMask.vue +5 -1
  33. package/inputmask/index.d.ts +5 -0
  34. package/inputmask/index.mjs +5 -2
  35. package/inputmask/index.mjs.map +1 -1
  36. package/listbox/Listbox.vue +3 -3
  37. package/listbox/index.mjs +7 -6
  38. package/listbox/index.mjs.map +1 -1
  39. package/menubar/index.d.ts +1 -1
  40. package/multiselect/index.d.ts +4 -0
  41. package/package.json +5 -3
  42. package/paginator/Paginator.vue +2 -2
  43. package/paginator/index.mjs +3 -2
  44. package/paginator/index.mjs.map +1 -1
  45. package/password/Password.vue +3 -2
  46. package/password/index.mjs +3 -2
  47. package/password/index.mjs.map +1 -1
  48. package/picklist/PickList.vue +9 -9
  49. package/picklist/index.d.ts +4 -4
  50. package/picklist/index.mjs +9 -9
  51. package/picklist/index.mjs.map +1 -1
  52. package/select/Select.vue +8 -5
  53. package/select/index.mjs +11 -7
  54. package/select/index.mjs.map +1 -1
  55. package/selectbutton/index.mjs +1 -1
  56. package/speeddial/SpeedDial.vue +3 -3
  57. package/speeddial/index.mjs +3 -3
  58. package/speeddial/index.mjs.map +1 -1
  59. package/splitbutton/SplitButton.vue +1 -1
  60. package/splitbutton/index.d.ts +1 -1
  61. package/splitbutton/index.mjs +1 -1
  62. package/splitbutton/index.mjs.map +1 -1
  63. package/step/Step.vue +6 -6
  64. package/step/index.mjs +7 -7
  65. package/step/index.mjs.map +1 -1
  66. package/step/style/index.mjs +2 -3
  67. package/step/style/index.mjs.map +1 -1
  68. package/steppanel/StepPanel.vue +1 -1
  69. package/steppanel/index.mjs +2 -4
  70. package/steppanel/index.mjs.map +1 -1
  71. package/stepper/style/index.mjs +1 -1
  72. package/stepper/style/index.mjs.map +1 -1
  73. package/tablist/TabList.vue +7 -3
  74. package/tablist/index.d.ts +6 -2
  75. package/tablist/index.mjs +8 -4
  76. package/tablist/index.mjs.map +1 -1
  77. package/tablist/style/index.d.ts +3 -3
  78. package/tablist/style/index.mjs +2 -2
  79. package/tablist/style/index.mjs.map +1 -1
  80. package/tabs/style/index.mjs +1 -1
  81. package/tabs/style/index.mjs.map +1 -1
  82. package/tree/Tree.vue +3 -3
  83. package/tree/TreeNode.vue +1 -1
  84. package/tree/index.mjs +16 -13
  85. package/tree/index.mjs.map +1 -1
  86. package/treenode/index.d.ts +1 -1
  87. package/treeselect/index.mjs +1 -1
  88. package/treetable/index.mjs +2 -2
  89. package/umd/primevue.min.js +1 -1
  90. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/galleria/BaseGalleria.vue","../../src/galleria/GalleriaItem.vue","../../src/galleria/GalleriaItem.vue?vue&type=template&id=547ea85e&lang.js","../../src/galleria/GalleriaThumbnails.vue","../../src/galleria/GalleriaThumbnails.vue?vue&type=template&id=10760ec4&lang.js","../../src/galleria/GalleriaContent.vue","../../src/galleria/GalleriaContent.vue?vue&type=template&id=059a0f61&lang.js","../../src/galleria/Galleria.vue","../../src/galleria/Galleria.vue?vue&type=template&id=68640091&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport GalleriaStyle from 'primevue/galleria/style';\n\nexport default {\n name: 'BaseGalleria',\n extends: BaseComponent,\n props: {\n id: {\n type: String,\n default: null\n },\n value: {\n type: Array,\n default: null\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n fullScreen: {\n type: Boolean,\n default: false\n },\n visible: {\n type: Boolean,\n default: false\n },\n numVisible: {\n type: Number,\n default: 3\n },\n responsiveOptions: {\n type: Array,\n default: null\n },\n showItemNavigators: {\n type: Boolean,\n default: false\n },\n showThumbnailNavigators: {\n type: Boolean,\n default: true\n },\n showItemNavigatorsOnHover: {\n type: Boolean,\n default: false\n },\n changeItemOnIndicatorHover: {\n type: Boolean,\n default: false\n },\n circular: {\n type: Boolean,\n default: false\n },\n autoPlay: {\n type: Boolean,\n default: false\n },\n transitionInterval: {\n type: Number,\n default: 4000\n },\n showThumbnails: {\n type: Boolean,\n default: true\n },\n thumbnailsPosition: {\n type: String,\n default: 'bottom'\n },\n verticalThumbnailViewPortHeight: {\n type: String,\n default: '300px'\n },\n showIndicators: {\n type: Boolean,\n default: false\n },\n showIndicatorsOnItem: {\n type: Boolean,\n default: false\n },\n indicatorsPosition: {\n type: String,\n default: 'bottom'\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n maskClass: {\n type: String,\n default: null\n },\n containerStyle: {\n type: null,\n default: null\n },\n containerClass: {\n type: null,\n default: null\n },\n containerProps: {\n type: null,\n default: null\n },\n prevButtonProps: {\n type: null,\n default: null\n },\n nextButtonProps: {\n type: null,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaRoledescription: {\n type: String,\n default: null\n }\n },\n style: GalleriaStyle,\n provide() {\n return {\n $pcGalleria: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('itemsContainer')\" v-bind=\"ptm('itemsContainer')\">\n <div :class=\"cx('items')\" v-bind=\"ptm('items')\">\n <button v-if=\"showItemNavigators\" v-ripple type=\"button\" :class=\"cx('previousItemButton')\" @click=\"navBackward($event)\" :disabled=\"isNavBackwardDisabled()\" v-bind=\"ptm('previousItemButton')\" data-pc-group-section=\"itemnavigator\">\n <component :is=\"templates.previousitemicon || 'ChevronLeftIcon'\" :class=\"cx('previousItemIcon')\" v-bind=\"ptm('previousItemIcon')\" />\n </button>\n <div :id=\"id + '_item_' + activeIndex\" :class=\"cx('item')\" role=\"group\" :aria-label=\"ariaSlideNumber(activeIndex + 1)\" :aria-roledescription=\"ariaSlideLabel\" v-bind=\"ptm('item')\">\n <component v-if=\"templates.item\" :is=\"templates.item\" :item=\"activeItem\" />\n </div>\n <button v-if=\"showItemNavigators\" v-ripple type=\"button\" :class=\"cx('nextItemButton')\" @click=\"navForward($event)\" :disabled=\"isNavForwardDisabled()\" v-bind=\"ptm('nextItemButton')\" data-pc-group-section=\"itemnavigator\">\n <component :is=\"templates.nextitemicon || 'ChevronRightIcon'\" :class=\"cx('nextItemIcon')\" v-bind=\"ptm('nextItemIcon')\" />\n </button>\n <div v-if=\"templates['caption']\" :class=\"cx('caption')\" v-bind=\"ptm('caption')\">\n <component v-if=\"templates.caption\" :is=\"templates.caption\" :item=\"activeItem\" />\n </div>\n </div>\n <ul v-if=\"showIndicators\" ref=\"indicatorContent\" :class=\"cx('indicatorList')\" v-bind=\"ptm('indicatorList')\">\n <li\n v-for=\"(item, index) of value\"\n :key=\"`p-galleria-indicator-${index}`\"\n :class=\"cx('indicator', { index })\"\n :aria-label=\"ariaPageLabel(index + 1)\"\n :aria-selected=\"activeIndex === index\"\n :aria-controls=\"id + '_item_' + index\"\n @click=\"onIndicatorClick(index)\"\n @mouseenter=\"onIndicatorMouseEnter(index)\"\n @keydown=\"onIndicatorKeyDown($event, index)\"\n v-bind=\"ptm('indicator', getIndicatorPTOptions(index))\"\n :data-p-active=\"isIndicatorItemActive(index)\"\n >\n <button v-if=\"!templates['indicator']\" type=\"button\" :tabindex=\"activeIndex === index ? '0' : '-1'\" :class=\"cx('indicatorButton')\" v-bind=\"ptm('indicatorButton', getIndicatorPTOptions(index))\"></button>\n <component v-if=\"templates.indicator\" :is=\"templates.indicator\" :index=\"index\" />\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { find, getAttribute, findSingle } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'GalleriaItem',\n hostName: 'Galleria',\n extends: BaseComponent,\n emits: ['start-slideshow', 'stop-slideshow', 'update:activeIndex'],\n props: {\n circular: {\n type: Boolean,\n default: false\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n value: {\n type: Array,\n default: null\n },\n showItemNavigators: {\n type: Boolean,\n default: true\n },\n showIndicators: {\n type: Boolean,\n default: true\n },\n slideShowActive: {\n type: Boolean,\n default: true\n },\n changeItemOnIndicatorHover: {\n type: Boolean,\n default: true\n },\n autoPlay: {\n type: Boolean,\n default: false\n },\n templates: {\n type: null,\n default: null\n },\n id: {\n type: String,\n default: null\n }\n },\n mounted() {\n if (this.autoPlay) {\n this.$emit('start-slideshow');\n }\n },\n methods: {\n getIndicatorPTOptions(index) {\n return {\n context: {\n highlighted: this.activeIndex === index\n }\n };\n },\n next() {\n let nextItemIndex = this.activeIndex + 1;\n let activeIndex = this.circular && this.value.length - 1 === this.activeIndex ? 0 : nextItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n },\n prev() {\n let prevItemIndex = this.activeIndex !== 0 ? this.activeIndex - 1 : 0;\n let activeIndex = this.circular && this.activeIndex === 0 ? this.value.length - 1 : prevItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n },\n stopSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.$emit('stop-slideshow');\n }\n },\n navBackward(e) {\n this.stopSlideShow();\n this.prev();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n },\n navForward(e) {\n this.stopSlideShow();\n this.next();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n },\n onIndicatorClick(index) {\n this.stopSlideShow();\n this.$emit('update:activeIndex', index);\n },\n onIndicatorMouseEnter(index) {\n if (this.changeItemOnIndicatorHover) {\n this.stopSlideShow();\n\n this.$emit('update:activeIndex', index);\n }\n },\n onIndicatorKeyDown(event, index) {\n switch (event.code) {\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.stopSlideShow();\n\n this.$emit('update:activeIndex', index);\n event.preventDefault();\n break;\n\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n\n case 'Home':\n this.onHomeKey();\n event.preventDefault();\n break;\n\n case 'End':\n this.onEndKey();\n event.preventDefault();\n break;\n\n case 'Tab':\n this.onTabKey();\n break;\n\n case 'ArrowDown':\n case 'ArrowUp':\n case 'PageUp':\n case 'PageDown':\n event.preventDefault();\n break;\n\n default:\n break;\n }\n },\n onRightKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n },\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n },\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n },\n onEndKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n },\n onTabKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = findSingle(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n },\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = findSingle(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n },\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n },\n isIndicatorItemActive(index) {\n return this.activeIndex === index;\n },\n isNavBackwardDisabled() {\n return !this.circular && this.activeIndex === 0;\n },\n isNavForwardDisabled() {\n return !this.circular && this.activeIndex === this.value.length - 1;\n },\n ariaSlideNumber(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n },\n ariaPageLabel(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n },\n computed: {\n activeItem() {\n return this.value[this.activeIndex];\n },\n\n ariaSlideLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slide : undefined;\n }\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('itemsContainer')\" v-bind=\"ptm('itemsContainer')\">\n <div :class=\"cx('items')\" v-bind=\"ptm('items')\">\n <button v-if=\"showItemNavigators\" v-ripple type=\"button\" :class=\"cx('previousItemButton')\" @click=\"navBackward($event)\" :disabled=\"isNavBackwardDisabled()\" v-bind=\"ptm('previousItemButton')\" data-pc-group-section=\"itemnavigator\">\n <component :is=\"templates.previousitemicon || 'ChevronLeftIcon'\" :class=\"cx('previousItemIcon')\" v-bind=\"ptm('previousItemIcon')\" />\n </button>\n <div :id=\"id + '_item_' + activeIndex\" :class=\"cx('item')\" role=\"group\" :aria-label=\"ariaSlideNumber(activeIndex + 1)\" :aria-roledescription=\"ariaSlideLabel\" v-bind=\"ptm('item')\">\n <component v-if=\"templates.item\" :is=\"templates.item\" :item=\"activeItem\" />\n </div>\n <button v-if=\"showItemNavigators\" v-ripple type=\"button\" :class=\"cx('nextItemButton')\" @click=\"navForward($event)\" :disabled=\"isNavForwardDisabled()\" v-bind=\"ptm('nextItemButton')\" data-pc-group-section=\"itemnavigator\">\n <component :is=\"templates.nextitemicon || 'ChevronRightIcon'\" :class=\"cx('nextItemIcon')\" v-bind=\"ptm('nextItemIcon')\" />\n </button>\n <div v-if=\"templates['caption']\" :class=\"cx('caption')\" v-bind=\"ptm('caption')\">\n <component v-if=\"templates.caption\" :is=\"templates.caption\" :item=\"activeItem\" />\n </div>\n </div>\n <ul v-if=\"showIndicators\" ref=\"indicatorContent\" :class=\"cx('indicatorList')\" v-bind=\"ptm('indicatorList')\">\n <li\n v-for=\"(item, index) of value\"\n :key=\"`p-galleria-indicator-${index}`\"\n :class=\"cx('indicator', { index })\"\n :aria-label=\"ariaPageLabel(index + 1)\"\n :aria-selected=\"activeIndex === index\"\n :aria-controls=\"id + '_item_' + index\"\n @click=\"onIndicatorClick(index)\"\n @mouseenter=\"onIndicatorMouseEnter(index)\"\n @keydown=\"onIndicatorKeyDown($event, index)\"\n v-bind=\"ptm('indicator', getIndicatorPTOptions(index))\"\n :data-p-active=\"isIndicatorItemActive(index)\"\n >\n <button v-if=\"!templates['indicator']\" type=\"button\" :tabindex=\"activeIndex === index ? '0' : '-1'\" :class=\"cx('indicatorButton')\" v-bind=\"ptm('indicatorButton', getIndicatorPTOptions(index))\"></button>\n <component v-if=\"templates.indicator\" :is=\"templates.indicator\" :index=\"index\" />\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { find, getAttribute, findSingle } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'GalleriaItem',\n hostName: 'Galleria',\n extends: BaseComponent,\n emits: ['start-slideshow', 'stop-slideshow', 'update:activeIndex'],\n props: {\n circular: {\n type: Boolean,\n default: false\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n value: {\n type: Array,\n default: null\n },\n showItemNavigators: {\n type: Boolean,\n default: true\n },\n showIndicators: {\n type: Boolean,\n default: true\n },\n slideShowActive: {\n type: Boolean,\n default: true\n },\n changeItemOnIndicatorHover: {\n type: Boolean,\n default: true\n },\n autoPlay: {\n type: Boolean,\n default: false\n },\n templates: {\n type: null,\n default: null\n },\n id: {\n type: String,\n default: null\n }\n },\n mounted() {\n if (this.autoPlay) {\n this.$emit('start-slideshow');\n }\n },\n methods: {\n getIndicatorPTOptions(index) {\n return {\n context: {\n highlighted: this.activeIndex === index\n }\n };\n },\n next() {\n let nextItemIndex = this.activeIndex + 1;\n let activeIndex = this.circular && this.value.length - 1 === this.activeIndex ? 0 : nextItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n },\n prev() {\n let prevItemIndex = this.activeIndex !== 0 ? this.activeIndex - 1 : 0;\n let activeIndex = this.circular && this.activeIndex === 0 ? this.value.length - 1 : prevItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n },\n stopSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.$emit('stop-slideshow');\n }\n },\n navBackward(e) {\n this.stopSlideShow();\n this.prev();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n },\n navForward(e) {\n this.stopSlideShow();\n this.next();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n },\n onIndicatorClick(index) {\n this.stopSlideShow();\n this.$emit('update:activeIndex', index);\n },\n onIndicatorMouseEnter(index) {\n if (this.changeItemOnIndicatorHover) {\n this.stopSlideShow();\n\n this.$emit('update:activeIndex', index);\n }\n },\n onIndicatorKeyDown(event, index) {\n switch (event.code) {\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.stopSlideShow();\n\n this.$emit('update:activeIndex', index);\n event.preventDefault();\n break;\n\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n\n case 'Home':\n this.onHomeKey();\n event.preventDefault();\n break;\n\n case 'End':\n this.onEndKey();\n event.preventDefault();\n break;\n\n case 'Tab':\n this.onTabKey();\n break;\n\n case 'ArrowDown':\n case 'ArrowUp':\n case 'PageUp':\n case 'PageDown':\n event.preventDefault();\n break;\n\n default:\n break;\n }\n },\n onRightKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n },\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n },\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n },\n onEndKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n },\n onTabKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = findSingle(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n },\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = findSingle(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n },\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n },\n isIndicatorItemActive(index) {\n return this.activeIndex === index;\n },\n isNavBackwardDisabled() {\n return !this.circular && this.activeIndex === 0;\n },\n isNavForwardDisabled() {\n return !this.circular && this.activeIndex === this.value.length - 1;\n },\n ariaSlideNumber(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n },\n ariaPageLabel(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n },\n computed: {\n activeItem() {\n return this.value[this.activeIndex];\n },\n\n ariaSlideLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slide : undefined;\n }\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('thumbnails')\" v-bind=\"ptm('thumbnails')\">\n <div :class=\"cx('thumbnailContent')\" v-bind=\"ptm('thumbnailContent')\">\n <button\n v-if=\"showThumbnailNavigators\"\n v-ripple\n :class=\"cx('previousThumbnailButton')\"\n :disabled=\"isNavBackwardDisabled()\"\n type=\"button\"\n :aria-label=\"ariaPrevButtonLabel\"\n @click=\"navBackward($event)\"\n v-bind=\"{ ...prevButtonProps, ...ptm('previousThumbnailButton') }\"\n data-pc-group-section=\"thumbnailnavigator\"\n >\n <component :is=\"templates.previousthumbnailicon || (isVertical ? 'ChevronUpIcon' : 'ChevronLeftIcon')\" :class=\"cx('previousThumbnailIcon')\" v-bind=\"ptm('previousThumbnailIcon')\" />\n </button>\n <div :class=\"cx('thumbnailsViewport')\" :style=\"{ height: isVertical ? contentHeight : '' }\" v-bind=\"ptm('thumbnailsViewport')\">\n <div\n ref=\"itemsContainer\"\n :class=\"cx('thumbnailItems')\"\n role=\"tablist\"\n @transitionend=\"onTransitionEnd($event)\"\n @touchstart=\"onTouchStart($event)\"\n @touchmove=\"onTouchMove($event)\"\n @touchend=\"onTouchEnd($event)\"\n v-bind=\"ptm('thumbnailItems')\"\n >\n <div\n v-for=\"(item, index) of value\"\n :key=\"`p-galleria-thumbnail-item-${index}`\"\n :class=\"cx('thumbnailItem', { index, activeIndex })\"\n role=\"tab\"\n :data-p-active=\"activeIndex === index\"\n :aria-selected=\"activeIndex === index\"\n :aria-controls=\"containerId + '_item_' + index\"\n @keydown=\"onThumbnailKeydown($event, index)\"\n v-bind=\"ptm('thumbnailItem')\"\n :data-p-galleria-thumbnail-item-current=\"activeIndex === index\"\n :data-p-galleria-thumbnail-item-active=\"isItemActive(index)\"\n :data-p-galleria-thumbnail-item-start=\"firstItemAciveIndex() === index\"\n :data-p-galleria-thumbnail-item-end=\"lastItemActiveIndex() === index\"\n >\n <div\n :class=\"cx('thumbnail')\"\n :tabindex=\"activeIndex === index ? '0' : '-1'\"\n :aria-label=\"ariaPageLabel(index + 1)\"\n :aria-current=\"activeIndex === index ? 'page' : undefined\"\n @click=\"onItemClick(index)\"\n v-bind=\"ptm('thumbnail')\"\n >\n <component v-if=\"templates.thumbnail\" :is=\"templates.thumbnail\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <button\n v-if=\"showThumbnailNavigators\"\n v-ripple\n :class=\"cx('nextThumbnailButton')\"\n :disabled=\"isNavForwardDisabled()\"\n type=\"button\"\n :aria-label=\"ariaNextButtonLabel\"\n @click=\"navForward($event)\"\n v-bind=\"{ ...nextButtonProps, ...ptm('nextThumbnailButton') }\"\n data-pc-group-section=\"thumbnailnavigator\"\n >\n <component :is=\"templates.nextthumbnailicon || (isVertical ? 'ChevronDownIcon' : 'ChevronRightIcon')\" :class=\"cx('nextThumbnailIcon')\" v-bind=\"ptm('nextThumbnailIcon')\" />\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport { addClass, find, findSingle, getAttribute, removeClass, setAttribute } from '@primeuix/utils/dom';\nimport { localeComparator, sort } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'GalleriaThumbnails',\n hostName: 'Galleria',\n extends: BaseComponent,\n emits: ['stop-slideshow', 'update:activeIndex'],\n props: {\n containerId: {\n type: String,\n default: null\n },\n value: {\n type: Array,\n default: null\n },\n numVisible: {\n type: Number,\n default: 3\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n isVertical: {\n type: Boolean,\n default: false\n },\n slideShowActive: {\n type: Boolean,\n default: false\n },\n circular: {\n type: Boolean,\n default: false\n },\n responsiveOptions: {\n type: Array,\n default: null\n },\n contentHeight: {\n type: String,\n default: '300px'\n },\n showThumbnailNavigators: {\n type: Boolean,\n default: true\n },\n templates: {\n type: null,\n default: null\n },\n prevButtonProps: {\n type: null,\n default: null\n },\n nextButtonProps: {\n type: null,\n default: null\n }\n },\n startPos: null,\n thumbnailsStyle: null,\n sortedResponsiveOptions: null,\n data() {\n return {\n d_numVisible: this.numVisible,\n d_oldNumVisible: this.numVisible,\n d_activeIndex: this.activeIndex,\n d_oldActiveItemIndex: this.activeIndex,\n totalShiftedItems: 0,\n page: 0\n };\n },\n watch: {\n numVisible(newValue, oldValue) {\n this.d_numVisible = newValue;\n this.d_oldNumVisible = oldValue;\n },\n activeIndex(newValue, oldValue) {\n this.d_activeIndex = newValue;\n this.d_oldActiveItemIndex = oldValue;\n }\n },\n mounted() {\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n },\n updated() {\n let totalShiftedItems = this.totalShiftedItems;\n\n if (this.d_oldNumVisible !== this.d_numVisible || this.d_oldActiveItemIndex !== this.d_activeIndex) {\n if (this.d_activeIndex <= this.getMedianItemIndex()) {\n totalShiftedItems = 0;\n } else if (this.value.length - this.d_numVisible + this.getMedianItemIndex() < this.d_activeIndex) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n } else if (this.value.length - this.d_numVisible < this.d_activeIndex && this.d_numVisible % 2 === 0) {\n totalShiftedItems = this.d_activeIndex * -1 + this.getMedianItemIndex() + 1;\n } else {\n totalShiftedItems = this.d_activeIndex * -1 + this.getMedianItemIndex();\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n this.$refs.itemsContainer.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n\n if (this.d_oldActiveItemIndex !== this.d_activeIndex) {\n document.body.setAttribute('data-p-items-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transition = 'transform 500ms ease 0s';\n }\n\n this.d_oldActiveItemIndex = this.d_activeIndex;\n this.d_oldNumVisible = this.d_numVisible;\n }\n },\n beforeUnmount() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n\n if (this.thumbnailsStyle) {\n this.thumbnailsStyle.parentNode.removeChild(this.thumbnailsStyle);\n }\n },\n methods: {\n step(dir) {\n let totalShiftedItems = this.totalShiftedItems + dir;\n\n if (dir < 0 && -1 * totalShiftedItems + this.d_numVisible > this.value.length - 1) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n } else if (dir > 0 && totalShiftedItems > 0) {\n totalShiftedItems = 0;\n }\n\n if (this.circular) {\n if (dir < 0 && this.value.length - 1 === this.d_activeIndex) {\n totalShiftedItems = 0;\n } else if (dir > 0 && this.d_activeIndex === 0) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n }\n }\n\n if (this.$refs.itemsContainer) {\n document.body.setAttribute('data-p-items-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n this.$refs.itemsContainer.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n },\n stopSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.$emit('stop-slideshow');\n }\n },\n getMedianItemIndex() {\n let index = Math.floor(this.d_numVisible / 2);\n\n return this.d_numVisible % 2 ? index : index - 1;\n },\n navBackward(e) {\n this.stopSlideShow();\n\n let prevItemIndex = this.d_activeIndex !== 0 ? this.d_activeIndex - 1 : 0;\n let diff = prevItemIndex + this.totalShiftedItems;\n\n if (this.d_numVisible - diff - 1 > this.getMedianItemIndex() && (-1 * this.totalShiftedItems !== 0 || this.circular)) {\n this.step(1);\n }\n\n let activeIndex = this.circular && this.d_activeIndex === 0 ? this.value.length - 1 : prevItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n navForward(e) {\n this.stopSlideShow();\n\n let nextItemIndex = this.d_activeIndex === this.value.length - 1 ? this.value.length - 1 : this.d_activeIndex + 1;\n\n if (nextItemIndex + this.totalShiftedItems > this.getMedianItemIndex() && (-1 * this.totalShiftedItems < this.getTotalPageNumber() - 1 || this.circular)) {\n this.step(-1);\n }\n\n let activeIndex = this.circular && this.value.length - 1 === this.d_activeIndex ? 0 : nextItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n onItemClick(index) {\n this.stopSlideShow();\n\n let selectedItemIndex = index;\n\n if (selectedItemIndex !== this.d_activeIndex) {\n const diff = selectedItemIndex + this.totalShiftedItems;\n let dir = 0;\n\n if (selectedItemIndex < this.d_activeIndex) {\n dir = this.d_numVisible - diff - 1 - this.getMedianItemIndex();\n\n if (dir > 0 && -1 * this.totalShiftedItems !== 0) {\n this.step(dir);\n }\n } else {\n dir = this.getMedianItemIndex() - diff;\n\n if (dir < 0 && -1 * this.totalShiftedItems < this.getTotalPageNumber() - 1) {\n this.step(dir);\n }\n }\n\n this.$emit('update:activeIndex', selectedItemIndex);\n }\n },\n onThumbnailKeydown(event, index) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.onItemClick(index);\n event.preventDefault();\n }\n\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n\n case 'Home':\n this.onHomeKey();\n event.preventDefault();\n break;\n\n case 'End':\n this.onEndKey();\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n break;\n\n case 'Tab':\n this.onTabKey();\n break;\n\n default:\n break;\n }\n },\n onRightKey() {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n },\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n },\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n },\n onEndKey() {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n },\n onTabKey() {\n const indicators = [...find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = findSingle(this.$refs.itemsContainer, '[tabindex=\"0\"]');\n\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n },\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]')];\n const activeIndicator = findSingle(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"] > [tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n },\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n },\n onTransitionEnd(e) {\n if (this.$refs.itemsContainer && e.propertyName === 'transform') {\n document.body.setAttribute('data-p-items-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transition = '';\n }\n },\n onTouchStart(e) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n },\n onTouchMove(e) {\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n onTouchEnd(e) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n },\n changePageOnTouch(e, diff) {\n if (diff < 0) {\n // left\n this.navForward(e);\n } else {\n // right\n this.navBackward(e);\n }\n },\n getTotalPageNumber() {\n return this.value.length > this.d_numVisible ? this.value.length - this.d_numVisible + 1 : 0;\n },\n createStyle() {\n if (!this.thumbnailsStyle) {\n this.thumbnailsStyle = document.createElement('style');\n this.thumbnailsStyle.type = 'text/css';\n setAttribute(this.thumbnailsStyle, 'nonce', this.$primevue?.config?.csp?.nonce);\n document.body.appendChild(this.thumbnailsStyle);\n }\n\n let innerHTML = `\n #${this.containerId} [data-pc-section=\"thumbnailitem\"] {\n flex: 1 0 ${100 / this.d_numVisible}%\n }\n `;\n\n if (this.responsiveOptions && !this.isUnstyled) {\n this.sortedResponsiveOptions = [...this.responsiveOptions];\n const comparer = localeComparator();\n\n this.sortedResponsiveOptions.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n\n return sort(value1, value2, -1, comparer);\n });\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.containerId} .p-galleria-thumbnail-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.thumbnailsStyle.innerHTML = innerHTML;\n },\n calculatePosition() {\n if (this.$refs.itemsContainer && this.sortedResponsiveOptions) {\n let windowWidth = window.innerWidth;\n let matchedResponsiveData = {\n numVisible: this.numVisible\n };\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n\n if (this.d_numVisible !== matchedResponsiveData.numVisible) {\n this.d_numVisible = matchedResponsiveData.numVisible;\n }\n }\n },\n bindDocumentListeners() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = () => {\n this.calculatePosition();\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentListeners() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n },\n isNavBackwardDisabled() {\n return (!this.circular && this.d_activeIndex === 0) || this.value.length <= this.d_numVisible;\n },\n isNavForwardDisabled() {\n return (!this.circular && this.d_activeIndex === this.value.length - 1) || this.value.length <= this.d_numVisible;\n },\n firstItemAciveIndex() {\n return this.totalShiftedItems * -1;\n },\n lastItemActiveIndex() {\n return this.firstItemAciveIndex() + this.d_numVisible - 1;\n },\n isItemActive(index) {\n return this.firstItemAciveIndex() <= index && this.lastItemActiveIndex() >= index;\n },\n ariaPageLabel(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n },\n computed: {\n ariaPrevButtonLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.prevPageLabel : undefined;\n },\n ariaNextButtonLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.nextPageLabel : undefined;\n }\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon,\n ChevronUpIcon: ChevronUpIcon,\n ChevronDownIcon: ChevronDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('thumbnails')\" v-bind=\"ptm('thumbnails')\">\n <div :class=\"cx('thumbnailContent')\" v-bind=\"ptm('thumbnailContent')\">\n <button\n v-if=\"showThumbnailNavigators\"\n v-ripple\n :class=\"cx('previousThumbnailButton')\"\n :disabled=\"isNavBackwardDisabled()\"\n type=\"button\"\n :aria-label=\"ariaPrevButtonLabel\"\n @click=\"navBackward($event)\"\n v-bind=\"{ ...prevButtonProps, ...ptm('previousThumbnailButton') }\"\n data-pc-group-section=\"thumbnailnavigator\"\n >\n <component :is=\"templates.previousthumbnailicon || (isVertical ? 'ChevronUpIcon' : 'ChevronLeftIcon')\" :class=\"cx('previousThumbnailIcon')\" v-bind=\"ptm('previousThumbnailIcon')\" />\n </button>\n <div :class=\"cx('thumbnailsViewport')\" :style=\"{ height: isVertical ? contentHeight : '' }\" v-bind=\"ptm('thumbnailsViewport')\">\n <div\n ref=\"itemsContainer\"\n :class=\"cx('thumbnailItems')\"\n role=\"tablist\"\n @transitionend=\"onTransitionEnd($event)\"\n @touchstart=\"onTouchStart($event)\"\n @touchmove=\"onTouchMove($event)\"\n @touchend=\"onTouchEnd($event)\"\n v-bind=\"ptm('thumbnailItems')\"\n >\n <div\n v-for=\"(item, index) of value\"\n :key=\"`p-galleria-thumbnail-item-${index}`\"\n :class=\"cx('thumbnailItem', { index, activeIndex })\"\n role=\"tab\"\n :data-p-active=\"activeIndex === index\"\n :aria-selected=\"activeIndex === index\"\n :aria-controls=\"containerId + '_item_' + index\"\n @keydown=\"onThumbnailKeydown($event, index)\"\n v-bind=\"ptm('thumbnailItem')\"\n :data-p-galleria-thumbnail-item-current=\"activeIndex === index\"\n :data-p-galleria-thumbnail-item-active=\"isItemActive(index)\"\n :data-p-galleria-thumbnail-item-start=\"firstItemAciveIndex() === index\"\n :data-p-galleria-thumbnail-item-end=\"lastItemActiveIndex() === index\"\n >\n <div\n :class=\"cx('thumbnail')\"\n :tabindex=\"activeIndex === index ? '0' : '-1'\"\n :aria-label=\"ariaPageLabel(index + 1)\"\n :aria-current=\"activeIndex === index ? 'page' : undefined\"\n @click=\"onItemClick(index)\"\n v-bind=\"ptm('thumbnail')\"\n >\n <component v-if=\"templates.thumbnail\" :is=\"templates.thumbnail\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <button\n v-if=\"showThumbnailNavigators\"\n v-ripple\n :class=\"cx('nextThumbnailButton')\"\n :disabled=\"isNavForwardDisabled()\"\n type=\"button\"\n :aria-label=\"ariaNextButtonLabel\"\n @click=\"navForward($event)\"\n v-bind=\"{ ...nextButtonProps, ...ptm('nextThumbnailButton') }\"\n data-pc-group-section=\"thumbnailnavigator\"\n >\n <component :is=\"templates.nextthumbnailicon || (isVertical ? 'ChevronDownIcon' : 'ChevronRightIcon')\" :class=\"cx('nextThumbnailIcon')\" v-bind=\"ptm('nextThumbnailIcon')\" />\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport { addClass, find, findSingle, getAttribute, removeClass, setAttribute } from '@primeuix/utils/dom';\nimport { localeComparator, sort } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'GalleriaThumbnails',\n hostName: 'Galleria',\n extends: BaseComponent,\n emits: ['stop-slideshow', 'update:activeIndex'],\n props: {\n containerId: {\n type: String,\n default: null\n },\n value: {\n type: Array,\n default: null\n },\n numVisible: {\n type: Number,\n default: 3\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n isVertical: {\n type: Boolean,\n default: false\n },\n slideShowActive: {\n type: Boolean,\n default: false\n },\n circular: {\n type: Boolean,\n default: false\n },\n responsiveOptions: {\n type: Array,\n default: null\n },\n contentHeight: {\n type: String,\n default: '300px'\n },\n showThumbnailNavigators: {\n type: Boolean,\n default: true\n },\n templates: {\n type: null,\n default: null\n },\n prevButtonProps: {\n type: null,\n default: null\n },\n nextButtonProps: {\n type: null,\n default: null\n }\n },\n startPos: null,\n thumbnailsStyle: null,\n sortedResponsiveOptions: null,\n data() {\n return {\n d_numVisible: this.numVisible,\n d_oldNumVisible: this.numVisible,\n d_activeIndex: this.activeIndex,\n d_oldActiveItemIndex: this.activeIndex,\n totalShiftedItems: 0,\n page: 0\n };\n },\n watch: {\n numVisible(newValue, oldValue) {\n this.d_numVisible = newValue;\n this.d_oldNumVisible = oldValue;\n },\n activeIndex(newValue, oldValue) {\n this.d_activeIndex = newValue;\n this.d_oldActiveItemIndex = oldValue;\n }\n },\n mounted() {\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n },\n updated() {\n let totalShiftedItems = this.totalShiftedItems;\n\n if (this.d_oldNumVisible !== this.d_numVisible || this.d_oldActiveItemIndex !== this.d_activeIndex) {\n if (this.d_activeIndex <= this.getMedianItemIndex()) {\n totalShiftedItems = 0;\n } else if (this.value.length - this.d_numVisible + this.getMedianItemIndex() < this.d_activeIndex) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n } else if (this.value.length - this.d_numVisible < this.d_activeIndex && this.d_numVisible % 2 === 0) {\n totalShiftedItems = this.d_activeIndex * -1 + this.getMedianItemIndex() + 1;\n } else {\n totalShiftedItems = this.d_activeIndex * -1 + this.getMedianItemIndex();\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n this.$refs.itemsContainer.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n\n if (this.d_oldActiveItemIndex !== this.d_activeIndex) {\n document.body.setAttribute('data-p-items-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transition = 'transform 500ms ease 0s';\n }\n\n this.d_oldActiveItemIndex = this.d_activeIndex;\n this.d_oldNumVisible = this.d_numVisible;\n }\n },\n beforeUnmount() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n\n if (this.thumbnailsStyle) {\n this.thumbnailsStyle.parentNode.removeChild(this.thumbnailsStyle);\n }\n },\n methods: {\n step(dir) {\n let totalShiftedItems = this.totalShiftedItems + dir;\n\n if (dir < 0 && -1 * totalShiftedItems + this.d_numVisible > this.value.length - 1) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n } else if (dir > 0 && totalShiftedItems > 0) {\n totalShiftedItems = 0;\n }\n\n if (this.circular) {\n if (dir < 0 && this.value.length - 1 === this.d_activeIndex) {\n totalShiftedItems = 0;\n } else if (dir > 0 && this.d_activeIndex === 0) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n }\n }\n\n if (this.$refs.itemsContainer) {\n document.body.setAttribute('data-p-items-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n this.$refs.itemsContainer.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n },\n stopSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.$emit('stop-slideshow');\n }\n },\n getMedianItemIndex() {\n let index = Math.floor(this.d_numVisible / 2);\n\n return this.d_numVisible % 2 ? index : index - 1;\n },\n navBackward(e) {\n this.stopSlideShow();\n\n let prevItemIndex = this.d_activeIndex !== 0 ? this.d_activeIndex - 1 : 0;\n let diff = prevItemIndex + this.totalShiftedItems;\n\n if (this.d_numVisible - diff - 1 > this.getMedianItemIndex() && (-1 * this.totalShiftedItems !== 0 || this.circular)) {\n this.step(1);\n }\n\n let activeIndex = this.circular && this.d_activeIndex === 0 ? this.value.length - 1 : prevItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n navForward(e) {\n this.stopSlideShow();\n\n let nextItemIndex = this.d_activeIndex === this.value.length - 1 ? this.value.length - 1 : this.d_activeIndex + 1;\n\n if (nextItemIndex + this.totalShiftedItems > this.getMedianItemIndex() && (-1 * this.totalShiftedItems < this.getTotalPageNumber() - 1 || this.circular)) {\n this.step(-1);\n }\n\n let activeIndex = this.circular && this.value.length - 1 === this.d_activeIndex ? 0 : nextItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n onItemClick(index) {\n this.stopSlideShow();\n\n let selectedItemIndex = index;\n\n if (selectedItemIndex !== this.d_activeIndex) {\n const diff = selectedItemIndex + this.totalShiftedItems;\n let dir = 0;\n\n if (selectedItemIndex < this.d_activeIndex) {\n dir = this.d_numVisible - diff - 1 - this.getMedianItemIndex();\n\n if (dir > 0 && -1 * this.totalShiftedItems !== 0) {\n this.step(dir);\n }\n } else {\n dir = this.getMedianItemIndex() - diff;\n\n if (dir < 0 && -1 * this.totalShiftedItems < this.getTotalPageNumber() - 1) {\n this.step(dir);\n }\n }\n\n this.$emit('update:activeIndex', selectedItemIndex);\n }\n },\n onThumbnailKeydown(event, index) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.onItemClick(index);\n event.preventDefault();\n }\n\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n\n case 'Home':\n this.onHomeKey();\n event.preventDefault();\n break;\n\n case 'End':\n this.onEndKey();\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n break;\n\n case 'Tab':\n this.onTabKey();\n break;\n\n default:\n break;\n }\n },\n onRightKey() {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n },\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n },\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n },\n onEndKey() {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n },\n onTabKey() {\n const indicators = [...find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = findSingle(this.$refs.itemsContainer, '[tabindex=\"0\"]');\n\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n },\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]')];\n const activeIndicator = findSingle(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"] > [tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n },\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n },\n onTransitionEnd(e) {\n if (this.$refs.itemsContainer && e.propertyName === 'transform') {\n document.body.setAttribute('data-p-items-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transition = '';\n }\n },\n onTouchStart(e) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n },\n onTouchMove(e) {\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n onTouchEnd(e) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n },\n changePageOnTouch(e, diff) {\n if (diff < 0) {\n // left\n this.navForward(e);\n } else {\n // right\n this.navBackward(e);\n }\n },\n getTotalPageNumber() {\n return this.value.length > this.d_numVisible ? this.value.length - this.d_numVisible + 1 : 0;\n },\n createStyle() {\n if (!this.thumbnailsStyle) {\n this.thumbnailsStyle = document.createElement('style');\n this.thumbnailsStyle.type = 'text/css';\n setAttribute(this.thumbnailsStyle, 'nonce', this.$primevue?.config?.csp?.nonce);\n document.body.appendChild(this.thumbnailsStyle);\n }\n\n let innerHTML = `\n #${this.containerId} [data-pc-section=\"thumbnailitem\"] {\n flex: 1 0 ${100 / this.d_numVisible}%\n }\n `;\n\n if (this.responsiveOptions && !this.isUnstyled) {\n this.sortedResponsiveOptions = [...this.responsiveOptions];\n const comparer = localeComparator();\n\n this.sortedResponsiveOptions.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n\n return sort(value1, value2, -1, comparer);\n });\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.containerId} .p-galleria-thumbnail-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.thumbnailsStyle.innerHTML = innerHTML;\n },\n calculatePosition() {\n if (this.$refs.itemsContainer && this.sortedResponsiveOptions) {\n let windowWidth = window.innerWidth;\n let matchedResponsiveData = {\n numVisible: this.numVisible\n };\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n\n if (this.d_numVisible !== matchedResponsiveData.numVisible) {\n this.d_numVisible = matchedResponsiveData.numVisible;\n }\n }\n },\n bindDocumentListeners() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = () => {\n this.calculatePosition();\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentListeners() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n },\n isNavBackwardDisabled() {\n return (!this.circular && this.d_activeIndex === 0) || this.value.length <= this.d_numVisible;\n },\n isNavForwardDisabled() {\n return (!this.circular && this.d_activeIndex === this.value.length - 1) || this.value.length <= this.d_numVisible;\n },\n firstItemAciveIndex() {\n return this.totalShiftedItems * -1;\n },\n lastItemActiveIndex() {\n return this.firstItemAciveIndex() + this.d_numVisible - 1;\n },\n isItemActive(index) {\n return this.firstItemAciveIndex() <= index && this.lastItemActiveIndex() >= index;\n },\n ariaPageLabel(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n },\n computed: {\n ariaPrevButtonLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.prevPageLabel : undefined;\n },\n ariaNextButtonLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.nextPageLabel : undefined;\n }\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon,\n ChevronUpIcon: ChevronUpIcon,\n ChevronDownIcon: ChevronDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div\n v-if=\"$attrs.value && $attrs.value.length > 0\"\n :id=\"id\"\n role=\"region\"\n :class=\"[cx('root'), $attrs.containerClass]\"\n :style=\"$attrs.containerStyle\"\n :aria-label=\"$attrs.ariaLabel\"\n :aria-roledescription=\"$attrs.ariaRoledescription\"\n v-bind=\"{ ...$attrs.containerProps, ...getPTOptions('root') }\"\n >\n <button v-if=\"$attrs.fullScreen\" v-ripple autofocus type=\"button\" :class=\"cx('closeButton')\" :aria-label=\"closeAriaLabel\" @click=\"$emit('mask-hide')\" v-bind=\"getPTOptions('closeButton')\">\n <component :is=\"$attrs.templates['closeicon'] || 'TimesIcon'\" :class=\"cx('closeIcon')\" v-bind=\"getPTOptions('closeIcon')\" />\n </button>\n <div v-if=\"$attrs.templates && $attrs.templates['header']\" :class=\"cx('header')\" v-bind=\"getPTOptions('header')\">\n <component :is=\"$attrs.templates['header']\" />\n </div>\n <div :class=\"cx('content')\" :aria-live=\"$attrs.autoPlay ? 'polite' : 'off'\" v-bind=\"getPTOptions('content')\">\n <GalleriaItem\n :id=\"id\"\n v-model:activeIndex=\"activeIndex\"\n v-model:slideShowActive=\"slideShowActive\"\n :value=\"$attrs.value\"\n :circular=\"$attrs.circular\"\n :templates=\"$attrs.templates\"\n :showIndicators=\"$attrs.showIndicators\"\n :changeItemOnIndicatorHover=\"$attrs.changeItemOnIndicatorHover\"\n :showItemNavigators=\"$attrs.showItemNavigators\"\n :autoPlay=\"$attrs.autoPlay\"\n @start-slideshow=\"startSlideShow\"\n @stop-slideshow=\"stopSlideShow\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n\n <GalleriaThumbnails\n v-if=\"$attrs.showThumbnails\"\n v-model:activeIndex=\"activeIndex\"\n v-model:slideShowActive=\"slideShowActive\"\n :containerId=\"id\"\n :value=\"$attrs.value\"\n :templates=\"$attrs.templates\"\n :numVisible=\"numVisible\"\n :responsiveOptions=\"$attrs.responsiveOptions\"\n :circular=\"$attrs.circular\"\n :isVertical=\"isVertical()\"\n :contentHeight=\"$attrs.verticalThumbnailViewPortHeight\"\n :showThumbnailNavigators=\"$attrs.showThumbnailNavigators\"\n :prevButtonProps=\"$attrs.prevButtonProps\"\n :nextButtonProps=\"$attrs.nextButtonProps\"\n @stop-slideshow=\"stopSlideShow\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n </div>\n <div v-if=\"$attrs.templates && $attrs.templates['footer']\" :class=\"cx('footer')\" v-bind=\"getPTOptions('footer')\">\n <component :is=\"$attrs.templates['footer']\" />\n </div>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport TimesIcon from '@primevue/icons/times';\nimport Ripple from 'primevue/ripple';\nimport GalleriaItem from './GalleriaItem.vue';\nimport GalleriaThumbnails from './GalleriaThumbnails.vue';\n\nexport default {\n name: 'GalleriaContent',\n hostName: 'Galleria',\n extends: BaseComponent,\n inheritAttrs: false,\n interval: null,\n emits: ['activeitem-change', 'mask-hide'],\n data() {\n return {\n id: this.$attrs.id || UniqueComponentId(),\n activeIndex: this.$attrs.activeIndex,\n numVisible: this.$attrs.numVisible,\n slideShowActive: false\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n '$attrs.value': function (newVal) {\n if (newVal && newVal.length < this.numVisible) {\n this.numVisible = newVal.length;\n }\n },\n '$attrs.activeIndex': function (newVal) {\n this.activeIndex = newVal;\n },\n '$attrs.numVisible': function (newVal) {\n this.numVisible = newVal;\n },\n '$attrs.autoPlay': function (newVal) {\n newVal ? this.startSlideShow() : this.stopSlideShow();\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n },\n updated() {\n this.$emit('activeitem-change', this.activeIndex);\n },\n beforeUnmount() {\n if (this.slideShowActive) {\n this.stopSlideShow();\n }\n },\n methods: {\n getPTOptions(key) {\n return this.ptm(key, {\n props: {\n ...this.$attrs,\n pt: this.pt,\n unstyled: this.unstyled\n }\n });\n },\n isAutoPlayActive() {\n return this.slideShowActive;\n },\n startSlideShow() {\n this.interval = setInterval(() => {\n let activeIndex = this.$attrs.circular && this.$attrs.value.length - 1 === this.activeIndex ? 0 : this.activeIndex + 1;\n\n this.activeIndex = activeIndex;\n }, this.$attrs.transitionInterval);\n\n this.slideShowActive = true;\n },\n stopSlideShow() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.slideShowActive = false;\n },\n getPositionClass(preClassName, position) {\n const positions = ['top', 'left', 'bottom', 'right'];\n const pos = positions.find((item) => item === position);\n\n return pos ? `${preClassName}-${pos}` : '';\n },\n isVertical() {\n return this.$attrs.thumbnailsPosition === 'left' || this.$attrs.thumbnailsPosition === 'right';\n }\n },\n computed: {\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n components: {\n GalleriaItem: GalleriaItem,\n GalleriaThumbnails: GalleriaThumbnails,\n TimesIcon: TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div\n v-if=\"$attrs.value && $attrs.value.length > 0\"\n :id=\"id\"\n role=\"region\"\n :class=\"[cx('root'), $attrs.containerClass]\"\n :style=\"$attrs.containerStyle\"\n :aria-label=\"$attrs.ariaLabel\"\n :aria-roledescription=\"$attrs.ariaRoledescription\"\n v-bind=\"{ ...$attrs.containerProps, ...getPTOptions('root') }\"\n >\n <button v-if=\"$attrs.fullScreen\" v-ripple autofocus type=\"button\" :class=\"cx('closeButton')\" :aria-label=\"closeAriaLabel\" @click=\"$emit('mask-hide')\" v-bind=\"getPTOptions('closeButton')\">\n <component :is=\"$attrs.templates['closeicon'] || 'TimesIcon'\" :class=\"cx('closeIcon')\" v-bind=\"getPTOptions('closeIcon')\" />\n </button>\n <div v-if=\"$attrs.templates && $attrs.templates['header']\" :class=\"cx('header')\" v-bind=\"getPTOptions('header')\">\n <component :is=\"$attrs.templates['header']\" />\n </div>\n <div :class=\"cx('content')\" :aria-live=\"$attrs.autoPlay ? 'polite' : 'off'\" v-bind=\"getPTOptions('content')\">\n <GalleriaItem\n :id=\"id\"\n v-model:activeIndex=\"activeIndex\"\n v-model:slideShowActive=\"slideShowActive\"\n :value=\"$attrs.value\"\n :circular=\"$attrs.circular\"\n :templates=\"$attrs.templates\"\n :showIndicators=\"$attrs.showIndicators\"\n :changeItemOnIndicatorHover=\"$attrs.changeItemOnIndicatorHover\"\n :showItemNavigators=\"$attrs.showItemNavigators\"\n :autoPlay=\"$attrs.autoPlay\"\n @start-slideshow=\"startSlideShow\"\n @stop-slideshow=\"stopSlideShow\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n\n <GalleriaThumbnails\n v-if=\"$attrs.showThumbnails\"\n v-model:activeIndex=\"activeIndex\"\n v-model:slideShowActive=\"slideShowActive\"\n :containerId=\"id\"\n :value=\"$attrs.value\"\n :templates=\"$attrs.templates\"\n :numVisible=\"numVisible\"\n :responsiveOptions=\"$attrs.responsiveOptions\"\n :circular=\"$attrs.circular\"\n :isVertical=\"isVertical()\"\n :contentHeight=\"$attrs.verticalThumbnailViewPortHeight\"\n :showThumbnailNavigators=\"$attrs.showThumbnailNavigators\"\n :prevButtonProps=\"$attrs.prevButtonProps\"\n :nextButtonProps=\"$attrs.nextButtonProps\"\n @stop-slideshow=\"stopSlideShow\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n </div>\n <div v-if=\"$attrs.templates && $attrs.templates['footer']\" :class=\"cx('footer')\" v-bind=\"getPTOptions('footer')\">\n <component :is=\"$attrs.templates['footer']\" />\n </div>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport TimesIcon from '@primevue/icons/times';\nimport Ripple from 'primevue/ripple';\nimport GalleriaItem from './GalleriaItem.vue';\nimport GalleriaThumbnails from './GalleriaThumbnails.vue';\n\nexport default {\n name: 'GalleriaContent',\n hostName: 'Galleria',\n extends: BaseComponent,\n inheritAttrs: false,\n interval: null,\n emits: ['activeitem-change', 'mask-hide'],\n data() {\n return {\n id: this.$attrs.id || UniqueComponentId(),\n activeIndex: this.$attrs.activeIndex,\n numVisible: this.$attrs.numVisible,\n slideShowActive: false\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n '$attrs.value': function (newVal) {\n if (newVal && newVal.length < this.numVisible) {\n this.numVisible = newVal.length;\n }\n },\n '$attrs.activeIndex': function (newVal) {\n this.activeIndex = newVal;\n },\n '$attrs.numVisible': function (newVal) {\n this.numVisible = newVal;\n },\n '$attrs.autoPlay': function (newVal) {\n newVal ? this.startSlideShow() : this.stopSlideShow();\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n },\n updated() {\n this.$emit('activeitem-change', this.activeIndex);\n },\n beforeUnmount() {\n if (this.slideShowActive) {\n this.stopSlideShow();\n }\n },\n methods: {\n getPTOptions(key) {\n return this.ptm(key, {\n props: {\n ...this.$attrs,\n pt: this.pt,\n unstyled: this.unstyled\n }\n });\n },\n isAutoPlayActive() {\n return this.slideShowActive;\n },\n startSlideShow() {\n this.interval = setInterval(() => {\n let activeIndex = this.$attrs.circular && this.$attrs.value.length - 1 === this.activeIndex ? 0 : this.activeIndex + 1;\n\n this.activeIndex = activeIndex;\n }, this.$attrs.transitionInterval);\n\n this.slideShowActive = true;\n },\n stopSlideShow() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.slideShowActive = false;\n },\n getPositionClass(preClassName, position) {\n const positions = ['top', 'left', 'bottom', 'right'];\n const pos = positions.find((item) => item === position);\n\n return pos ? `${preClassName}-${pos}` : '';\n },\n isVertical() {\n return this.$attrs.thumbnailsPosition === 'left' || this.$attrs.thumbnailsPosition === 'right';\n }\n },\n computed: {\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n components: {\n GalleriaItem: GalleriaItem,\n GalleriaThumbnails: GalleriaThumbnails,\n TimesIcon: TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <Portal v-if=\"fullScreen\">\n <div v-if=\"containerVisible\" :ref=\"maskRef\" :class=\"[cx('mask'), maskClass]\" role=\"dialog\" :aria-modal=\"fullScreen ? 'true' : undefined\" v-bind=\"ptm('mask')\">\n <transition name=\"p-galleria\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @before-leave=\"onBeforeLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <GalleriaContent v-if=\"visible\" :ref=\"containerRef\" v-focustrap @mask-hide=\"maskHide\" :templates=\"$slots\" @activeitem-change=\"onActiveItemChange\" :pt=\"pt\" :unstyled=\"unstyled\" v-bind=\"$props\" />\n </transition>\n </div>\n </Portal>\n <GalleriaContent v-else :templates=\"$slots\" @activeitem-change=\"onActiveItemChange\" :pt=\"pt\" :unstyled=\"unstyled\" v-bind=\"$props\" />\n</template>\n\n<script>\nimport { unblockBodyScroll, blockBodyScroll, addClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport BaseGalleria from './BaseGalleria.vue';\nimport GalleriaContent from './GalleriaContent.vue';\n\nexport default {\n name: 'Galleria',\n extends: BaseGalleria,\n inheritAttrs: false,\n emits: ['update:activeIndex', 'update:visible'],\n container: null,\n mask: null,\n data() {\n return {\n containerVisible: this.visible\n };\n },\n updated() {\n if (this.fullScreen && this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n if (this.fullScreen) {\n unblockBodyScroll();\n }\n\n this.mask = null;\n\n if (this.container) {\n ZIndex.clear(this.container);\n this.container = null;\n }\n },\n methods: {\n onBeforeEnter(el) {\n ZIndex.set('modal', el, this.baseZIndex || this.$primevue.config.zIndex.modal);\n },\n onEnter(el) {\n this.mask.style.zIndex = String(parseInt(el.style.zIndex, 10) - 1);\n blockBodyScroll();\n this.focus();\n },\n onBeforeLeave() {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n },\n onAfterLeave(el) {\n ZIndex.clear(el);\n this.containerVisible = false;\n unblockBodyScroll();\n },\n onActiveItemChange(index) {\n if (this.activeIndex !== index) {\n this.$emit('update:activeIndex', index);\n }\n },\n maskHide() {\n this.$emit('update:visible', false);\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n focus() {\n let focusTarget = this.container.$el.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n }\n },\n components: {\n GalleriaContent: GalleriaContent,\n Portal: Portal\n },\n directives: {\n focustrap: FocusTrap\n }\n};\n</script>\n","<template>\n <Portal v-if=\"fullScreen\">\n <div v-if=\"containerVisible\" :ref=\"maskRef\" :class=\"[cx('mask'), maskClass]\" role=\"dialog\" :aria-modal=\"fullScreen ? 'true' : undefined\" v-bind=\"ptm('mask')\">\n <transition name=\"p-galleria\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @before-leave=\"onBeforeLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <GalleriaContent v-if=\"visible\" :ref=\"containerRef\" v-focustrap @mask-hide=\"maskHide\" :templates=\"$slots\" @activeitem-change=\"onActiveItemChange\" :pt=\"pt\" :unstyled=\"unstyled\" v-bind=\"$props\" />\n </transition>\n </div>\n </Portal>\n <GalleriaContent v-else :templates=\"$slots\" @activeitem-change=\"onActiveItemChange\" :pt=\"pt\" :unstyled=\"unstyled\" v-bind=\"$props\" />\n</template>\n\n<script>\nimport { unblockBodyScroll, blockBodyScroll, addClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport BaseGalleria from './BaseGalleria.vue';\nimport GalleriaContent from './GalleriaContent.vue';\n\nexport default {\n name: 'Galleria',\n extends: BaseGalleria,\n inheritAttrs: false,\n emits: ['update:activeIndex', 'update:visible'],\n container: null,\n mask: null,\n data() {\n return {\n containerVisible: this.visible\n };\n },\n updated() {\n if (this.fullScreen && this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n if (this.fullScreen) {\n unblockBodyScroll();\n }\n\n this.mask = null;\n\n if (this.container) {\n ZIndex.clear(this.container);\n this.container = null;\n }\n },\n methods: {\n onBeforeEnter(el) {\n ZIndex.set('modal', el, this.baseZIndex || this.$primevue.config.zIndex.modal);\n },\n onEnter(el) {\n this.mask.style.zIndex = String(parseInt(el.style.zIndex, 10) - 1);\n blockBodyScroll();\n this.focus();\n },\n onBeforeLeave() {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n },\n onAfterLeave(el) {\n ZIndex.clear(el);\n this.containerVisible = false;\n unblockBodyScroll();\n },\n onActiveItemChange(index) {\n if (this.activeIndex !== index) {\n this.$emit('update:activeIndex', index);\n }\n },\n maskHide() {\n this.$emit('update:visible', false);\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n focus() {\n let focusTarget = this.container.$el.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n }\n },\n components: {\n GalleriaContent: GalleriaContent,\n Portal: Portal\n },\n directives: {\n focustrap: FocusTrap\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","id","type","String","value","Array","activeIndex","Number","fullScreen","Boolean","visible","numVisible","responsiveOptions","showItemNavigators","showThumbnailNavigators","showItemNavigatorsOnHover","changeItemOnIndicatorHover","circular","autoPlay","transitionInterval","showThumbnails","thumbnailsPosition","verticalThumbnailViewPortHeight","showIndicators","showIndicatorsOnItem","indicatorsPosition","baseZIndex","maskClass","containerStyle","containerClass","containerProps","prevButtonProps","nextButtonProps","ariaLabel","ariaRoledescription","style","GalleriaStyle","provide","$pcGalleria","$parentInstance","hostName","emits","slideShowActive","templates","mounted","$emit","methods","getIndicatorPTOptions","index","context","highlighted","next","nextItemIndex","length","prev","prevItemIndex","stopSlideShow","navBackward","e","cancelable","preventDefault","navForward","onIndicatorClick","onIndicatorMouseEnter","onIndicatorKeyDown","event","code","onRightKey","onLeftKey","onHomeKey","onEndKey","onTabKey","indicators","_toConsumableArray","find","$refs","indicatorContent","findFocusedIndicatorIndex","changedFocusedIndicator","highlightedIndex","findIndex","ind","getAttribute","activeIndicator","findSingle","parentElement","children","tabIndex","prevInd","nextInd","focus","isIndicatorItemActive","isNavBackwardDisabled","isNavForwardDisabled","ariaSlideNumber","$primevue","config","locale","aria","slideNumber","replace","undefined","ariaPageLabel","pageLabel","computed","activeItem","ariaSlideLabel","slide","components","ChevronLeftIcon","ChevronRightIcon","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptm","_createElementVNode","$props","_withDirectives","onClick","_cache","$event","$options","disabled","_createBlock","_resolveDynamicComponent","previousitemicon","role","item","nextitemicon","caption","ref","_Fragment","_renderList","key","concat","onMouseenter","onKeydown","tabindex","_hoisted_5","indicator","containerId","isVertical","contentHeight","startPos","thumbnailsStyle","sortedResponsiveOptions","data","d_numVisible","d_oldNumVisible","d_activeIndex","d_oldActiveItemIndex","totalShiftedItems","page","watch","newValue","oldValue","createStyle","calculatePosition","bindDocumentListeners","updated","getMedianItemIndex","itemsContainer","transform","document","body","setAttribute","isUnstyled","removeClass","transition","beforeUnmount","unbindDocumentListeners","parentNode","removeChild","step","dir","Math","floor","diff","getTotalPageNumber","onItemClick","selectedItemIndex","onThumbnailKeydown","onTransitionEnd","propertyName","addClass","onTouchStart","touchobj","changedTouches","x","pageX","y","pageY","onTouchMove","onTouchEnd","changePageOnTouch","_this$$primevue","createElement","csp","nonce","appendChild","innerHTML","comparer","localeComparator","sort","data1","data2","value1","breakpoint","value2","i","res","windowWidth","window","innerWidth","matchedResponsiveData","parseInt","_this","documentResizeListener","addEventListener","removeEventListener","firstItemAciveIndex","lastItemActiveIndex","isItemActive","ariaPrevButtonLabel","prevPageLabel","ariaNextButtonLabel","nextPageLabel","ChevronUpIcon","ChevronDownIcon","_objectSpread","previousthumbnailicon","height","onTransitionend","onTouchstart","onTouchmove","onTouchend","thumbnail","nextthumbnailicon","inheritAttrs","interval","$attrs","UniqueComponentId","$attrsId","$attrsValue","newVal","$attrsActiveIndex","$attrsNumVisible","$attrsAutoPlay","startSlideShow","getPTOptions","pt","unstyled","isAutoPlayActive","setInterval","clearInterval","getPositionClass","preClassName","position","positions","pos","closeAriaLabel","close","GalleriaItem","GalleriaThumbnails","TimesIcon","$data","autofocus","_createVNode","_component_GalleriaItem","onStartSlideshow","onStopSlideshow","_component_GalleriaThumbnails","BaseGalleria","container","mask","containerVisible","unblockBodyScroll","ZIndex","clear","onBeforeEnter","el","set","zIndex","modal","onEnter","blockBodyScroll","onBeforeLeave","onAfterLeave","onActiveItemChange","maskHide","containerRef","maskRef","focusTarget","$el","querySelector","GalleriaContent","Portal","focustrap","FocusTrap","_component_Portal","_Transition","appear","_component_GalleriaContent","onMaskHide","$slots","onActiveitemChange"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/galleria/BaseGalleria.vue","../../src/galleria/GalleriaItem.vue","../../src/galleria/GalleriaItem.vue?vue&type=template&id=5d2e898a&lang.js","../../src/galleria/GalleriaThumbnails.vue","../../src/galleria/GalleriaThumbnails.vue?vue&type=template&id=75d361a8&lang.js","../../src/galleria/GalleriaContent.vue","../../src/galleria/GalleriaContent.vue?vue&type=template&id=059a0f61&lang.js","../../src/galleria/Galleria.vue","../../src/galleria/Galleria.vue?vue&type=template&id=68640091&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport GalleriaStyle from 'primevue/galleria/style';\n\nexport default {\n name: 'BaseGalleria',\n extends: BaseComponent,\n props: {\n id: {\n type: String,\n default: null\n },\n value: {\n type: Array,\n default: null\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n fullScreen: {\n type: Boolean,\n default: false\n },\n visible: {\n type: Boolean,\n default: false\n },\n numVisible: {\n type: Number,\n default: 3\n },\n responsiveOptions: {\n type: Array,\n default: null\n },\n showItemNavigators: {\n type: Boolean,\n default: false\n },\n showThumbnailNavigators: {\n type: Boolean,\n default: true\n },\n showItemNavigatorsOnHover: {\n type: Boolean,\n default: false\n },\n changeItemOnIndicatorHover: {\n type: Boolean,\n default: false\n },\n circular: {\n type: Boolean,\n default: false\n },\n autoPlay: {\n type: Boolean,\n default: false\n },\n transitionInterval: {\n type: Number,\n default: 4000\n },\n showThumbnails: {\n type: Boolean,\n default: true\n },\n thumbnailsPosition: {\n type: String,\n default: 'bottom'\n },\n verticalThumbnailViewPortHeight: {\n type: String,\n default: '300px'\n },\n showIndicators: {\n type: Boolean,\n default: false\n },\n showIndicatorsOnItem: {\n type: Boolean,\n default: false\n },\n indicatorsPosition: {\n type: String,\n default: 'bottom'\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n maskClass: {\n type: String,\n default: null\n },\n containerStyle: {\n type: null,\n default: null\n },\n containerClass: {\n type: null,\n default: null\n },\n containerProps: {\n type: null,\n default: null\n },\n prevButtonProps: {\n type: null,\n default: null\n },\n nextButtonProps: {\n type: null,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaRoledescription: {\n type: String,\n default: null\n }\n },\n style: GalleriaStyle,\n provide() {\n return {\n $pcGalleria: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('itemsContainer')\" v-bind=\"ptm('itemsContainer')\">\n <div :class=\"cx('items')\" v-bind=\"ptm('items')\">\n <button v-if=\"showItemNavigators\" v-ripple type=\"button\" :class=\"cx('prevButton')\" @click=\"navBackward($event)\" :disabled=\"isNavBackwardDisabled()\" v-bind=\"ptm('prevButton')\" data-pc-group-section=\"itemnavigator\">\n <component :is=\"templates.previousitemicon || 'ChevronLeftIcon'\" :class=\"cx('prevIcon')\" v-bind=\"ptm('prevIcon')\" />\n </button>\n <div :id=\"id + '_item_' + activeIndex\" :class=\"cx('item')\" role=\"group\" :aria-label=\"ariaSlideNumber(activeIndex + 1)\" :aria-roledescription=\"ariaSlideLabel\" v-bind=\"ptm('item')\">\n <component v-if=\"templates.item\" :is=\"templates.item\" :item=\"activeItem\" />\n </div>\n <button v-if=\"showItemNavigators\" v-ripple type=\"button\" :class=\"cx('nextButton')\" @click=\"navForward($event)\" :disabled=\"isNavForwardDisabled()\" v-bind=\"ptm('nextButton')\" data-pc-group-section=\"itemnavigator\">\n <component :is=\"templates.nextitemicon || 'ChevronRightIcon'\" :class=\"cx('nextIcon')\" v-bind=\"ptm('nextIcon')\" />\n </button>\n <div v-if=\"templates['caption']\" :class=\"cx('caption')\" v-bind=\"ptm('caption')\">\n <component v-if=\"templates.caption\" :is=\"templates.caption\" :item=\"activeItem\" />\n </div>\n </div>\n <ul v-if=\"showIndicators\" ref=\"indicatorContent\" :class=\"cx('indicatorList')\" v-bind=\"ptm('indicatorList')\">\n <li\n v-for=\"(item, index) of value\"\n :key=\"`p-galleria-indicator-${index}`\"\n :class=\"cx('indicator', { index })\"\n :aria-label=\"ariaPageLabel(index + 1)\"\n :aria-selected=\"activeIndex === index\"\n :aria-controls=\"id + '_item_' + index\"\n @click=\"onIndicatorClick(index)\"\n @mouseenter=\"onIndicatorMouseEnter(index)\"\n @keydown=\"onIndicatorKeyDown($event, index)\"\n v-bind=\"ptm('indicator', getIndicatorPTOptions(index))\"\n :data-p-active=\"isIndicatorItemActive(index)\"\n >\n <button v-if=\"!templates['indicator']\" type=\"button\" :tabindex=\"activeIndex === index ? '0' : '-1'\" :class=\"cx('indicatorButton')\" v-bind=\"ptm('indicatorButton', getIndicatorPTOptions(index))\"></button>\n <component v-if=\"templates.indicator\" :is=\"templates.indicator\" :index=\"index\" />\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nimport { find, findSingle, getAttribute } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'GalleriaItem',\n hostName: 'Galleria',\n extends: BaseComponent,\n emits: ['start-slideshow', 'stop-slideshow', 'update:activeIndex'],\n props: {\n circular: {\n type: Boolean,\n default: false\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n value: {\n type: Array,\n default: null\n },\n showItemNavigators: {\n type: Boolean,\n default: true\n },\n showIndicators: {\n type: Boolean,\n default: true\n },\n slideShowActive: {\n type: Boolean,\n default: true\n },\n changeItemOnIndicatorHover: {\n type: Boolean,\n default: true\n },\n autoPlay: {\n type: Boolean,\n default: false\n },\n templates: {\n type: null,\n default: null\n },\n id: {\n type: String,\n default: null\n }\n },\n mounted() {\n if (this.autoPlay) {\n this.$emit('start-slideshow');\n }\n },\n methods: {\n getIndicatorPTOptions(index) {\n return {\n context: {\n highlighted: this.activeIndex === index\n }\n };\n },\n next() {\n let nextItemIndex = this.activeIndex + 1;\n let activeIndex = this.circular && this.value.length - 1 === this.activeIndex ? 0 : nextItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n },\n prev() {\n let prevItemIndex = this.activeIndex !== 0 ? this.activeIndex - 1 : 0;\n let activeIndex = this.circular && this.activeIndex === 0 ? this.value.length - 1 : prevItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n },\n stopSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.$emit('stop-slideshow');\n }\n },\n navBackward(e) {\n this.stopSlideShow();\n this.prev();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n },\n navForward(e) {\n this.stopSlideShow();\n this.next();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n },\n onIndicatorClick(index) {\n this.stopSlideShow();\n this.$emit('update:activeIndex', index);\n },\n onIndicatorMouseEnter(index) {\n if (this.changeItemOnIndicatorHover) {\n this.stopSlideShow();\n\n this.$emit('update:activeIndex', index);\n }\n },\n onIndicatorKeyDown(event, index) {\n switch (event.code) {\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.stopSlideShow();\n\n this.$emit('update:activeIndex', index);\n event.preventDefault();\n break;\n\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n\n case 'Home':\n this.onHomeKey();\n event.preventDefault();\n break;\n\n case 'End':\n this.onEndKey();\n event.preventDefault();\n break;\n\n case 'Tab':\n this.onTabKey();\n break;\n\n case 'ArrowDown':\n case 'ArrowUp':\n case 'PageUp':\n case 'PageDown':\n event.preventDefault();\n break;\n\n default:\n break;\n }\n },\n onRightKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n },\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n },\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n },\n onEndKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n },\n onTabKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = findSingle(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n },\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = findSingle(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n },\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n },\n isIndicatorItemActive(index) {\n return this.activeIndex === index;\n },\n isNavBackwardDisabled() {\n return !this.circular && this.activeIndex === 0;\n },\n isNavForwardDisabled() {\n return !this.circular && this.activeIndex === this.value.length - 1;\n },\n ariaSlideNumber(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n },\n ariaPageLabel(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n },\n computed: {\n activeItem() {\n return this.value[this.activeIndex];\n },\n\n ariaSlideLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slide : undefined;\n }\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('itemsContainer')\" v-bind=\"ptm('itemsContainer')\">\n <div :class=\"cx('items')\" v-bind=\"ptm('items')\">\n <button v-if=\"showItemNavigators\" v-ripple type=\"button\" :class=\"cx('prevButton')\" @click=\"navBackward($event)\" :disabled=\"isNavBackwardDisabled()\" v-bind=\"ptm('prevButton')\" data-pc-group-section=\"itemnavigator\">\n <component :is=\"templates.previousitemicon || 'ChevronLeftIcon'\" :class=\"cx('prevIcon')\" v-bind=\"ptm('prevIcon')\" />\n </button>\n <div :id=\"id + '_item_' + activeIndex\" :class=\"cx('item')\" role=\"group\" :aria-label=\"ariaSlideNumber(activeIndex + 1)\" :aria-roledescription=\"ariaSlideLabel\" v-bind=\"ptm('item')\">\n <component v-if=\"templates.item\" :is=\"templates.item\" :item=\"activeItem\" />\n </div>\n <button v-if=\"showItemNavigators\" v-ripple type=\"button\" :class=\"cx('nextButton')\" @click=\"navForward($event)\" :disabled=\"isNavForwardDisabled()\" v-bind=\"ptm('nextButton')\" data-pc-group-section=\"itemnavigator\">\n <component :is=\"templates.nextitemicon || 'ChevronRightIcon'\" :class=\"cx('nextIcon')\" v-bind=\"ptm('nextIcon')\" />\n </button>\n <div v-if=\"templates['caption']\" :class=\"cx('caption')\" v-bind=\"ptm('caption')\">\n <component v-if=\"templates.caption\" :is=\"templates.caption\" :item=\"activeItem\" />\n </div>\n </div>\n <ul v-if=\"showIndicators\" ref=\"indicatorContent\" :class=\"cx('indicatorList')\" v-bind=\"ptm('indicatorList')\">\n <li\n v-for=\"(item, index) of value\"\n :key=\"`p-galleria-indicator-${index}`\"\n :class=\"cx('indicator', { index })\"\n :aria-label=\"ariaPageLabel(index + 1)\"\n :aria-selected=\"activeIndex === index\"\n :aria-controls=\"id + '_item_' + index\"\n @click=\"onIndicatorClick(index)\"\n @mouseenter=\"onIndicatorMouseEnter(index)\"\n @keydown=\"onIndicatorKeyDown($event, index)\"\n v-bind=\"ptm('indicator', getIndicatorPTOptions(index))\"\n :data-p-active=\"isIndicatorItemActive(index)\"\n >\n <button v-if=\"!templates['indicator']\" type=\"button\" :tabindex=\"activeIndex === index ? '0' : '-1'\" :class=\"cx('indicatorButton')\" v-bind=\"ptm('indicatorButton', getIndicatorPTOptions(index))\"></button>\n <component v-if=\"templates.indicator\" :is=\"templates.indicator\" :index=\"index\" />\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nimport { find, findSingle, getAttribute } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'GalleriaItem',\n hostName: 'Galleria',\n extends: BaseComponent,\n emits: ['start-slideshow', 'stop-slideshow', 'update:activeIndex'],\n props: {\n circular: {\n type: Boolean,\n default: false\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n value: {\n type: Array,\n default: null\n },\n showItemNavigators: {\n type: Boolean,\n default: true\n },\n showIndicators: {\n type: Boolean,\n default: true\n },\n slideShowActive: {\n type: Boolean,\n default: true\n },\n changeItemOnIndicatorHover: {\n type: Boolean,\n default: true\n },\n autoPlay: {\n type: Boolean,\n default: false\n },\n templates: {\n type: null,\n default: null\n },\n id: {\n type: String,\n default: null\n }\n },\n mounted() {\n if (this.autoPlay) {\n this.$emit('start-slideshow');\n }\n },\n methods: {\n getIndicatorPTOptions(index) {\n return {\n context: {\n highlighted: this.activeIndex === index\n }\n };\n },\n next() {\n let nextItemIndex = this.activeIndex + 1;\n let activeIndex = this.circular && this.value.length - 1 === this.activeIndex ? 0 : nextItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n },\n prev() {\n let prevItemIndex = this.activeIndex !== 0 ? this.activeIndex - 1 : 0;\n let activeIndex = this.circular && this.activeIndex === 0 ? this.value.length - 1 : prevItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n },\n stopSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.$emit('stop-slideshow');\n }\n },\n navBackward(e) {\n this.stopSlideShow();\n this.prev();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n },\n navForward(e) {\n this.stopSlideShow();\n this.next();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n },\n onIndicatorClick(index) {\n this.stopSlideShow();\n this.$emit('update:activeIndex', index);\n },\n onIndicatorMouseEnter(index) {\n if (this.changeItemOnIndicatorHover) {\n this.stopSlideShow();\n\n this.$emit('update:activeIndex', index);\n }\n },\n onIndicatorKeyDown(event, index) {\n switch (event.code) {\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.stopSlideShow();\n\n this.$emit('update:activeIndex', index);\n event.preventDefault();\n break;\n\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n\n case 'Home':\n this.onHomeKey();\n event.preventDefault();\n break;\n\n case 'End':\n this.onEndKey();\n event.preventDefault();\n break;\n\n case 'Tab':\n this.onTabKey();\n break;\n\n case 'ArrowDown':\n case 'ArrowUp':\n case 'PageUp':\n case 'PageDown':\n event.preventDefault();\n break;\n\n default:\n break;\n }\n },\n onRightKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n },\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n },\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n },\n onEndKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n },\n onTabKey() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = findSingle(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n },\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = findSingle(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n },\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = [...find(this.$refs.indicatorContent, '[data-pc-section=\"indicator\"]')];\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n },\n isIndicatorItemActive(index) {\n return this.activeIndex === index;\n },\n isNavBackwardDisabled() {\n return !this.circular && this.activeIndex === 0;\n },\n isNavForwardDisabled() {\n return !this.circular && this.activeIndex === this.value.length - 1;\n },\n ariaSlideNumber(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n },\n ariaPageLabel(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n },\n computed: {\n activeItem() {\n return this.value[this.activeIndex];\n },\n\n ariaSlideLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slide : undefined;\n }\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('thumbnails')\" v-bind=\"ptm('thumbnails')\">\n <div :class=\"cx('thumbnailContent')\" v-bind=\"ptm('thumbnailContent')\">\n <button\n v-if=\"showThumbnailNavigators\"\n v-ripple\n :class=\"cx('thumbnailPrevButton')\"\n :disabled=\"isNavBackwardDisabled()\"\n type=\"button\"\n :aria-label=\"ariaPrevButtonLabel\"\n @click=\"navBackward($event)\"\n v-bind=\"{ ...prevButtonProps, ...ptm('thumbnailPrevButton') }\"\n data-pc-group-section=\"thumbnailnavigator\"\n >\n <component :is=\"templates.previousthumbnailicon || (isVertical ? 'ChevronUpIcon' : 'ChevronLeftIcon')\" :class=\"cx('thumbnailPrevIcon')\" v-bind=\"ptm('thumbnailPrevIcon')\" />\n </button>\n <div :class=\"cx('thumbnailsViewport')\" :style=\"{ height: isVertical ? contentHeight : '' }\" v-bind=\"ptm('thumbnailsViewport')\">\n <div\n ref=\"itemsContainer\"\n :class=\"cx('thumbnailItems')\"\n role=\"tablist\"\n @transitionend=\"onTransitionEnd($event)\"\n @touchstart=\"onTouchStart($event)\"\n @touchmove=\"onTouchMove($event)\"\n @touchend=\"onTouchEnd($event)\"\n v-bind=\"ptm('thumbnailItems')\"\n >\n <div\n v-for=\"(item, index) of value\"\n :key=\"`p-galleria-thumbnail-item-${index}`\"\n :class=\"cx('thumbnailItem', { index, activeIndex })\"\n role=\"tab\"\n :data-p-active=\"activeIndex === index\"\n :aria-selected=\"activeIndex === index\"\n :aria-controls=\"containerId + '_item_' + index\"\n @keydown=\"onThumbnailKeydown($event, index)\"\n v-bind=\"ptm('thumbnailItem')\"\n :data-p-galleria-thumbnail-item-current=\"activeIndex === index\"\n :data-p-galleria-thumbnail-item-active=\"isItemActive(index)\"\n :data-p-galleria-thumbnail-item-start=\"firstItemAciveIndex() === index\"\n :data-p-galleria-thumbnail-item-end=\"lastItemActiveIndex() === index\"\n >\n <div\n :class=\"cx('thumbnail')\"\n :tabindex=\"activeIndex === index ? '0' : '-1'\"\n :aria-label=\"ariaPageLabel(index + 1)\"\n :aria-current=\"activeIndex === index ? 'page' : undefined\"\n @click=\"onItemClick(index)\"\n v-bind=\"ptm('thumbnail')\"\n >\n <component v-if=\"templates.thumbnail\" :is=\"templates.thumbnail\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <button\n v-if=\"showThumbnailNavigators\"\n v-ripple\n :class=\"cx('thumbnailNextButton')\"\n :disabled=\"isNavForwardDisabled()\"\n type=\"button\"\n :aria-label=\"ariaNextButtonLabel\"\n @click=\"navForward($event)\"\n v-bind=\"{ ...nextButtonProps, ...ptm('thumbnailNextButton') }\"\n data-pc-group-section=\"thumbnailnavigator\"\n >\n <component :is=\"templates.nextthumbnailicon || (isVertical ? 'ChevronDownIcon' : 'ChevronRightIcon')\" :class=\"cx('thumbnailNextIcon')\" v-bind=\"ptm('thumbnailNextIcon')\" />\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport { addClass, find, findSingle, getAttribute, removeClass, setAttribute } from '@primeuix/utils/dom';\nimport { localeComparator, sort } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'GalleriaThumbnails',\n hostName: 'Galleria',\n extends: BaseComponent,\n emits: ['stop-slideshow', 'update:activeIndex'],\n props: {\n containerId: {\n type: String,\n default: null\n },\n value: {\n type: Array,\n default: null\n },\n numVisible: {\n type: Number,\n default: 3\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n isVertical: {\n type: Boolean,\n default: false\n },\n slideShowActive: {\n type: Boolean,\n default: false\n },\n circular: {\n type: Boolean,\n default: false\n },\n responsiveOptions: {\n type: Array,\n default: null\n },\n contentHeight: {\n type: String,\n default: '300px'\n },\n showThumbnailNavigators: {\n type: Boolean,\n default: true\n },\n templates: {\n type: null,\n default: null\n },\n prevButtonProps: {\n type: null,\n default: null\n },\n nextButtonProps: {\n type: null,\n default: null\n }\n },\n startPos: null,\n thumbnailsStyle: null,\n sortedResponsiveOptions: null,\n data() {\n return {\n d_numVisible: this.numVisible,\n d_oldNumVisible: this.numVisible,\n d_activeIndex: this.activeIndex,\n d_oldActiveItemIndex: this.activeIndex,\n totalShiftedItems: 0,\n page: 0\n };\n },\n watch: {\n numVisible(newValue, oldValue) {\n this.d_numVisible = newValue;\n this.d_oldNumVisible = oldValue;\n },\n activeIndex(newValue, oldValue) {\n this.d_activeIndex = newValue;\n this.d_oldActiveItemIndex = oldValue;\n }\n },\n mounted() {\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n },\n updated() {\n let totalShiftedItems = this.totalShiftedItems;\n\n if (this.d_oldNumVisible !== this.d_numVisible || this.d_oldActiveItemIndex !== this.d_activeIndex) {\n if (this.d_activeIndex <= this.getMedianItemIndex()) {\n totalShiftedItems = 0;\n } else if (this.value.length - this.d_numVisible + this.getMedianItemIndex() < this.d_activeIndex) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n } else if (this.value.length - this.d_numVisible < this.d_activeIndex && this.d_numVisible % 2 === 0) {\n totalShiftedItems = this.d_activeIndex * -1 + this.getMedianItemIndex() + 1;\n } else {\n totalShiftedItems = this.d_activeIndex * -1 + this.getMedianItemIndex();\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n this.$refs.itemsContainer.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n\n if (this.d_oldActiveItemIndex !== this.d_activeIndex) {\n document.body.setAttribute('data-p-items-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transition = 'transform 500ms ease 0s';\n }\n\n this.d_oldActiveItemIndex = this.d_activeIndex;\n this.d_oldNumVisible = this.d_numVisible;\n }\n },\n beforeUnmount() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n\n if (this.thumbnailsStyle) {\n this.thumbnailsStyle.parentNode.removeChild(this.thumbnailsStyle);\n }\n },\n methods: {\n step(dir) {\n let totalShiftedItems = this.totalShiftedItems + dir;\n\n if (dir < 0 && -1 * totalShiftedItems + this.d_numVisible > this.value.length - 1) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n } else if (dir > 0 && totalShiftedItems > 0) {\n totalShiftedItems = 0;\n }\n\n if (this.circular) {\n if (dir < 0 && this.value.length - 1 === this.d_activeIndex) {\n totalShiftedItems = 0;\n } else if (dir > 0 && this.d_activeIndex === 0) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n }\n }\n\n if (this.$refs.itemsContainer) {\n document.body.setAttribute('data-p-items-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n this.$refs.itemsContainer.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n },\n stopSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.$emit('stop-slideshow');\n }\n },\n getMedianItemIndex() {\n let index = Math.floor(this.d_numVisible / 2);\n\n return this.d_numVisible % 2 ? index : index - 1;\n },\n navBackward(e) {\n this.stopSlideShow();\n\n let prevItemIndex = this.d_activeIndex !== 0 ? this.d_activeIndex - 1 : 0;\n let diff = prevItemIndex + this.totalShiftedItems;\n\n if (this.d_numVisible - diff - 1 > this.getMedianItemIndex() && (-1 * this.totalShiftedItems !== 0 || this.circular)) {\n this.step(1);\n }\n\n let activeIndex = this.circular && this.d_activeIndex === 0 ? this.value.length - 1 : prevItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n navForward(e) {\n this.stopSlideShow();\n\n let nextItemIndex = this.d_activeIndex === this.value.length - 1 ? this.value.length - 1 : this.d_activeIndex + 1;\n\n if (nextItemIndex + this.totalShiftedItems > this.getMedianItemIndex() && (-1 * this.totalShiftedItems < this.getTotalPageNumber() - 1 || this.circular)) {\n this.step(-1);\n }\n\n let activeIndex = this.circular && this.value.length - 1 === this.d_activeIndex ? 0 : nextItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n onItemClick(index) {\n this.stopSlideShow();\n\n let selectedItemIndex = index;\n\n if (selectedItemIndex !== this.d_activeIndex) {\n const diff = selectedItemIndex + this.totalShiftedItems;\n let dir = 0;\n\n if (selectedItemIndex < this.d_activeIndex) {\n dir = this.d_numVisible - diff - 1 - this.getMedianItemIndex();\n\n if (dir > 0 && -1 * this.totalShiftedItems !== 0) {\n this.step(dir);\n }\n } else {\n dir = this.getMedianItemIndex() - diff;\n\n if (dir < 0 && -1 * this.totalShiftedItems < this.getTotalPageNumber() - 1) {\n this.step(dir);\n }\n }\n\n this.$emit('update:activeIndex', selectedItemIndex);\n }\n },\n onThumbnailKeydown(event, index) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.onItemClick(index);\n event.preventDefault();\n }\n\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n\n case 'Home':\n this.onHomeKey();\n event.preventDefault();\n break;\n\n case 'End':\n this.onEndKey();\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n break;\n\n case 'Tab':\n this.onTabKey();\n break;\n\n default:\n break;\n }\n },\n onRightKey() {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n },\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n },\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n },\n onEndKey() {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n },\n onTabKey() {\n const indicators = [...find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = findSingle(this.$refs.itemsContainer, '[tabindex=\"0\"]');\n\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n },\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]')];\n const activeIndicator = findSingle(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"] > [tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n },\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n },\n onTransitionEnd(e) {\n if (this.$refs.itemsContainer && e.propertyName === 'transform') {\n document.body.setAttribute('data-p-items-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transition = '';\n }\n },\n onTouchStart(e) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n },\n onTouchMove(e) {\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n onTouchEnd(e) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n },\n changePageOnTouch(e, diff) {\n if (diff < 0) {\n // left\n this.navForward(e);\n } else {\n // right\n this.navBackward(e);\n }\n },\n getTotalPageNumber() {\n return this.value.length > this.d_numVisible ? this.value.length - this.d_numVisible + 1 : 0;\n },\n createStyle() {\n if (!this.thumbnailsStyle) {\n this.thumbnailsStyle = document.createElement('style');\n this.thumbnailsStyle.type = 'text/css';\n setAttribute(this.thumbnailsStyle, 'nonce', this.$primevue?.config?.csp?.nonce);\n document.body.appendChild(this.thumbnailsStyle);\n }\n\n let innerHTML = `\n #${this.containerId} [data-pc-section=\"thumbnailitem\"] {\n flex: 1 0 ${100 / this.d_numVisible}%\n }\n `;\n\n if (this.responsiveOptions && !this.isUnstyled) {\n this.sortedResponsiveOptions = [...this.responsiveOptions];\n const comparer = localeComparator();\n\n this.sortedResponsiveOptions.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n\n return sort(value1, value2, -1, comparer);\n });\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.containerId} .p-galleria-thumbnail-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.thumbnailsStyle.innerHTML = innerHTML;\n },\n calculatePosition() {\n if (this.$refs.itemsContainer && this.sortedResponsiveOptions) {\n let windowWidth = window.innerWidth;\n let matchedResponsiveData = {\n numVisible: this.numVisible\n };\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n\n if (this.d_numVisible !== matchedResponsiveData.numVisible) {\n this.d_numVisible = matchedResponsiveData.numVisible;\n }\n }\n },\n bindDocumentListeners() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = () => {\n this.calculatePosition();\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentListeners() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n },\n isNavBackwardDisabled() {\n return (!this.circular && this.d_activeIndex === 0) || this.value.length <= this.d_numVisible;\n },\n isNavForwardDisabled() {\n return (!this.circular && this.d_activeIndex === this.value.length - 1) || this.value.length <= this.d_numVisible;\n },\n firstItemAciveIndex() {\n return this.totalShiftedItems * -1;\n },\n lastItemActiveIndex() {\n return this.firstItemAciveIndex() + this.d_numVisible - 1;\n },\n isItemActive(index) {\n return this.firstItemAciveIndex() <= index && this.lastItemActiveIndex() >= index;\n },\n ariaPageLabel(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n },\n computed: {\n ariaPrevButtonLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.prevPageLabel : undefined;\n },\n ariaNextButtonLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.nextPageLabel : undefined;\n }\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon,\n ChevronUpIcon: ChevronUpIcon,\n ChevronDownIcon: ChevronDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('thumbnails')\" v-bind=\"ptm('thumbnails')\">\n <div :class=\"cx('thumbnailContent')\" v-bind=\"ptm('thumbnailContent')\">\n <button\n v-if=\"showThumbnailNavigators\"\n v-ripple\n :class=\"cx('thumbnailPrevButton')\"\n :disabled=\"isNavBackwardDisabled()\"\n type=\"button\"\n :aria-label=\"ariaPrevButtonLabel\"\n @click=\"navBackward($event)\"\n v-bind=\"{ ...prevButtonProps, ...ptm('thumbnailPrevButton') }\"\n data-pc-group-section=\"thumbnailnavigator\"\n >\n <component :is=\"templates.previousthumbnailicon || (isVertical ? 'ChevronUpIcon' : 'ChevronLeftIcon')\" :class=\"cx('thumbnailPrevIcon')\" v-bind=\"ptm('thumbnailPrevIcon')\" />\n </button>\n <div :class=\"cx('thumbnailsViewport')\" :style=\"{ height: isVertical ? contentHeight : '' }\" v-bind=\"ptm('thumbnailsViewport')\">\n <div\n ref=\"itemsContainer\"\n :class=\"cx('thumbnailItems')\"\n role=\"tablist\"\n @transitionend=\"onTransitionEnd($event)\"\n @touchstart=\"onTouchStart($event)\"\n @touchmove=\"onTouchMove($event)\"\n @touchend=\"onTouchEnd($event)\"\n v-bind=\"ptm('thumbnailItems')\"\n >\n <div\n v-for=\"(item, index) of value\"\n :key=\"`p-galleria-thumbnail-item-${index}`\"\n :class=\"cx('thumbnailItem', { index, activeIndex })\"\n role=\"tab\"\n :data-p-active=\"activeIndex === index\"\n :aria-selected=\"activeIndex === index\"\n :aria-controls=\"containerId + '_item_' + index\"\n @keydown=\"onThumbnailKeydown($event, index)\"\n v-bind=\"ptm('thumbnailItem')\"\n :data-p-galleria-thumbnail-item-current=\"activeIndex === index\"\n :data-p-galleria-thumbnail-item-active=\"isItemActive(index)\"\n :data-p-galleria-thumbnail-item-start=\"firstItemAciveIndex() === index\"\n :data-p-galleria-thumbnail-item-end=\"lastItemActiveIndex() === index\"\n >\n <div\n :class=\"cx('thumbnail')\"\n :tabindex=\"activeIndex === index ? '0' : '-1'\"\n :aria-label=\"ariaPageLabel(index + 1)\"\n :aria-current=\"activeIndex === index ? 'page' : undefined\"\n @click=\"onItemClick(index)\"\n v-bind=\"ptm('thumbnail')\"\n >\n <component v-if=\"templates.thumbnail\" :is=\"templates.thumbnail\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <button\n v-if=\"showThumbnailNavigators\"\n v-ripple\n :class=\"cx('thumbnailNextButton')\"\n :disabled=\"isNavForwardDisabled()\"\n type=\"button\"\n :aria-label=\"ariaNextButtonLabel\"\n @click=\"navForward($event)\"\n v-bind=\"{ ...nextButtonProps, ...ptm('thumbnailNextButton') }\"\n data-pc-group-section=\"thumbnailnavigator\"\n >\n <component :is=\"templates.nextthumbnailicon || (isVertical ? 'ChevronDownIcon' : 'ChevronRightIcon')\" :class=\"cx('thumbnailNextIcon')\" v-bind=\"ptm('thumbnailNextIcon')\" />\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport { addClass, find, findSingle, getAttribute, removeClass, setAttribute } from '@primeuix/utils/dom';\nimport { localeComparator, sort } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'GalleriaThumbnails',\n hostName: 'Galleria',\n extends: BaseComponent,\n emits: ['stop-slideshow', 'update:activeIndex'],\n props: {\n containerId: {\n type: String,\n default: null\n },\n value: {\n type: Array,\n default: null\n },\n numVisible: {\n type: Number,\n default: 3\n },\n activeIndex: {\n type: Number,\n default: 0\n },\n isVertical: {\n type: Boolean,\n default: false\n },\n slideShowActive: {\n type: Boolean,\n default: false\n },\n circular: {\n type: Boolean,\n default: false\n },\n responsiveOptions: {\n type: Array,\n default: null\n },\n contentHeight: {\n type: String,\n default: '300px'\n },\n showThumbnailNavigators: {\n type: Boolean,\n default: true\n },\n templates: {\n type: null,\n default: null\n },\n prevButtonProps: {\n type: null,\n default: null\n },\n nextButtonProps: {\n type: null,\n default: null\n }\n },\n startPos: null,\n thumbnailsStyle: null,\n sortedResponsiveOptions: null,\n data() {\n return {\n d_numVisible: this.numVisible,\n d_oldNumVisible: this.numVisible,\n d_activeIndex: this.activeIndex,\n d_oldActiveItemIndex: this.activeIndex,\n totalShiftedItems: 0,\n page: 0\n };\n },\n watch: {\n numVisible(newValue, oldValue) {\n this.d_numVisible = newValue;\n this.d_oldNumVisible = oldValue;\n },\n activeIndex(newValue, oldValue) {\n this.d_activeIndex = newValue;\n this.d_oldActiveItemIndex = oldValue;\n }\n },\n mounted() {\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n },\n updated() {\n let totalShiftedItems = this.totalShiftedItems;\n\n if (this.d_oldNumVisible !== this.d_numVisible || this.d_oldActiveItemIndex !== this.d_activeIndex) {\n if (this.d_activeIndex <= this.getMedianItemIndex()) {\n totalShiftedItems = 0;\n } else if (this.value.length - this.d_numVisible + this.getMedianItemIndex() < this.d_activeIndex) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n } else if (this.value.length - this.d_numVisible < this.d_activeIndex && this.d_numVisible % 2 === 0) {\n totalShiftedItems = this.d_activeIndex * -1 + this.getMedianItemIndex() + 1;\n } else {\n totalShiftedItems = this.d_activeIndex * -1 + this.getMedianItemIndex();\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n this.$refs.itemsContainer.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n\n if (this.d_oldActiveItemIndex !== this.d_activeIndex) {\n document.body.setAttribute('data-p-items-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transition = 'transform 500ms ease 0s';\n }\n\n this.d_oldActiveItemIndex = this.d_activeIndex;\n this.d_oldNumVisible = this.d_numVisible;\n }\n },\n beforeUnmount() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n\n if (this.thumbnailsStyle) {\n this.thumbnailsStyle.parentNode.removeChild(this.thumbnailsStyle);\n }\n },\n methods: {\n step(dir) {\n let totalShiftedItems = this.totalShiftedItems + dir;\n\n if (dir < 0 && -1 * totalShiftedItems + this.d_numVisible > this.value.length - 1) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n } else if (dir > 0 && totalShiftedItems > 0) {\n totalShiftedItems = 0;\n }\n\n if (this.circular) {\n if (dir < 0 && this.value.length - 1 === this.d_activeIndex) {\n totalShiftedItems = 0;\n } else if (dir > 0 && this.d_activeIndex === 0) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n }\n }\n\n if (this.$refs.itemsContainer) {\n document.body.setAttribute('data-p-items-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n this.$refs.itemsContainer.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n },\n stopSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.$emit('stop-slideshow');\n }\n },\n getMedianItemIndex() {\n let index = Math.floor(this.d_numVisible / 2);\n\n return this.d_numVisible % 2 ? index : index - 1;\n },\n navBackward(e) {\n this.stopSlideShow();\n\n let prevItemIndex = this.d_activeIndex !== 0 ? this.d_activeIndex - 1 : 0;\n let diff = prevItemIndex + this.totalShiftedItems;\n\n if (this.d_numVisible - diff - 1 > this.getMedianItemIndex() && (-1 * this.totalShiftedItems !== 0 || this.circular)) {\n this.step(1);\n }\n\n let activeIndex = this.circular && this.d_activeIndex === 0 ? this.value.length - 1 : prevItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n navForward(e) {\n this.stopSlideShow();\n\n let nextItemIndex = this.d_activeIndex === this.value.length - 1 ? this.value.length - 1 : this.d_activeIndex + 1;\n\n if (nextItemIndex + this.totalShiftedItems > this.getMedianItemIndex() && (-1 * this.totalShiftedItems < this.getTotalPageNumber() - 1 || this.circular)) {\n this.step(-1);\n }\n\n let activeIndex = this.circular && this.value.length - 1 === this.d_activeIndex ? 0 : nextItemIndex;\n\n this.$emit('update:activeIndex', activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n onItemClick(index) {\n this.stopSlideShow();\n\n let selectedItemIndex = index;\n\n if (selectedItemIndex !== this.d_activeIndex) {\n const diff = selectedItemIndex + this.totalShiftedItems;\n let dir = 0;\n\n if (selectedItemIndex < this.d_activeIndex) {\n dir = this.d_numVisible - diff - 1 - this.getMedianItemIndex();\n\n if (dir > 0 && -1 * this.totalShiftedItems !== 0) {\n this.step(dir);\n }\n } else {\n dir = this.getMedianItemIndex() - diff;\n\n if (dir < 0 && -1 * this.totalShiftedItems < this.getTotalPageNumber() - 1) {\n this.step(dir);\n }\n }\n\n this.$emit('update:activeIndex', selectedItemIndex);\n }\n },\n onThumbnailKeydown(event, index) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.onItemClick(index);\n event.preventDefault();\n }\n\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n\n case 'Home':\n this.onHomeKey();\n event.preventDefault();\n break;\n\n case 'End':\n this.onEndKey();\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n break;\n\n case 'Tab':\n this.onTabKey();\n break;\n\n default:\n break;\n }\n },\n onRightKey() {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n },\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n },\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n },\n onEndKey() {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n },\n onTabKey() {\n const indicators = [...find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = findSingle(this.$refs.itemsContainer, '[tabindex=\"0\"]');\n\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n },\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]')];\n const activeIndicator = findSingle(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"] > [tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n },\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = find(this.$refs.itemsContainer, '[data-pc-section=\"thumbnailitem\"]');\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n },\n onTransitionEnd(e) {\n if (this.$refs.itemsContainer && e.propertyName === 'transform') {\n document.body.setAttribute('data-p-items-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.itemsContainer, 'p-items-hidden');\n this.$refs.itemsContainer.style.transition = '';\n }\n },\n onTouchStart(e) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n },\n onTouchMove(e) {\n if (e.cancelable) {\n e.preventDefault();\n }\n },\n onTouchEnd(e) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n },\n changePageOnTouch(e, diff) {\n if (diff < 0) {\n // left\n this.navForward(e);\n } else {\n // right\n this.navBackward(e);\n }\n },\n getTotalPageNumber() {\n return this.value.length > this.d_numVisible ? this.value.length - this.d_numVisible + 1 : 0;\n },\n createStyle() {\n if (!this.thumbnailsStyle) {\n this.thumbnailsStyle = document.createElement('style');\n this.thumbnailsStyle.type = 'text/css';\n setAttribute(this.thumbnailsStyle, 'nonce', this.$primevue?.config?.csp?.nonce);\n document.body.appendChild(this.thumbnailsStyle);\n }\n\n let innerHTML = `\n #${this.containerId} [data-pc-section=\"thumbnailitem\"] {\n flex: 1 0 ${100 / this.d_numVisible}%\n }\n `;\n\n if (this.responsiveOptions && !this.isUnstyled) {\n this.sortedResponsiveOptions = [...this.responsiveOptions];\n const comparer = localeComparator();\n\n this.sortedResponsiveOptions.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n\n return sort(value1, value2, -1, comparer);\n });\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.containerId} .p-galleria-thumbnail-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.thumbnailsStyle.innerHTML = innerHTML;\n },\n calculatePosition() {\n if (this.$refs.itemsContainer && this.sortedResponsiveOptions) {\n let windowWidth = window.innerWidth;\n let matchedResponsiveData = {\n numVisible: this.numVisible\n };\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n\n if (this.d_numVisible !== matchedResponsiveData.numVisible) {\n this.d_numVisible = matchedResponsiveData.numVisible;\n }\n }\n },\n bindDocumentListeners() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = () => {\n this.calculatePosition();\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentListeners() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n },\n isNavBackwardDisabled() {\n return (!this.circular && this.d_activeIndex === 0) || this.value.length <= this.d_numVisible;\n },\n isNavForwardDisabled() {\n return (!this.circular && this.d_activeIndex === this.value.length - 1) || this.value.length <= this.d_numVisible;\n },\n firstItemAciveIndex() {\n return this.totalShiftedItems * -1;\n },\n lastItemActiveIndex() {\n return this.firstItemAciveIndex() + this.d_numVisible - 1;\n },\n isItemActive(index) {\n return this.firstItemAciveIndex() <= index && this.lastItemActiveIndex() >= index;\n },\n ariaPageLabel(value) {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n },\n computed: {\n ariaPrevButtonLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.prevPageLabel : undefined;\n },\n ariaNextButtonLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.nextPageLabel : undefined;\n }\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon,\n ChevronUpIcon: ChevronUpIcon,\n ChevronDownIcon: ChevronDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div\n v-if=\"$attrs.value && $attrs.value.length > 0\"\n :id=\"id\"\n role=\"region\"\n :class=\"[cx('root'), $attrs.containerClass]\"\n :style=\"$attrs.containerStyle\"\n :aria-label=\"$attrs.ariaLabel\"\n :aria-roledescription=\"$attrs.ariaRoledescription\"\n v-bind=\"{ ...$attrs.containerProps, ...getPTOptions('root') }\"\n >\n <button v-if=\"$attrs.fullScreen\" v-ripple autofocus type=\"button\" :class=\"cx('closeButton')\" :aria-label=\"closeAriaLabel\" @click=\"$emit('mask-hide')\" v-bind=\"getPTOptions('closeButton')\">\n <component :is=\"$attrs.templates['closeicon'] || 'TimesIcon'\" :class=\"cx('closeIcon')\" v-bind=\"getPTOptions('closeIcon')\" />\n </button>\n <div v-if=\"$attrs.templates && $attrs.templates['header']\" :class=\"cx('header')\" v-bind=\"getPTOptions('header')\">\n <component :is=\"$attrs.templates['header']\" />\n </div>\n <div :class=\"cx('content')\" :aria-live=\"$attrs.autoPlay ? 'polite' : 'off'\" v-bind=\"getPTOptions('content')\">\n <GalleriaItem\n :id=\"id\"\n v-model:activeIndex=\"activeIndex\"\n v-model:slideShowActive=\"slideShowActive\"\n :value=\"$attrs.value\"\n :circular=\"$attrs.circular\"\n :templates=\"$attrs.templates\"\n :showIndicators=\"$attrs.showIndicators\"\n :changeItemOnIndicatorHover=\"$attrs.changeItemOnIndicatorHover\"\n :showItemNavigators=\"$attrs.showItemNavigators\"\n :autoPlay=\"$attrs.autoPlay\"\n @start-slideshow=\"startSlideShow\"\n @stop-slideshow=\"stopSlideShow\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n\n <GalleriaThumbnails\n v-if=\"$attrs.showThumbnails\"\n v-model:activeIndex=\"activeIndex\"\n v-model:slideShowActive=\"slideShowActive\"\n :containerId=\"id\"\n :value=\"$attrs.value\"\n :templates=\"$attrs.templates\"\n :numVisible=\"numVisible\"\n :responsiveOptions=\"$attrs.responsiveOptions\"\n :circular=\"$attrs.circular\"\n :isVertical=\"isVertical()\"\n :contentHeight=\"$attrs.verticalThumbnailViewPortHeight\"\n :showThumbnailNavigators=\"$attrs.showThumbnailNavigators\"\n :prevButtonProps=\"$attrs.prevButtonProps\"\n :nextButtonProps=\"$attrs.nextButtonProps\"\n @stop-slideshow=\"stopSlideShow\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n </div>\n <div v-if=\"$attrs.templates && $attrs.templates['footer']\" :class=\"cx('footer')\" v-bind=\"getPTOptions('footer')\">\n <component :is=\"$attrs.templates['footer']\" />\n </div>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport TimesIcon from '@primevue/icons/times';\nimport Ripple from 'primevue/ripple';\nimport GalleriaItem from './GalleriaItem.vue';\nimport GalleriaThumbnails from './GalleriaThumbnails.vue';\n\nexport default {\n name: 'GalleriaContent',\n hostName: 'Galleria',\n extends: BaseComponent,\n inheritAttrs: false,\n interval: null,\n emits: ['activeitem-change', 'mask-hide'],\n data() {\n return {\n id: this.$attrs.id || UniqueComponentId(),\n activeIndex: this.$attrs.activeIndex,\n numVisible: this.$attrs.numVisible,\n slideShowActive: false\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n '$attrs.value': function (newVal) {\n if (newVal && newVal.length < this.numVisible) {\n this.numVisible = newVal.length;\n }\n },\n '$attrs.activeIndex': function (newVal) {\n this.activeIndex = newVal;\n },\n '$attrs.numVisible': function (newVal) {\n this.numVisible = newVal;\n },\n '$attrs.autoPlay': function (newVal) {\n newVal ? this.startSlideShow() : this.stopSlideShow();\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n },\n updated() {\n this.$emit('activeitem-change', this.activeIndex);\n },\n beforeUnmount() {\n if (this.slideShowActive) {\n this.stopSlideShow();\n }\n },\n methods: {\n getPTOptions(key) {\n return this.ptm(key, {\n props: {\n ...this.$attrs,\n pt: this.pt,\n unstyled: this.unstyled\n }\n });\n },\n isAutoPlayActive() {\n return this.slideShowActive;\n },\n startSlideShow() {\n this.interval = setInterval(() => {\n let activeIndex = this.$attrs.circular && this.$attrs.value.length - 1 === this.activeIndex ? 0 : this.activeIndex + 1;\n\n this.activeIndex = activeIndex;\n }, this.$attrs.transitionInterval);\n\n this.slideShowActive = true;\n },\n stopSlideShow() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.slideShowActive = false;\n },\n getPositionClass(preClassName, position) {\n const positions = ['top', 'left', 'bottom', 'right'];\n const pos = positions.find((item) => item === position);\n\n return pos ? `${preClassName}-${pos}` : '';\n },\n isVertical() {\n return this.$attrs.thumbnailsPosition === 'left' || this.$attrs.thumbnailsPosition === 'right';\n }\n },\n computed: {\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n components: {\n GalleriaItem: GalleriaItem,\n GalleriaThumbnails: GalleriaThumbnails,\n TimesIcon: TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div\n v-if=\"$attrs.value && $attrs.value.length > 0\"\n :id=\"id\"\n role=\"region\"\n :class=\"[cx('root'), $attrs.containerClass]\"\n :style=\"$attrs.containerStyle\"\n :aria-label=\"$attrs.ariaLabel\"\n :aria-roledescription=\"$attrs.ariaRoledescription\"\n v-bind=\"{ ...$attrs.containerProps, ...getPTOptions('root') }\"\n >\n <button v-if=\"$attrs.fullScreen\" v-ripple autofocus type=\"button\" :class=\"cx('closeButton')\" :aria-label=\"closeAriaLabel\" @click=\"$emit('mask-hide')\" v-bind=\"getPTOptions('closeButton')\">\n <component :is=\"$attrs.templates['closeicon'] || 'TimesIcon'\" :class=\"cx('closeIcon')\" v-bind=\"getPTOptions('closeIcon')\" />\n </button>\n <div v-if=\"$attrs.templates && $attrs.templates['header']\" :class=\"cx('header')\" v-bind=\"getPTOptions('header')\">\n <component :is=\"$attrs.templates['header']\" />\n </div>\n <div :class=\"cx('content')\" :aria-live=\"$attrs.autoPlay ? 'polite' : 'off'\" v-bind=\"getPTOptions('content')\">\n <GalleriaItem\n :id=\"id\"\n v-model:activeIndex=\"activeIndex\"\n v-model:slideShowActive=\"slideShowActive\"\n :value=\"$attrs.value\"\n :circular=\"$attrs.circular\"\n :templates=\"$attrs.templates\"\n :showIndicators=\"$attrs.showIndicators\"\n :changeItemOnIndicatorHover=\"$attrs.changeItemOnIndicatorHover\"\n :showItemNavigators=\"$attrs.showItemNavigators\"\n :autoPlay=\"$attrs.autoPlay\"\n @start-slideshow=\"startSlideShow\"\n @stop-slideshow=\"stopSlideShow\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n\n <GalleriaThumbnails\n v-if=\"$attrs.showThumbnails\"\n v-model:activeIndex=\"activeIndex\"\n v-model:slideShowActive=\"slideShowActive\"\n :containerId=\"id\"\n :value=\"$attrs.value\"\n :templates=\"$attrs.templates\"\n :numVisible=\"numVisible\"\n :responsiveOptions=\"$attrs.responsiveOptions\"\n :circular=\"$attrs.circular\"\n :isVertical=\"isVertical()\"\n :contentHeight=\"$attrs.verticalThumbnailViewPortHeight\"\n :showThumbnailNavigators=\"$attrs.showThumbnailNavigators\"\n :prevButtonProps=\"$attrs.prevButtonProps\"\n :nextButtonProps=\"$attrs.nextButtonProps\"\n @stop-slideshow=\"stopSlideShow\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n </div>\n <div v-if=\"$attrs.templates && $attrs.templates['footer']\" :class=\"cx('footer')\" v-bind=\"getPTOptions('footer')\">\n <component :is=\"$attrs.templates['footer']\" />\n </div>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport TimesIcon from '@primevue/icons/times';\nimport Ripple from 'primevue/ripple';\nimport GalleriaItem from './GalleriaItem.vue';\nimport GalleriaThumbnails from './GalleriaThumbnails.vue';\n\nexport default {\n name: 'GalleriaContent',\n hostName: 'Galleria',\n extends: BaseComponent,\n inheritAttrs: false,\n interval: null,\n emits: ['activeitem-change', 'mask-hide'],\n data() {\n return {\n id: this.$attrs.id || UniqueComponentId(),\n activeIndex: this.$attrs.activeIndex,\n numVisible: this.$attrs.numVisible,\n slideShowActive: false\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n '$attrs.value': function (newVal) {\n if (newVal && newVal.length < this.numVisible) {\n this.numVisible = newVal.length;\n }\n },\n '$attrs.activeIndex': function (newVal) {\n this.activeIndex = newVal;\n },\n '$attrs.numVisible': function (newVal) {\n this.numVisible = newVal;\n },\n '$attrs.autoPlay': function (newVal) {\n newVal ? this.startSlideShow() : this.stopSlideShow();\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n },\n updated() {\n this.$emit('activeitem-change', this.activeIndex);\n },\n beforeUnmount() {\n if (this.slideShowActive) {\n this.stopSlideShow();\n }\n },\n methods: {\n getPTOptions(key) {\n return this.ptm(key, {\n props: {\n ...this.$attrs,\n pt: this.pt,\n unstyled: this.unstyled\n }\n });\n },\n isAutoPlayActive() {\n return this.slideShowActive;\n },\n startSlideShow() {\n this.interval = setInterval(() => {\n let activeIndex = this.$attrs.circular && this.$attrs.value.length - 1 === this.activeIndex ? 0 : this.activeIndex + 1;\n\n this.activeIndex = activeIndex;\n }, this.$attrs.transitionInterval);\n\n this.slideShowActive = true;\n },\n stopSlideShow() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.slideShowActive = false;\n },\n getPositionClass(preClassName, position) {\n const positions = ['top', 'left', 'bottom', 'right'];\n const pos = positions.find((item) => item === position);\n\n return pos ? `${preClassName}-${pos}` : '';\n },\n isVertical() {\n return this.$attrs.thumbnailsPosition === 'left' || this.$attrs.thumbnailsPosition === 'right';\n }\n },\n computed: {\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n components: {\n GalleriaItem: GalleriaItem,\n GalleriaThumbnails: GalleriaThumbnails,\n TimesIcon: TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <Portal v-if=\"fullScreen\">\n <div v-if=\"containerVisible\" :ref=\"maskRef\" :class=\"[cx('mask'), maskClass]\" role=\"dialog\" :aria-modal=\"fullScreen ? 'true' : undefined\" v-bind=\"ptm('mask')\">\n <transition name=\"p-galleria\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @before-leave=\"onBeforeLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <GalleriaContent v-if=\"visible\" :ref=\"containerRef\" v-focustrap @mask-hide=\"maskHide\" :templates=\"$slots\" @activeitem-change=\"onActiveItemChange\" :pt=\"pt\" :unstyled=\"unstyled\" v-bind=\"$props\" />\n </transition>\n </div>\n </Portal>\n <GalleriaContent v-else :templates=\"$slots\" @activeitem-change=\"onActiveItemChange\" :pt=\"pt\" :unstyled=\"unstyled\" v-bind=\"$props\" />\n</template>\n\n<script>\nimport { unblockBodyScroll, blockBodyScroll, addClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport BaseGalleria from './BaseGalleria.vue';\nimport GalleriaContent from './GalleriaContent.vue';\n\nexport default {\n name: 'Galleria',\n extends: BaseGalleria,\n inheritAttrs: false,\n emits: ['update:activeIndex', 'update:visible'],\n container: null,\n mask: null,\n data() {\n return {\n containerVisible: this.visible\n };\n },\n updated() {\n if (this.fullScreen && this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n if (this.fullScreen) {\n unblockBodyScroll();\n }\n\n this.mask = null;\n\n if (this.container) {\n ZIndex.clear(this.container);\n this.container = null;\n }\n },\n methods: {\n onBeforeEnter(el) {\n ZIndex.set('modal', el, this.baseZIndex || this.$primevue.config.zIndex.modal);\n },\n onEnter(el) {\n this.mask.style.zIndex = String(parseInt(el.style.zIndex, 10) - 1);\n blockBodyScroll();\n this.focus();\n },\n onBeforeLeave() {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n },\n onAfterLeave(el) {\n ZIndex.clear(el);\n this.containerVisible = false;\n unblockBodyScroll();\n },\n onActiveItemChange(index) {\n if (this.activeIndex !== index) {\n this.$emit('update:activeIndex', index);\n }\n },\n maskHide() {\n this.$emit('update:visible', false);\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n focus() {\n let focusTarget = this.container.$el.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n }\n },\n components: {\n GalleriaContent: GalleriaContent,\n Portal: Portal\n },\n directives: {\n focustrap: FocusTrap\n }\n};\n</script>\n","<template>\n <Portal v-if=\"fullScreen\">\n <div v-if=\"containerVisible\" :ref=\"maskRef\" :class=\"[cx('mask'), maskClass]\" role=\"dialog\" :aria-modal=\"fullScreen ? 'true' : undefined\" v-bind=\"ptm('mask')\">\n <transition name=\"p-galleria\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @before-leave=\"onBeforeLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <GalleriaContent v-if=\"visible\" :ref=\"containerRef\" v-focustrap @mask-hide=\"maskHide\" :templates=\"$slots\" @activeitem-change=\"onActiveItemChange\" :pt=\"pt\" :unstyled=\"unstyled\" v-bind=\"$props\" />\n </transition>\n </div>\n </Portal>\n <GalleriaContent v-else :templates=\"$slots\" @activeitem-change=\"onActiveItemChange\" :pt=\"pt\" :unstyled=\"unstyled\" v-bind=\"$props\" />\n</template>\n\n<script>\nimport { unblockBodyScroll, blockBodyScroll, addClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport BaseGalleria from './BaseGalleria.vue';\nimport GalleriaContent from './GalleriaContent.vue';\n\nexport default {\n name: 'Galleria',\n extends: BaseGalleria,\n inheritAttrs: false,\n emits: ['update:activeIndex', 'update:visible'],\n container: null,\n mask: null,\n data() {\n return {\n containerVisible: this.visible\n };\n },\n updated() {\n if (this.fullScreen && this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n if (this.fullScreen) {\n unblockBodyScroll();\n }\n\n this.mask = null;\n\n if (this.container) {\n ZIndex.clear(this.container);\n this.container = null;\n }\n },\n methods: {\n onBeforeEnter(el) {\n ZIndex.set('modal', el, this.baseZIndex || this.$primevue.config.zIndex.modal);\n },\n onEnter(el) {\n this.mask.style.zIndex = String(parseInt(el.style.zIndex, 10) - 1);\n blockBodyScroll();\n this.focus();\n },\n onBeforeLeave() {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n },\n onAfterLeave(el) {\n ZIndex.clear(el);\n this.containerVisible = false;\n unblockBodyScroll();\n },\n onActiveItemChange(index) {\n if (this.activeIndex !== index) {\n this.$emit('update:activeIndex', index);\n }\n },\n maskHide() {\n this.$emit('update:visible', false);\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n focus() {\n let focusTarget = this.container.$el.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n }\n },\n components: {\n GalleriaContent: GalleriaContent,\n Portal: Portal\n },\n directives: {\n focustrap: FocusTrap\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","id","type","String","value","Array","activeIndex","Number","fullScreen","Boolean","visible","numVisible","responsiveOptions","showItemNavigators","showThumbnailNavigators","showItemNavigatorsOnHover","changeItemOnIndicatorHover","circular","autoPlay","transitionInterval","showThumbnails","thumbnailsPosition","verticalThumbnailViewPortHeight","showIndicators","showIndicatorsOnItem","indicatorsPosition","baseZIndex","maskClass","containerStyle","containerClass","containerProps","prevButtonProps","nextButtonProps","ariaLabel","ariaRoledescription","style","GalleriaStyle","provide","$pcGalleria","$parentInstance","hostName","emits","slideShowActive","templates","mounted","$emit","methods","getIndicatorPTOptions","index","context","highlighted","next","nextItemIndex","length","prev","prevItemIndex","stopSlideShow","navBackward","e","cancelable","preventDefault","navForward","onIndicatorClick","onIndicatorMouseEnter","onIndicatorKeyDown","event","code","onRightKey","onLeftKey","onHomeKey","onEndKey","onTabKey","indicators","_toConsumableArray","find","$refs","indicatorContent","findFocusedIndicatorIndex","changedFocusedIndicator","highlightedIndex","findIndex","ind","getAttribute","activeIndicator","findSingle","parentElement","children","tabIndex","prevInd","nextInd","focus","isIndicatorItemActive","isNavBackwardDisabled","isNavForwardDisabled","ariaSlideNumber","$primevue","config","locale","aria","slideNumber","replace","undefined","ariaPageLabel","pageLabel","computed","activeItem","ariaSlideLabel","slide","components","ChevronLeftIcon","ChevronRightIcon","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptm","_createElementVNode","$props","_withDirectives","onClick","_cache","$event","$options","disabled","_createBlock","_resolveDynamicComponent","previousitemicon","role","item","nextitemicon","caption","ref","_Fragment","_renderList","key","concat","onMouseenter","onKeydown","tabindex","_hoisted_5","indicator","containerId","isVertical","contentHeight","startPos","thumbnailsStyle","sortedResponsiveOptions","data","d_numVisible","d_oldNumVisible","d_activeIndex","d_oldActiveItemIndex","totalShiftedItems","page","watch","newValue","oldValue","createStyle","calculatePosition","bindDocumentListeners","updated","getMedianItemIndex","itemsContainer","transform","document","body","setAttribute","isUnstyled","removeClass","transition","beforeUnmount","unbindDocumentListeners","parentNode","removeChild","step","dir","Math","floor","diff","getTotalPageNumber","onItemClick","selectedItemIndex","onThumbnailKeydown","onTransitionEnd","propertyName","addClass","onTouchStart","touchobj","changedTouches","x","pageX","y","pageY","onTouchMove","onTouchEnd","changePageOnTouch","_this$$primevue","createElement","csp","nonce","appendChild","innerHTML","comparer","localeComparator","sort","data1","data2","value1","breakpoint","value2","i","res","windowWidth","window","innerWidth","matchedResponsiveData","parseInt","_this","documentResizeListener","addEventListener","removeEventListener","firstItemAciveIndex","lastItemActiveIndex","isItemActive","ariaPrevButtonLabel","prevPageLabel","ariaNextButtonLabel","nextPageLabel","ChevronUpIcon","ChevronDownIcon","_objectSpread","previousthumbnailicon","height","onTransitionend","onTouchstart","onTouchmove","onTouchend","thumbnail","nextthumbnailicon","inheritAttrs","interval","$attrs","UniqueComponentId","$attrsId","$attrsValue","newVal","$attrsActiveIndex","$attrsNumVisible","$attrsAutoPlay","startSlideShow","getPTOptions","pt","unstyled","isAutoPlayActive","setInterval","clearInterval","getPositionClass","preClassName","position","positions","pos","closeAriaLabel","close","GalleriaItem","GalleriaThumbnails","TimesIcon","$data","autofocus","_createVNode","_component_GalleriaItem","onStartSlideshow","onStopSlideshow","_component_GalleriaThumbnails","BaseGalleria","container","mask","containerVisible","unblockBodyScroll","ZIndex","clear","onBeforeEnter","el","set","zIndex","modal","onEnter","blockBodyScroll","onBeforeLeave","onAfterLeave","onActiveItemChange","maskHide","containerRef","maskRef","focusTarget","$el","querySelector","GalleriaContent","Portal","focustrap","FocusTrap","_component_Portal","_Transition","appear","_component_GalleriaContent","onMaskHide","$slots","onActiveitemChange"],"mappings":"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"}