primeng 18.0.5-lts → 18.0.6-lts

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 (131) hide show
  1. package/autocomplete/autocomplete.d.ts +1 -1
  2. package/chips/chips.d.ts +237 -0
  3. package/chips/chips.interface.d.ts +66 -0
  4. package/chips/index.d.ts +5 -0
  5. package/chips/public_api.d.ts +2 -0
  6. package/chips/style/chipsstyle.d.ts +69 -0
  7. package/confirmdialog/confirmdialog.d.ts +1 -0
  8. package/datepicker/datepicker.d.ts +6 -2
  9. package/esm2022/accordion/accordion.mjs +13 -12
  10. package/esm2022/autocomplete/autocomplete.mjs +56 -56
  11. package/esm2022/base/style/basestyle.mjs +5 -1
  12. package/esm2022/carousel/carousel.mjs +3 -3
  13. package/esm2022/chips/chips.interface.mjs +2 -0
  14. package/esm2022/chips/chips.mjs +827 -0
  15. package/esm2022/chips/primeng-chips.mjs +5 -0
  16. package/esm2022/chips/public_api.mjs +3 -0
  17. package/esm2022/chips/style/chipsstyle.mjs +175 -0
  18. package/esm2022/confirmdialog/confirmdialog.mjs +11 -1
  19. package/esm2022/dataview/dataview.mjs +2 -2
  20. package/esm2022/datepicker/datepicker.mjs +26 -8
  21. package/esm2022/datepicker/style/datepickerstyle.mjs +6 -2
  22. package/esm2022/dynamicdialog/dynamicdialog.mjs +6 -2
  23. package/esm2022/inputmask/inputmask.mjs +2 -1
  24. package/esm2022/inputnumber/inputnumber.mjs +13 -5
  25. package/esm2022/listbox/listbox.mjs +1 -1
  26. package/esm2022/megamenu/megamenu.mjs +6 -8
  27. package/esm2022/menu/menu.mjs +2 -1
  28. package/esm2022/menubar/menubar.mjs +3 -4
  29. package/esm2022/multiselect/multiselect.interface.mjs +1 -1
  30. package/esm2022/multiselect/multiselect.mjs +25 -10
  31. package/esm2022/overlay/overlay.mjs +14 -10
  32. package/esm2022/panel/panel.mjs +1 -2
  33. package/esm2022/picklist/picklist.mjs +261 -173
  34. package/esm2022/scroller/scroller.mjs +26 -10
  35. package/esm2022/select/select.mjs +10 -7
  36. package/esm2022/selectbutton/selectbutton.mjs +12 -5
  37. package/esm2022/splitbutton/splitbutton.mjs +9 -28
  38. package/esm2022/stepper/stepper.mjs +3 -3
  39. package/esm2022/table/style/tablestyle.mjs +2 -2
  40. package/esm2022/table/table.mjs +37 -28
  41. package/esm2022/tabs/tabs.mjs +3 -3
  42. package/esm2022/tag/tag.mjs +1 -1
  43. package/esm2022/textarea/textarea.mjs +5 -1
  44. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +13 -32
  45. package/esm2022/tieredmenu/tieredmenu.mjs +8 -8
  46. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +2 -2
  47. package/esm2022/tooltip/tooltip.mjs +2 -2
  48. package/esm2022/tree/tree.mjs +51 -29
  49. package/esm2022/treeselect/treeselect.mjs +8 -7
  50. package/esm2022/treetable/treetable.mjs +3 -3
  51. package/fesm2022/primeng-accordion.mjs +12 -11
  52. package/fesm2022/primeng-accordion.mjs.map +1 -1
  53. package/fesm2022/primeng-autocomplete.mjs +55 -55
  54. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  55. package/fesm2022/primeng-base.mjs +4 -0
  56. package/fesm2022/primeng-base.mjs.map +1 -1
  57. package/fesm2022/primeng-carousel.mjs +2 -2
  58. package/fesm2022/primeng-carousel.mjs.map +1 -1
  59. package/fesm2022/primeng-chips.mjs +1006 -0
  60. package/fesm2022/primeng-chips.mjs.map +1 -0
  61. package/fesm2022/primeng-confirmdialog.mjs +10 -0
  62. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  63. package/fesm2022/primeng-dataview.mjs +1 -1
  64. package/fesm2022/primeng-dataview.mjs.map +1 -1
  65. package/fesm2022/primeng-datepicker.mjs +30 -8
  66. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  67. package/fesm2022/primeng-dynamicdialog.mjs +5 -1
  68. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  69. package/fesm2022/primeng-inputmask.mjs +1 -0
  70. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  71. package/fesm2022/primeng-inputnumber.mjs +12 -4
  72. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  73. package/fesm2022/primeng-listbox.mjs.map +1 -1
  74. package/fesm2022/primeng-megamenu.mjs +5 -7
  75. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  76. package/fesm2022/primeng-menu.mjs +1 -0
  77. package/fesm2022/primeng-menu.mjs.map +1 -1
  78. package/fesm2022/primeng-menubar.mjs +2 -3
  79. package/fesm2022/primeng-menubar.mjs.map +1 -1
  80. package/fesm2022/primeng-multiselect.mjs +24 -9
  81. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  82. package/fesm2022/primeng-overlay.mjs +13 -9
  83. package/fesm2022/primeng-overlay.mjs.map +1 -1
  84. package/fesm2022/primeng-panel.mjs +0 -1
  85. package/fesm2022/primeng-panel.mjs.map +1 -1
  86. package/fesm2022/primeng-picklist.mjs +260 -172
  87. package/fesm2022/primeng-picklist.mjs.map +1 -1
  88. package/fesm2022/primeng-scroller.mjs +25 -9
  89. package/fesm2022/primeng-scroller.mjs.map +1 -1
  90. package/fesm2022/primeng-select.mjs +9 -6
  91. package/fesm2022/primeng-select.mjs.map +1 -1
  92. package/fesm2022/primeng-selectbutton.mjs +11 -4
  93. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  94. package/fesm2022/primeng-splitbutton.mjs +9 -28
  95. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  96. package/fesm2022/primeng-stepper.mjs +2 -2
  97. package/fesm2022/primeng-stepper.mjs.map +1 -1
  98. package/fesm2022/primeng-table.mjs +38 -29
  99. package/fesm2022/primeng-table.mjs.map +1 -1
  100. package/fesm2022/primeng-tabs.mjs +2 -2
  101. package/fesm2022/primeng-tabs.mjs.map +1 -1
  102. package/fesm2022/primeng-tag.mjs.map +1 -1
  103. package/fesm2022/primeng-textarea.mjs +4 -0
  104. package/fesm2022/primeng-textarea.mjs.map +1 -1
  105. package/fesm2022/primeng-tieredmenu.mjs +20 -39
  106. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  107. package/fesm2022/primeng-togglebutton.mjs +1 -1
  108. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  109. package/fesm2022/primeng-tooltip.mjs +1 -1
  110. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  111. package/fesm2022/primeng-tree.mjs +50 -28
  112. package/fesm2022/primeng-tree.mjs.map +1 -1
  113. package/fesm2022/primeng-treeselect.mjs +7 -6
  114. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  115. package/fesm2022/primeng-treetable.mjs +2 -2
  116. package/fesm2022/primeng-treetable.mjs.map +1 -1
  117. package/inputnumber/inputnumber.d.ts +6 -1
  118. package/listbox/listbox.d.ts +1 -1
  119. package/multiselect/multiselect.d.ts +10 -2
  120. package/multiselect/multiselect.interface.d.ts +1 -1
  121. package/package.json +321 -315
  122. package/panel/panel.d.ts +0 -1
  123. package/picklist/picklist.d.ts +2 -2
  124. package/scroller/scroller.d.ts +4 -0
  125. package/select/select.d.ts +1 -0
  126. package/selectbutton/selectbutton.d.ts +1 -0
  127. package/splitbutton/splitbutton.d.ts +4 -6
  128. package/table/table.d.ts +3 -1
  129. package/tag/tag.d.ts +1 -1
  130. package/textarea/textarea.d.ts +1 -0
  131. package/tree/tree.d.ts +7 -1
