primevue 4.3.0 → 4.3.2
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.
- package/accordionheader/AccordionHeader.vue +8 -2
- package/accordionheader/index.mjs +8 -1
- package/accordionheader/index.mjs.map +1 -1
- package/autocomplete/AutoComplete.vue +16 -6
- package/autocomplete/index.d.ts +3 -3
- package/autocomplete/index.mjs +17 -4
- package/autocomplete/index.mjs.map +1 -1
- package/avatar/Avatar.vue +13 -4
- package/avatar/index.d.ts +3 -3
- package/avatar/index.mjs +26 -6
- package/avatar/index.mjs.map +1 -1
- package/badge/Badge.vue +13 -2
- package/badge/index.d.ts +1 -1
- package/badge/index.mjs +18 -3
- package/badge/index.mjs.map +1 -1
- package/blockui/BlockUI.vue +15 -4
- package/blockui/index.mjs +13 -4
- package/blockui/index.mjs.map +1 -1
- package/button/Button.vue +30 -3
- package/button/index.d.ts +3 -7
- package/button/index.mjs +28 -9
- package/button/index.mjs.map +1 -1
- package/cascadeselect/index.d.ts +2 -2
- package/checkbox/Checkbox.vue +14 -4
- package/checkbox/index.d.ts +2 -2
- package/checkbox/index.mjs +27 -6
- package/checkbox/index.mjs.map +1 -1
- package/chip/Chip.vue +9 -1
- package/chip/index.mjs +12 -2
- package/chip/index.mjs.map +1 -1
- package/colorpicker/ColorPicker.vue +10 -2
- package/colorpicker/index.d.ts +1 -1
- package/colorpicker/index.mjs +9 -2
- package/colorpicker/index.mjs.map +1 -1
- package/column/index.d.ts +3 -3
- package/columngroup/index.d.ts +2 -2
- package/confirmationoptions/index.d.ts +1 -1
- package/confirmpopup/ConfirmPopup.vue +2 -2
- package/confirmpopup/index.mjs +2 -2
- package/confirmpopup/index.mjs.map +1 -1
- package/datatable/BodyCell.vue +3 -1
- package/datatable/BodyRow.vue +2 -0
- package/datatable/index.d.ts +10 -10
- package/datatable/index.mjs +7 -2
- package/datatable/index.mjs.map +1 -1
- package/dataview/index.d.ts +3 -3
- package/datepicker/DatePicker.vue +1 -3
- package/datepicker/index.d.ts +6 -6
- package/datepicker/index.mjs +21 -24
- package/datepicker/index.mjs.map +1 -1
- package/dialog/Dialog.vue +48 -39
- package/dialog/index.d.ts +26 -1
- package/dialog/index.mjs +73 -50
- package/dialog/index.mjs.map +1 -1
- package/divider/Divider.vue +13 -3
- package/divider/index.d.ts +4 -4
- package/divider/index.mjs +18 -5
- package/divider/index.mjs.map +1 -1
- package/dock/index.d.ts +4 -4
- package/drawer/index.d.ts +2 -2
- package/fieldset/Fieldset.vue +8 -2
- package/fieldset/index.mjs +20 -10
- package/fieldset/index.mjs.map +1 -1
- package/fileupload/index.d.ts +2 -2
- package/floatlabel/index.d.ts +2 -2
- package/galleria/GalleriaItem.vue +8 -9
- package/galleria/index.d.ts +3 -3
- package/galleria/index.mjs +8 -8
- package/galleria/index.mjs.map +1 -1
- package/inputchips/index.d.ts +2 -2
- package/inputmask/InputMask.vue +15 -1
- package/inputmask/index.d.ts +3 -3
- package/inputmask/index.mjs +12 -1
- package/inputmask/index.mjs.map +1 -1
- package/inputnumber/InputNumber.vue +28 -6
- package/inputnumber/index.d.ts +6 -6
- package/inputnumber/index.mjs +43 -19
- package/inputnumber/index.mjs.map +1 -1
- package/inputotp/index.d.ts +3 -3
- package/inputtext/InputText.vue +10 -1
- package/inputtext/index.d.ts +3 -3
- package/inputtext/index.mjs +14 -1
- package/inputtext/index.mjs.map +1 -1
- package/knob/Knob.vue +1 -1
- package/knob/index.mjs +1 -1
- package/knob/index.mjs.map +1 -1
- package/megamenu/index.d.ts +2 -2
- package/message/Message.vue +16 -7
- package/message/index.d.ts +2 -2
- package/message/index.mjs +35 -13
- package/message/index.mjs.map +1 -1
- package/multiselect/MultiSelect.vue +5 -1
- package/multiselect/index.d.ts +3 -3
- package/multiselect/index.mjs +4 -1
- package/multiselect/index.mjs.map +1 -1
- package/organizationchart/index.d.ts +2 -2
- package/overlaybadge/index.d.ts +1 -1
- package/package.json +3 -3
- package/panel/Panel.vue +29 -22
- package/panel/index.d.ts +22 -2
- package/panel/index.mjs +55 -31
- package/panel/index.mjs.map +1 -1
- package/password/index.d.ts +2 -2
- package/popover/Popover.vue +2 -2
- package/popover/index.mjs +2 -2
- package/popover/index.mjs.map +1 -1
- package/progressbar/ProgressBar.vue +11 -4
- package/progressbar/index.mjs +24 -6
- package/progressbar/index.mjs.map +1 -1
- package/radiobutton/RadioButton.vue +13 -3
- package/radiobutton/index.d.ts +3 -3
- package/radiobutton/index.mjs +24 -4
- package/radiobutton/index.mjs.map +1 -1
- package/rating/Rating.vue +19 -2
- package/rating/index.mjs +28 -7
- package/rating/index.mjs.map +1 -1
- package/scrolltop/index.d.ts +2 -2
- package/select/Select.vue +8 -4
- package/select/index.d.ts +2 -2
- package/select/index.mjs +9 -5
- package/select/index.mjs.map +1 -1
- package/selectbutton/SelectButton.vue +26 -9
- package/selectbutton/index.d.ts +2 -2
- package/selectbutton/index.mjs +30 -10
- package/selectbutton/index.mjs.map +1 -1
- package/skeleton/Skeleton.vue +7 -1
- package/skeleton/index.d.ts +3 -3
- package/skeleton/index.mjs +12 -1
- package/skeleton/index.mjs.map +1 -1
- package/slider/Slider.vue +11 -2
- package/slider/index.d.ts +2 -2
- package/slider/index.mjs +27 -8
- package/slider/index.mjs.map +1 -1
- package/speeddial/index.d.ts +5 -5
- package/splitbutton/index.d.ts +1 -1
- package/splitter/index.d.ts +3 -3
- package/stepper/index.d.ts +4 -0
- package/tab/Tab.vue +8 -2
- package/tab/index.mjs +9 -1
- package/tab/index.mjs.map +1 -1
- package/tablist/TabList.vue +10 -2
- package/tablist/index.mjs +20 -8
- package/tablist/index.mjs.map +1 -1
- package/tag/Tag.vue +11 -2
- package/tag/index.mjs +17 -3
- package/tag/index.mjs.map +1 -1
- package/textarea/Textarea.vue +10 -1
- package/textarea/index.d.ts +3 -3
- package/textarea/index.mjs +14 -1
- package/textarea/index.mjs.map +1 -1
- package/timeline/Timeline.vue +16 -7
- package/timeline/index.d.ts +3 -3
- package/timeline/index.mjs +42 -11
- package/timeline/index.mjs.map +1 -1
- package/toast/Toast.vue +10 -1
- package/toast/ToastMessage.vue +29 -19
- package/toast/index.d.ts +2 -2
- package/toast/index.mjs +77 -38
- package/toast/index.mjs.map +1 -1
- package/togglebutton/ToggleButton.vue +10 -1
- package/togglebutton/index.d.ts +3 -3
- package/togglebutton/index.mjs +19 -4
- package/togglebutton/index.mjs.map +1 -1
- package/toggleswitch/ToggleSwitch.vue +11 -3
- package/toggleswitch/index.mjs +20 -5
- package/toggleswitch/index.mjs.map +1 -1
- package/tooltip/index.mjs +0 -6
- package/tooltip/index.mjs.map +1 -1
- package/tree/index.d.ts +3 -3
- package/treeselect/index.d.ts +6 -6
- package/treetable/index.d.ts +7 -7
- package/treetable/style/index.mjs +2 -3
- package/treetable/style/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -1
- package/virtualscroller/index.d.ts +2 -2
- package/web-types.json +1 -1
package/galleria/index.mjs.map
CHANGED
|
@@ -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=33a5e50e&lang.js","../../src/galleria/GalleriaThumbnails.vue","../../src/galleria/GalleriaThumbnails.vue?vue&type=template&id=7620fc09&lang.js","../../src/galleria/GalleriaContent.vue","../../src/galleria/GalleriaContent.vue?vue&type=template&id=ad149006&lang.js","../../src/galleria/Galleria.vue","../../src/galleria/Galleria.vue?vue&type=template&id=20c834ec&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\" :activeIndex=\"activeIndex\" :tabindex=\"activeIndex === index ? '0' : '-1'\" />\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\"] > [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\"] > [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\" :activeIndex=\"activeIndex\" :tabindex=\"activeIndex === index ? '0' : '-1'\" />\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\"] > [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\"] > [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 const touchThreshold = 10\n\n if(Math.abs(diff) < touchThreshold) {\n // only a click/tap\n return;\n }\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\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 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 },\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 const touchThreshold = 10\n\n if(Math.abs(diff) < touchThreshold) {\n // only a click/tap\n return;\n }\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\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 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 },\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 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 activeIndex: this.$attrs.activeIndex,\n numVisible: this.$attrs.numVisible,\n slideShowActive: false\n };\n },\n watch: {\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 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 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 activeIndex: this.$attrs.activeIndex,\n numVisible: this.$attrs.numVisible,\n slideShowActive: false\n };\n },\n watch: {\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 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 { addClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\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 { addClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\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","touchThreshold","abs","_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","$attrsValue","newVal","$attrsActiveIndex","$attrsNumVisible","$attrsAutoPlay","startSlideShow","getPTOptions","pt","unstyled","isAutoPlayActive","setInterval","clearInterval","getPositionClass","preClassName","position","positions","pos","closeAriaLabel","close","GalleriaItem","GalleriaThumbnails","TimesIcon","$id","autofocus","_createVNode","_component_GalleriaItem","$data","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=7a6d5c4d&lang.js","../../src/galleria/GalleriaThumbnails.vue","../../src/galleria/GalleriaThumbnails.vue?vue&type=template&id=7620fc09&lang.js","../../src/galleria/GalleriaContent.vue","../../src/galleria/GalleriaContent.vue?vue&type=template&id=ad149006&lang.js","../../src/galleria/Galleria.vue","../../src/galleria/Galleria.vue?vue&type=template&id=20c834ec&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\" :activeIndex=\"activeIndex\" :tabindex=\"activeIndex === index ? '0' : '-1'\" />\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\"] > [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\"] > [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 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 ariaSlideLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slide : undefined;\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 },\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\" :activeIndex=\"activeIndex\" :tabindex=\"activeIndex === index ? '0' : '-1'\" />\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\"] > [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\"] > [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 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 ariaSlideLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slide : undefined;\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 },\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 const touchThreshold = 10\n\n if(Math.abs(diff) < touchThreshold) {\n // only a click/tap\n return;\n }\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\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 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 },\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 const touchThreshold = 10\n\n if(Math.abs(diff) < touchThreshold) {\n // only a click/tap\n return;\n }\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\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 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 },\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 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 activeIndex: this.$attrs.activeIndex,\n numVisible: this.$attrs.numVisible,\n slideShowActive: false\n };\n },\n watch: {\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 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 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 activeIndex: this.$attrs.activeIndex,\n numVisible: this.$attrs.numVisible,\n slideShowActive: false\n };\n },\n watch: {\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 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 { addClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\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 { addClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\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","ariaSlideNumber","$primevue","config","locale","aria","slideNumber","replace","undefined","ariaPageLabel","pageLabel","computed","activeItem","ariaSlideLabel","slide","isNavBackwardDisabled","isNavForwardDisabled","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","touchThreshold","abs","_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","$attrsValue","newVal","$attrsActiveIndex","$attrsNumVisible","$attrsAutoPlay","startSlideShow","getPTOptions","pt","unstyled","isAutoPlayActive","setInterval","clearInterval","getPositionClass","preClassName","position","positions","pos","closeAriaLabel","close","GalleriaItem","GalleriaThumbnails","TimesIcon","$id","autofocus","_createVNode","_component_GalleriaItem","$data","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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"}
|