1 line
138 KiB
Plaintext
1 line
138 KiB
Plaintext
{"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=3371d572&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\" @leave=\"onLeave\" @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\"\n 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, focus } 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 documentKeydownListener: null,\n data() {\n return {\n containerVisible: this.visible,\n target: null\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.target = document.activeElement;\n this.mask.style.zIndex = String(parseInt(el.style.zIndex, 10) - 1);\n blockBodyScroll();\n this.focus();\n this.bindGlobalListeners();\n },\n onBeforeLeave() {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave-active');\n },\n onLeave() {\n focus(this.target);\n this.target = null;\n },\n onAfterLeave(el) {\n ZIndex.clear(el);\n this.containerVisible = false;\n unblockBodyScroll();\n this.unbindGlobalListeners();\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 onKeyDown(event) {\n if (event.code === 'Escape') {\n this.maskHide();\n }\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeyDown.bind(this);\n window.document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n window.document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindGlobalListeners() {\n if (this.fullScreen) {\n this.bindDocumentKeyDownListener();\n }\n },\n unbindGlobalListeners() {\n if (this.fullScreen) {\n this.unbindDocumentKeyDownListener();\n }\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\" @leave=\"onLeave\" @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\"\n 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, focus } 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 documentKeydownListener: null,\n data() {\n return {\n containerVisible: this.visible,\n target: null\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.target = document.activeElement;\n this.mask.style.zIndex = String(parseInt(el.style.zIndex, 10) - 1);\n blockBodyScroll();\n this.focus();\n this.bindGlobalListeners();\n },\n onBeforeLeave() {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave-active');\n },\n onLeave() {\n focus(this.target);\n this.target = null;\n },\n onAfterLeave(el) {\n ZIndex.clear(el);\n this.containerVisible = false;\n unblockBodyScroll();\n this.unbindGlobalListeners();\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 onKeyDown(event) {\n if (event.code === 'Escape') {\n this.maskHide();\n }\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeyDown.bind(this);\n window.document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n window.document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindGlobalListeners() {\n if (this.fullScreen) {\n this.bindDocumentKeyDownListener();\n }\n },\n unbindGlobalListeners() {\n if (this.fullScreen) {\n this.unbindDocumentKeyDownListener();\n }\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","documentKeydownListener","containerVisible","target","unblockBodyScroll","ZIndex","clear","onBeforeEnter","el","set","zIndex","modal","onEnter","activeElement","blockBodyScroll","bindGlobalListeners","onBeforeLeave","onLeave","onAfterLeave","unbindGlobalListeners","onActiveItemChange","maskHide","containerRef","maskRef","onKeyDown","bindDocumentKeyDownListener","bind","unbindDocumentKeyDownListener","focusTarget","$el","querySelector","GalleriaContent","Portal","focustrap","FocusTrap","_component_Portal","_Transition","appear","_component_GalleriaContent","onMaskHide","$slots","onActiveitemChange"],"mappings":"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"} |