@@ -110,6 +110,10 @@ const theme = ({ dt }) => `
110
110
  height: ${dt('icon.size')};
111
111
  }
112
112
 
113
+ .p-unselectable-text {
114
+ user-select: none;
115
+ }
116
+
113
117
  .p-overlay-mask {
114
118
  background: ${dt('mask.background')};
115
119
  color: ${dt('mask.color')};
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-base.mjs","sources":["../../src/base/base.ts","../../src/base/style/basestyle.ts","../../src/base/primeng-base.ts"],"sourcesContent":["export default {\n _loadedStyleNames: new Set(),\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n }\n};\n","import { inject, Injectable } from '@angular/core';\nimport { dt, Theme } from '@primeuix/styled';\nimport { minifyCSS, resolve } from '@primeuix/utils';\nimport { UseStyle } from 'primeng/usestyle';\n\nconst theme = ({ dt }) => `\n*,\n::before,\n::after {\n box-sizing: border-box;\n}\n\n/* Non ng overlay animations */\n.p-connected-overlay {\n opacity: 0;\n transform: scaleY(0.8);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\n opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-connected-overlay-visible {\n opacity: 1;\n transform: scaleY(1);\n}\n\n.p-connected-overlay-hidden {\n opacity: 0;\n transform: scaleY(1);\n transition: opacity 0.1s linear;\n}\n\n/* NG based overlay animations */\n.p-connected-overlay-enter-from {\n opacity: 0;\n transform: scaleY(0.8);\n}\n\n.p-connected-overlay-leave-to {\n opacity: 0;\n}\n\n.p-connected-overlay-enter-active {\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\n opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-connected-overlay-leave-active {\n transition: opacity 0.1s linear;\n}\n\n/* Toggleable Content */\n.p-toggleable-content-enter-from,\n.p-toggleable-content-leave-to {\n max-height: 0;\n}\n\n.p-toggleable-content-enter-to,\n.p-toggleable-content-leave-from {\n max-height: 1000px;\n}\n\n.p-toggleable-content-leave-active {\n overflow: hidden;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);\n}\n\n.p-toggleable-content-enter-active {\n overflow: hidden;\n transition: max-height 1s ease-in-out;\n}\n\n.p-disabled,\n.p-disabled * {\n cursor: default;\n pointer-events: none;\n user-select: none;\n}\n\n.p-disabled,\n.p-component:disabled {\n opacity: ${dt('disabled.opacity')};\n}\n\n.pi {\n font-size: ${dt('icon.size')};\n}\n\n.p-icon {\n width: ${dt('icon.size')};\n height: ${dt('icon.size')};\n}\n\n.p-overlay-mask {\n background: ${dt('mask.background')};\n color: ${dt('mask.color')};\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.p-overlay-mask-enter {\n animation: p-overlay-mask-enter-animation ${dt('mask.transition.duration')} forwards;\n}\n\n.p-overlay-mask-leave {\n animation: p-overlay-mask-leave-animation ${dt('mask.transition.duration')} forwards;\n}\n/* Temporarily disabled, distrupts PrimeNG overlay animations */\n/* @keyframes p-overlay-mask-enter-animation {\n from {\n background: transparent;\n }\n to {\n background: ${dt('mask.background')};\n }\n}\n@keyframes p-overlay-mask-leave-animation {\n from {\n background: ${dt('mask.background')};\n }\n to {\n background: transparent;\n }\n}*/\n\n.p-iconwrapper {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n}\n`;\n\nconst css = ({ dt }) => `\n.p-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.p-hidden-accessible input,\n.p-hidden-accessible select {\n transform: scale(0);\n}\n\n.p-overflow-hidden {\n overflow: hidden;\n padding-right: ${dt('scrollbar.width')};\n}\n\n/* @todo move to baseiconstyle.ts */\n\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n`;\n\n@Injectable({ providedIn: 'root' })\nexport class BaseStyle {\n name = 'base';\n\n useStyle: UseStyle = inject(UseStyle);\n\n theme = theme;\n\n css = css;\n\n classes = {};\n\n inlineStyles = {};\n\n load = (style, options = {}, transform = (cs) => cs) => {\n const computedStyle = transform(resolve(style, { dt }));\n return computedStyle ? this.useStyle.use(minifyCSS(computedStyle), { name: this.name, ...options }) : {};\n };\n\n loadCSS = (options = {}) => {\n return this.load(this.css, options);\n };\n\n loadTheme = (options: any = {}, style: string = '') => {\n return this.load(this.theme, options, (computedStyle = '') => Theme.transformCSS(options.name || this.name, `${computedStyle}${style}`));\n };\n\n getCommonTheme = (params?) => {\n return Theme.getCommon(this.name, params);\n };\n\n getComponentTheme = (params) => {\n return Theme.getComponent(this.name, params);\n };\n\n getDirectiveTheme = (params) => {\n return Theme.getDirective(this.name, params);\n };\n\n getPresetTheme = (preset, selector, params) => {\n return Theme.getCustomPreset(this.name, preset, selector, params);\n };\n\n getLayerOrderThemeCSS = () => {\n return Theme.getLayerOrderCSS(this.name);\n };\n\n getStyleSheet = (extendedCSS = '', props = {}) => {\n if (this.css) {\n const _css = resolve(this.css, { dt });\n const _style = minifyCSS(`${_css}${extendedCSS}`);\n const _props = Object.entries(props)\n .reduce((acc, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return `<style type=\"text/css\" data-primeng-style-id=\"${this.name}\" ${_props}>${_style}</style>`;\n }\n\n return '';\n };\n\n getCommonThemeStyleSheet = (params, props = {}) => {\n return Theme.getCommonStyleSheet(this.name, params, props);\n };\n\n getThemeStyleSheet = (params, props = {}) => {\n let css = [Theme.getStyleSheet(this.name, params, props)];\n\n if (this.theme) {\n const name = this.name === 'base' ? 'global-style' : `${this.name}-style`;\n const _css = resolve(this.theme, { dt });\n const _style = minifyCSS(Theme.transformCSS(name, _css));\n const _props = Object.entries(props)\n .reduce((acc, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n css.push(`<style type=\"text/css\" data-primeng-style-id=\"${name}\" ${_props}>${_style}</style>`);\n }\n\n return css.join('');\n };\n}\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-base.mjs","sources":["../../src/base/base.ts","../../src/base/style/basestyle.ts","../../src/base/primeng-base.ts"],"sourcesContent":["export default {\n _loadedStyleNames: new Set(),\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n }\n};\n","import { inject, Injectable } from '@angular/core';\nimport { dt, Theme } from '@primeuix/styled';\nimport { minifyCSS, resolve } from '@primeuix/utils';\nimport { UseStyle } from 'primeng/usestyle';\n\nconst theme = ({ dt }) => `\n*,\n::before,\n::after {\n box-sizing: border-box;\n}\n\n/* Non ng overlay animations */\n.p-connected-overlay {\n opacity: 0;\n transform: scaleY(0.8);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\n opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-connected-overlay-visible {\n opacity: 1;\n transform: scaleY(1);\n}\n\n.p-connected-overlay-hidden {\n opacity: 0;\n transform: scaleY(1);\n transition: opacity 0.1s linear;\n}\n\n/* NG based overlay animations */\n.p-connected-overlay-enter-from {\n opacity: 0;\n transform: scaleY(0.8);\n}\n\n.p-connected-overlay-leave-to {\n opacity: 0;\n}\n\n.p-connected-overlay-enter-active {\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\n opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-connected-overlay-leave-active {\n transition: opacity 0.1s linear;\n}\n\n/* Toggleable Content */\n.p-toggleable-content-enter-from,\n.p-toggleable-content-leave-to {\n max-height: 0;\n}\n\n.p-toggleable-content-enter-to,\n.p-toggleable-content-leave-from {\n max-height: 1000px;\n}\n\n.p-toggleable-content-leave-active {\n overflow: hidden;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);\n}\n\n.p-toggleable-content-enter-active {\n overflow: hidden;\n transition: max-height 1s ease-in-out;\n}\n\n.p-disabled,\n.p-disabled * {\n cursor: default;\n pointer-events: none;\n user-select: none;\n}\n\n.p-disabled,\n.p-component:disabled {\n opacity: ${dt('disabled.opacity')};\n}\n\n.pi {\n font-size: ${dt('icon.size')};\n}\n\n.p-icon {\n width: ${dt('icon.size')};\n height: ${dt('icon.size')};\n}\n\n.p-unselectable-text {\n user-select: none;\n}\n\n.p-overlay-mask {\n background: ${dt('mask.background')};\n color: ${dt('mask.color')};\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.p-overlay-mask-enter {\n animation: p-overlay-mask-enter-animation ${dt('mask.transition.duration')} forwards;\n}\n\n.p-overlay-mask-leave {\n animation: p-overlay-mask-leave-animation ${dt('mask.transition.duration')} forwards;\n}\n/* Temporarily disabled, distrupts PrimeNG overlay animations */\n/* @keyframes p-overlay-mask-enter-animation {\n from {\n background: transparent;\n }\n to {\n background: ${dt('mask.background')};\n }\n}\n@keyframes p-overlay-mask-leave-animation {\n from {\n background: ${dt('mask.background')};\n }\n to {\n background: transparent;\n }\n}*/\n\n.p-iconwrapper {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n}\n`;\n\nconst css = ({ dt }) => `\n.p-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.p-hidden-accessible input,\n.p-hidden-accessible select {\n transform: scale(0);\n}\n\n.p-overflow-hidden {\n overflow: hidden;\n padding-right: ${dt('scrollbar.width')};\n}\n\n/* @todo move to baseiconstyle.ts */\n\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n`;\n\n@Injectable({ providedIn: 'root' })\nexport class BaseStyle {\n name = 'base';\n\n useStyle: UseStyle = inject(UseStyle);\n\n theme = theme;\n\n css = css;\n\n classes = {};\n\n inlineStyles = {};\n\n load = (style, options = {}, transform = (cs) => cs) => {\n const computedStyle = transform(resolve(style, { dt }));\n return computedStyle ? this.useStyle.use(minifyCSS(computedStyle), { name: this.name, ...options }) : {};\n };\n\n loadCSS = (options = {}) => {\n return this.load(this.css, options);\n };\n\n loadTheme = (options: any = {}, style: string = '') => {\n return this.load(this.theme, options, (computedStyle = '') => Theme.transformCSS(options.name || this.name, `${computedStyle}${style}`));\n };\n\n getCommonTheme = (params?) => {\n return Theme.getCommon(this.name, params);\n };\n\n getComponentTheme = (params) => {\n return Theme.getComponent(this.name, params);\n };\n\n getDirectiveTheme = (params) => {\n return Theme.getDirective(this.name, params);\n };\n\n getPresetTheme = (preset, selector, params) => {\n return Theme.getCustomPreset(this.name, preset, selector, params);\n };\n\n getLayerOrderThemeCSS = () => {\n return Theme.getLayerOrderCSS(this.name);\n };\n\n getStyleSheet = (extendedCSS = '', props = {}) => {\n if (this.css) {\n const _css = resolve(this.css, { dt });\n const _style = minifyCSS(`${_css}${extendedCSS}`);\n const _props = Object.entries(props)\n .reduce((acc, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return `<style type=\"text/css\" data-primeng-style-id=\"${this.name}\" ${_props}>${_style}</style>`;\n }\n\n return '';\n };\n\n getCommonThemeStyleSheet = (params, props = {}) => {\n return Theme.getCommonStyleSheet(this.name, params, props);\n };\n\n getThemeStyleSheet = (params, props = {}) => {\n let css = [Theme.getStyleSheet(this.name, params, props)];\n\n if (this.theme) {\n const name = this.name === 'base' ? 'global-style' : `${this.name}-style`;\n const _css = resolve(this.theme, { dt });\n const _style = minifyCSS(Theme.transformCSS(name, _css));\n const _props = Object.entries(props)\n .reduce((acc, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n css.push(`<style type=\"text/css\" data-primeng-style-id=\"${name}\" ${_props}>${_style}</style>`);\n }\n\n return css.join('');\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -352,7 +352,7 @@ function Carousel_div_9_Template(rf, ctx) { if (rf & 1) {
352
352
  const index_r7 = ctx.index;
353
353
  const ctx_r1 = i0.ɵɵnextContext();
354
354
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(6, _c14, ctx_r1.firstIndex() <= index_r7 && ctx_r1.lastIndex() >= index_r7, ctx_r1.firstIndex() === index_r7, ctx_r1.lastIndex() === index_r7));
355
- i0.ɵɵattribute("aria-hidden", !(ctx_r1.totalShiftedItems * -1 === ctx_r1.value.length))("aria-label", ctx_r1.ariaSlideNumber(index_r7))("aria-roledescription", ctx_r1.ariaSlideLabel());
355
+ i0.ɵɵattribute("aria-hidden", !(ctx_r1.firstIndex() <= index_r7 && ctx_r1.lastIndex() >= index_r7))("aria-label", ctx_r1.ariaSlideNumber(index_r7))("aria-roledescription", ctx_r1.ariaSlideLabel());
356
356
  i0.ɵɵadvance();
357
357
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.itemTemplate || ctx_r1._itemTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(10, _c13, item_r6));
358
358
  } }
