primeng 19.0.1 → 19.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/autocomplete/autocomplete.d.ts +1 -1
  2. package/cascadeselect/cascadeselect.d.ts +1 -1
  3. package/dropdown/dropdown.d.ts +2 -1
  4. package/dynamicdialog/dialogservice.d.ts +1 -1
  5. package/dynamicdialog/dynamicdialog-config.d.ts +7 -2
  6. package/dynamicdialog/dynamicdialog.d.ts +5 -4
  7. package/fesm2022/primeng-autocomplete.mjs +5 -5
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-breadcrumb.mjs +76 -70
  10. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  11. package/fesm2022/primeng-button.mjs +3 -3
  12. package/fesm2022/primeng-button.mjs.map +1 -1
  13. package/fesm2022/primeng-calendar.mjs +2 -2
  14. package/fesm2022/primeng-calendar.mjs.map +1 -1
  15. package/fesm2022/primeng-carousel.mjs +14 -5
  16. package/fesm2022/primeng-carousel.mjs.map +1 -1
  17. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  18. package/fesm2022/primeng-confirmdialog.mjs +1 -1
  19. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  20. package/fesm2022/primeng-datepicker.mjs +2 -2
  21. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  22. package/fesm2022/primeng-dialog.mjs +1 -0
  23. package/fesm2022/primeng-dialog.mjs.map +1 -1
  24. package/fesm2022/primeng-dock.mjs +90 -80
  25. package/fesm2022/primeng-dock.mjs.map +1 -1
  26. package/fesm2022/primeng-dropdown.mjs +8 -15
  27. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  28. package/fesm2022/primeng-dynamicdialog.mjs +19 -6
  29. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  30. package/fesm2022/primeng-fileupload.mjs +2 -2
  31. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  32. package/fesm2022/primeng-galleria.mjs +229 -86
  33. package/fesm2022/primeng-galleria.mjs.map +1 -1
  34. package/fesm2022/primeng-inputnumber.mjs +1 -1
  35. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  36. package/fesm2022/primeng-inputotp.mjs +17 -8
  37. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  38. package/fesm2022/primeng-listbox.mjs +23 -12
  39. package/fesm2022/primeng-listbox.mjs.map +1 -1
  40. package/fesm2022/primeng-menu.mjs +38 -48
  41. package/fesm2022/primeng-menu.mjs.map +1 -1
  42. package/fesm2022/primeng-multiselect.mjs +48 -24
  43. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  44. package/fesm2022/primeng-paginator.mjs +5 -1
  45. package/fesm2022/primeng-paginator.mjs.map +1 -1
  46. package/fesm2022/primeng-panel.mjs +58 -52
  47. package/fesm2022/primeng-panel.mjs.map +1 -1
  48. package/fesm2022/primeng-popover.mjs +10 -19
  49. package/fesm2022/primeng-popover.mjs.map +1 -1
  50. package/fesm2022/primeng-select.mjs +15 -21
  51. package/fesm2022/primeng-select.mjs.map +1 -1
  52. package/fesm2022/primeng-splitter.mjs +28 -14
  53. package/fesm2022/primeng-splitter.mjs.map +1 -1
  54. package/fesm2022/primeng-steps.mjs +100 -90
  55. package/fesm2022/primeng-steps.mjs.map +1 -1
  56. package/fesm2022/primeng-table.mjs +2 -2
  57. package/fesm2022/primeng-table.mjs.map +1 -1
  58. package/fesm2022/primeng-tag.mjs +0 -1
  59. package/fesm2022/primeng-tag.mjs.map +1 -1
  60. package/fesm2022/primeng-togglebutton.mjs +3 -3
  61. package/fesm2022/primeng-tree.mjs +15 -11
  62. package/fesm2022/primeng-tree.mjs.map +1 -1
  63. package/fesm2022/primeng-treetable.mjs +385 -175
  64. package/fesm2022/primeng-treetable.mjs.map +1 -1
  65. package/galleria/galleria.d.ts +18 -1
  66. package/inputotp/inputotp.d.ts +1 -0
  67. package/package.json +173 -173
  68. package/popover/popover.d.ts +1 -7
  69. package/select/select.d.ts +1 -0
  70. package/splitter/splitter.d.ts +2 -1
  71. package/tag/tag.d.ts +0 -1
  72. package/togglebutton/public_api.d.ts +2 -1
  73. package/treetable/treetable.d.ts +28 -1
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-galleria.mjs","sources":["../../src/galleria/style/galleriastyle.ts","../../src/galleria/galleria.ts","../../src/galleria/primeng-galleria.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-galleria {\n overflow: hidden;\n border-style: solid;\n border-width: ${dt('galleria.border.width')};\n border-color: ${dt('galleria.border.color')};\n border-radius: ${dt('galleria.border.radius')};\n}\n\n.p-galleria-content {\n display: flex;\n flex-direction: column;\n}\n\n.p-galleria-items-container {\n display: flex;\n flex-direction: column;\n position: relative;\n}\n\n.p-galleria-items {\n position: relative;\n display: flex;\n height: 100%;\n}\n\n.p-galleria-nav-button {\n position: absolute;\n top: 50%;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n background: ${dt('galleria.nav.button.background')};\n color: ${dt('galleria.nav.button.color')};\n width: ${dt('galleria.nav.button.size')};\n height: ${dt('galleria.nav.button.size')};\n transition: background ${dt('galleria.transition.duration')}, color ${dt('galleria.transition.duration')}, outline-color ${dt('galleria.transition.duration')}, box-shadow ${dt('galleria.transition.duration')};\n margin: calc(-1 * calc(${dt('galleria.nav.button.size')}) / 2) ${dt('galleria.nav.button.gutter')} 0 ${dt('galleria.nav.button.gutter')};\n padding: 0;\n user-select: none;\n border: 0 none;\n cursor: pointer;\n outline-color: transparent;\n}\n\n.p-galleria-nav-button:not(.p-disabled):hover {\n background: ${dt('galleria.nav.button.hover.background')};\n color: ${dt('galleria.nav.button.hover.color')};\n}\n\n.p-galleria-nav-button:not(.p-disabled):focus-visible {\n box-shadow: ${dt('galleria.nav.button.focus.ring.shadow')};\n outline: ${dt('galleria.nav.button.focus.ring.width')} ${dt('galleria.nav.button.focus.ring.style')} ${dt('galleria.nav.button.focus.ring.color')};\n outline-offset: ${dt('galleria.nav.button.focus.ring.offset')};\n}\n\n.p-galleria-next-icon,\n.p-galleria-prev-icon {\n font-size: ${dt('galleria.nav.icon.size')};\n width: ${dt('galleria.nav.icon.size')};\n height: ${dt('galleria.nav.icon.size')};\n}\n\n.p-galleria-prev-button {\n border-radius: ${dt('galleria.nav.button.prev.border.radius')};\n left: 0;\n}\n\n.p-galleria-next-button {\n border-radius: ${dt('galleria.nav.button.next.border.radius')};\n right: 0;\n}\n\n.p-galleria-prev-button:dir(rtl) {\n left: auto;\n right: 0;\n transform: rotate(180deg);\n}\n\n.p-galleria-next-button:dir(rtl) {\n right: auto;\n left: 0;\n transform: rotate(180deg);\n}\n\n.p-galleria-item {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n}\n\n.p-galleria-hover-navigators .p-galleria-nav-button {\n pointer-events: none;\n opacity: 0;\n transition: opacity ${dt('galleria.transition.duration')} ease-in-out;\n}\n\n.p-galleria-hover-navigators .p-galleria-items-container:hover .p-galleria-nav-button {\n pointer-events: all;\n opacity: 1;\n}\n\n.p-galleria-hover-navigators .p-galleria-items-container:hover .p-galleria-nav-button.p-disabled {\n pointer-events: none;\n}\n\n.p-galleria-caption {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n background: ${dt('galleria.caption.background')};\n color: ${dt('galleria.caption.color')};\n padding: ${dt('galleria.caption.padding')};\n}\n\n.p-galleria-thumbnails {\n display: flex;\n flex-direction: column;\n overflow: auto;\n flex-shrink: 0;\n}\n\n.p-galleria-thumbnail-nav-button {\n align-self: center;\n flex: 0 0 auto;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n margin: 0 ${dt('galleria.thumbnail.nav.button.gutter')};\n padding: 0;\n border: none;\n user-select: none;\n cursor: pointer;\n background: transparent;\n color: ${dt('galleria.thumbnail.nav.button.color')};\n width: ${dt('galleria.thumbnail.nav.button.size')};\n height: ${dt('galleria.thumbnail.nav.button.size')};\n transition: background ${dt('galleria.transition.duration')}, color ${dt('galleria.transition.duration')}, outline-color ${dt('galleria.transition.duration')};\n outline-color: transparent;\n border-radius: ${dt('galleria.thumbnail.nav.button.border.radius')};\n}\n\n.p-galleria-thumbnail-nav-button:hover {\n background: ${dt('galleria.thumbnail.nav.button.hover.background')};\n color: ${dt('galleria.thumbnail.nav.button.hover.color')};\n}\n\n.p-galleria-thumbnail-nav-button:focus-visible {\n box-shadow: ${dt('galleria.thumbnail.nav.button.focus.ring.shadow')};\n outline: ${dt('galleria.thumbnail.nav.button.focus.ring.width')} ${dt('galleria.thumbnail.nav.button.focus.ring.style')} ${dt('galleria.thumbnail.nav.button.focus.ring.color')};\n outline-offset: ${dt('galleria.thumbnail.nav.button.focus.ring.offset')};\n}\n\n.p-galleria-thumbnail-nav-button .p-galleria-thumbnail-next-icon,\n.p-galleria-thumbnail-nav-button .p-galleria-thumbnail-prev-icon {\n font-size: ${dt('galleria.thumbnail.nav.button.icon.size')};\n width: ${dt('galleria.thumbnail.nav.button.icon.size')};\n height: ${dt('galleria.thumbnail.nav.button.icon.size')};\n}\n\n.p-galleria-thumbnails-content {\n display: flex;\n flex-direction: row;\n background: ${dt('galleria.thumbnails.content.background')};\n padding: ${dt('galleria.thumbnails.content.padding')};\n}\n\n.p-galleria-thumbnails-viewport {\n overflow: hidden;\n width: 100%;\n}\n\n.p-galleria:not(.p-galleria-thumbnails-right):not(.p-galleria-thumbnails-left) .p-galleria-thumbnail-prev-button:dir(rtl),\n.p-galleria:not(.p-galleria-thumbnails-right):not(.p-galleria-thumbnails-left) .p-galleria-thumbnail-next-button:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-galleria-thumbnail-items {\n display: flex;\n}\n\n.p-galleria-thumbnail-item {\n overflow: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n opacity: 0.5;\n}\n\n.p-galleria-thumbnail {\n outline-color: transparent;\n}\n\n.p-galleria-thumbnail-item:hover {\n opacity: 1;\n transition: opacity 0.3s;\n}\n\n.p-galleria-thumbnail-item-current {\n opacity: 1;\n}\n\n.p-galleria-thumbnails-left .p-galleria-content,\n.p-galleria-thumbnails-right .p-galleria-content {\n flex-direction: row;\n}\n\n.p-galleria-thumbnails-left .p-galleria-items-container,\n.p-galleria-thumbnails-right .p-galleria-items-container {\n flex-direction: row;\n}\n\n.p-galleria-thumbnails-left .p-galleria-items-container,\n.p-galleria-thumbnails-top .p-galleria-items-container {\n order: 2;\n}\n\n.p-galleria-thumbnails-left .p-galleria-thumbnails,\n.p-galleria-thumbnails-top .p-galleria-thumbnails {\n order: 1;\n}\n\n.p-galleria-thumbnails-left .p-galleria-thumbnails-content,\n.p-galleria-thumbnails-right .p-galleria-thumbnails-content {\n flex-direction: column;\n flex-grow: 1;\n}\n\n.p-galleria-thumbnails-left .p-galleria-thumbnail-items,\n.p-galleria-thumbnails-right .p-galleria-thumbnail-items {\n flex-direction: column;\n height: 100%;\n}\n\n.p-galleria-indicator-list {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${dt('galleria.indicator.list.padding')};\n gap: ${dt('galleria.indicator.list.gap')};\n margin: 0;\n list-style: none;\n}\n\n.p-galleria-indicator-button {\n display: inline-flex;\n align-items: center;\n background: ${dt('galleria.indicator.button.background')};\n width: ${dt('galleria.indicator.button.width')};\n height: ${dt('galleria.indicator.button.height')};\n transition: background ${dt('galleria.transition.duration')}, color ${dt('galleria.transition.duration')}, outline-color ${dt('galleria.transition.duration')}, box-shadow ${dt('galleria.transition.duration')};\n outline-color: transparent;\n border-radius: ${dt('galleria.indicator.button.border.radius')};\n margin: 0;\n padding: 0;\n border: none;\n user-select: none;\n cursor: pointer;\n}\n\n.p-galleria-indicator-button:hover {\n background: ${dt('galleria.indicator.button.hover.background')};\n}\n\n.p-galleria-indicator-button:focus-visible {\n box-shadow: ${dt('galleria.indicator.button.focus.ring.shadow')};\n outline: ${dt('galleria.indicator.button.focus.ring.width')} ${dt('galleria.indicator.button.focus.ring.style')} ${dt('galleria.indicator.button.focus.ring.color')};\n outline-offset: ${dt('galleria.indicator.button.focus.ring.offset')};\n}\n\n.p-galleria-indicator-active .p-galleria-indicator-button {\n background: ${dt('galleria.indicator.button.active.background')};\n}\n\n.p-galleria-indicators-left .p-galleria-items-container,\n.p-galleria-indicators-right .p-galleria-items-container {\n flex-direction: row;\n align-items: center;\n}\n\n.p-galleria-indicators-left .p-galleria-items,\n.p-galleria-indicators-top .p-galleria-items {\n order: 2;\n}\n\n.p-galleria-indicators-left .p-galleria-indicator-list,\n.p-galleria-indicators-top .p-galleria-indicator-list {\n order: 1;\n}\n\n.p-galleria-indicators-left .p-galleria-indicator-list,\n.p-galleria-indicators-right .p-galleria-indicator-list {\n flex-direction: column;\n}\n\n.p-galleria-inset-indicators .p-galleria-indicator-list {\n position: absolute;\n display: flex;\n z-index: 1;\n background: ${dt('galleria.inset.indicator.list.background')};\n}\n\n.p-galleria-inset-indicators .p-galleria-indicator-button {\n background: ${dt('galleria.inset.indicator.button.background')};\n}\n\n.p-galleria-inset-indicators .p-galleria-indicator-button:hover {\n background: ${dt('galleria.inset.indicator.button.hover.background')};\n}\n\n.p-galleria-inset-indicators .p-galleria-indicator-active .p-galleria-indicator-button {\n background: ${dt('galleria.inset.indicator.button.active.background')};\n}\n\n.p-galleria-inset-indicators.p-galleria-indicators-top .p-galleria-indicator-list {\n top: 0;\n left: 0;\n width: 100%;\n align-items: flex-start;\n}\n\n.p-galleria-inset-indicators.p-galleria-indicators-right .p-galleria-indicator-list {\n right: 0;\n top: 0;\n height: 100%;\n align-items: flex-end;\n}\n\n.p-galleria-inset-indicators.p-galleria-indicators-bottom .p-galleria-indicator-list {\n bottom: 0;\n left: 0;\n width: 100%;\n align-items: flex-end;\n}\n\n.p-galleria-inset-indicators.p-galleria-indicators-left .p-galleria-indicator-list {\n left: 0;\n top: 0;\n height: 100%;\n align-items: flex-start;\n}\n\n.p-galleria-mask {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-galleria-close-button {\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n margin: ${dt('galleria.close.button.gutter')};\n background: ${dt('galleria.close.button.background')};\n color: ${dt('galleria.close.button.color')};\n width: ${dt('galleria.close.button.size')};\n height: ${dt('galleria.close.button.size')};\n padding: 0;\n border: none;\n user-select: none;\n cursor: pointer;\n border-radius: ${dt('galleria.close.button.border.radius')};\n outline-color: transparent;\n transition: background ${dt('galleria.transition.duration')}, color ${dt('galleria.transition.duration')}, outline-color ${dt('galleria.transition.duration')};\n}\n\n.p-galleria-close-icon {\n font-size: ${dt('galleria.close.button.icon.size')};\n width: ${dt('galleria.close.button.icon.size')};\n height: ${dt('galleria.close.button.icon.size')};\n}\n\n.p-galleria-close-button:hover {\n background: ${dt('galleria.close.button.hover.background')};\n color: ${dt('galleria.close.button.hover.color')};\n}\n\n.p-galleria-close-button:focus-visible {\n box-shadow: ${dt('galleria.close.button.focus.ring.shadow')};\n outline: ${dt('galleria.close.button.focus.ring.width')} ${dt('galleria.close.button.focus.ring.style')} ${dt('galleria.close.button.focus.ring.color')};\n outline-offset: ${dt('galleria.close.button.focus.ring.offset')};\n}\n\n.p-galleria-mask .p-galleria-nav-button {\n position: fixed;\n top: 50%;\n}\n\n.p-galleria-enter-active {\n transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-galleria-leave-active {\n transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.p-galleria-enter-from,\n.p-galleria-leave-to {\n opacity: 0;\n transform: scale(0.7);\n}\n\n.p-galleria-enter-active .p-galleria-nav-button {\n opacity: 0;\n}\n\n.p-items-hidden .p-galleria-thumbnail-item {\n visibility: hidden;\n}\n\n.p-items-hidden .p-galleria-thumbnail-item.p-galleria-thumbnail-item-active {\n visibility: visible;\n}\n`;\n\nconst classes = {\n mask: 'p-galleria-mask p-overlay-mask p-overlay-mask-enter',\n root: ({ instance }) => {\n const thumbnailsPosClass = instance.$attrs.showThumbnails && instance.getPositionClass('p-galleria-thumbnails', instance.$attrs.thumbnailsPosition);\n const indicatorPosClass = instance.$attrs.showIndicators && instance.getPositionClass('p-galleria-indicators', instance.$attrs.indicatorsPosition);\n\n return [\n 'p-galleria p-component',\n {\n 'p-galleria-fullscreen': instance.$attrs.fullScreen,\n 'p-galleria-inset-indicators': instance.$attrs.showIndicatorsOnItem,\n 'p-galleria-hover-navigators': instance.$attrs.showItemNavigatorsOnHover && !instance.$attrs.fullScreen\n },\n thumbnailsPosClass,\n indicatorPosClass\n ];\n },\n closeButton: 'p-galleria-close-button',\n closeIcon: 'p-galleria-close-icon',\n header: 'p-galleria-header',\n content: 'p-galleria-content',\n footer: 'p-galleria-footer',\n itemsContainer: 'p-galleria-items-container',\n items: 'p-galleria-items',\n prevButton: ({ instance }) => [\n 'p-galleria-prev-button p-galleria-nav-button',\n {\n 'p-disabled': instance.isNavBackwardDisabled()\n }\n ],\n prevIcon: 'p-galleria-prev-icon',\n item: 'p-galleria-item',\n nextButton: ({ instance }) => [\n 'p-galleria-next-button p-galleria-nav-button',\n {\n 'p-disabled': instance.isNavForwardDisabled()\n }\n ],\n nextIcon: 'p-galleria-next-icon',\n caption: 'p-galleria-caption',\n indicatorList: 'p-galleria-indicator-list',\n indicator: ({ instance, index }) => [\n 'p-galleria-indicator',\n {\n 'p-galleria-indicator-active': instance.isIndicatorItemActive(index)\n }\n ],\n indicatorButton: 'p-galleria-indicator-button',\n thumbnails: 'p-galleria-thumbnails',\n thumbnailContent: 'p-galleria-thumbnails-content',\n thumbnailPrevButton: ({ instance }) => [\n 'p-galleria-thumbnail-prev-button p-galleria-thumbnail-nav-button',\n {\n 'p-disabled': instance.isNavBackwardDisabled()\n }\n ],\n thumbnailPrevIcon: 'p-galleria-thumbnail-prev-icon',\n thumbnailsViewport: 'p-galleria-thumbnails-viewport',\n thumbnailItems: 'p-galleria-thumbnail-items',\n thumbnailItem: ({ instance, index, activeIndex }) => [\n 'p-galleria-thumbnail-item',\n {\n 'p-galleria-thumbnail-item-current': activeIndex === index,\n 'p-galleria-thumbnail-item-active': instance.isItemActive(index),\n 'p-galleria-thumbnail-item-start': instance.firstItemAciveIndex() === index,\n 'p-galleria-thumbnail-item-end': instance.lastItemActiveIndex() === index\n }\n ],\n thumbnail: 'p-galleria-thumbnail',\n thumbnailNextButton: ({ instance }) => [\n 'p-galleria-thumbnail-next-button p-galleria-thumbnail-nav-button',\n {\n 'p-disabled': instance.isNavForwardDisabled()\n }\n ],\n thumbnailNextIcon: 'p-galleria-thumbnail-next-icon'\n};\n\n@Injectable()\nexport class GalleriaStyle extends BaseStyle {\n name = 'galleria';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Galleria is an advanced content gallery component.\n *\n * [Live Demo](https://www.primeng.org/galleria/)\n *\n * @module galleriastyle\n *\n */\nexport enum GalleriaClasses {\n /**\n * Class name of the mask element\n */\n mask = 'p-galleria-mask',\n /**\n * Class name of the root element\n */\n root = 'p-galleria',\n /**\n * Class name of the close button element\n */\n closeButton = 'p-galleria-close-button',\n /**\n * Class name of the close icon element\n */\n closeIcon = 'p-galleria-close-icon',\n /**\n * Class name of the header element\n */\n header = 'p-galleria-header',\n /**\n * Class name of the content element\n */\n content = 'p-galleria-content',\n /**\n * Class name of the footer element\n */\n footer = 'p-galleria-footer',\n /**\n * Class name of the items container element\n */\n itemsContainer = 'p-galleria-items-container',\n /**\n * Class name of the items element\n */\n items = 'p-galleria-items',\n /**\n * Class name of the previous item button element\n */\n prevButton = 'p-galleria-prev-button',\n /**\n * Class name of the previous item icon element\n */\n prevIcon = 'p-galleria-prev-icon',\n /**\n * Class name of the item element\n */\n item = 'p-galleria-item',\n /**\n * Class name of the next item button element\n */\n nextButton = 'p-galleria-next-button',\n /**\n * Class name of the next item icon element\n */\n nextIcon = 'p-galleria-next-icon',\n /**\n * Class name of the caption element\n */\n caption = 'p-galleria-caption',\n /**\n * Class name of the indicator list element\n */\n indicatorList = 'p-galleria-indicator-list',\n /**\n * Class name of the indicator element\n */\n indicator = 'p-galleria-indicator',\n /**\n * Class name of the indicator button element\n */\n indicatorButton = 'p-galleria-indicator-button',\n /**\n * Class name of the thumbnails element\n */\n thumbnails = 'p-galleria-thumbnails',\n /**\n * Class name of the thumbnail content element\n */\n thumbnailContent = 'p-galleria-thumbnails-content',\n /**\n * Class name of the previous thumbnail button element\n */\n previousThumbnailButton = 'p-galleria-thumbnail-prev-button',\n /**\n * Class name of the previous thumbnail icon element\n */\n previousThumbnailIcon = 'p-galleria-thumbnail-prev-icon',\n /**\n * Class name of the thumbnails viewport element\n */\n thumbnailsViewport = 'p-galleria-thumbnails-viewport',\n /**\n * Class name of the thumbnail items element\n */\n thumbnailItems = 'p-galleria-thumbnail-items',\n /**\n * Class name of the thumbnail item element\n */\n thumbnailItem = 'p-galleria-thumbnail-item',\n /**\n * Class name of the thumbnail element\n */\n thumbnail = 'p-galleria-thumbnail',\n /**\n * Class name of the next thumbnail button element\n */\n nextThumbnailButton = 'p-galleria-thumbnail-next-button',\n /**\n * Class name of the next thumbnail icon element\n */\n nextThumbnailIcon = 'p-galleria-thumbnail-next-icon'\n}\n\nexport interface GalleriaStyle extends BaseStyle {}\n","import { animate, AnimationEvent, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n inject,\n Input,\n KeyValueDiffers,\n NgModule,\n numberAttribute,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { addClass, blockBodyScroll, find, findSingle, focus, getAttribute, removeClass, setAttribute, unblockBodyScroll, uuid } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { FocusTrap } from 'primeng/focustrap';\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, TimesIcon, WindowMaximizeIcon, WindowMinimizeIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { GalleriaResponsiveOptions } from './galleria.interface';\nimport { GalleriaStyle } from './style/galleriastyle';\n\n/**\n * Galleria is an advanced content gallery component.\n * @group Components\n */\n@Component({\n selector: 'p-galleria',\n standalone: false,\n template: `\n <div *ngIf=\"fullScreen; else windowed\" #container>\n <div *ngIf=\"maskVisible\" #mask [ngClass]=\"{ 'p-galleria-mask p-overlay-mask p-overlay-mask-enter': true }\" [class]=\"maskClass\" [attr.role]=\"fullScreen ? 'dialog' : 'region'\" [attr.aria-modal]=\"fullScreen ? 'true' : undefined\">\n <p-galleriaContent\n *ngIf=\"visible\"\n [@animation]=\"{\n value: 'visible',\n params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }\n }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n [value]=\"value\"\n [activeIndex]=\"activeIndex\"\n [numVisible]=\"numVisibleLimit || numVisible\"\n (maskHide)=\"onMaskHide()\"\n (activeItemChange)=\"onActiveItemChange($event)\"\n [ngStyle]=\"containerStyle\"\n [fullScreen]=\"fullScreen\"\n ></p-galleriaContent>\n </div>\n </div>\n\n <ng-template #windowed>\n <p-galleriaContent [value]=\"value\" [activeIndex]=\"activeIndex\" [numVisible]=\"numVisibleLimit || numVisible\" (activeItemChange)=\"onActiveItemChange($event)\"></p-galleriaContent>\n </ng-template>\n `,\n animations: [\n trigger('animation', [\n transition('void => visible', [style({ transform: 'scale(0.7)', opacity: 0 }), animate('{{showTransitionParams}}')]),\n transition('visible => void', [animate('{{hideTransitionParams}}', style({ transform: 'scale(0.7)', opacity: 0 }))])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [GalleriaStyle]\n})\nexport class Galleria extends BaseComponent implements OnChanges, OnDestroy {\n /**\n * Index of the first item.\n * @group Props\n */\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n set activeIndex(activeIndex) {\n this._activeIndex = activeIndex;\n }\n /**\n * Whether to display the component on fullscreen.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fullScreen: boolean = false;\n /**\n * Unique identifier of the element.\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * An array of objects to display.\n * @group Props\n */\n @Input() value: any[] | undefined;\n /**\n * Number of items per page.\n * @group Props\n */\n @Input({ transform: numberAttribute }) numVisible: number = 3;\n /**\n * An array of options for responsive design.\n * @see {GalleriaResponsiveOptions}\n * @group Props\n */\n @Input() responsiveOptions: GalleriaResponsiveOptions[] | undefined;\n /**\n * Whether to display navigation buttons in item section.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showItemNavigators: boolean = false;\n /**\n * Whether to display navigation buttons in thumbnail container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showThumbnailNavigators: boolean = true;\n /**\n * Whether to display navigation buttons on item hover.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showItemNavigatorsOnHover: boolean = false;\n /**\n * When enabled, item is changed on indicator hover.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) changeItemOnIndicatorHover: boolean = false;\n /**\n * Defines if scrolling would be infinite.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n /**\n * Items are displayed with a slideshow in autoPlay mode.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoPlay: boolean = false;\n /**\n * When enabled, autorun should stop by click.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) shouldStopAutoplayByClick: boolean = true;\n /**\n * Time in milliseconds to scroll items.\n * @group Props\n */\n @Input({ transform: numberAttribute }) transitionInterval: number = 4000;\n /**\n * Whether to display thumbnail container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showThumbnails: boolean = true;\n /**\n * Position of thumbnails.\n * @group Props\n */\n @Input() thumbnailsPosition: 'bottom' | 'top' | 'left' | 'right' | undefined = 'bottom';\n /**\n * Height of the viewport in vertical thumbnail.\n * @group Props\n */\n @Input() verticalThumbnailViewPortHeight: string = '300px';\n /**\n * Whether to display indicator container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showIndicators: boolean = false;\n /**\n * When enabled, indicator container is displayed on item container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showIndicatorsOnItem: boolean = false;\n /**\n * Position of indicators.\n * @group Props\n */\n @Input() indicatorsPosition: 'bottom' | 'top' | 'left' | 'right' | undefined = 'bottom';\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Style class of the mask on fullscreen mode.\n * @group Props\n */\n @Input() maskClass: string | undefined;\n /**\n * Style class of the component on fullscreen mode. Otherwise, the 'class' property can be used.\n * @group Props\n */\n @Input() containerClass: string | undefined;\n /**\n * Inline style of the component on fullscreen mode. Otherwise, the 'style' property can be used.\n * @group Props\n */\n @Input() containerStyle: { [klass: string]: any } | null | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Specifies the visibility of the mask on fullscreen mode.\n * @group Props\n */\n @Input() get visible(): boolean {\n return this._visible;\n }\n set visible(visible: boolean) {\n this._visible = visible;\n\n if (this._visible && !this.maskVisible) {\n this.maskVisible = true;\n }\n }\n /**\n * Callback to invoke on active index change.\n * @param {number} number - Active index.\n * @group Emits\n */\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n /**\n * Callback to invoke on visiblity change.\n * @param {boolean} boolean - Visible value.\n * @group Emits\n */\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('mask') mask: ElementRef | undefined;\n\n @ViewChild('container') container: ElementRef | undefined;\n\n _visible: boolean = false;\n\n _activeIndex: number = 0;\n\n headerFacet: any;\n\n footerFacet: any;\n\n indicatorFacet: any;\n\n captionFacet: any;\n\n closeIconTemplate: TemplateRef<any> | undefined;\n\n previousThumbnailIconTemplate: TemplateRef<any> | undefined;\n\n nextThumbnailIconTemplate: TemplateRef<any> | undefined;\n\n itemPreviousIconTemplate: TemplateRef<any> | undefined;\n\n itemNextIconTemplate: TemplateRef<any> | undefined;\n\n maskVisible: boolean = false;\n\n numVisibleLimit = 0;\n\n _componentStyle = inject(GalleriaStyle);\n\n constructor(\n @Inject(PLATFORM_ID) public platformId: any,\n public element: ElementRef,\n public cd: ChangeDetectorRef\n ) {\n super();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerFacet = item.template;\n break;\n\n case 'footer':\n this.footerFacet = item.template;\n break;\n\n case 'indicator':\n this.indicatorFacet = item.template;\n break;\n\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n\n case 'itemnexticon':\n this.itemNextIconTemplate = item.template;\n break;\n\n case 'itempreviousicon':\n this.itemPreviousIconTemplate = item.template;\n break;\n\n case 'previousthumbnailicon':\n this.previousThumbnailIconTemplate = item.template;\n break;\n\n case 'nextthumbnailicon':\n this.nextThumbnailIconTemplate = item.template;\n break;\n\n case 'caption':\n this.captionFacet = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n super.ngOnChanges(simpleChanges);\n if (simpleChanges.value && simpleChanges.value.currentValue?.length < this.numVisible) {\n this.numVisibleLimit = simpleChanges.value.currentValue.length;\n } else {\n this.numVisibleLimit = 0;\n }\n }\n\n onMaskHide() {\n this.visible = false;\n this.visibleChange.emit(false);\n }\n\n onActiveItemChange(index: number) {\n if (this.activeIndex !== index) {\n this.activeIndex = index;\n this.activeIndexChange.emit(index);\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.enableModality();\n setTimeout(() => {\n focus(<any>findSingle(this.container.nativeElement, '[data-pc-section=\"closebutton\"]'));\n }, 25);\n break;\n\n case 'void':\n addClass(this.mask?.nativeElement, 'p-overlay-mask-leave');\n break;\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.disableModality();\n break;\n }\n }\n\n enableModality() {\n blockBodyScroll();\n this.cd.markForCheck();\n\n if (this.mask) {\n ZIndexUtils.set('modal', this.mask.nativeElement, this.baseZIndex || this.config.zIndex.modal);\n }\n }\n\n disableModality() {\n unblockBodyScroll();\n this.maskVisible = false;\n this.cd.markForCheck();\n\n if (this.mask) {\n ZIndexUtils.clear(this.mask.nativeElement);\n }\n }\n\n ngOnDestroy() {\n if (this.fullScreen) {\n removeClass(this.document.body, 'p-overflow-hidden');\n }\n\n if (this.mask) {\n this.disableModality();\n }\n }\n}\n\n@Component({\n selector: 'p-galleriaContent',\n standalone: false,\n template: `\n <div\n [attr.id]=\"id\"\n [attr.role]=\"'region'\"\n *ngIf=\"value && value.length > 0\"\n [ngClass]=\"{\n 'p-galleria p-component': true,\n 'p-galleria-fullscreen': this.galleria.fullScreen,\n 'p-galleria-inset-indicators': this.galleria.showIndicatorsOnItem,\n 'p-galleria-hover-navigators': this.galleria.showItemNavigatorsOnHover && !this.galleria.fullScreen\n }\"\n [ngStyle]=\"!galleria.fullScreen ? galleria.containerStyle : {}\"\n [class]=\"galleriaClass()\"\n pFocusTrap\n [pFocusTrapDisabled]=\"!fullScreen\"\n >\n <button *ngIf=\"galleria.fullScreen\" type=\"button\" class=\"p-galleria-close-button\" (click)=\"maskHide.emit()\" [attr.aria-label]=\"closeAriaLabel()\" [attr.data-pc-section]=\"'closebutton'\">\n <TimesIcon *ngIf=\"!galleria.closeIconTemplate\" [styleClass]=\"'p-galleria-close-icon'\" />\n <ng-template *ngTemplateOutlet=\"galleria.closeIconTemplate\"></ng-template>\n </button>\n <div *ngIf=\"galleria.templates && galleria.headerFacet\" class=\"p-galleria-header\">\n <p-galleriaItemSlot type=\"header\" [templates]=\"galleria.templates\"></p-galleriaItemSlot>\n </div>\n <div class=\"p-galleria-content\" [attr.aria-live]=\"galleria.autoPlay ? 'polite' : 'off'\">\n <p-galleriaItem\n [id]=\"id\"\n [value]=\"value\"\n [activeIndex]=\"activeIndex\"\n [circular]=\"galleria.circular\"\n [templates]=\"galleria.templates\"\n (onActiveIndexChange)=\"onActiveIndexChange($event)\"\n [showIndicators]=\"galleria.showIndicators\"\n [changeItemOnIndicatorHover]=\"galleria.changeItemOnIndicatorHover\"\n [indicatorFacet]=\"galleria.indicatorFacet\"\n [captionFacet]=\"galleria.captionFacet\"\n [showItemNavigators]=\"galleria.showItemNavigators\"\n [autoPlay]=\"galleria.autoPlay\"\n [slideShowActive]=\"slideShowActive\"\n (startSlideShow)=\"startSlideShow()\"\n (stopSlideShow)=\"stopSlideShow()\"\n ></p-galleriaItem>\n\n <p-galleriaThumbnails\n *ngIf=\"galleria.showThumbnails\"\n [containerId]=\"id\"\n [value]=\"value\"\n (onActiveIndexChange)=\"onActiveIndexChange($event)\"\n [activeIndex]=\"activeIndex\"\n [templates]=\"galleria.templates\"\n [numVisible]=\"numVisible\"\n [responsiveOptions]=\"galleria.responsiveOptions\"\n [circular]=\"galleria.circular\"\n [isVertical]=\"isVertical()\"\n [contentHeight]=\"galleria.verticalThumbnailViewPortHeight\"\n [showThumbnailNavigators]=\"galleria.showThumbnailNavigators\"\n [slideShowActive]=\"slideShowActive\"\n (stopSlideShow)=\"stopSlideShow()\"\n ></p-galleriaThumbnails>\n </div>\n <div *ngIf=\"galleria.templates && galleria.footerFacet\" class=\"p-galleria-footer\">\n <p-galleriaItemSlot type=\"footer\" [templates]=\"galleria.templates\"></p-galleriaItemSlot>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaContent extends BaseComponent implements DoCheck {\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n set activeIndex(activeIndex: number) {\n this._activeIndex = activeIndex;\n }\n\n @Input() value: any[] = [];\n\n @Input({ transform: numberAttribute }) numVisible: number | undefined;\n\n @Input({ transform: booleanAttribute }) fullScreen: boolean;\n\n @Output() maskHide: EventEmitter<boolean> = new EventEmitter();\n\n @Output() activeItemChange: EventEmitter<number> = new EventEmitter();\n\n @ViewChild('closeButton') closeButton: ElementRef | undefined;\n\n id: string;\n\n _activeIndex: number = 0;\n\n slideShowActive: boolean = true;\n\n interval: any;\n\n styleClass: string | undefined;\n\n private differ: any;\n\n constructor(\n public galleria: Galleria,\n public cd: ChangeDetectorRef,\n private differs: KeyValueDiffers,\n private elementRef: ElementRef\n ) {\n super();\n this.id = this.galleria.id || uuid('pn_id_');\n this.differ = this.differs.find(this.galleria).create();\n }\n\n // For custom fullscreen\n @HostListener('document:fullscreenchange', ['$event'])\n handleFullscreenChange(event: Event) {\n if (document?.fullscreenElement === this.elementRef.nativeElement?.children[0]) {\n this.fullScreen = true;\n } else {\n this.fullScreen = false;\n }\n }\n\n ngDoCheck(): void {\n if (isPlatformBrowser(this.galleria.platformId)) {\n const changes = this.differ.diff(this.galleria as unknown as Record<string, unknown>);\n if (changes && changes.forEachItem.length > 0) {\n // Because we change the properties of the parent component,\n // and the children take our entity from the injector.\n // We can tell the children to redraw themselves when we change the properties of the parent component.\n // Since we have an onPush strategy\n this.cd.markForCheck();\n }\n }\n }\n\n galleriaClass() {\n const thumbnailsPosClass = this.galleria.showThumbnails && this.getPositionClass('p-galleria-thumbnails', this.galleria.thumbnailsPosition as string);\n const indicatorPosClass = this.galleria.showIndicators && this.getPositionClass('p-galleria-indicators', this.galleria.indicatorsPosition as string);\n\n return (this.galleria.containerClass ? this.galleria.containerClass + ' ' : '') + (thumbnailsPosClass ? thumbnailsPosClass + ' ' : '') + (indicatorPosClass ? indicatorPosClass + ' ' : '');\n }\n\n startSlideShow() {\n if (isPlatformBrowser(this.galleria.platformId)) {\n this.interval = setInterval(() => {\n let activeIndex = this.galleria.circular && this.value.length - 1 === this.activeIndex ? 0 : this.activeIndex + 1;\n this.onActiveIndexChange(activeIndex);\n this.activeIndex = activeIndex;\n }, this.galleria.transitionInterval);\n\n this.slideShowActive = true;\n }\n }\n\n stopSlideShow() {\n if (this.galleria.autoPlay && !this.galleria.shouldStopAutoplayByClick) {\n return;\n }\n\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.slideShowActive = false;\n }\n\n getPositionClass(preClassName: string, position: string) {\n const positions = ['top', 'left', 'bottom', 'right'];\n const pos = positions.find((item) => item === position);\n\n return pos ? `${preClassName}-${pos}` : '';\n }\n\n isVertical() {\n return this.galleria.thumbnailsPosition === 'left' || this.galleria.thumbnailsPosition === 'right';\n }\n\n onActiveIndexChange(index: number) {\n if (this.activeIndex !== index) {\n this.activeIndex = index;\n this.activeItemChange.emit(this.activeIndex);\n }\n }\n\n closeAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n }\n}\n\n@Component({\n selector: 'p-galleriaItemSlot',\n standalone: false,\n template: `\n <ng-container *ngIf=\"contentTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: context\"></ng-container>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaItemSlot {\n @Input() templates: QueryList<PrimeTemplate> | undefined;\n\n @Input({ transform: numberAttribute }) index: number | undefined;\n\n @Input() get item(): any {\n return this._item;\n }\n\n set item(item: any) {\n this._item = item;\n if (this.templates) {\n this.templates.forEach((item) => {\n if (item.getType() === this.type) {\n switch (this.type) {\n case 'item':\n case 'caption':\n case 'thumbnail':\n this.context = { $implicit: this.item };\n this.contentTemplate = item.template;\n break;\n }\n }\n });\n }\n }\n\n @Input() type: string | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n context: any;\n\n _item: any;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n if (item.getType() === this.type) {\n switch (this.type) {\n case 'item':\n case 'caption':\n case 'thumbnail':\n this.context = { $implicit: this.item };\n this.contentTemplate = item.template;\n break;\n\n case 'indicator':\n this.context = { $implicit: this.index };\n this.contentTemplate = item.template;\n break;\n\n default:\n this.context = {};\n this.contentTemplate = item.template;\n break;\n }\n }\n });\n }\n}\n\n@Component({\n selector: 'p-galleriaItem',\n standalone: false,\n template: `\n <div class=\"p-galleria-items\">\n <button\n *ngIf=\"showItemNavigators\"\n type=\"button\"\n role=\"navigation\"\n [ngClass]=\"{ 'p-galleria-prev-button p-galleria-nav-button': true, 'p-disabled': this.isNavBackwardDisabled() }\"\n (click)=\"navBackward($event)\"\n [disabled]=\"isNavBackwardDisabled()\"\n (focus)=\"onButtonFocus('left')\"\n (blur)=\"onButtonBlur('left')\"\n >\n <ChevronLeftIcon *ngIf=\"!galleria.itemPreviousIconTemplate\" [styleClass]=\"'p-galleria-prev-icon'\" />\n <ng-template *ngTemplateOutlet=\"galleria.itemPreviousIconTemplate\"></ng-template>\n </button>\n <div [id]=\"id + '_item_' + activeIndex\" role=\"group\" class=\"p-galleria-item\" [attr.aria-label]=\"ariaSlideNumber(activeIndex + 1)\" [attr.aria-roledescription]=\"ariaSlideLabel()\">\n <p-galleriaItemSlot type=\"item\" [item]=\"activeItem\" [templates]=\"templates\" class=\"p-galleria-item\"></p-galleriaItemSlot>\n </div>\n <button\n *ngIf=\"showItemNavigators\"\n type=\"button\"\n [ngClass]=\"{ 'p-galleria-next-button p-galleria-nav-button': true, 'p-disabled': this.isNavForwardDisabled() }\"\n (click)=\"navForward($event)\"\n [disabled]=\"isNavForwardDisabled()\"\n role=\"navigation\"\n (focus)=\"onButtonFocus('right')\"\n (blur)=\"onButtonBlur('right')\"\n >\n <ChevronRightIcon *ngIf=\"!galleria.itemNextIconTemplate\" [styleClass]=\"'p-galleria-next-icon'\" />\n <ng-template *ngTemplateOutlet=\"galleria.itemNextIconTemplate\"></ng-template>\n </button>\n <div class=\"p-galleria-caption\" *ngIf=\"captionFacet\">\n <p-galleriaItemSlot type=\"caption\" [item]=\"activeItem\" [templates]=\"templates\"></p-galleriaItemSlot>\n </div>\n </div>\n <ul *ngIf=\"showIndicators\" class=\"p-galleria-indicator-list\">\n <li\n *ngFor=\"let item of value; let index = index\"\n tabindex=\"0\"\n (click)=\"onIndicatorClick(index)\"\n (mouseenter)=\"onIndicatorMouseEnter(index)\"\n (keydown)=\"onIndicatorKeyDown($event, index)\"\n [ngClass]=\"{ 'p-galleria-indicator': true, 'p-galleria-indicator-active': isIndicatorItemActive(index) }\"\n [attr.aria-label]=\"ariaPageLabel(index + 1)\"\n [attr.aria-selected]=\"activeIndex === index\"\n [attr.aria-controls]=\"id + '_item_' + index\"\n >\n <button type=\"button\" tabIndex=\"-1\" class=\"p-galleria-indicator-button\" *ngIf=\"!indicatorFacet\"></button>\n <p-galleriaItemSlot type=\"indicator\" [index]=\"index\" [templates]=\"templates\"></p-galleriaItemSlot>\n </li>\n </ul>\n `,\n host: {\n class: 'p-galleria-items-container'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaItem implements OnChanges {\n @Input() id: string | undefined;\n\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n\n @Input() value: any[] | undefined;\n\n @Input({ transform: booleanAttribute }) showItemNavigators: boolean = false;\n\n @Input({ transform: booleanAttribute }) showIndicators: boolean = true;\n\n @Input({ transform: booleanAttribute }) slideShowActive: boolean = true;\n\n @Input({ transform: booleanAttribute }) changeItemOnIndicatorHover: boolean = true;\n\n @Input({ transform: booleanAttribute }) autoPlay: boolean = false;\n\n @Input() templates: QueryList<PrimeTemplate> | undefined;\n\n @Input() indicatorFacet: any;\n\n @Input() captionFacet: any;\n\n @Output() startSlideShow: EventEmitter<Event> = new EventEmitter();\n\n @Output() stopSlideShow: EventEmitter<Event> = new EventEmitter();\n\n @Output() onActiveIndexChange: EventEmitter<number> = new EventEmitter();\n\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n\n set activeIndex(activeIndex) {\n this._activeIndex = activeIndex;\n }\n\n get activeItem() {\n return this.value && this.value[this._activeIndex];\n }\n\n _activeIndex: number = 0;\n\n leftButtonFocused: boolean = false;\n\n rightButtonFocused: boolean = false;\n\n constructor(public galleria: Galleria) {}\n\n ngOnChanges({ autoPlay }: SimpleChanges): void {\n if (autoPlay?.currentValue) {\n this.startSlideShow.emit();\n }\n\n if (autoPlay && autoPlay.currentValue === false) {\n this.stopTheSlideShow();\n }\n }\n\n next() {\n let nextItemIndex = this.activeIndex + 1;\n let activeIndex = this.circular && (<any[]>this.value).length - 1 === this.activeIndex ? 0 : nextItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n }\n\n prev() {\n let prevItemIndex = this.activeIndex !== 0 ? this.activeIndex - 1 : 0;\n let activeIndex = this.circular && this.activeIndex === 0 ? (<any[]>this.value).length - 1 : prevItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n }\n\n onButtonFocus(pos: 'left' | 'right') {\n if (pos === 'left') {\n this.leftButtonFocused = true;\n } else this.rightButtonFocused = true;\n }\n\n onButtonBlur(pos: 'left' | 'right') {\n if (pos === 'left') {\n this.leftButtonFocused = false;\n } else this.rightButtonFocused = false;\n }\n\n stopTheSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.stopSlideShow.emit();\n }\n }\n\n navForward(e: MouseEvent) {\n this.stopTheSlideShow();\n this.next();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: MouseEvent) {\n this.stopTheSlideShow();\n this.prev();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onIndicatorClick(index: number) {\n this.stopTheSlideShow();\n this.onActiveIndexChange.emit(index);\n }\n\n onIndicatorMouseEnter(index: number) {\n if (this.changeItemOnIndicatorHover) {\n this.stopTheSlideShow();\n this.onActiveIndexChange.emit(index);\n }\n }\n\n onIndicatorKeyDown(event, index: number) {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n this.stopTheSlideShow();\n this.onActiveIndexChange.emit(index);\n event.preventDefault();\n break;\n\n case 'ArrowDown':\n case 'ArrowUp':\n event.preventDefault();\n break;\n\n default:\n break;\n }\n }\n\n isNavForwardDisabled() {\n return !this.circular && this.activeIndex === (<any[]>this.value).length - 1;\n }\n\n isNavBackwardDisabled() {\n return !this.circular && this.activeIndex === 0;\n }\n\n isIndicatorItemActive(index: number) {\n return this.activeIndex === index;\n }\n\n ariaSlideLabel() {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.slide : undefined;\n }\n\n ariaSlideNumber(value) {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n }\n\n ariaPageLabel(value) {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n}\n\n@Component({\n selector: 'p-galleriaThumbnails',\n standalone: false,\n template: `\n <div class=\"p-galleria-thumbnails\">\n <div class=\"p-galleria-thumbnails-content\">\n <button\n *ngIf=\"showThumbnailNavigators\"\n type=\"button\"\n [ngClass]=\"{\n 'p-galleria-thumbnail-prev-button p-galleria-thumbnail-nav-button': true,\n 'p-disabled': this.isNavBackwardDisabled()\n }\"\n (click)=\"navBackward($event)\"\n [disabled]=\"isNavBackwardDisabled()\"\n pRipple\n [attr.aria-label]=\"ariaPrevButtonLabel()\"\n >\n <ng-container *ngIf=\"!galleria.previousThumbnailIconTemplate\">\n <ChevronLeftIcon *ngIf=\"!isVertical\" [styleClass]=\"'p-galleria-thumbnail-prev-icon'\" />\n <ChevronUpIcon *ngIf=\"isVertical\" [styleClass]=\"'p-galleria-thumbnail-prev-icon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"galleria.previousThumbnailIconTemplate\"></ng-template>\n </button>\n <div class=\"p-galleria-thumbnails-viewport\" [ngStyle]=\"{ height: isVertical ? contentHeight : '' }\">\n <div #itemsContainer class=\"p-galleria-thumbnail-items\" (transitionend)=\"onTransitionEnd()\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" role=\"tablist\">\n <div\n *ngFor=\"let item of value; let index = index\"\n [ngClass]=\"{\n 'p-galleria-thumbnail-item': true,\n 'p-galleria-thumbnail-item-current': activeIndex === index,\n 'p-galleria-thumbnail-item-active': isItemActive(index),\n 'p-galleria-thumbnail-item-start': firstItemAciveIndex() === index,\n 'p-galleria-thumbnail-item-end': lastItemActiveIndex() === index\n }\"\n [attr.aria-selected]=\"activeIndex === index\"\n [attr.aria-controls]=\"containerId + '_item_' + index\"\n [attr.data-pc-section]=\"'thumbnailitem'\"\n [attr.data-p-active]=\"activeIndex === index\"\n (keydown)=\"onThumbnailKeydown($event, index)\"\n >\n <div\n class=\"p-galleria-thumbnail\"\n [attr.tabindex]=\"activeIndex === index ? 0 : -1\"\n [attr.aria-current]=\"activeIndex === index ? 'page' : undefined\"\n [attr.aria-label]=\"ariaPageLabel(index + 1)\"\n (click)=\"onItemClick(index)\"\n (touchend)=\"onItemClick(index)\"\n (keydown.enter)=\"onItemClick(index)\"\n >\n <p-galleriaItemSlot type=\"thumbnail\" [item]=\"item\" [templates]=\"templates\"></p-galleriaItemSlot>\n </div>\n </div>\n </div>\n </div>\n <button\n *ngIf=\"showThumbnailNavigators\"\n type=\"button\"\n [ngClass]=\"{\n 'p-galleria-thumbnail-next-button p-galleria-thumbnail-nav-button': true,\n 'p-disabled': this.isNavForwardDisabled()\n }\"\n (click)=\"navForward($event)\"\n [disabled]=\"isNavForwardDisabled()\"\n pRipple\n [attr.aria-label]=\"ariaNextButtonLabel()\"\n >\n <ng-container *ngIf=\"!galleria.nextThumbnailIconTemplate\">\n <ChevronRightIcon *ngIf=\"!isVertical\" [ngClass]=\"'p-galleria-thumbnail-next-icon'\" />\n <ChevronDownIcon *ngIf=\"isVertical\" [ngClass]=\"'p-galleria-thumbnail-next-icon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"galleria.nextThumbnailIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaThumbnails implements OnInit, AfterContentChecked, AfterViewInit, OnDestroy {\n @Input() containerId: string | undefined;\n\n @Input() value: any[] | undefined;\n\n @Input({ transform: booleanAttribute }) isVertical: boolean = false;\n\n @Input({ transform: booleanAttribute }) slideShowActive: boolean = false;\n\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n\n @Input() responsiveOptions: GalleriaResponsiveOptions[] | undefined;\n\n @Input() contentHeight: string = '300px';\n\n @Input() showThumbnailNavigators = true;\n\n @Input() templates: QueryList<PrimeTemplate> | undefined;\n\n @Output() onActiveIndexChange: EventEmitter<number> = new EventEmitter();\n\n @Output() stopSlideShow: EventEmitter<Event> = new EventEmitter();\n\n @ViewChild('itemsContainer') itemsContainer: ElementRef | undefined;\n\n @Input() get numVisible(): number {\n return this._numVisible;\n }\n\n set numVisible(numVisible) {\n this._numVisible = numVisible;\n this._oldNumVisible = this.d_numVisible;\n this.d_numVisible = numVisible;\n }\n\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n\n set activeIndex(activeIndex) {\n this._oldactiveIndex = this._activeIndex;\n this._activeIndex = activeIndex;\n }\n\n index: number | undefined;\n\n startPos: { x: number; y: number } | null = null;\n\n thumbnailsStyle: HTMLStyleElement | null = null;\n\n sortedResponsiveOptions: GalleriaResponsiveOptions[] | null = null;\n\n totalShiftedItems: number = 0;\n\n page: number = 0;\n\n documentResizeListener: VoidListener;\n\n _numVisible: number = 0;\n\n d_numVisible: number = 0;\n\n _oldNumVisible: number = 0;\n\n _activeIndex: number = 0;\n\n _oldactiveIndex: number = 0;\n\n constructor(\n public galleria: Galleria,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n private renderer: Renderer2,\n private cd: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.createStyle();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n }\n }\n\n ngAfterContentChecked() {\n let totalShiftedItems = this.totalShiftedItems;\n\n if ((this._oldNumVisible !== this.d_numVisible || this._oldactiveIndex !== this._activeIndex) && this.itemsContainer) {\n if (this._activeIndex <= this.getMedianItemIndex()) {\n totalShiftedItems = 0;\n } else if ((<any[]>this.value).length - this.d_numVisible + this.getMedianItemIndex() < this._activeIndex) {\n totalShiftedItems = this.d_numVisible - (<any[]>this.value).length;\n } else if ((<any[]>this.value).length - this.d_numVisible < this._activeIndex && this.d_numVisible % 2 === 0) {\n totalShiftedItems = this._activeIndex * -1 + this.getMedianItemIndex() + 1;\n } else {\n totalShiftedItems = this._activeIndex * -1 + this.getMedianItemIndex();\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n if (this.itemsContainer && this.itemsContainer.nativeElement) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n }\n\n if (this._oldactiveIndex !== this._activeIndex) {\n removeClass(this.itemsContainer.nativeElement, 'p-items-hidden');\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this._oldactiveIndex = this._activeIndex;\n this._oldNumVisible = this.d_numVisible;\n }\n }\n\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.calculatePosition();\n }\n }\n\n createStyle() {\n if (!this.thumbnailsStyle) {\n this.thumbnailsStyle = this.document.createElement('style');\n this.document.body.appendChild(this.thumbnailsStyle);\n }\n\n let innerHTML = `\n #${this.containerId} .p-galleria-thumbnail-item {\n flex: 1 0 ${100 / this.d_numVisible}%\n }\n `;\n\n if (this.responsiveOptions) {\n this.sortedResponsiveOptions = [...this.responsiveOptions];\n this.sortedResponsiveOptions.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n let result = null;\n\n if (value1 == null && value2 != null) result = -1;\n else if (value1 != null && value2 == null) result = 1;\n else if (value1 == null && value2 == null) result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, { numeric: true });\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return -1 * result;\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 setAttribute(this.thumbnailsStyle, 'nonce', this.galleria.config?.csp()?.nonce);\n }\n\n calculatePosition() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.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 this.cd.markForCheck();\n }\n }\n }\n }\n\n getTabIndex(index: number) {\n return this.isItemActive(index) ? 0 : null;\n }\n\n navForward(e: TouchEvent | MouseEvent) {\n this.stopTheSlideShow();\n\n let nextItemIndex = this._activeIndex + 1;\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 && (<any[]>this.value).length - 1 === this._activeIndex ? 0 : nextItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: TouchEvent | MouseEvent) {\n this.stopTheSlideShow();\n\n let prevItemIndex = this._activeIndex !== 0 ? this._activeIndex - 1 : 0;\n let diff = prevItemIndex + this.totalShiftedItems;\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._activeIndex === 0 ? (<any[]>this.value).length - 1 : prevItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onItemClick(index: number) {\n this.stopTheSlideShow();\n\n let selectedItemIndex = index;\n if (selectedItemIndex !== this._activeIndex) {\n const diff = selectedItemIndex + this.totalShiftedItems;\n let dir = 0;\n if (selectedItemIndex < this._activeIndex) {\n dir = this.d_numVisible - diff - 1 - this.getMedianItemIndex();\n if (dir > 0 && -1 * this.totalShiftedItems !== 0) {\n this.step(dir);\n }\n } else {\n dir = this.getMedianItemIndex() - diff;\n if (dir < 0 && -1 * this.totalShiftedItems < this.getTotalPageNumber() - 1) {\n this.step(dir);\n }\n }\n\n this.activeIndex = selectedItemIndex;\n this.onActiveIndexChange.emit(this.activeIndex);\n }\n }\n\n onThumbnailKeydown(event: KeyboardEvent, index: number) {\n if (event.code === 'Enter' || 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\n onRightKey() {\n const indicators = find(this.itemsContainer.nativeElement, '[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\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n }\n\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n }\n\n onEndKey() {\n const indicators = find(this.itemsContainer.nativeElement, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n }\n\n onTabKey() {\n const indicators = <any>[...find(this.itemsContainer.nativeElement, '[data-pc-section=\"thumbnailitem\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = <any>findSingle(this.itemsContainer.nativeElement, '[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\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.itemsContainer.nativeElement, '[data-pc-section=\"thumbnailitem\"]')];\n const activeIndicator = findSingle(this.itemsContainer.nativeElement, '[data-pc-section=\"thumbnailitem\"] > [tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n }\n\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = <any>find(this.itemsContainer.nativeElement, '[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\n step(dir: number) {\n let totalShiftedItems = this.totalShiftedItems + dir;\n\n if (dir < 0 && -1 * totalShiftedItems + this.d_numVisible > (<any[]>this.value).length - 1) {\n totalShiftedItems = this.d_numVisible - (<any[]>this.value).length;\n } else if (dir > 0 && totalShiftedItems > 0) {\n totalShiftedItems = 0;\n }\n\n if (this.circular) {\n if (dir < 0 && (<any[]>this.value).length - 1 === this._activeIndex) {\n totalShiftedItems = 0;\n } else if (dir > 0 && this._activeIndex === 0) {\n totalShiftedItems = this.d_numVisible - (<any[]>this.value).length;\n }\n }\n\n if (this.itemsContainer) {\n removeClass(this.itemsContainer.nativeElement, 'p-items-hidden');\n this.itemsContainer.nativeElement.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n }\n\n stopTheSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.stopSlideShow.emit();\n }\n }\n\n changePageOnTouch(e: TouchEvent, diff: number) {\n if (diff < 0) {\n // left\n this.navForward(e);\n } else {\n // right\n this.navBackward(e);\n }\n }\n\n getTotalPageNumber() {\n return (<any[]>this.value).length > this.d_numVisible ? (<any[]>this.value).length - this.d_numVisible + 1 : 0;\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\n onTransitionEnd() {\n if (this.itemsContainer && this.itemsContainer.nativeElement) {\n addClass(this.itemsContainer.nativeElement, 'p-items-hidden');\n this.itemsContainer.nativeElement.style.transition = '';\n }\n }\n\n onTouchEnd(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical) {\n this.changePageOnTouch(e, touchobj.pageY - (<{ x: number; y: number }>this.startPos).y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - (<{ x: number; y: number }>this.startPos).x);\n }\n }\n\n onTouchMove(e: TouchEvent) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onTouchStart(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n }\n\n isNavBackwardDisabled() {\n return (!this.circular && this._activeIndex === 0) || (<any[]>this.value).length <= this.d_numVisible;\n }\n\n isNavForwardDisabled() {\n return (!this.circular && this._activeIndex === (<any[]>this.value).length - 1) || (<any[]>this.value).length <= this.d_numVisible;\n }\n\n firstItemAciveIndex() {\n return this.totalShiftedItems * -1;\n }\n\n lastItemActiveIndex() {\n return this.firstItemAciveIndex() + this.d_numVisible - 1;\n }\n\n isItemActive(index: number) {\n return this.firstItemAciveIndex() <= index && this.lastItemActiveIndex() >= index;\n }\n\n bindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n const window = this.document.defaultView || 'window';\n this.documentResizeListener = this.renderer.listen(window, 'resize', () => {\n this.calculatePosition();\n });\n }\n }\n\n unbindDocumentListeners() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n ngOnDestroy() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n\n if (this.thumbnailsStyle) {\n this.thumbnailsStyle.parentNode?.removeChild(this.thumbnailsStyle);\n }\n }\n\n ariaPrevButtonLabel() {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.prevPageLabel : undefined;\n }\n\n ariaNextButtonLabel() {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.nextPageLabel : undefined;\n }\n\n ariaPageLabel(value) {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, Ripple, TimesIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, ChevronLeftIcon, WindowMaximizeIcon, WindowMinimizeIcon, FocusTrap],\n exports: [CommonModule, Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails, SharedModule],\n declarations: [Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails]\n})\nexport class GalleriaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-galleria.mjs","sources":["../../src/galleria/style/galleriastyle.ts","../../src/galleria/galleria.ts","../../src/galleria/primeng-galleria.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-galleria {\n overflow: hidden;\n border-style: solid;\n border-width: ${dt('galleria.border.width')};\n border-color: ${dt('galleria.border.color')};\n border-radius: ${dt('galleria.border.radius')};\n}\n\n.p-galleria-content {\n display: flex;\n flex-direction: column;\n}\n\n.p-galleria-items-container {\n display: flex;\n flex-direction: column;\n position: relative;\n}\n\n.p-galleria-items {\n position: relative;\n display: flex;\n height: 100%;\n}\n\n.p-galleria-nav-button {\n position: absolute;\n top: 50%;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n background: ${dt('galleria.nav.button.background')};\n color: ${dt('galleria.nav.button.color')};\n width: ${dt('galleria.nav.button.size')};\n height: ${dt('galleria.nav.button.size')};\n transition: background ${dt('galleria.transition.duration')}, color ${dt('galleria.transition.duration')}, outline-color ${dt('galleria.transition.duration')}, box-shadow ${dt('galleria.transition.duration')};\n margin: calc(-1 * calc(${dt('galleria.nav.button.size')}) / 2) ${dt('galleria.nav.button.gutter')} 0 ${dt('galleria.nav.button.gutter')};\n padding: 0;\n user-select: none;\n border: 0 none;\n cursor: pointer;\n outline-color: transparent;\n}\n\n.p-galleria-nav-button:not(.p-disabled):hover {\n background: ${dt('galleria.nav.button.hover.background')};\n color: ${dt('galleria.nav.button.hover.color')};\n}\n\n.p-galleria-nav-button:not(.p-disabled):focus-visible {\n box-shadow: ${dt('galleria.nav.button.focus.ring.shadow')};\n outline: ${dt('galleria.nav.button.focus.ring.width')} ${dt('galleria.nav.button.focus.ring.style')} ${dt('galleria.nav.button.focus.ring.color')};\n outline-offset: ${dt('galleria.nav.button.focus.ring.offset')};\n}\n\n.p-galleria-next-icon,\n.p-galleria-prev-icon {\n font-size: ${dt('galleria.nav.icon.size')};\n width: ${dt('galleria.nav.icon.size')};\n height: ${dt('galleria.nav.icon.size')};\n}\n\n.p-galleria-prev-button {\n border-radius: ${dt('galleria.nav.button.prev.border.radius')};\n left: 0;\n}\n\n.p-galleria-next-button {\n border-radius: ${dt('galleria.nav.button.next.border.radius')};\n right: 0;\n}\n\n.p-galleria-prev-button:dir(rtl) {\n left: auto;\n right: 0;\n transform: rotate(180deg);\n}\n\n.p-galleria-next-button:dir(rtl) {\n right: auto;\n left: 0;\n transform: rotate(180deg);\n}\n\n.p-galleria-item {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n}\n\n.p-galleria-hover-navigators .p-galleria-nav-button {\n pointer-events: none;\n opacity: 0;\n transition: opacity ${dt('galleria.transition.duration')} ease-in-out;\n}\n\n.p-galleria-hover-navigators .p-galleria-items-container:hover .p-galleria-nav-button {\n pointer-events: all;\n opacity: 1;\n}\n\n.p-galleria-hover-navigators .p-galleria-items-container:hover .p-galleria-nav-button.p-disabled {\n pointer-events: none;\n}\n\n.p-galleria-caption {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n background: ${dt('galleria.caption.background')};\n color: ${dt('galleria.caption.color')};\n padding: ${dt('galleria.caption.padding')};\n}\n\n.p-galleria-thumbnails {\n display: flex;\n flex-direction: column;\n overflow: auto;\n flex-shrink: 0;\n}\n\n.p-galleria-thumbnail-nav-button {\n align-self: center;\n flex: 0 0 auto;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n margin: 0 ${dt('galleria.thumbnail.nav.button.gutter')};\n padding: 0;\n border: none;\n user-select: none;\n cursor: pointer;\n background: transparent;\n color: ${dt('galleria.thumbnail.nav.button.color')};\n width: ${dt('galleria.thumbnail.nav.button.size')};\n height: ${dt('galleria.thumbnail.nav.button.size')};\n transition: background ${dt('galleria.transition.duration')}, color ${dt('galleria.transition.duration')}, outline-color ${dt('galleria.transition.duration')};\n outline-color: transparent;\n border-radius: ${dt('galleria.thumbnail.nav.button.border.radius')};\n}\n\n.p-galleria-thumbnail-nav-button:hover {\n background: ${dt('galleria.thumbnail.nav.button.hover.background')};\n color: ${dt('galleria.thumbnail.nav.button.hover.color')};\n}\n\n.p-galleria-thumbnail-nav-button:focus-visible {\n box-shadow: ${dt('galleria.thumbnail.nav.button.focus.ring.shadow')};\n outline: ${dt('galleria.thumbnail.nav.button.focus.ring.width')} ${dt('galleria.thumbnail.nav.button.focus.ring.style')} ${dt('galleria.thumbnail.nav.button.focus.ring.color')};\n outline-offset: ${dt('galleria.thumbnail.nav.button.focus.ring.offset')};\n}\n\n.p-galleria-thumbnail-nav-button .p-galleria-thumbnail-next-icon,\n.p-galleria-thumbnail-nav-button .p-galleria-thumbnail-prev-icon {\n font-size: ${dt('galleria.thumbnail.nav.button.icon.size')};\n width: ${dt('galleria.thumbnail.nav.button.icon.size')};\n height: ${dt('galleria.thumbnail.nav.button.icon.size')};\n}\n\n.p-galleria-thumbnails-content {\n display: flex;\n flex-direction: row;\n background: ${dt('galleria.thumbnails.content.background')};\n padding: ${dt('galleria.thumbnails.content.padding')};\n}\n\n.p-galleria-thumbnails-viewport {\n overflow: hidden;\n width: 100%;\n}\n\n.p-galleria:not(.p-galleria-thumbnails-right):not(.p-galleria-thumbnails-left) .p-galleria-thumbnail-prev-button:dir(rtl),\n.p-galleria:not(.p-galleria-thumbnails-right):not(.p-galleria-thumbnails-left) .p-galleria-thumbnail-next-button:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-galleria-thumbnail-items {\n display: flex;\n}\n\n.p-galleria-thumbnail-item {\n overflow: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n opacity: 0.5;\n}\n\n.p-galleria-thumbnail {\n outline-color: transparent;\n}\n\n.p-galleria-thumbnail-item:hover {\n opacity: 1;\n transition: opacity 0.3s;\n}\n\n.p-galleria-thumbnail-item-current {\n opacity: 1;\n}\n\n.p-galleria-thumbnails-left .p-galleria-content,\n.p-galleria-thumbnails-right .p-galleria-content {\n flex-direction: row;\n}\n\n.p-galleria-thumbnails-left .p-galleria-items-container,\n.p-galleria-thumbnails-right .p-galleria-items-container {\n flex-direction: row;\n}\n\n.p-galleria-thumbnails-left .p-galleria-items-container,\n.p-galleria-thumbnails-top .p-galleria-items-container {\n order: 2;\n}\n\n.p-galleria-thumbnails-left .p-galleria-thumbnails,\n.p-galleria-thumbnails-top .p-galleria-thumbnails {\n order: 1;\n}\n\n.p-galleria-thumbnails-left .p-galleria-thumbnails-content,\n.p-galleria-thumbnails-right .p-galleria-thumbnails-content {\n flex-direction: column;\n flex-grow: 1;\n}\n\n.p-galleria-thumbnails-left .p-galleria-thumbnail-items,\n.p-galleria-thumbnails-right .p-galleria-thumbnail-items {\n flex-direction: column;\n height: 100%;\n}\n\n.p-galleria-indicator-list {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${dt('galleria.indicator.list.padding')};\n gap: ${dt('galleria.indicator.list.gap')};\n margin: 0;\n list-style: none;\n}\n\n.p-galleria-indicator-button {\n display: inline-flex;\n align-items: center;\n background: ${dt('galleria.indicator.button.background')};\n width: ${dt('galleria.indicator.button.width')};\n height: ${dt('galleria.indicator.button.height')};\n transition: background ${dt('galleria.transition.duration')}, color ${dt('galleria.transition.duration')}, outline-color ${dt('galleria.transition.duration')}, box-shadow ${dt('galleria.transition.duration')};\n outline-color: transparent;\n border-radius: ${dt('galleria.indicator.button.border.radius')};\n margin: 0;\n padding: 0;\n border: none;\n user-select: none;\n cursor: pointer;\n}\n\n.p-galleria-indicator-button:hover {\n background: ${dt('galleria.indicator.button.hover.background')};\n}\n\n.p-galleria-indicator-button:focus-visible {\n box-shadow: ${dt('galleria.indicator.button.focus.ring.shadow')};\n outline: ${dt('galleria.indicator.button.focus.ring.width')} ${dt('galleria.indicator.button.focus.ring.style')} ${dt('galleria.indicator.button.focus.ring.color')};\n outline-offset: ${dt('galleria.indicator.button.focus.ring.offset')};\n}\n\n.p-galleria-indicator-active .p-galleria-indicator-button {\n background: ${dt('galleria.indicator.button.active.background')};\n}\n\n.p-galleria-indicators-left .p-galleria-items-container,\n.p-galleria-indicators-right .p-galleria-items-container {\n flex-direction: row;\n align-items: center;\n}\n\n.p-galleria-indicators-left .p-galleria-items,\n.p-galleria-indicators-top .p-galleria-items {\n order: 2;\n}\n\n.p-galleria-indicators-left .p-galleria-indicator-list,\n.p-galleria-indicators-top .p-galleria-indicator-list {\n order: 1;\n}\n\n.p-galleria-indicators-left .p-galleria-indicator-list,\n.p-galleria-indicators-right .p-galleria-indicator-list {\n flex-direction: column;\n}\n\n.p-galleria-inset-indicators .p-galleria-indicator-list {\n position: absolute;\n display: flex;\n z-index: 1;\n background: ${dt('galleria.inset.indicator.list.background')};\n}\n\n.p-galleria-inset-indicators .p-galleria-indicator-button {\n background: ${dt('galleria.inset.indicator.button.background')};\n}\n\n.p-galleria-inset-indicators .p-galleria-indicator-button:hover {\n background: ${dt('galleria.inset.indicator.button.hover.background')};\n}\n\n.p-galleria-inset-indicators .p-galleria-indicator-active .p-galleria-indicator-button {\n background: ${dt('galleria.inset.indicator.button.active.background')};\n}\n\n.p-galleria-inset-indicators.p-galleria-indicators-top .p-galleria-indicator-list {\n top: 0;\n left: 0;\n width: 100%;\n align-items: flex-start;\n}\n\n.p-galleria-inset-indicators.p-galleria-indicators-right .p-galleria-indicator-list {\n right: 0;\n top: 0;\n height: 100%;\n align-items: flex-end;\n}\n\n.p-galleria-inset-indicators.p-galleria-indicators-bottom .p-galleria-indicator-list {\n bottom: 0;\n left: 0;\n width: 100%;\n align-items: flex-end;\n}\n\n.p-galleria-inset-indicators.p-galleria-indicators-left .p-galleria-indicator-list {\n left: 0;\n top: 0;\n height: 100%;\n align-items: flex-start;\n}\n\n.p-galleria-mask {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-galleria-close-button {\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n margin: ${dt('galleria.close.button.gutter')};\n background: ${dt('galleria.close.button.background')};\n color: ${dt('galleria.close.button.color')};\n width: ${dt('galleria.close.button.size')};\n height: ${dt('galleria.close.button.size')};\n padding: 0;\n border: none;\n user-select: none;\n cursor: pointer;\n border-radius: ${dt('galleria.close.button.border.radius')};\n outline-color: transparent;\n transition: background ${dt('galleria.transition.duration')}, color ${dt('galleria.transition.duration')}, outline-color ${dt('galleria.transition.duration')};\n}\n\n.p-galleria-close-icon {\n font-size: ${dt('galleria.close.button.icon.size')};\n width: ${dt('galleria.close.button.icon.size')};\n height: ${dt('galleria.close.button.icon.size')};\n}\n\n.p-galleria-close-button:hover {\n background: ${dt('galleria.close.button.hover.background')};\n color: ${dt('galleria.close.button.hover.color')};\n}\n\n.p-galleria-close-button:focus-visible {\n box-shadow: ${dt('galleria.close.button.focus.ring.shadow')};\n outline: ${dt('galleria.close.button.focus.ring.width')} ${dt('galleria.close.button.focus.ring.style')} ${dt('galleria.close.button.focus.ring.color')};\n outline-offset: ${dt('galleria.close.button.focus.ring.offset')};\n}\n\n.p-galleria-mask .p-galleria-nav-button {\n position: fixed;\n top: 50%;\n}\n\n.p-galleria-enter-active {\n transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-galleria-leave-active {\n transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.p-galleria-enter-from,\n.p-galleria-leave-to {\n opacity: 0;\n transform: scale(0.7);\n}\n\n.p-galleria-enter-active .p-galleria-nav-button {\n opacity: 0;\n}\n\n.p-items-hidden .p-galleria-thumbnail-item {\n visibility: hidden;\n}\n\n.p-items-hidden .p-galleria-thumbnail-item.p-galleria-thumbnail-item-active {\n visibility: visible;\n}\n`;\n\nconst classes = {\n mask: 'p-galleria-mask p-overlay-mask p-overlay-mask-enter',\n root: ({ instance }) => {\n const thumbnailsPosClass = instance.$attrs.showThumbnails && instance.getPositionClass('p-galleria-thumbnails', instance.$attrs.thumbnailsPosition);\n const indicatorPosClass = instance.$attrs.showIndicators && instance.getPositionClass('p-galleria-indicators', instance.$attrs.indicatorsPosition);\n\n return [\n 'p-galleria p-component',\n {\n 'p-galleria-fullscreen': instance.$attrs.fullScreen,\n 'p-galleria-inset-indicators': instance.$attrs.showIndicatorsOnItem,\n 'p-galleria-hover-navigators': instance.$attrs.showItemNavigatorsOnHover && !instance.$attrs.fullScreen\n },\n thumbnailsPosClass,\n indicatorPosClass\n ];\n },\n closeButton: 'p-galleria-close-button',\n closeIcon: 'p-galleria-close-icon',\n header: 'p-galleria-header',\n content: 'p-galleria-content',\n footer: 'p-galleria-footer',\n itemsContainer: 'p-galleria-items-container',\n items: 'p-galleria-items',\n prevButton: ({ instance }) => [\n 'p-galleria-prev-button p-galleria-nav-button',\n {\n 'p-disabled': instance.isNavBackwardDisabled()\n }\n ],\n prevIcon: 'p-galleria-prev-icon',\n item: 'p-galleria-item',\n nextButton: ({ instance }) => [\n 'p-galleria-next-button p-galleria-nav-button',\n {\n 'p-disabled': instance.isNavForwardDisabled()\n }\n ],\n nextIcon: 'p-galleria-next-icon',\n caption: 'p-galleria-caption',\n indicatorList: 'p-galleria-indicator-list',\n indicator: ({ instance, index }) => [\n 'p-galleria-indicator',\n {\n 'p-galleria-indicator-active': instance.isIndicatorItemActive(index)\n }\n ],\n indicatorButton: 'p-galleria-indicator-button',\n thumbnails: 'p-galleria-thumbnails',\n thumbnailContent: 'p-galleria-thumbnails-content',\n thumbnailPrevButton: ({ instance }) => [\n 'p-galleria-thumbnail-prev-button p-galleria-thumbnail-nav-button',\n {\n 'p-disabled': instance.isNavBackwardDisabled()\n }\n ],\n thumbnailPrevIcon: 'p-galleria-thumbnail-prev-icon',\n thumbnailsViewport: 'p-galleria-thumbnails-viewport',\n thumbnailItems: 'p-galleria-thumbnail-items',\n thumbnailItem: ({ instance, index, activeIndex }) => [\n 'p-galleria-thumbnail-item',\n {\n 'p-galleria-thumbnail-item-current': activeIndex === index,\n 'p-galleria-thumbnail-item-active': instance.isItemActive(index),\n 'p-galleria-thumbnail-item-start': instance.firstItemAciveIndex() === index,\n 'p-galleria-thumbnail-item-end': instance.lastItemActiveIndex() === index\n }\n ],\n thumbnail: 'p-galleria-thumbnail',\n thumbnailNextButton: ({ instance }) => [\n 'p-galleria-thumbnail-next-button p-galleria-thumbnail-nav-button',\n {\n 'p-disabled': instance.isNavForwardDisabled()\n }\n ],\n thumbnailNextIcon: 'p-galleria-thumbnail-next-icon'\n};\n\n@Injectable()\nexport class GalleriaStyle extends BaseStyle {\n name = 'galleria';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Galleria is an advanced content gallery component.\n *\n * [Live Demo](https://www.primeng.org/galleria/)\n *\n * @module galleriastyle\n *\n */\nexport enum GalleriaClasses {\n /**\n * Class name of the mask element\n */\n mask = 'p-galleria-mask',\n /**\n * Class name of the root element\n */\n root = 'p-galleria',\n /**\n * Class name of the close button element\n */\n closeButton = 'p-galleria-close-button',\n /**\n * Class name of the close icon element\n */\n closeIcon = 'p-galleria-close-icon',\n /**\n * Class name of the header element\n */\n header = 'p-galleria-header',\n /**\n * Class name of the content element\n */\n content = 'p-galleria-content',\n /**\n * Class name of the footer element\n */\n footer = 'p-galleria-footer',\n /**\n * Class name of the items container element\n */\n itemsContainer = 'p-galleria-items-container',\n /**\n * Class name of the items element\n */\n items = 'p-galleria-items',\n /**\n * Class name of the previous item button element\n */\n prevButton = 'p-galleria-prev-button',\n /**\n * Class name of the previous item icon element\n */\n prevIcon = 'p-galleria-prev-icon',\n /**\n * Class name of the item element\n */\n item = 'p-galleria-item',\n /**\n * Class name of the next item button element\n */\n nextButton = 'p-galleria-next-button',\n /**\n * Class name of the next item icon element\n */\n nextIcon = 'p-galleria-next-icon',\n /**\n * Class name of the caption element\n */\n caption = 'p-galleria-caption',\n /**\n * Class name of the indicator list element\n */\n indicatorList = 'p-galleria-indicator-list',\n /**\n * Class name of the indicator element\n */\n indicator = 'p-galleria-indicator',\n /**\n * Class name of the indicator button element\n */\n indicatorButton = 'p-galleria-indicator-button',\n /**\n * Class name of the thumbnails element\n */\n thumbnails = 'p-galleria-thumbnails',\n /**\n * Class name of the thumbnail content element\n */\n thumbnailContent = 'p-galleria-thumbnails-content',\n /**\n * Class name of the previous thumbnail button element\n */\n previousThumbnailButton = 'p-galleria-thumbnail-prev-button',\n /**\n * Class name of the previous thumbnail icon element\n */\n previousThumbnailIcon = 'p-galleria-thumbnail-prev-icon',\n /**\n * Class name of the thumbnails viewport element\n */\n thumbnailsViewport = 'p-galleria-thumbnails-viewport',\n /**\n * Class name of the thumbnail items element\n */\n thumbnailItems = 'p-galleria-thumbnail-items',\n /**\n * Class name of the thumbnail item element\n */\n thumbnailItem = 'p-galleria-thumbnail-item',\n /**\n * Class name of the thumbnail element\n */\n thumbnail = 'p-galleria-thumbnail',\n /**\n * Class name of the next thumbnail button element\n */\n nextThumbnailButton = 'p-galleria-thumbnail-next-button',\n /**\n * Class name of the next thumbnail icon element\n */\n nextThumbnailIcon = 'p-galleria-thumbnail-next-icon'\n}\n\nexport interface GalleriaStyle extends BaseStyle {}\n","import { animate, AnimationEvent, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Inject,\n inject,\n Input,\n KeyValueDiffers,\n NgModule,\n numberAttribute,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { addClass, blockBodyScroll, find, findSingle, focus, getAttribute, removeClass, setAttribute, unblockBodyScroll, uuid } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { FocusTrap } from 'primeng/focustrap';\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, TimesIcon, WindowMaximizeIcon, WindowMinimizeIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { GalleriaResponsiveOptions } from './galleria.interface';\nimport { GalleriaStyle } from './style/galleriastyle';\n\n/**\n * Galleria is an advanced content gallery component.\n * @group Components\n */\n@Component({\n selector: 'p-galleria',\n standalone: false,\n template: `\n <div *ngIf=\"fullScreen; else windowed\" #container>\n <div *ngIf=\"maskVisible\" #mask [ngClass]=\"{ 'p-galleria-mask p-overlay-mask p-overlay-mask-enter': true }\" [class]=\"maskClass\" [attr.role]=\"fullScreen ? 'dialog' : 'region'\" [attr.aria-modal]=\"fullScreen ? 'true' : undefined\">\n <p-galleriaContent\n *ngIf=\"visible\"\n [@animation]=\"{\n value: 'visible',\n params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }\n }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n [value]=\"value\"\n [activeIndex]=\"activeIndex\"\n [numVisible]=\"numVisibleLimit || numVisible\"\n (maskHide)=\"onMaskHide()\"\n (activeItemChange)=\"onActiveItemChange($event)\"\n [ngStyle]=\"containerStyle\"\n [fullScreen]=\"fullScreen\"\n ></p-galleriaContent>\n </div>\n </div>\n\n <ng-template #windowed>\n <p-galleriaContent [value]=\"value\" [activeIndex]=\"activeIndex\" [numVisible]=\"numVisibleLimit || numVisible\" (activeItemChange)=\"onActiveItemChange($event)\"></p-galleriaContent>\n </ng-template>\n `,\n animations: [\n trigger('animation', [\n transition('void => visible', [style({ transform: 'scale(0.7)', opacity: 0 }), animate('{{showTransitionParams}}')]),\n transition('visible => void', [animate('{{hideTransitionParams}}', style({ transform: 'scale(0.7)', opacity: 0 }))])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [GalleriaStyle]\n})\nexport class Galleria extends BaseComponent implements OnChanges, OnDestroy {\n /**\n * Index of the first item.\n * @group Props\n */\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n set activeIndex(activeIndex) {\n this._activeIndex = activeIndex;\n }\n /**\n * Whether to display the component on fullscreen.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fullScreen: boolean = false;\n /**\n * Unique identifier of the element.\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * An array of objects to display.\n * @group Props\n */\n @Input() value: any[] | undefined;\n /**\n * Number of items per page.\n * @group Props\n */\n @Input({ transform: numberAttribute }) numVisible: number = 3;\n /**\n * An array of options for responsive design.\n * @see {GalleriaResponsiveOptions}\n * @group Props\n */\n @Input() responsiveOptions: GalleriaResponsiveOptions[] | undefined;\n /**\n * Whether to display navigation buttons in item section.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showItemNavigators: boolean = false;\n /**\n * Whether to display navigation buttons in thumbnail container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showThumbnailNavigators: boolean = true;\n /**\n * Whether to display navigation buttons on item hover.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showItemNavigatorsOnHover: boolean = false;\n /**\n * When enabled, item is changed on indicator hover.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) changeItemOnIndicatorHover: boolean = false;\n /**\n * Defines if scrolling would be infinite.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n /**\n * Items are displayed with a slideshow in autoPlay mode.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoPlay: boolean = false;\n /**\n * When enabled, autorun should stop by click.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) shouldStopAutoplayByClick: boolean = true;\n /**\n * Time in milliseconds to scroll items.\n * @group Props\n */\n @Input({ transform: numberAttribute }) transitionInterval: number = 4000;\n /**\n * Whether to display thumbnail container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showThumbnails: boolean = true;\n /**\n * Position of thumbnails.\n * @group Props\n */\n @Input() thumbnailsPosition: 'bottom' | 'top' | 'left' | 'right' | undefined = 'bottom';\n /**\n * Height of the viewport in vertical thumbnail.\n * @group Props\n */\n @Input() verticalThumbnailViewPortHeight: string = '300px';\n /**\n * Whether to display indicator container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showIndicators: boolean = false;\n /**\n * When enabled, indicator container is displayed on item container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showIndicatorsOnItem: boolean = false;\n /**\n * Position of indicators.\n * @group Props\n */\n @Input() indicatorsPosition: 'bottom' | 'top' | 'left' | 'right' | undefined = 'bottom';\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Style class of the mask on fullscreen mode.\n * @group Props\n */\n @Input() maskClass: string | undefined;\n /**\n * Style class of the component on fullscreen mode. Otherwise, the 'class' property can be used.\n * @group Props\n */\n @Input() containerClass: string | undefined;\n /**\n * Inline style of the component on fullscreen mode. Otherwise, the 'style' property can be used.\n * @group Props\n */\n @Input() containerStyle: { [klass: string]: any } | null | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Specifies the visibility of the mask on fullscreen mode.\n * @group Props\n */\n @Input() get visible(): boolean {\n return this._visible;\n }\n set visible(visible: boolean) {\n this._visible = visible;\n\n if (this._visible && !this.maskVisible) {\n this.maskVisible = true;\n }\n }\n /**\n * Callback to invoke on active index change.\n * @param {number} number - Active index.\n * @group Emits\n */\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n /**\n * Callback to invoke on visiblity change.\n * @param {boolean} boolean - Visible value.\n * @group Emits\n */\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('mask') mask: ElementRef | undefined;\n\n @ViewChild('container') container: ElementRef | undefined;\n\n _visible: boolean = false;\n\n _activeIndex: number = 0;\n\n @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n headerFacet: any;\n\n @ContentChild('footer', { descendants: false, static: false }) footerTemplate: TemplateRef<any> | undefined;\n footerFacet: any;\n\n @ContentChild('indicator', { descendants: false }) indicatorTemplate: TemplateRef<any> | undefined;\n indicatorFacet: any;\n\n @ContentChild('caption', { descendants: false }) captionTemplate: TemplateRef<any> | undefined;\n captionFacet: any;\n\n @ContentChild('closeicon', { descendants: false }) _closeIconTemplate: TemplateRef<any> | undefined;\n closeIconTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('previousthumbnailicon', { descendants: false }) _previousThumbnailIconTemplate: TemplateRef<any> | undefined;\n previousThumbnailIconTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('nextthumbnailicon', { descendants: false }) _nextThumbnailIconTemplate: TemplateRef<any> | undefined;\n nextThumbnailIconTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('itempreviousicon', { descendants: false }) _itemPreviousIconTemplate: TemplateRef<any> | undefined;\n itemPreviousIconTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('itemnexticon', { descendants: false }) _itemNextIconTemplate: TemplateRef<any> | undefined;\n itemNextIconTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('item', { descendants: false }) _itemTemplate: TemplateRef<any> | undefined;\n itemTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('thumbnail', { descendants: false, static: false }) _thumbnailTemplate: TemplateRef<any> | undefined;\n thumbnailTemplate: TemplateRef<any> | undefined;\n\n maskVisible: boolean = false;\n\n numVisibleLimit = 0;\n\n _componentStyle = inject(GalleriaStyle);\n\n constructor(\n @Inject(PLATFORM_ID) public platformId: any,\n public element: ElementRef,\n public cd: ChangeDetectorRef\n ) {\n super();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerFacet = item.template;\n break;\n\n case 'footer':\n this.footerFacet = item.template;\n break;\n\n case 'indicator':\n this.indicatorFacet = item.template;\n break;\n\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n\n case 'itemnexticon':\n this.itemNextIconTemplate = item.template;\n break;\n\n case 'itempreviousicon':\n this.itemPreviousIconTemplate = item.template;\n break;\n\n case 'previousthumbnailicon':\n this.previousThumbnailIconTemplate = item.template;\n break;\n\n case 'nextthumbnailicon':\n this.nextThumbnailIconTemplate = item.template;\n break;\n\n case 'caption':\n this.captionFacet = item.template;\n break;\n\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'thumbnail':\n this.thumbnailTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n super.ngOnChanges(simpleChanges);\n if (simpleChanges.value && simpleChanges.value.currentValue?.length < this.numVisible) {\n this.numVisibleLimit = simpleChanges.value.currentValue.length;\n } else {\n this.numVisibleLimit = 0;\n }\n }\n\n onMaskHide() {\n this.visible = false;\n this.visibleChange.emit(false);\n }\n\n onActiveItemChange(index: number) {\n if (this.activeIndex !== index) {\n this.activeIndex = index;\n this.activeIndexChange.emit(index);\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.enableModality();\n setTimeout(() => {\n focus(<any>findSingle(this.container.nativeElement, '[data-pc-section=\"closebutton\"]'));\n }, 25);\n break;\n\n case 'void':\n addClass(this.mask?.nativeElement, 'p-overlay-mask-leave');\n break;\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.disableModality();\n break;\n }\n }\n\n enableModality() {\n blockBodyScroll();\n this.cd.markForCheck();\n\n if (this.mask) {\n ZIndexUtils.set('modal', this.mask.nativeElement, this.baseZIndex || this.config.zIndex.modal);\n }\n }\n\n disableModality() {\n unblockBodyScroll();\n this.maskVisible = false;\n this.cd.markForCheck();\n\n if (this.mask) {\n ZIndexUtils.clear(this.mask.nativeElement);\n }\n }\n\n ngOnDestroy() {\n if (this.fullScreen) {\n removeClass(this.document.body, 'p-overflow-hidden');\n }\n\n if (this.mask) {\n this.disableModality();\n }\n }\n}\n\n@Component({\n selector: 'p-galleriaContent',\n standalone: false,\n template: `\n <div\n [attr.id]=\"id\"\n [attr.role]=\"'region'\"\n *ngIf=\"value && value.length > 0\"\n [ngClass]=\"{\n 'p-galleria p-component': true,\n 'p-galleria-fullscreen': this.galleria.fullScreen,\n 'p-galleria-inset-indicators': this.galleria.showIndicatorsOnItem,\n 'p-galleria-hover-navigators': this.galleria.showItemNavigatorsOnHover && !this.galleria.fullScreen\n }\"\n [ngStyle]=\"!galleria.fullScreen ? galleria.containerStyle : {}\"\n [class]=\"galleriaClass()\"\n pFocusTrap\n [pFocusTrapDisabled]=\"!fullScreen\"\n >\n <button *ngIf=\"galleria.fullScreen\" type=\"button\" class=\"p-galleria-close-button\" (click)=\"maskHide.emit()\" [attr.aria-label]=\"closeAriaLabel()\" [attr.data-pc-section]=\"'closebutton'\">\n <TimesIcon *ngIf=\"!galleria.closeIconTemplate && !galleria._closeIconTemplate\" [styleClass]=\"'p-galleria-close-icon'\" />\n <ng-template *ngTemplateOutlet=\"galleria.closeIconTemplate || galleria._closeIconTemplate\"></ng-template>\n </button>\n <div *ngIf=\"galleria.templates && (galleria.headerFacet || galleria.headerTemplate)\" class=\"p-galleria-header\">\n <p-galleriaItemSlot type=\"header\" [templates]=\"galleria.templates\"></p-galleriaItemSlot>\n </div>\n <div class=\"p-galleria-content\" [attr.aria-live]=\"galleria.autoPlay ? 'polite' : 'off'\">\n <p-galleriaItem\n [id]=\"id\"\n [value]=\"value\"\n [activeIndex]=\"activeIndex\"\n [circular]=\"galleria.circular\"\n [templates]=\"galleria.templates\"\n (onActiveIndexChange)=\"onActiveIndexChange($event)\"\n [showIndicators]=\"galleria.showIndicators\"\n [changeItemOnIndicatorHover]=\"galleria.changeItemOnIndicatorHover\"\n [indicatorFacet]=\"galleria.indicatorFacet\"\n [captionFacet]=\"galleria.captionFacet\"\n [showItemNavigators]=\"galleria.showItemNavigators\"\n [autoPlay]=\"galleria.autoPlay\"\n [slideShowActive]=\"slideShowActive\"\n (startSlideShow)=\"startSlideShow()\"\n (stopSlideShow)=\"stopSlideShow()\"\n ></p-galleriaItem>\n\n <p-galleriaThumbnails\n *ngIf=\"galleria.showThumbnails\"\n [containerId]=\"id\"\n [value]=\"value\"\n (onActiveIndexChange)=\"onActiveIndexChange($event)\"\n [activeIndex]=\"activeIndex\"\n [templates]=\"galleria.templates\"\n [numVisible]=\"numVisible\"\n [responsiveOptions]=\"galleria.responsiveOptions\"\n [circular]=\"galleria.circular\"\n [isVertical]=\"isVertical()\"\n [contentHeight]=\"galleria.verticalThumbnailViewPortHeight\"\n [showThumbnailNavigators]=\"galleria.showThumbnailNavigators\"\n [slideShowActive]=\"slideShowActive\"\n (stopSlideShow)=\"stopSlideShow()\"\n ></p-galleriaThumbnails>\n </div>\n <div *ngIf=\"shouldRenderFooter()\" class=\"p-galleria-footer\">\n <p-galleriaItemSlot type=\"footer\" [templates]=\"galleria.templates\"></p-galleriaItemSlot>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaContent extends BaseComponent implements DoCheck {\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n set activeIndex(activeIndex: number) {\n this._activeIndex = activeIndex;\n }\n\n @Input() value: any[] = [];\n\n @Input({ transform: numberAttribute }) numVisible: number | undefined;\n\n @Input({ transform: booleanAttribute }) fullScreen: boolean;\n\n @Output() maskHide: EventEmitter<boolean> = new EventEmitter();\n\n @Output() activeItemChange: EventEmitter<number> = new EventEmitter();\n\n @ViewChild('closeButton') closeButton: ElementRef | undefined;\n\n id: string;\n\n _activeIndex: number = 0;\n\n slideShowActive: boolean = true;\n\n interval: any;\n\n styleClass: string | undefined;\n\n private differ: any;\n\n constructor(\n public galleria: Galleria,\n public cd: ChangeDetectorRef,\n private differs: KeyValueDiffers,\n private elementRef: ElementRef\n ) {\n super();\n this.id = this.galleria.id || uuid('pn_id_');\n this.differ = this.differs.find(this.galleria).create();\n }\n\n // For custom fullscreen\n @HostListener('document:fullscreenchange', ['$event'])\n handleFullscreenChange(event: Event) {\n if (document?.fullscreenElement === this.elementRef.nativeElement?.children[0]) {\n this.fullScreen = true;\n } else {\n this.fullScreen = false;\n }\n }\n\n ngDoCheck(): void {\n if (isPlatformBrowser(this.galleria.platformId)) {\n const changes = this.differ.diff(this.galleria as unknown as Record<string, unknown>);\n if (changes && changes.forEachItem.length > 0) {\n // Because we change the properties of the parent component,\n // and the children take our entity from the injector.\n // We can tell the children to redraw themselves when we change the properties of the parent component.\n // Since we have an onPush strategy\n this.cd.markForCheck();\n }\n }\n }\n\n shouldRenderFooter() {\n return (this.galleria.footerFacet && this.galleria.templates.toArray().length > 0) || this.galleria.footerTemplate;\n }\n\n galleriaClass() {\n const thumbnailsPosClass = this.galleria.showThumbnails && this.getPositionClass('p-galleria-thumbnails', this.galleria.thumbnailsPosition as string);\n const indicatorPosClass = this.galleria.showIndicators && this.getPositionClass('p-galleria-indicators', this.galleria.indicatorsPosition as string);\n\n return (this.galleria.containerClass ? this.galleria.containerClass + ' ' : '') + (thumbnailsPosClass ? thumbnailsPosClass + ' ' : '') + (indicatorPosClass ? indicatorPosClass + ' ' : '');\n }\n\n startSlideShow() {\n if (isPlatformBrowser(this.galleria.platformId)) {\n this.interval = setInterval(() => {\n let activeIndex = this.galleria.circular && this.value.length - 1 === this.activeIndex ? 0 : this.activeIndex + 1;\n this.onActiveIndexChange(activeIndex);\n this.activeIndex = activeIndex;\n }, this.galleria.transitionInterval);\n\n this.slideShowActive = true;\n }\n }\n\n stopSlideShow() {\n if (this.galleria.autoPlay && !this.galleria.shouldStopAutoplayByClick) {\n return;\n }\n\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.slideShowActive = false;\n }\n\n getPositionClass(preClassName: string, position: string) {\n const positions = ['top', 'left', 'bottom', 'right'];\n const pos = positions.find((item) => item === position);\n\n return pos ? `${preClassName}-${pos}` : '';\n }\n\n isVertical() {\n return this.galleria.thumbnailsPosition === 'left' || this.galleria.thumbnailsPosition === 'right';\n }\n\n onActiveIndexChange(index: number) {\n if (this.activeIndex !== index) {\n this.activeIndex = index;\n this.activeItemChange.emit(this.activeIndex);\n }\n }\n\n closeAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n }\n}\n\n@Component({\n selector: 'p-galleriaItemSlot',\n standalone: false,\n template: `\n <ng-container *ngIf=\"shouldRender()\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: context\"></ng-container>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaItemSlot {\n @Input() templates: QueryList<PrimeTemplate> | undefined;\n\n @Input({ transform: numberAttribute }) index: number | undefined;\n\n @Input() get item(): any {\n return this._item;\n }\n\n shouldRender() {\n return (\n this.contentTemplate ||\n this.galleria._itemTemplate ||\n this.galleria.itemTemplate ||\n this.galleria.captionTemplate ||\n this.galleria.captionTemplate ||\n this.galleria.captionFacet ||\n this.galleria.thumbnailTemplate ||\n this.galleria._thumbnailTemplate ||\n this.galleria.footerTemplate\n );\n }\n\n galleria: Galleria = inject(Galleria);\n\n set item(item: any) {\n this._item = item;\n if (this.templates && this.templates?.toArray().length > 0) {\n this.templates.forEach((item) => {\n if (item.getType() === this.type) {\n switch (this.type) {\n case 'item':\n case 'caption':\n case 'thumbnail':\n this.context = { $implicit: this.item };\n this.contentTemplate = item.template;\n break;\n case 'footer':\n this.context = { $implicit: this.item };\n this.contentTemplate = item.template;\n break;\n }\n }\n });\n } else {\n this.getContentTemplate();\n }\n }\n\n getContentTemplate() {\n switch (this.type) {\n case 'item':\n this.context = { $implicit: this.item };\n this.contentTemplate = this.galleria._itemTemplate || this.galleria.itemTemplate;\n break;\n case 'caption':\n this.context = { $implicit: this.item };\n this.contentTemplate = this.galleria.captionTemplate || this.galleria.captionFacet;\n break;\n case 'thumbnail':\n this.context = { $implicit: this.item };\n this.contentTemplate = this.galleria.thumbnailTemplate || this.galleria._thumbnailTemplate;\n break;\n case 'indicator':\n this.context = { $implicit: this.index };\n this.contentTemplate = this.galleria.indicatorTemplate || this.galleria.indicatorFacet;\n break;\n case 'footer':\n this.context = { $implicit: this.item };\n this.contentTemplate = this.galleria.footerTemplate || this.galleria.footerFacet;\n break;\n default:\n this.context = { $implicit: this.item };\n this.contentTemplate = this.galleria._itemTemplate || this.galleria.itemTemplate;\n }\n }\n\n @Input() type: string | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n context: any;\n\n _item: any;\n\n ngAfterContentInit() {\n if (this.templates && this.templates.toArray().length > 0) {\n this.templates?.forEach((item) => {\n if (item.getType() === this.type) {\n switch (this.type) {\n case 'item':\n case 'caption':\n case 'thumbnail':\n this.context = { $implicit: this.item };\n this.contentTemplate = item.template;\n break;\n\n case 'indicator':\n this.context = { $implicit: this.index };\n this.contentTemplate = item.template;\n break;\n\n case 'footer':\n this.context = { $implicit: this.item };\n this.contentTemplate = item.template;\n break;\n\n default:\n this.context = { $implicit: this.item };\n this.contentTemplate = item.template;\n break;\n }\n }\n });\n } else {\n this.getContentTemplate();\n }\n }\n}\n\n@Component({\n selector: 'p-galleriaItem',\n standalone: false,\n template: `\n <div class=\"p-galleria-items\">\n <button\n *ngIf=\"showItemNavigators\"\n type=\"button\"\n role=\"navigation\"\n [ngClass]=\"{ 'p-galleria-prev-button p-galleria-nav-button': true, 'p-disabled': this.isNavBackwardDisabled() }\"\n (click)=\"navBackward($event)\"\n [disabled]=\"isNavBackwardDisabled()\"\n (focus)=\"onButtonFocus('left')\"\n (blur)=\"onButtonBlur('left')\"\n >\n <ChevronLeftIcon *ngIf=\"!galleria.itemPreviousIconTemplate && !galleria._itemPreviousIconTemplate\" [styleClass]=\"'p-galleria-prev-icon'\" />\n <ng-template *ngTemplateOutlet=\"galleria.itemPreviousIconTemplate || galleria._itemPreviousIconTemplate\"></ng-template>\n </button>\n <div [id]=\"id + '_item_' + activeIndex\" role=\"group\" class=\"p-galleria-item\" [attr.aria-label]=\"ariaSlideNumber(activeIndex + 1)\" [attr.aria-roledescription]=\"ariaSlideLabel()\">\n <p-galleriaItemSlot type=\"item\" [item]=\"activeItem\" [templates]=\"templates\" class=\"p-galleria-item\"></p-galleriaItemSlot>\n </div>\n <button\n *ngIf=\"showItemNavigators\"\n type=\"button\"\n [ngClass]=\"{ 'p-galleria-next-button p-galleria-nav-button': true, 'p-disabled': this.isNavForwardDisabled() }\"\n (click)=\"navForward($event)\"\n [disabled]=\"isNavForwardDisabled()\"\n role=\"navigation\"\n (focus)=\"onButtonFocus('right')\"\n (blur)=\"onButtonBlur('right')\"\n >\n <ChevronRightIcon *ngIf=\"!galleria.itemNextIconTemplate && !galleria._itemNextIconTemplate\" [styleClass]=\"'p-galleria-next-icon'\" />\n <ng-template *ngTemplateOutlet=\"galleria.itemNextIconTemplate || galleria._itemNextIconTemplate\"></ng-template>\n </button>\n <div class=\"p-galleria-caption\" *ngIf=\"captionFacet || galleria.captionTemplate\">\n <p-galleriaItemSlot type=\"caption\" [item]=\"activeItem\" [templates]=\"templates\"></p-galleriaItemSlot>\n </div>\n </div>\n <ul *ngIf=\"showIndicators\" class=\"p-galleria-indicator-list\">\n <li\n *ngFor=\"let item of value; let index = index\"\n tabindex=\"0\"\n (click)=\"onIndicatorClick(index)\"\n (mouseenter)=\"onIndicatorMouseEnter(index)\"\n (keydown)=\"onIndicatorKeyDown($event, index)\"\n [ngClass]=\"{ 'p-galleria-indicator': true, 'p-galleria-indicator-active': isIndicatorItemActive(index) }\"\n [attr.aria-label]=\"ariaPageLabel(index + 1)\"\n [attr.aria-selected]=\"activeIndex === index\"\n [attr.aria-controls]=\"id + '_item_' + index\"\n >\n <button type=\"button\" tabIndex=\"-1\" class=\"p-galleria-indicator-button\" *ngIf=\"!indicatorFacet && !galleria.indicatorTemplate\"></button>\n <p-galleriaItemSlot type=\"indicator\" [index]=\"index\" [templates]=\"templates\"></p-galleriaItemSlot>\n </li>\n </ul>\n `,\n host: {\n class: 'p-galleria-items-container'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaItem implements OnChanges {\n @Input() id: string | undefined;\n\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n\n @Input() value: any[] | undefined;\n\n @Input({ transform: booleanAttribute }) showItemNavigators: boolean = false;\n\n @Input({ transform: booleanAttribute }) showIndicators: boolean = true;\n\n @Input({ transform: booleanAttribute }) slideShowActive: boolean = true;\n\n @Input({ transform: booleanAttribute }) changeItemOnIndicatorHover: boolean = true;\n\n @Input({ transform: booleanAttribute }) autoPlay: boolean = false;\n\n @Input() templates: QueryList<PrimeTemplate> | undefined;\n\n @Input() indicatorFacet: any;\n\n @Input() captionFacet: any;\n\n @Output() startSlideShow: EventEmitter<Event> = new EventEmitter();\n\n @Output() stopSlideShow: EventEmitter<Event> = new EventEmitter();\n\n @Output() onActiveIndexChange: EventEmitter<number> = new EventEmitter();\n\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n\n set activeIndex(activeIndex) {\n this._activeIndex = activeIndex;\n }\n\n get activeItem() {\n return this.value && this.value[this._activeIndex];\n }\n\n _activeIndex: number = 0;\n\n leftButtonFocused: boolean = false;\n\n rightButtonFocused: boolean = false;\n\n constructor(public galleria: Galleria) {}\n\n ngOnChanges({ autoPlay }: SimpleChanges): void {\n if (autoPlay?.currentValue) {\n this.startSlideShow.emit();\n }\n\n if (autoPlay && autoPlay.currentValue === false) {\n this.stopTheSlideShow();\n }\n }\n\n next() {\n let nextItemIndex = this.activeIndex + 1;\n let activeIndex = this.circular && (<any[]>this.value).length - 1 === this.activeIndex ? 0 : nextItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n }\n\n prev() {\n let prevItemIndex = this.activeIndex !== 0 ? this.activeIndex - 1 : 0;\n let activeIndex = this.circular && this.activeIndex === 0 ? (<any[]>this.value).length - 1 : prevItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n }\n\n onButtonFocus(pos: 'left' | 'right') {\n if (pos === 'left') {\n this.leftButtonFocused = true;\n } else this.rightButtonFocused = true;\n }\n\n onButtonBlur(pos: 'left' | 'right') {\n if (pos === 'left') {\n this.leftButtonFocused = false;\n } else this.rightButtonFocused = false;\n }\n\n stopTheSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.stopSlideShow.emit();\n }\n }\n\n navForward(e: MouseEvent) {\n this.stopTheSlideShow();\n this.next();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: MouseEvent) {\n this.stopTheSlideShow();\n this.prev();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onIndicatorClick(index: number) {\n this.stopTheSlideShow();\n this.onActiveIndexChange.emit(index);\n }\n\n onIndicatorMouseEnter(index: number) {\n if (this.changeItemOnIndicatorHover) {\n this.stopTheSlideShow();\n this.onActiveIndexChange.emit(index);\n }\n }\n\n onIndicatorKeyDown(event, index: number) {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n this.stopTheSlideShow();\n this.onActiveIndexChange.emit(index);\n event.preventDefault();\n break;\n\n case 'ArrowDown':\n case 'ArrowUp':\n event.preventDefault();\n break;\n\n default:\n break;\n }\n }\n\n isNavForwardDisabled() {\n return !this.circular && this.activeIndex === (<any[]>this.value).length - 1;\n }\n\n isNavBackwardDisabled() {\n return !this.circular && this.activeIndex === 0;\n }\n\n isIndicatorItemActive(index: number) {\n return this.activeIndex === index;\n }\n\n ariaSlideLabel() {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.slide : undefined;\n }\n\n ariaSlideNumber(value) {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n }\n\n ariaPageLabel(value) {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n}\n\n@Component({\n selector: 'p-galleriaThumbnails',\n standalone: false,\n template: `\n <div class=\"p-galleria-thumbnails\">\n <div class=\"p-galleria-thumbnails-content\">\n <button\n *ngIf=\"showThumbnailNavigators\"\n type=\"button\"\n [ngClass]=\"{\n 'p-galleria-thumbnail-prev-button p-galleria-thumbnail-nav-button': true,\n 'p-disabled': this.isNavBackwardDisabled()\n }\"\n (click)=\"navBackward($event)\"\n [disabled]=\"isNavBackwardDisabled()\"\n pRipple\n [attr.aria-label]=\"ariaPrevButtonLabel()\"\n >\n <ng-container *ngIf=\"!galleria.previousThumbnailIconTemplate && !galleria._previousThumbnailIconTemplate\">\n <ChevronLeftIcon *ngIf=\"!isVertical\" [styleClass]=\"'p-galleria-thumbnail-prev-icon'\" />\n <ChevronUpIcon *ngIf=\"isVertical\" [styleClass]=\"'p-galleria-thumbnail-prev-icon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"galleria.previousThumbnailIconTemplate || galleria._previousThumbnailIconTemplate\"></ng-template>\n </button>\n <div class=\"p-galleria-thumbnails-viewport\" [ngStyle]=\"{ height: isVertical ? contentHeight : '' }\">\n <div #itemsContainer class=\"p-galleria-thumbnail-items\" (transitionend)=\"onTransitionEnd()\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" role=\"tablist\">\n <div\n *ngFor=\"let item of value; let index = index\"\n [ngClass]=\"{\n 'p-galleria-thumbnail-item': true,\n 'p-galleria-thumbnail-item-current': activeIndex === index,\n 'p-galleria-thumbnail-item-active': isItemActive(index),\n 'p-galleria-thumbnail-item-start': firstItemAciveIndex() === index,\n 'p-galleria-thumbnail-item-end': lastItemActiveIndex() === index\n }\"\n [attr.aria-selected]=\"activeIndex === index\"\n [attr.aria-controls]=\"containerId + '_item_' + index\"\n [attr.data-pc-section]=\"'thumbnailitem'\"\n [attr.data-p-active]=\"activeIndex === index\"\n (keydown)=\"onThumbnailKeydown($event, index)\"\n >\n <div\n class=\"p-galleria-thumbnail\"\n [attr.tabindex]=\"activeIndex === index ? 0 : -1\"\n [attr.aria-current]=\"activeIndex === index ? 'page' : undefined\"\n [attr.aria-label]=\"ariaPageLabel(index + 1)\"\n (click)=\"onItemClick(index)\"\n (touchend)=\"onItemClick(index)\"\n (keydown.enter)=\"onItemClick(index)\"\n >\n <p-galleriaItemSlot type=\"thumbnail\" [item]=\"item\" [templates]=\"templates\"></p-galleriaItemSlot>\n </div>\n </div>\n </div>\n </div>\n <button\n *ngIf=\"showThumbnailNavigators\"\n type=\"button\"\n [ngClass]=\"{\n 'p-galleria-thumbnail-next-button p-galleria-thumbnail-nav-button': true,\n 'p-disabled': this.isNavForwardDisabled()\n }\"\n (click)=\"navForward($event)\"\n [disabled]=\"isNavForwardDisabled()\"\n pRipple\n [attr.aria-label]=\"ariaNextButtonLabel()\"\n >\n <ng-container *ngIf=\"!galleria.nextThumbnailIconTemplate && !galleria._nextThumbnailIconTemplate\">\n <ChevronRightIcon *ngIf=\"!isVertical\" [ngClass]=\"'p-galleria-thumbnail-next-icon'\" />\n <ChevronDownIcon *ngIf=\"isVertical\" [ngClass]=\"'p-galleria-thumbnail-next-icon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"galleria.nextThumbnailIconTemplate || galleria._nextThumbnailIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaThumbnails implements OnInit, AfterContentChecked, AfterViewInit, OnDestroy {\n @Input() containerId: string | undefined;\n\n @Input() value: any[] | undefined;\n\n @Input({ transform: booleanAttribute }) isVertical: boolean = false;\n\n @Input({ transform: booleanAttribute }) slideShowActive: boolean = false;\n\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n\n @Input() responsiveOptions: GalleriaResponsiveOptions[] | undefined;\n\n @Input() contentHeight: string = '300px';\n\n @Input() showThumbnailNavigators = true;\n\n @Input() templates: QueryList<PrimeTemplate> | undefined;\n\n @Output() onActiveIndexChange: EventEmitter<number> = new EventEmitter();\n\n @Output() stopSlideShow: EventEmitter<Event> = new EventEmitter();\n\n @ViewChild('itemsContainer') itemsContainer: ElementRef | undefined;\n\n @Input() get numVisible(): number {\n return this._numVisible;\n }\n\n set numVisible(numVisible) {\n this._numVisible = numVisible;\n this._oldNumVisible = this.d_numVisible;\n this.d_numVisible = numVisible;\n }\n\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n\n set activeIndex(activeIndex) {\n this._oldactiveIndex = this._activeIndex;\n this._activeIndex = activeIndex;\n }\n\n index: number | undefined;\n\n startPos: { x: number; y: number } | null = null;\n\n thumbnailsStyle: HTMLStyleElement | null = null;\n\n sortedResponsiveOptions: GalleriaResponsiveOptions[] | null = null;\n\n totalShiftedItems: number = 0;\n\n page: number = 0;\n\n documentResizeListener: VoidListener;\n\n _numVisible: number = 0;\n\n d_numVisible: number = 0;\n\n _oldNumVisible: number = 0;\n\n _activeIndex: number = 0;\n\n _oldactiveIndex: number = 0;\n\n constructor(\n public galleria: Galleria,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n private renderer: Renderer2,\n private cd: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.createStyle();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n }\n }\n\n ngAfterContentChecked() {\n let totalShiftedItems = this.totalShiftedItems;\n\n if ((this._oldNumVisible !== this.d_numVisible || this._oldactiveIndex !== this._activeIndex) && this.itemsContainer) {\n if (this._activeIndex <= this.getMedianItemIndex()) {\n totalShiftedItems = 0;\n } else if ((<any[]>this.value).length - this.d_numVisible + this.getMedianItemIndex() < this._activeIndex) {\n totalShiftedItems = this.d_numVisible - (<any[]>this.value).length;\n } else if ((<any[]>this.value).length - this.d_numVisible < this._activeIndex && this.d_numVisible % 2 === 0) {\n totalShiftedItems = this._activeIndex * -1 + this.getMedianItemIndex() + 1;\n } else {\n totalShiftedItems = this._activeIndex * -1 + this.getMedianItemIndex();\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n if (this.itemsContainer && this.itemsContainer.nativeElement) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n }\n\n if (this._oldactiveIndex !== this._activeIndex) {\n removeClass(this.itemsContainer.nativeElement, 'p-items-hidden');\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this._oldactiveIndex = this._activeIndex;\n this._oldNumVisible = this.d_numVisible;\n }\n }\n\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.calculatePosition();\n }\n }\n\n createStyle() {\n if (!this.thumbnailsStyle) {\n this.thumbnailsStyle = this.document.createElement('style');\n this.document.body.appendChild(this.thumbnailsStyle);\n }\n\n let innerHTML = `\n #${this.containerId} .p-galleria-thumbnail-item {\n flex: 1 0 ${100 / this.d_numVisible}%\n }\n `;\n\n if (this.responsiveOptions) {\n this.sortedResponsiveOptions = [...this.responsiveOptions];\n this.sortedResponsiveOptions.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n let result = null;\n\n if (value1 == null && value2 != null) result = -1;\n else if (value1 != null && value2 == null) result = 1;\n else if (value1 == null && value2 == null) result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, { numeric: true });\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return -1 * result;\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 setAttribute(this.thumbnailsStyle, 'nonce', this.galleria.config?.csp()?.nonce);\n }\n\n calculatePosition() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.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 this.cd.markForCheck();\n }\n }\n }\n }\n\n getTabIndex(index: number) {\n return this.isItemActive(index) ? 0 : null;\n }\n\n navForward(e: TouchEvent | MouseEvent) {\n this.stopTheSlideShow();\n\n let nextItemIndex = this._activeIndex + 1;\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 && (<any[]>this.value).length - 1 === this._activeIndex ? 0 : nextItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: TouchEvent | MouseEvent) {\n this.stopTheSlideShow();\n\n let prevItemIndex = this._activeIndex !== 0 ? this._activeIndex - 1 : 0;\n let diff = prevItemIndex + this.totalShiftedItems;\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._activeIndex === 0 ? (<any[]>this.value).length - 1 : prevItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onItemClick(index: number) {\n this.stopTheSlideShow();\n\n let selectedItemIndex = index;\n if (selectedItemIndex !== this._activeIndex) {\n const diff = selectedItemIndex + this.totalShiftedItems;\n let dir = 0;\n if (selectedItemIndex < this._activeIndex) {\n dir = this.d_numVisible - diff - 1 - this.getMedianItemIndex();\n if (dir > 0 && -1 * this.totalShiftedItems !== 0) {\n this.step(dir);\n }\n } else {\n dir = this.getMedianItemIndex() - diff;\n if (dir < 0 && -1 * this.totalShiftedItems < this.getTotalPageNumber() - 1) {\n this.step(dir);\n }\n }\n\n this.activeIndex = selectedItemIndex;\n this.onActiveIndexChange.emit(this.activeIndex);\n }\n }\n\n onThumbnailKeydown(event: KeyboardEvent, index: number) {\n if (event.code === 'Enter' || 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\n onRightKey() {\n const indicators = find(this.itemsContainer.nativeElement, '[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\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n }\n\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n }\n\n onEndKey() {\n const indicators = find(this.itemsContainer.nativeElement, '[data-pc-section=\"thumbnailitem\"]');\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n }\n\n onTabKey() {\n const indicators = <any>[...find(this.itemsContainer.nativeElement, '[data-pc-section=\"thumbnailitem\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);\n\n const activeIndicator = <any>findSingle(this.itemsContainer.nativeElement, '[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\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.itemsContainer.nativeElement, '[data-pc-section=\"thumbnailitem\"]')];\n const activeIndicator = findSingle(this.itemsContainer.nativeElement, '[data-pc-section=\"thumbnailitem\"] > [tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n }\n\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = <any>find(this.itemsContainer.nativeElement, '[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\n step(dir: number) {\n let totalShiftedItems = this.totalShiftedItems + dir;\n\n if (dir < 0 && -1 * totalShiftedItems + this.d_numVisible > (<any[]>this.value).length - 1) {\n totalShiftedItems = this.d_numVisible - (<any[]>this.value).length;\n } else if (dir > 0 && totalShiftedItems > 0) {\n totalShiftedItems = 0;\n }\n\n if (this.circular) {\n if (dir < 0 && (<any[]>this.value).length - 1 === this._activeIndex) {\n totalShiftedItems = 0;\n } else if (dir > 0 && this._activeIndex === 0) {\n totalShiftedItems = this.d_numVisible - (<any[]>this.value).length;\n }\n }\n\n if (this.itemsContainer) {\n removeClass(this.itemsContainer.nativeElement, 'p-items-hidden');\n this.itemsContainer.nativeElement.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100 / this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this.d_numVisible)}%, 0, 0)`;\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n }\n\n stopTheSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.stopSlideShow.emit();\n }\n }\n\n changePageOnTouch(e: TouchEvent, diff: number) {\n if (diff < 0) {\n // left\n this.navForward(e);\n } else {\n // right\n this.navBackward(e);\n }\n }\n\n getTotalPageNumber() {\n return (<any[]>this.value).length > this.d_numVisible ? (<any[]>this.value).length - this.d_numVisible + 1 : 0;\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\n onTransitionEnd() {\n if (this.itemsContainer && this.itemsContainer.nativeElement) {\n addClass(this.itemsContainer.nativeElement, 'p-items-hidden');\n this.itemsContainer.nativeElement.style.transition = '';\n }\n }\n\n onTouchEnd(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical) {\n this.changePageOnTouch(e, touchobj.pageY - (<{ x: number; y: number }>this.startPos).y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - (<{ x: number; y: number }>this.startPos).x);\n }\n }\n\n onTouchMove(e: TouchEvent) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onTouchStart(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n }\n\n isNavBackwardDisabled() {\n return (!this.circular && this._activeIndex === 0) || (<any[]>this.value).length <= this.d_numVisible;\n }\n\n isNavForwardDisabled() {\n return (!this.circular && this._activeIndex === (<any[]>this.value).length - 1) || (<any[]>this.value).length <= this.d_numVisible;\n }\n\n firstItemAciveIndex() {\n return this.totalShiftedItems * -1;\n }\n\n lastItemActiveIndex() {\n return this.firstItemAciveIndex() + this.d_numVisible - 1;\n }\n\n isItemActive(index: number) {\n return this.firstItemAciveIndex() <= index && this.lastItemActiveIndex() >= index;\n }\n\n bindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n const window = this.document.defaultView || 'window';\n this.documentResizeListener = this.renderer.listen(window, 'resize', () => {\n this.calculatePosition();\n });\n }\n }\n\n unbindDocumentListeners() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n ngOnDestroy() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n\n if (this.thumbnailsStyle) {\n this.thumbnailsStyle.parentNode?.removeChild(this.thumbnailsStyle);\n }\n }\n\n ariaPrevButtonLabel() {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.prevPageLabel : undefined;\n }\n\n ariaNextButtonLabel() {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.nextPageLabel : undefined;\n }\n\n ariaPageLabel(value) {\n return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, Ripple, TimesIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, ChevronLeftIcon, WindowMaximizeIcon, WindowMinimizeIcon, FocusTrap],\n exports: [CommonModule, Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails, SharedModule],\n declarations: [Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails]\n})\nexport class GalleriaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}