@@ -1287,7 +1287,7 @@ class Carousel extends BaseComponent {
1287
1287
  'p-carousel-item-start': firstIndex() === index,
1288
1288
  'p-carousel-item-end': lastIndex() === index
1289
1289
  }"
1290
- [attr.aria-hidden]="!(totalShiftedItems * -1 === value.length)"
1290
+ [attr.aria-hidden]="!(firstIndex() <= index && lastIndex() >= index)"
1291
1291
  [attr.aria-label]="ariaSlideNumber(index)"
1292
1292
  [attr.aria-roledescription]="ariaSlideLabel()"
1293
1293
  >
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-carousel.mjs","sources":["../../src/carousel/style/carouselstyle.ts","../../src/carousel/carousel.ts","../../src/carousel/primeng-carousel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-carousel {\n display: flex;\n flex-direction: column;\n}\n\n.p-carousel-content-container {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.p-carousel-content {\n display: flex;\n flex-direction: row;\n gap: ${dt('carousel.content.gap')};\n}\n\n.p-carousel-content:dir(rtl) {\n flex-direction: row-reverse;\n}\n\n.p-carousel-viewport {\n overflow: hidden;\n width: 100%;\n}\n\n.p-carousel-item-list {\n display: flex;\n flex-direction: row;\n}\n\n.p-carousel-item-list:dir(rtl) {\n flex-direction: row-reverse;\n}\n\n.p-carousel-prev-button,\n.p-carousel-next-button {\n align-self: center;\n flex-shrink: 0;\n}\n\n.p-carousel-indicator-list {\n display: flex;\n flex-direction: row;\n justify-content: center;\n flex-wrap: wrap;\n padding: ${dt('carousel.indicator.list.padding')};\n gap: ${dt('carousel.indicator.list.gap')};\n margin: 0;\n list-style: none;\n}\n\n.p-carousel-indicator-button {\n display: flex;\n align-items: center;\n justify-content: center;\n background: ${dt('carousel.indicator.background')};\n width: ${dt('carousel.indicator.width')};\n height: ${dt('carousel.indicator.height')};\n border: 0 none;\n transition: background ${dt('carousel.transition.duration')}, color ${dt('carousel.transition.duration')}, outline-color ${dt('carousel.transition.duration')}, box-shadow ${dt('carousel.transition.duration')};\n outline-color: transparent;\n border-radius: ${dt('carousel.indicator.border.radius')};\n padding: 0;\n margin: 0;\n user-select: none;\n cursor: pointer;\n}\n\n.p-carousel-indicator-button:focus-visible {\n box-shadow: ${dt('carousel.indicator.focus.ring.shadow')};\n outline: ${dt('carousel.indicator.focus.ring.width')} ${dt('carousel.indicator.focus.ring.style')} ${dt('carousel.indicator.focus.ring.color')};\n outline-offset: ${dt('carousel.indicator.focus.ring.offset')};\n}\n\n.p-carousel-indicator-button:hover {\n background: ${dt('carousel.indicator.hover.background')};\n}\n\n.p-carousel-indicator-active .p-carousel-indicator-button {\n background: ${dt('carousel.indicator.active.background')};\n}\n\n.p-carousel-vertical .p-carousel-content {\n flex-direction: column;\n}\n\n.p-carousel-vertical .p-carousel-item-list {\n flex-direction: column;\n height: 100%;\n}\n\n.p-items-hidden .p-carousel-item {\n visibility: hidden;\n}\n\n.p-items-hidden .p-carousel-item.p-carousel-item-active {\n visibility: visible;\n}\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-carousel p-component',\n {\n 'p-carousel-vertical': instance.isVertical(),\n 'p-carousel-horizontal': !instance.isVertical()\n }\n ],\n header: 'p-carousel-header',\n contentContainer: 'p-carousel-content-container',\n content: 'p-carousel-content',\n pcPrevButton: ({ instance }) => [\n 'p-carousel-prev-button',\n {\n 'p-disabled': instance.backwardIsDisabled\n }\n ],\n viewport: 'p-carousel-viewport',\n itemList: 'p-carousel-item-list',\n itemClone: ({ index, value, totalShiftedItems, d_numVisible }) => [\n 'p-carousel-item p-carousel-item-clone',\n {\n 'p-carousel-item-active': totalShiftedItems * -1 === value.length + d_numVisible,\n 'p-carousel-item-start': index === 0,\n 'p-carousel-item-end': value.slice(-1 * d_numVisible).length - 1 === index\n }\n ],\n item: ({ instance, index }) => [\n 'p-carousel-item',\n {\n 'p-carousel-item-active': instance.firstIndex() <= index && instance.lastIndex() >= index,\n 'p-carousel-item-start': instance.firstIndex() === index,\n 'p-carousel-item-end': instance.lastIndex() === index\n }\n ],\n pcNextButton: ({ instance }) => [\n 'p-carousel-next-button',\n {\n 'p-disabled': instance.forwardIsDisabled\n }\n ],\n indicatorList: 'p-carousel-indicator-list',\n indicator: ({ instance, index }) => [\n 'p-carousel-indicator',\n {\n 'p-carousel-indicator-active': instance.d_page === index\n }\n ],\n indicatorButton: 'p-carousel-indicator-button',\n footer: 'p-carousel-footer'\n};\n\n@Injectable()\nexport class CarouselStyle extends BaseStyle {\n name = 'carousel';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Carousel is a content slider featuring various customization options.\n *\n * [Live Demo](https://www.primeng.org/carousel/)\n *\n * @module carouselstyle\n *\n */\nexport enum CarouselClasses {\n /**\n * Class name of the root element\n */\n root = 'p-carousel',\n /**\n * Class name of the header element\n */\n header = 'p-carousel-header',\n /**\n * Class name of the content container element\n */\n contentContainer = 'p-carousel-content-container',\n /**\n * Class name of the content element\n */\n content = 'p-carousel-content',\n /**\n * Class name of the previous button element\n */\n pcPrevButton = 'p-carousel-prev-button',\n /**\n * Class name of the viewport element\n */\n viewport = 'p-carousel-viewport',\n /**\n * Class name of the item list element\n */\n itemList = 'p-carousel-item-list',\n /**\n * Class name of the item clone element\n */\n itemClone = 'p-carousel-item-clone',\n /**\n * Class name of the item element\n */\n item = 'p-carousel-item',\n /**\n * Class name of the next button element\n */\n pcNextButton = 'p-carousel-next-button',\n /**\n * Class name of the indicator list element\n */\n indicatorList = 'p-carousel-indicator-list',\n /**\n * Class name of the indicator element\n */\n indicator = 'p-carousel-indicator',\n /**\n * Class name of the indicator button element\n */\n indicatorButton = 'p-carousel-indicator-button',\n /**\n * Class name of the footer element\n */\n footer = 'p-carousel-footer'\n}\n\nexport interface CarouselStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { find, findSingle, getAttribute, setAttribute, uuid } from '@primeuix/utils';\nimport { Footer, Header, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Button, ButtonProps } from 'primeng/button';\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { CarouselPageEvent, CarouselResponsiveOptions } from './carousel.interface';\nimport { CarouselStyle } from './style/carouselstyle';\n\n/**\n * Carousel is a content slider featuring various customization options.\n * @group Components\n */\n@Component({\n selector: 'p-carousel',\n standalone: true,\n imports: [CommonModule, Ripple, ChevronRightIcon, ChevronLeftIcon, ChevronDownIcon, ChevronUpIcon, Button, SharedModule],\n template: `\n <div [attr.id]=\"id\" [ngClass]=\"{ 'p-carousel p-component': true, 'p-carousel-vertical': isVertical(), 'p-carousel-horizontal': !isVertical() }\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"region\">\n <div class=\"p-carousel-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div [class]=\"contentClass\" [ngClass]=\"'p-carousel-content-container'\">\n <div class=\"p-carousel-content\" [attr.aria-live]=\"allowAutoplay ? 'polite' : 'off'\">\n <p-button\n *ngIf=\"showNavigators\"\n [ngClass]=\"{ 'p-carousel-prev-button': true, 'p-disabled': isBackwardNavDisabled() }\"\n [disabled]=\"isBackwardNavDisabled()\"\n [attr.aria-label]=\"ariaPrevButtonLabel()\"\n (click)=\"navBackward($event)\"\n [text]=\"true\"\n [buttonProps]=\"prevButtonProps\"\n >\n <ng-template #icon>\n <ng-container *ngIf=\"!previousIconTemplate && !_previousIconTemplate && !prevButtonProps?.icon\">\n <ChevronLeftIcon *ngIf=\"!isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n <ChevronUpIcon *ngIf=\"isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n </ng-container>\n <span *ngIf=\"(previousIconTemplate || _previousIconTemplate) && !prevButtonProps?.icon\" class=\"p-carousel-prev-icon\">\n <ng-template *ngTemplateOutlet=\"previousIconTemplate || _previousIconTemplate\"></ng-template>\n </span>\n </ng-template>\n </p-button>\n <div class=\"p-carousel-viewport\" [ngStyle]=\"{ height: isVertical() ? verticalViewPortHeight : 'auto' }\" (touchend)=\"onTouchEnd($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\">\n <div #itemsContainer class=\"p-carousel-item-list\" (transitionend)=\"onTransitionEnd()\">\n <div\n *ngFor=\"let item of clonedItemsForStarting; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item p-carousel-item-clone': true,\n 'p-carousel-item-active': totalShiftedItems * -1 === value.length,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': clonedItemsForStarting.length - 1 === index\n }\"\n [attr.aria-hidden]=\"!(totalShiftedItems * -1 === value.length)\"\n [attr.aria-label]=\"ariaSlideNumber(index)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div\n *ngFor=\"let item of value; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item': true,\n 'p-carousel-item-active': firstIndex() <= index && lastIndex() >= index,\n 'p-carousel-item-start': firstIndex() === index,\n 'p-carousel-item-end': lastIndex() === index\n }\"\n [attr.aria-hidden]=\"!(totalShiftedItems * -1 === value.length)\"\n [attr.aria-label]=\"ariaSlideNumber(index)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div\n *ngFor=\"let item of clonedItemsForFinishing; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item p-carousel-item-clone': true,\n 'p-carousel-item-active': totalShiftedItems * -1 === numVisible,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': clonedItemsForFinishing.length - 1 === index\n }\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n </div>\n </div>\n <p-button\n type=\"button\"\n *ngIf=\"showNavigators\"\n [ngClass]=\"{ 'p-carousel-next-button': true, 'p-disabled': isForwardNavDisabled() }\"\n [disabled]=\"isForwardNavDisabled()\"\n (click)=\"navForward($event)\"\n pRipple\n [attr.aria-label]=\"ariaNextButtonLabel()\"\n [buttonProps]=\"nextButtonProps\"\n [text]=\"true\"\n >\n <ng-container *ngIf=\"!nextIconTemplate && !_nextIconTemplate && !nextButtonProps?.icon\">\n <ChevronRightIcon *ngIf=\"!isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n <ChevronDownIcon *ngIf=\"isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n </ng-container>\n <span *ngIf=\"nextIconTemplate || (_nextIconTemplate && !nextButtonProps?.icon)\" class=\"p-carousel-prev-icon\">\n <ng-template *ngTemplateOutlet=\"nextIconTemplate || _nextIconTemplate\"></ng-template>\n </span>\n </p-button>\n </div>\n <ul #indicatorContent [ngClass]=\"'p-carousel-indicator-list'\" [class]=\"indicatorsContentClass\" [ngStyle]=\"indicatorsContentStyle\" *ngIf=\"showIndicators\" (keydown)=\"onIndicatorKeydown($event)\">\n <li *ngFor=\"let totalDot of totalDotsArray(); let i = index\" [ngClass]=\"{ 'p-carousel-indicator': true, 'p-carousel-indicator-active': _page === i }\" [attr.data-pc-section]=\"'indicator'\">\n <button\n type=\"button\"\n [ngClass]=\"'p-carousel-indicator-button'\"\n (click)=\"onDotClick($event, i)\"\n [class]=\"indicatorStyleClass\"\n [ngStyle]=\"indicatorStyle\"\n [attr.aria-label]=\"ariaPageLabel(i + 1)\"\n [attr.aria-current]=\"_page === i ? 'page' : undefined\"\n [tabindex]=\"_page === i ? 0 : -1\"\n ></button>\n </li>\n </ul>\n </div>\n <div class=\"p-carousel-footer\" *ngIf=\"footerFacet || footerTemplate || _footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [CarouselStyle]\n})\nexport class Carousel extends BaseComponent implements AfterContentInit {\n /**\n * Index of the first item.\n * @defaultValue 0\n * @group Props\n */\n @Input() get page(): number {\n return this._page;\n }\n\n set page(val: number) {\n if (this.isCreated && val !== this._page) {\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (val > this._page && val <= this.totalDots() - 1) {\n this.step(-1, val);\n } else if (val < this._page) {\n this.step(1, val);\n }\n }\n\n this._page = val;\n }\n\n /**\n * Number of items per page.\n * @defaultValue 1\n * @group Props\n */\n @Input() get numVisible(): number {\n return this._numVisible;\n }\n\n set numVisible(val: number) {\n this._numVisible = val;\n }\n\n /**\n * Number of items to scroll.\n * @defaultValue 1\n * @group Props\n */\n @Input() get numScroll(): number {\n return this._numVisible;\n }\n\n set numScroll(val: number) {\n this._numScroll = val;\n }\n\n /**\n * An array of options for responsive design.\n * @see {CarouselResponsiveOptions}\n * @group Props\n */\n @Input() responsiveOptions: CarouselResponsiveOptions[] | undefined;\n /**\n * Specifies the layout of the component.\n * @group Props\n */\n @Input() orientation: 'horizontal' | 'vertical' = 'horizontal';\n /**\n * Height of the viewport in vertical layout.\n * @group Props\n */\n @Input() verticalViewPortHeight: string = '300px';\n /**\n * Style class of main content.\n * @group Props\n */\n @Input() contentClass: string = '';\n /**\n * Style class of the indicator items.\n * @group Props\n */\n @Input() indicatorsContentClass: string = '';\n /**\n * Inline style of the indicator items.\n * @group Props\n */\n @Input() indicatorsContentStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the indicators.\n * @group Props\n */\n @Input() indicatorStyleClass: string = '';\n /**\n * Style of the indicators.\n * @group Props\n */\n @Input() indicatorStyle: { [klass: string]: any } | null | undefined;\n\n /**\n * An array of objects to display.\n * @defaultValue null\n * @group Props\n */\n @Input() get value(): any[] {\n return this._value as any[];\n }\n\n set value(val) {\n this._value = val;\n }\n\n /**\n * Defines if scrolling would be infinite.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n /**\n * Whether to display indicator container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showIndicators: boolean = true;\n /**\n * Whether to display navigation buttons in container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showNavigators: boolean = true;\n /**\n * Time in milliseconds to scroll items automatically.\n * @group Props\n */\n @Input({ transform: numberAttribute }) autoplayInterval: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the viewport container.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n @Input() prevButtonProps: ButtonProps;\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n @Input() nextButtonProps: ButtonProps;\n /**\n * Callback to invoke after scroll.\n * @param {CarouselPageEvent} event - Custom page event.\n * @group Emits\n */\n @Output() onPage: EventEmitter<CarouselPageEvent> = new EventEmitter<CarouselPageEvent>();\n\n @ViewChild('itemsContainer') itemsContainer: ElementRef | undefined;\n\n @ViewChild('indicatorContent') indicatorContent: ElementRef | undefined;\n\n @ContentChild(Header) headerFacet: QueryList<Header> | undefined;\n\n @ContentChild(Footer) footerFacet: QueryList<Footer> | undefined;\n\n _numVisible: number = 1;\n\n _numScroll: number = 1;\n\n _oldNumScroll: number = 0;\n\n prevState: any = {\n numScroll: 0,\n numVisible: 0,\n value: []\n };\n\n defaultNumScroll: number = 1;\n\n defaultNumVisible: number = 1;\n\n _page: number = 0;\n\n _value: any[] | null | undefined;\n\n carouselStyle: any;\n\n id: string | undefined;\n\n totalShiftedItems;\n\n isRemainingItemsAdded: boolean = false;\n\n animationTimeout: any;\n\n translateTimeout: any;\n\n remainingItems: number = 0;\n\n _items: any[] | undefined;\n\n startPos: any;\n\n documentResizeListener: any;\n\n clonedItemsForStarting: any[] | undefined;\n\n clonedItemsForFinishing: any[] | undefined;\n\n allowAutoplay: boolean | undefined;\n\n interval: any;\n\n isCreated: boolean | undefined;\n\n swipeThreshold: number = 20;\n\n /**\n * Template for carousel items.\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: TemplateRef<any> | undefined;\n\n /**\n * Template for the carousel header.\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Template for the carousel footer.\n * @group Templates\n */\n @ContentChild('footer', { descendants: false }) footerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Template for the previous button icon.\n * @group Templates\n */\n @ContentChild('previousicon', { descendants: false }) previousIconTemplate: TemplateRef<any> | undefined;\n\n /**\n * Template for the next button icon.\n * @group Templates\n */\n @ContentChild('nexticon', { descendants: false }) nextIconTemplate: TemplateRef<any> | undefined;\n\n _itemTemplate: TemplateRef<any> | undefined;\n\n _headerTemplate: TemplateRef<any> | undefined;\n\n _footerTemplate: TemplateRef<any> | undefined;\n\n _previousIconTemplate: TemplateRef<any> | undefined;\n\n _nextIconTemplate: TemplateRef<any> | undefined;\n\n window: Window;\n\n _componentStyle = inject(CarouselStyle);\n\n constructor(\n public el: ElementRef,\n public zone: NgZone\n ) {\n super();\n this.totalShiftedItems = this.page * this.numScroll * -1;\n this.window = this.document.defaultView as Window;\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (isPlatformBrowser(this.platformId)) {\n if (simpleChange.value) {\n if (this.circular && this._value) {\n this.setCloneItems();\n }\n }\n\n if (this.isCreated) {\n if (simpleChange.numVisible) {\n if (this.responsiveOptions) {\n this.defaultNumVisible = this.numVisible;\n }\n\n if (this.isCircular()) {\n this.setCloneItems();\n }\n\n this.createStyle();\n this.calculatePosition();\n }\n\n if (simpleChange.numScroll) {\n if (this.responsiveOptions) {\n this.defaultNumScroll = this.numScroll;\n }\n }\n }\n }\n this.cd.markForCheck();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n this.id = uuid('pn_id_');\n if (isPlatformBrowser(this.platformId)) {\n this.allowAutoplay = !!this.autoplayInterval;\n\n if (this.circular) {\n this.setCloneItems();\n }\n\n if (this.responsiveOptions) {\n this.defaultNumScroll = this._numScroll;\n this.defaultNumVisible = this._numVisible;\n }\n\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n }\n\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'previousicon':\n this._previousIconTemplate = item.template;\n break;\n\n case 'nexticon':\n this._nextIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n\n this.cd.detectChanges();\n }\n\n ngAfterContentChecked() {\n if (isPlatformBrowser(this.platformId)) {\n const isCircular = this.isCircular();\n let totalShiftedItems = this.totalShiftedItems;\n\n if (this.value && this.itemsContainer && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== this.value.length)) {\n if (this.autoplayInterval) {\n this.stopAutoplay(false);\n }\n\n this.remainingItems = (this.value.length - this._numVisible) % this._numScroll;\n\n let page = this._page;\n if (this.totalDots() !== 0 && page >= this.totalDots()) {\n page = this.totalDots() - 1;\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n }\n\n totalShiftedItems = page * this._numScroll * -1;\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += -1 * this.remainingItems + this._numScroll;\n this.isRemainingItemsAdded = true;\n } else {\n this.isRemainingItemsAdded = false;\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n this._oldNumScroll = this._numScroll;\n this.prevState.numScroll = this._numScroll;\n this.prevState.numVisible = this._numVisible;\n this.prevState.value = [...(this._value as any[])];\n\n if (this.totalDots() > 0 && this.itemsContainer.nativeElement) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\n\n this.isCreated = true;\n\n if (this.autoplayInterval && this.isAutoplay()) {\n this.startAutoplay();\n }\n }\n\n if (isCircular) {\n if (this.page === 0) {\n totalShiftedItems = -1 * this._numVisible;\n } else if (totalShiftedItems === 0) {\n totalShiftedItems = -1 * this.value.length;\n if (this.remainingItems > 0) {\n this.isRemainingItemsAdded = true;\n }\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n }\n }\n }\n\n createStyle() {\n if (!this.carouselStyle) {\n this.carouselStyle = this.renderer.createElement('style');\n this.carouselStyle.type = 'text/css';\n setAttribute(this.carouselStyle, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, this.carouselStyle);\n }\n\n let innerHTML = `\n #${this.id} .p-carousel-item {\n\t\t\t\tflex: 1 0 ${100 / this.numVisible}%\n\t\t\t}\n `;\n\n if (this.responsiveOptions) {\n this.responsiveOptions.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.responsiveOptions.length; i++) {\n let res = this.responsiveOptions[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.id} .p-carousel-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.carouselStyle.innerHTML = innerHTML;\n }\n\n calculatePosition() {\n if (this.responsiveOptions) {\n let matchedResponsiveData = {\n numVisible: this.defaultNumVisible,\n numScroll: this.defaultNumScroll\n };\n\n if (typeof window !== 'undefined') {\n let windowWidth = window.innerWidth;\n for (let i = 0; i < this.responsiveOptions.length; i++) {\n let res = this.responsiveOptions[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n }\n\n if (this._numScroll !== matchedResponsiveData.numScroll) {\n let page = this._page;\n page = Math.floor((page * this._numScroll) / matchedResponsiveData.numScroll);\n\n let totalShiftedItems = matchedResponsiveData.numScroll * this.page * -1;\n\n if (this.isCircular()) {\n totalShiftedItems -= matchedResponsiveData.numVisible;\n }\n\n this.totalShiftedItems = totalShiftedItems;\n this._numScroll = matchedResponsiveData.numScroll;\n\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n }\n\n if (this._numVisible !== matchedResponsiveData.numVisible) {\n this._numVisible = matchedResponsiveData.numVisible;\n this.setCloneItems();\n }\n\n this.cd.markForCheck();\n }\n }\n\n setCloneItems() {\n this.clonedItemsForStarting = [];\n this.clonedItemsForFinishing = [];\n if (this.isCircular()) {\n this.clonedItemsForStarting.push(...this.value.slice(-1 * this._numVisible));\n this.clonedItemsForFinishing.push(...this.value.slice(0, this._numVisible));\n }\n }\n\n firstIndex() {\n return this.isCircular() ? -1 * (this.totalShiftedItems + this.numVisible) : this.totalShiftedItems * -1;\n }\n\n lastIndex() {\n return this.firstIndex() + this.numVisible - 1;\n }\n\n totalDots() {\n return this.value?.length ? Math.ceil((this.value.length - this._numVisible) / this._numScroll) + 1 : 0;\n }\n\n totalDotsArray() {\n const totalDots = this.totalDots();\n return totalDots <= 0 ? [] : Array(totalDots).fill(0);\n }\n\n isVertical() {\n return this.orientation === 'vertical';\n }\n\n isCircular() {\n return this.circular && this.value && this.value.length >= this.numVisible;\n }\n\n isAutoplay() {\n return this.autoplayInterval && this.allowAutoplay;\n }\n\n isForwardNavDisabled() {\n return this.isEmpty() || (this._page >= this.totalDots() - 1 && !this.isCircular());\n }\n\n isBackwardNavDisabled() {\n return this.isEmpty() || (this._page <= 0 && !this.isCircular());\n }\n\n isEmpty() {\n return !this.value || this.value.length === 0;\n }\n\n navForward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page < this.totalDots() - 1) {\n this.step(-1, index);\n }\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page !== 0) {\n this.step(1, index);\n }\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onDotClick(e: MouseEvent, index: number) {\n let page = this._page;\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (index > page) {\n this.navForward(e, index);\n } else if (index < page) {\n this.navBackward(e, index);\n }\n }\n\n onIndicatorKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n }\n }\n\n onRightKey() {\n const indicators = [...find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n }\n\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.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]r')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n }\n\n onTabKey() {\n const indicators = <any>[...find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-highlight') === true);\n\n const activeIndicator = <any>findSingle(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n }\n\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = findSingle(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n }\n\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = <any>[...find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n }\n\n step(dir: number, page?: number) {\n let totalShiftedItems = this.totalShiftedItems;\n const isCircular = this.isCircular();\n\n if (page != null) {\n totalShiftedItems = this._numScroll * page * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n this.isRemainingItemsAdded = false;\n } else {\n totalShiftedItems += this._numScroll * dir;\n if (this.isRemainingItemsAdded) {\n totalShiftedItems += this.remainingItems - this._numScroll * dir;\n this.isRemainingItemsAdded = false;\n }\n\n let originalShiftedItems = isCircular ? totalShiftedItems + this._numVisible : totalShiftedItems;\n page = Math.abs(Math.floor(originalShiftedItems / this._numScroll));\n }\n\n if (isCircular && this.page === this.totalDots() - 1 && dir === -1) {\n totalShiftedItems = -1 * (this.value.length + this._numVisible);\n page = 0;\n } else if (isCircular && this.page === 0 && dir === 1) {\n totalShiftedItems = 0;\n page = this.totalDots() - 1;\n } else if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += this.remainingItems * -1 - this._numScroll * dir;\n this.isRemainingItemsAdded = true;\n }\n\n if (this.itemsContainer) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n this.cd.markForCheck();\n }\n\n startAutoplay() {\n this.interval = setInterval(() => {\n if (this.totalDots() > 0) {\n if (this.page === this.totalDots() - 1) {\n this.step(-1, 0);\n } else {\n this.step(-1, this.page + 1);\n }\n }\n }, this.autoplayInterval);\n this.allowAutoplay = true;\n this.cd.markForCheck();\n }\n\n stopAutoplay(changeAllow: boolean = true) {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = undefined;\n if (changeAllow) {\n this.allowAutoplay = false;\n }\n }\n this.cd.markForCheck();\n }\n\n isPlaying(): boolean {\n return !!this.interval;\n }\n\n onTransitionEnd() {\n if (this.itemsContainer) {\n this.itemsContainer.nativeElement.style.transition = '';\n\n if ((this.page === 0 || this.page === this.totalDots() - 1) && this.isCircular()) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\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 onTouchMove(e: TouchEvent | MouseEvent) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onTouchEnd(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical()) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n }\n\n changePageOnTouch(e: TouchEvent | MouseEvent, diff: number) {\n if (Math.abs(diff) > this.swipeThreshold) {\n if (diff < 0) {\n this.navForward(e);\n } else {\n this.navBackward(e);\n }\n }\n }\n\n ariaPrevButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria.prevPageLabel : undefined;\n }\n\n ariaSlideLabel() {\n return this.config.translation.aria ? this.config.translation.aria.slide : undefined;\n }\n\n ariaNextButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria.nextPageLabel : undefined;\n }\n\n ariaSlideNumber(value) {\n return this.config.translation.aria ? this.config.translation.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n }\n\n ariaPageLabel(value) {\n return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n\n bindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', (event) => {\n this.calculatePosition();\n });\n }\n }\n }\n\n unbindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n }\n\n ngOnDestroy() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n }\n}\n\n@NgModule({\n imports: [Carousel, SharedModule],\n exports: [Carousel, SharedModule]\n})\nexport class CarouselModule {}\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-carousel.mjs","sources":["../../src/carousel/style/carouselstyle.ts","../../src/carousel/carousel.ts","../../src/carousel/primeng-carousel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-carousel {\n display: flex;\n flex-direction: column;\n}\n\n.p-carousel-content-container {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.p-carousel-content {\n display: flex;\n flex-direction: row;\n gap: ${dt('carousel.content.gap')};\n}\n\n.p-carousel-content:dir(rtl) {\n flex-direction: row-reverse;\n}\n\n.p-carousel-viewport {\n overflow: hidden;\n width: 100%;\n}\n\n.p-carousel-item-list {\n display: flex;\n flex-direction: row;\n}\n\n.p-carousel-item-list:dir(rtl) {\n flex-direction: row-reverse;\n}\n\n.p-carousel-prev-button,\n.p-carousel-next-button {\n align-self: center;\n flex-shrink: 0;\n}\n\n.p-carousel-indicator-list {\n display: flex;\n flex-direction: row;\n justify-content: center;\n flex-wrap: wrap;\n padding: ${dt('carousel.indicator.list.padding')};\n gap: ${dt('carousel.indicator.list.gap')};\n margin: 0;\n list-style: none;\n}\n\n.p-carousel-indicator-button {\n display: flex;\n align-items: center;\n justify-content: center;\n background: ${dt('carousel.indicator.background')};\n width: ${dt('carousel.indicator.width')};\n height: ${dt('carousel.indicator.height')};\n border: 0 none;\n transition: background ${dt('carousel.transition.duration')}, color ${dt('carousel.transition.duration')}, outline-color ${dt('carousel.transition.duration')}, box-shadow ${dt('carousel.transition.duration')};\n outline-color: transparent;\n border-radius: ${dt('carousel.indicator.border.radius')};\n padding: 0;\n margin: 0;\n user-select: none;\n cursor: pointer;\n}\n\n.p-carousel-indicator-button:focus-visible {\n box-shadow: ${dt('carousel.indicator.focus.ring.shadow')};\n outline: ${dt('carousel.indicator.focus.ring.width')} ${dt('carousel.indicator.focus.ring.style')} ${dt('carousel.indicator.focus.ring.color')};\n outline-offset: ${dt('carousel.indicator.focus.ring.offset')};\n}\n\n.p-carousel-indicator-button:hover {\n background: ${dt('carousel.indicator.hover.background')};\n}\n\n.p-carousel-indicator-active .p-carousel-indicator-button {\n background: ${dt('carousel.indicator.active.background')};\n}\n\n.p-carousel-vertical .p-carousel-content {\n flex-direction: column;\n}\n\n.p-carousel-vertical .p-carousel-item-list {\n flex-direction: column;\n height: 100%;\n}\n\n.p-items-hidden .p-carousel-item {\n visibility: hidden;\n}\n\n.p-items-hidden .p-carousel-item.p-carousel-item-active {\n visibility: visible;\n}\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-carousel p-component',\n {\n 'p-carousel-vertical': instance.isVertical(),\n 'p-carousel-horizontal': !instance.isVertical()\n }\n ],\n header: 'p-carousel-header',\n contentContainer: 'p-carousel-content-container',\n content: 'p-carousel-content',\n pcPrevButton: ({ instance }) => [\n 'p-carousel-prev-button',\n {\n 'p-disabled': instance.backwardIsDisabled\n }\n ],\n viewport: 'p-carousel-viewport',\n itemList: 'p-carousel-item-list',\n itemClone: ({ index, value, totalShiftedItems, d_numVisible }) => [\n 'p-carousel-item p-carousel-item-clone',\n {\n 'p-carousel-item-active': totalShiftedItems * -1 === value.length + d_numVisible,\n 'p-carousel-item-start': index === 0,\n 'p-carousel-item-end': value.slice(-1 * d_numVisible).length - 1 === index\n }\n ],\n item: ({ instance, index }) => [\n 'p-carousel-item',\n {\n 'p-carousel-item-active': instance.firstIndex() <= index && instance.lastIndex() >= index,\n 'p-carousel-item-start': instance.firstIndex() === index,\n 'p-carousel-item-end': instance.lastIndex() === index\n }\n ],\n pcNextButton: ({ instance }) => [\n 'p-carousel-next-button',\n {\n 'p-disabled': instance.forwardIsDisabled\n }\n ],\n indicatorList: 'p-carousel-indicator-list',\n indicator: ({ instance, index }) => [\n 'p-carousel-indicator',\n {\n 'p-carousel-indicator-active': instance.d_page === index\n }\n ],\n indicatorButton: 'p-carousel-indicator-button',\n footer: 'p-carousel-footer'\n};\n\n@Injectable()\nexport class CarouselStyle extends BaseStyle {\n name = 'carousel';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Carousel is a content slider featuring various customization options.\n *\n * [Live Demo](https://www.primeng.org/carousel/)\n *\n * @module carouselstyle\n *\n */\nexport enum CarouselClasses {\n /**\n * Class name of the root element\n */\n root = 'p-carousel',\n /**\n * Class name of the header element\n */\n header = 'p-carousel-header',\n /**\n * Class name of the content container element\n */\n contentContainer = 'p-carousel-content-container',\n /**\n * Class name of the content element\n */\n content = 'p-carousel-content',\n /**\n * Class name of the previous button element\n */\n pcPrevButton = 'p-carousel-prev-button',\n /**\n * Class name of the viewport element\n */\n viewport = 'p-carousel-viewport',\n /**\n * Class name of the item list element\n */\n itemList = 'p-carousel-item-list',\n /**\n * Class name of the item clone element\n */\n itemClone = 'p-carousel-item-clone',\n /**\n * Class name of the item element\n */\n item = 'p-carousel-item',\n /**\n * Class name of the next button element\n */\n pcNextButton = 'p-carousel-next-button',\n /**\n * Class name of the indicator list element\n */\n indicatorList = 'p-carousel-indicator-list',\n /**\n * Class name of the indicator element\n */\n indicator = 'p-carousel-indicator',\n /**\n * Class name of the indicator button element\n */\n indicatorButton = 'p-carousel-indicator-button',\n /**\n * Class name of the footer element\n */\n footer = 'p-carousel-footer'\n}\n\nexport interface CarouselStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { find, findSingle, getAttribute, setAttribute, uuid } from '@primeuix/utils';\nimport { Footer, Header, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Button, ButtonProps } from 'primeng/button';\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { CarouselPageEvent, CarouselResponsiveOptions } from './carousel.interface';\nimport { CarouselStyle } from './style/carouselstyle';\n\n/**\n * Carousel is a content slider featuring various customization options.\n * @group Components\n */\n@Component({\n selector: 'p-carousel',\n standalone: true,\n imports: [CommonModule, Ripple, ChevronRightIcon, ChevronLeftIcon, ChevronDownIcon, ChevronUpIcon, Button, SharedModule],\n template: `\n <div [attr.id]=\"id\" [ngClass]=\"{ 'p-carousel p-component': true, 'p-carousel-vertical': isVertical(), 'p-carousel-horizontal': !isVertical() }\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"region\">\n <div class=\"p-carousel-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div [class]=\"contentClass\" [ngClass]=\"'p-carousel-content-container'\">\n <div class=\"p-carousel-content\" [attr.aria-live]=\"allowAutoplay ? 'polite' : 'off'\">\n <p-button\n *ngIf=\"showNavigators\"\n [ngClass]=\"{ 'p-carousel-prev-button': true, 'p-disabled': isBackwardNavDisabled() }\"\n [disabled]=\"isBackwardNavDisabled()\"\n [attr.aria-label]=\"ariaPrevButtonLabel()\"\n (click)=\"navBackward($event)\"\n [text]=\"true\"\n [buttonProps]=\"prevButtonProps\"\n >\n <ng-template #icon>\n <ng-container *ngIf=\"!previousIconTemplate && !_previousIconTemplate && !prevButtonProps?.icon\">\n <ChevronLeftIcon *ngIf=\"!isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n <ChevronUpIcon *ngIf=\"isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n </ng-container>\n <span *ngIf=\"(previousIconTemplate || _previousIconTemplate) && !prevButtonProps?.icon\" class=\"p-carousel-prev-icon\">\n <ng-template *ngTemplateOutlet=\"previousIconTemplate || _previousIconTemplate\"></ng-template>\n </span>\n </ng-template>\n </p-button>\n <div class=\"p-carousel-viewport\" [ngStyle]=\"{ height: isVertical() ? verticalViewPortHeight : 'auto' }\" (touchend)=\"onTouchEnd($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\">\n <div #itemsContainer class=\"p-carousel-item-list\" (transitionend)=\"onTransitionEnd()\">\n <div\n *ngFor=\"let item of clonedItemsForStarting; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item p-carousel-item-clone': true,\n 'p-carousel-item-active': totalShiftedItems * -1 === value.length,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': clonedItemsForStarting.length - 1 === index\n }\"\n [attr.aria-hidden]=\"!(totalShiftedItems * -1 === value.length)\"\n [attr.aria-label]=\"ariaSlideNumber(index)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div\n *ngFor=\"let item of value; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item': true,\n 'p-carousel-item-active': firstIndex() <= index && lastIndex() >= index,\n 'p-carousel-item-start': firstIndex() === index,\n 'p-carousel-item-end': lastIndex() === index\n }\"\n [attr.aria-hidden]=\"!(firstIndex() <= index && lastIndex() >= index)\"\n [attr.aria-label]=\"ariaSlideNumber(index)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div\n *ngFor=\"let item of clonedItemsForFinishing; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item p-carousel-item-clone': true,\n 'p-carousel-item-active': totalShiftedItems * -1 === numVisible,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': clonedItemsForFinishing.length - 1 === index\n }\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n </div>\n </div>\n <p-button\n type=\"button\"\n *ngIf=\"showNavigators\"\n [ngClass]=\"{ 'p-carousel-next-button': true, 'p-disabled': isForwardNavDisabled() }\"\n [disabled]=\"isForwardNavDisabled()\"\n (click)=\"navForward($event)\"\n pRipple\n [attr.aria-label]=\"ariaNextButtonLabel()\"\n [buttonProps]=\"nextButtonProps\"\n [text]=\"true\"\n >\n <ng-container *ngIf=\"!nextIconTemplate && !_nextIconTemplate && !nextButtonProps?.icon\">\n <ChevronRightIcon *ngIf=\"!isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n <ChevronDownIcon *ngIf=\"isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n </ng-container>\n <span *ngIf=\"nextIconTemplate || (_nextIconTemplate && !nextButtonProps?.icon)\" class=\"p-carousel-prev-icon\">\n <ng-template *ngTemplateOutlet=\"nextIconTemplate || _nextIconTemplate\"></ng-template>\n </span>\n </p-button>\n </div>\n <ul #indicatorContent [ngClass]=\"'p-carousel-indicator-list'\" [class]=\"indicatorsContentClass\" [ngStyle]=\"indicatorsContentStyle\" *ngIf=\"showIndicators\" (keydown)=\"onIndicatorKeydown($event)\">\n <li *ngFor=\"let totalDot of totalDotsArray(); let i = index\" [ngClass]=\"{ 'p-carousel-indicator': true, 'p-carousel-indicator-active': _page === i }\" [attr.data-pc-section]=\"'indicator'\">\n <button\n type=\"button\"\n [ngClass]=\"'p-carousel-indicator-button'\"\n (click)=\"onDotClick($event, i)\"\n [class]=\"indicatorStyleClass\"\n [ngStyle]=\"indicatorStyle\"\n [attr.aria-label]=\"ariaPageLabel(i + 1)\"\n [attr.aria-current]=\"_page === i ? 'page' : undefined\"\n [tabindex]=\"_page === i ? 0 : -1\"\n ></button>\n </li>\n </ul>\n </div>\n <div class=\"p-carousel-footer\" *ngIf=\"footerFacet || footerTemplate || _footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [CarouselStyle]\n})\nexport class Carousel extends BaseComponent implements AfterContentInit {\n /**\n * Index of the first item.\n * @defaultValue 0\n * @group Props\n */\n @Input() get page(): number {\n return this._page;\n }\n\n set page(val: number) {\n if (this.isCreated && val !== this._page) {\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (val > this._page && val <= this.totalDots() - 1) {\n this.step(-1, val);\n } else if (val < this._page) {\n this.step(1, val);\n }\n }\n\n this._page = val;\n }\n\n /**\n * Number of items per page.\n * @defaultValue 1\n * @group Props\n */\n @Input() get numVisible(): number {\n return this._numVisible;\n }\n\n set numVisible(val: number) {\n this._numVisible = val;\n }\n\n /**\n * Number of items to scroll.\n * @defaultValue 1\n * @group Props\n */\n @Input() get numScroll(): number {\n return this._numVisible;\n }\n\n set numScroll(val: number) {\n this._numScroll = val;\n }\n\n /**\n * An array of options for responsive design.\n * @see {CarouselResponsiveOptions}\n * @group Props\n */\n @Input() responsiveOptions: CarouselResponsiveOptions[] | undefined;\n /**\n * Specifies the layout of the component.\n * @group Props\n */\n @Input() orientation: 'horizontal' | 'vertical' = 'horizontal';\n /**\n * Height of the viewport in vertical layout.\n * @group Props\n */\n @Input() verticalViewPortHeight: string = '300px';\n /**\n * Style class of main content.\n * @group Props\n */\n @Input() contentClass: string = '';\n /**\n * Style class of the indicator items.\n * @group Props\n */\n @Input() indicatorsContentClass: string = '';\n /**\n * Inline style of the indicator items.\n * @group Props\n */\n @Input() indicatorsContentStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the indicators.\n * @group Props\n */\n @Input() indicatorStyleClass: string = '';\n /**\n * Style of the indicators.\n * @group Props\n */\n @Input() indicatorStyle: { [klass: string]: any } | null | undefined;\n\n /**\n * An array of objects to display.\n * @defaultValue null\n * @group Props\n */\n @Input() get value(): any[] {\n return this._value as any[];\n }\n\n set value(val) {\n this._value = val;\n }\n\n /**\n * Defines if scrolling would be infinite.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n /**\n * Whether to display indicator container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showIndicators: boolean = true;\n /**\n * Whether to display navigation buttons in container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showNavigators: boolean = true;\n /**\n * Time in milliseconds to scroll items automatically.\n * @group Props\n */\n @Input({ transform: numberAttribute }) autoplayInterval: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the viewport container.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n @Input() prevButtonProps: ButtonProps;\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n @Input() nextButtonProps: ButtonProps;\n /**\n * Callback to invoke after scroll.\n * @param {CarouselPageEvent} event - Custom page event.\n * @group Emits\n */\n @Output() onPage: EventEmitter<CarouselPageEvent> = new EventEmitter<CarouselPageEvent>();\n\n @ViewChild('itemsContainer') itemsContainer: ElementRef | undefined;\n\n @ViewChild('indicatorContent') indicatorContent: ElementRef | undefined;\n\n @ContentChild(Header) headerFacet: QueryList<Header> | undefined;\n\n @ContentChild(Footer) footerFacet: QueryList<Footer> | undefined;\n\n _numVisible: number = 1;\n\n _numScroll: number = 1;\n\n _oldNumScroll: number = 0;\n\n prevState: any = {\n numScroll: 0,\n numVisible: 0,\n value: []\n };\n\n defaultNumScroll: number = 1;\n\n defaultNumVisible: number = 1;\n\n _page: number = 0;\n\n _value: any[] | null | undefined;\n\n carouselStyle: any;\n\n id: string | undefined;\n\n totalShiftedItems;\n\n isRemainingItemsAdded: boolean = false;\n\n animationTimeout: any;\n\n translateTimeout: any;\n\n remainingItems: number = 0;\n\n _items: any[] | undefined;\n\n startPos: any;\n\n documentResizeListener: any;\n\n clonedItemsForStarting: any[] | undefined;\n\n clonedItemsForFinishing: any[] | undefined;\n\n allowAutoplay: boolean | undefined;\n\n interval: any;\n\n isCreated: boolean | undefined;\n\n swipeThreshold: number = 20;\n\n /**\n * Template for carousel items.\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: TemplateRef<any> | undefined;\n\n /**\n * Template for the carousel header.\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Template for the carousel footer.\n * @group Templates\n */\n @ContentChild('footer', { descendants: false }) footerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Template for the previous button icon.\n * @group Templates\n */\n @ContentChild('previousicon', { descendants: false }) previousIconTemplate: TemplateRef<any> | undefined;\n\n /**\n * Template for the next button icon.\n * @group Templates\n */\n @ContentChild('nexticon', { descendants: false }) nextIconTemplate: TemplateRef<any> | undefined;\n\n _itemTemplate: TemplateRef<any> | undefined;\n\n _headerTemplate: TemplateRef<any> | undefined;\n\n _footerTemplate: TemplateRef<any> | undefined;\n\n _previousIconTemplate: TemplateRef<any> | undefined;\n\n _nextIconTemplate: TemplateRef<any> | undefined;\n\n window: Window;\n\n _componentStyle = inject(CarouselStyle);\n\n constructor(\n public el: ElementRef,\n public zone: NgZone\n ) {\n super();\n this.totalShiftedItems = this.page * this.numScroll * -1;\n this.window = this.document.defaultView as Window;\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (isPlatformBrowser(this.platformId)) {\n if (simpleChange.value) {\n if (this.circular && this._value) {\n this.setCloneItems();\n }\n }\n\n if (this.isCreated) {\n if (simpleChange.numVisible) {\n if (this.responsiveOptions) {\n this.defaultNumVisible = this.numVisible;\n }\n\n if (this.isCircular()) {\n this.setCloneItems();\n }\n\n this.createStyle();\n this.calculatePosition();\n }\n\n if (simpleChange.numScroll) {\n if (this.responsiveOptions) {\n this.defaultNumScroll = this.numScroll;\n }\n }\n }\n }\n this.cd.markForCheck();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n this.id = uuid('pn_id_');\n if (isPlatformBrowser(this.platformId)) {\n this.allowAutoplay = !!this.autoplayInterval;\n\n if (this.circular) {\n this.setCloneItems();\n }\n\n if (this.responsiveOptions) {\n this.defaultNumScroll = this._numScroll;\n this.defaultNumVisible = this._numVisible;\n }\n\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n }\n\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'previousicon':\n this._previousIconTemplate = item.template;\n break;\n\n case 'nexticon':\n this._nextIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n\n this.cd.detectChanges();\n }\n\n ngAfterContentChecked() {\n if (isPlatformBrowser(this.platformId)) {\n const isCircular = this.isCircular();\n let totalShiftedItems = this.totalShiftedItems;\n\n if (this.value && this.itemsContainer && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== this.value.length)) {\n if (this.autoplayInterval) {\n this.stopAutoplay(false);\n }\n\n this.remainingItems = (this.value.length - this._numVisible) % this._numScroll;\n\n let page = this._page;\n if (this.totalDots() !== 0 && page >= this.totalDots()) {\n page = this.totalDots() - 1;\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n }\n\n totalShiftedItems = page * this._numScroll * -1;\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += -1 * this.remainingItems + this._numScroll;\n this.isRemainingItemsAdded = true;\n } else {\n this.isRemainingItemsAdded = false;\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n this._oldNumScroll = this._numScroll;\n this.prevState.numScroll = this._numScroll;\n this.prevState.numVisible = this._numVisible;\n this.prevState.value = [...(this._value as any[])];\n\n if (this.totalDots() > 0 && this.itemsContainer.nativeElement) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\n\n this.isCreated = true;\n\n if (this.autoplayInterval && this.isAutoplay()) {\n this.startAutoplay();\n }\n }\n\n if (isCircular) {\n if (this.page === 0) {\n totalShiftedItems = -1 * this._numVisible;\n } else if (totalShiftedItems === 0) {\n totalShiftedItems = -1 * this.value.length;\n if (this.remainingItems > 0) {\n this.isRemainingItemsAdded = true;\n }\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n }\n }\n }\n\n createStyle() {\n if (!this.carouselStyle) {\n this.carouselStyle = this.renderer.createElement('style');\n this.carouselStyle.type = 'text/css';\n setAttribute(this.carouselStyle, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, this.carouselStyle);\n }\n\n let innerHTML = `\n #${this.id} .p-carousel-item {\n\t\t\t\tflex: 1 0 ${100 / this.numVisible}%\n\t\t\t}\n `;\n\n if (this.responsiveOptions) {\n this.responsiveOptions.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.responsiveOptions.length; i++) {\n let res = this.responsiveOptions[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.id} .p-carousel-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.carouselStyle.innerHTML = innerHTML;\n }\n\n calculatePosition() {\n if (this.responsiveOptions) {\n let matchedResponsiveData = {\n numVisible: this.defaultNumVisible,\n numScroll: this.defaultNumScroll\n };\n\n if (typeof window !== 'undefined') {\n let windowWidth = window.innerWidth;\n for (let i = 0; i < this.responsiveOptions.length; i++) {\n let res = this.responsiveOptions[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n }\n\n if (this._numScroll !== matchedResponsiveData.numScroll) {\n let page = this._page;\n page = Math.floor((page * this._numScroll) / matchedResponsiveData.numScroll);\n\n let totalShiftedItems = matchedResponsiveData.numScroll * this.page * -1;\n\n if (this.isCircular()) {\n totalShiftedItems -= matchedResponsiveData.numVisible;\n }\n\n this.totalShiftedItems = totalShiftedItems;\n this._numScroll = matchedResponsiveData.numScroll;\n\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n }\n\n if (this._numVisible !== matchedResponsiveData.numVisible) {\n this._numVisible = matchedResponsiveData.numVisible;\n this.setCloneItems();\n }\n\n this.cd.markForCheck();\n }\n }\n\n setCloneItems() {\n this.clonedItemsForStarting = [];\n this.clonedItemsForFinishing = [];\n if (this.isCircular()) {\n this.clonedItemsForStarting.push(...this.value.slice(-1 * this._numVisible));\n this.clonedItemsForFinishing.push(...this.value.slice(0, this._numVisible));\n }\n }\n\n firstIndex() {\n return this.isCircular() ? -1 * (this.totalShiftedItems + this.numVisible) : this.totalShiftedItems * -1;\n }\n\n lastIndex() {\n return this.firstIndex() + this.numVisible - 1;\n }\n\n totalDots() {\n return this.value?.length ? Math.ceil((this.value.length - this._numVisible) / this._numScroll) + 1 : 0;\n }\n\n totalDotsArray() {\n const totalDots = this.totalDots();\n return totalDots <= 0 ? [] : Array(totalDots).fill(0);\n }\n\n isVertical() {\n return this.orientation === 'vertical';\n }\n\n isCircular() {\n return this.circular && this.value && this.value.length >= this.numVisible;\n }\n\n isAutoplay() {\n return this.autoplayInterval && this.allowAutoplay;\n }\n\n isForwardNavDisabled() {\n return this.isEmpty() || (this._page >= this.totalDots() - 1 && !this.isCircular());\n }\n\n isBackwardNavDisabled() {\n return this.isEmpty() || (this._page <= 0 && !this.isCircular());\n }\n\n isEmpty() {\n return !this.value || this.value.length === 0;\n }\n\n navForward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page < this.totalDots() - 1) {\n this.step(-1, index);\n }\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page !== 0) {\n this.step(1, index);\n }\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onDotClick(e: MouseEvent, index: number) {\n let page = this._page;\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (index > page) {\n this.navForward(e, index);\n } else if (index < page) {\n this.navBackward(e, index);\n }\n }\n\n onIndicatorKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n }\n }\n\n onRightKey() {\n const indicators = [...find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n }\n\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.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]r')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n }\n\n onTabKey() {\n const indicators = <any>[...find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-highlight') === true);\n\n const activeIndicator = <any>findSingle(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n }\n\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = findSingle(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n }\n\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = <any>[...find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n }\n\n step(dir: number, page?: number) {\n let totalShiftedItems = this.totalShiftedItems;\n const isCircular = this.isCircular();\n\n if (page != null) {\n totalShiftedItems = this._numScroll * page * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n this.isRemainingItemsAdded = false;\n } else {\n totalShiftedItems += this._numScroll * dir;\n if (this.isRemainingItemsAdded) {\n totalShiftedItems += this.remainingItems - this._numScroll * dir;\n this.isRemainingItemsAdded = false;\n }\n\n let originalShiftedItems = isCircular ? totalShiftedItems + this._numVisible : totalShiftedItems;\n page = Math.abs(Math.floor(originalShiftedItems / this._numScroll));\n }\n\n if (isCircular && this.page === this.totalDots() - 1 && dir === -1) {\n totalShiftedItems = -1 * (this.value.length + this._numVisible);\n page = 0;\n } else if (isCircular && this.page === 0 && dir === 1) {\n totalShiftedItems = 0;\n page = this.totalDots() - 1;\n } else if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += this.remainingItems * -1 - this._numScroll * dir;\n this.isRemainingItemsAdded = true;\n }\n\n if (this.itemsContainer) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n this.cd.markForCheck();\n }\n\n startAutoplay() {\n this.interval = setInterval(() => {\n if (this.totalDots() > 0) {\n if (this.page === this.totalDots() - 1) {\n this.step(-1, 0);\n } else {\n this.step(-1, this.page + 1);\n }\n }\n }, this.autoplayInterval);\n this.allowAutoplay = true;\n this.cd.markForCheck();\n }\n\n stopAutoplay(changeAllow: boolean = true) {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = undefined;\n if (changeAllow) {\n this.allowAutoplay = false;\n }\n }\n this.cd.markForCheck();\n }\n\n isPlaying(): boolean {\n return !!this.interval;\n }\n\n onTransitionEnd() {\n if (this.itemsContainer) {\n this.itemsContainer.nativeElement.style.transition = '';\n\n if ((this.page === 0 || this.page === this.totalDots() - 1) && this.isCircular()) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\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 onTouchMove(e: TouchEvent | MouseEvent) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onTouchEnd(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical()) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n }\n\n changePageOnTouch(e: TouchEvent | MouseEvent, diff: number) {\n if (Math.abs(diff) > this.swipeThreshold) {\n if (diff < 0) {\n this.navForward(e);\n } else {\n this.navBackward(e);\n }\n }\n }\n\n ariaPrevButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria.prevPageLabel : undefined;\n }\n\n ariaSlideLabel() {\n return this.config.translation.aria ? this.config.translation.aria.slide : undefined;\n }\n\n ariaNextButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria.nextPageLabel : undefined;\n }\n\n ariaSlideNumber(value) {\n return this.config.translation.aria ? this.config.translation.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n }\n\n ariaPageLabel(value) {\n return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n\n bindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', (event) => {\n this.calculatePosition();\n });\n }\n }\n }\n\n unbindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n }\n\n ngOnDestroy() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n }\n}\n\n@NgModule({\n imports: [Carousel, SharedModule],\n exports: [Carousel, SharedModule]\n})\nexport class CarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}