primeng 22.1.1 → 22.1.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 (854) hide show
  1. package/fesm2022/primeng-accordion.mjs +999 -596
  2. package/fesm2022/primeng-animateonscroll.mjs +265 -174
  3. package/fesm2022/primeng-api.mjs +887 -848
  4. package/fesm2022/primeng-autocomplete.mjs +2535 -1633
  5. package/fesm2022/primeng-autofocus.mjs +113 -77
  6. package/fesm2022/primeng-avatar.mjs +329 -189
  7. package/fesm2022/primeng-avatargroup.mjs +177 -95
  8. package/fesm2022/primeng-badge.mjs +289 -156
  9. package/fesm2022/primeng-base.mjs +105 -83
  10. package/fesm2022/primeng-basecomponent.mjs +592 -478
  11. package/fesm2022/primeng-baseeditableholder.mjs +130 -74
  12. package/fesm2022/primeng-baseinput.mjs +213 -99
  13. package/fesm2022/primeng-basemodelholder.mjs +38 -26
  14. package/fesm2022/primeng-bind.mjs +157 -97
  15. package/fesm2022/primeng-blockui.mjs +359 -225
  16. package/fesm2022/primeng-breadcrumb.mjs +457 -220
  17. package/fesm2022/primeng-button.mjs +1562 -710
  18. package/fesm2022/primeng-buttongroup.mjs +126 -75
  19. package/fesm2022/primeng-card.mjs +388 -178
  20. package/fesm2022/primeng-carousel.mjs +2398 -1776
  21. package/fesm2022/primeng-cascadeselect.mjs +2380 -1407
  22. package/fesm2022/primeng-chart.mjs +401 -231
  23. package/fesm2022/primeng-checkbox.mjs +649 -351
  24. package/fesm2022/primeng-chip.mjs +410 -224
  25. package/fesm2022/primeng-classnames.mjs +94 -48
  26. package/fesm2022/primeng-colorpicker.mjs +889 -635
  27. package/fesm2022/primeng-commandmenu.mjs +567 -313
  28. package/fesm2022/primeng-compare.mjs +842 -481
  29. package/fesm2022/primeng-config.mjs +436 -321
  30. package/fesm2022/primeng-confirmdialog.mjs +1196 -536
  31. package/fesm2022/primeng-confirmpopup.mjs +815 -522
  32. package/fesm2022/primeng-contextmenu.mjs +1871 -1090
  33. package/fesm2022/primeng-dataview.mjs +1129 -550
  34. package/fesm2022/primeng-datepicker.mjs +3783 -3366
  35. package/fesm2022/primeng-dialog.mjs +1649 -977
  36. package/fesm2022/primeng-divider.mjs +271 -146
  37. package/fesm2022/primeng-dock.mjs +608 -391
  38. package/fesm2022/primeng-dom.mjs +611 -767
  39. package/fesm2022/primeng-dragdrop.mjs +324 -312
  40. package/fesm2022/primeng-drawer.mjs +911 -484
  41. package/fesm2022/primeng-dynamicdialog.mjs +829 -917
  42. package/fesm2022/primeng-editor.mjs +546 -391
  43. package/fesm2022/primeng-fieldset.mjs +559 -273
  44. package/fesm2022/primeng-fileupload.mjs +1843 -1062
  45. package/fesm2022/primeng-floatlabel.mjs +186 -102
  46. package/fesm2022/primeng-fluid.mjs +155 -85
  47. package/fesm2022/primeng-focustrap.mjs +149 -112
  48. package/fesm2022/primeng-galleria.mjs +2594 -1412
  49. package/fesm2022/primeng-gallery.mjs +2767 -1796
  50. package/fesm2022/primeng-iconfield.mjs +191 -93
  51. package/fesm2022/primeng-icons-angledoubledown.mjs +40 -23
  52. package/fesm2022/primeng-icons-angledoubleleft.mjs +40 -23
  53. package/fesm2022/primeng-icons-angledoubleright.mjs +40 -23
  54. package/fesm2022/primeng-icons-angledoubleup.mjs +40 -23
  55. package/fesm2022/primeng-icons-angledown.mjs +40 -23
  56. package/fesm2022/primeng-icons-angleleft.mjs +40 -23
  57. package/fesm2022/primeng-icons-angleright.mjs +40 -23
  58. package/fesm2022/primeng-icons-angleup.mjs +40 -23
  59. package/fesm2022/primeng-icons-arrowdown.mjs +44 -28
  60. package/fesm2022/primeng-icons-arrowdownleft.mjs +40 -23
  61. package/fesm2022/primeng-icons-arrowdownright.mjs +40 -23
  62. package/fesm2022/primeng-icons-arrowleft.mjs +44 -28
  63. package/fesm2022/primeng-icons-arrowright.mjs +40 -23
  64. package/fesm2022/primeng-icons-arrowup.mjs +44 -28
  65. package/fesm2022/primeng-icons-ban.mjs +44 -28
  66. package/fesm2022/primeng-icons-bars.mjs +40 -23
  67. package/fesm2022/primeng-icons-baseicon.mjs +110 -67
  68. package/fesm2022/primeng-icons-blank.mjs +39 -22
  69. package/fesm2022/primeng-icons-calendar.mjs +40 -23
  70. package/fesm2022/primeng-icons-caretleft.mjs +40 -23
  71. package/fesm2022/primeng-icons-caretright.mjs +40 -23
  72. package/fesm2022/primeng-icons-check.mjs +40 -23
  73. package/fesm2022/primeng-icons-chevrondown.mjs +40 -23
  74. package/fesm2022/primeng-icons-chevronleft.mjs +40 -23
  75. package/fesm2022/primeng-icons-chevronright.mjs +40 -23
  76. package/fesm2022/primeng-icons-chevronup.mjs +40 -23
  77. package/fesm2022/primeng-icons-exclamationtriangle.mjs +44 -28
  78. package/fesm2022/primeng-icons-eye.mjs +40 -23
  79. package/fesm2022/primeng-icons-eyeslash.mjs +44 -28
  80. package/fesm2022/primeng-icons-filter.mjs +44 -28
  81. package/fesm2022/primeng-icons-filterfill.mjs +40 -23
  82. package/fesm2022/primeng-icons-filterslash.mjs +44 -28
  83. package/fesm2022/primeng-icons-home.mjs +44 -28
  84. package/fesm2022/primeng-icons-infocircle.mjs +44 -28
  85. package/fesm2022/primeng-icons-minus.mjs +40 -23
  86. package/fesm2022/primeng-icons-pencil.mjs +44 -28
  87. package/fesm2022/primeng-icons-plus.mjs +44 -28
  88. package/fesm2022/primeng-icons-refresh.mjs +44 -28
  89. package/fesm2022/primeng-icons-search.mjs +44 -28
  90. package/fesm2022/primeng-icons-searchminus.mjs +44 -28
  91. package/fesm2022/primeng-icons-searchplus.mjs +44 -28
  92. package/fesm2022/primeng-icons-sortalt.mjs +44 -28
  93. package/fesm2022/primeng-icons-sortamountdown.mjs +44 -28
  94. package/fesm2022/primeng-icons-sortamountupalt.mjs +44 -28
  95. package/fesm2022/primeng-icons-spinner.mjs +44 -28
  96. package/fesm2022/primeng-icons-star.mjs +44 -28
  97. package/fesm2022/primeng-icons-starfill.mjs +44 -28
  98. package/fesm2022/primeng-icons-thlarge.mjs +44 -28
  99. package/fesm2022/primeng-icons-times.mjs +40 -23
  100. package/fesm2022/primeng-icons-timescircle.mjs +44 -28
  101. package/fesm2022/primeng-icons-trash.mjs +44 -28
  102. package/fesm2022/primeng-icons-undo.mjs +44 -28
  103. package/fesm2022/primeng-icons-upload.mjs +44 -28
  104. package/fesm2022/primeng-icons-windowmaximize.mjs +44 -28
  105. package/fesm2022/primeng-icons-windowminimize.mjs +44 -28
  106. package/fesm2022/primeng-icons.mjs +53 -63
  107. package/fesm2022/primeng-iftalabel.mjs +152 -86
  108. package/fesm2022/primeng-image.mjs +1022 -534
  109. package/fesm2022/primeng-imagecompare.mjs +324 -165
  110. package/fesm2022/primeng-inplace.mjs +400 -199
  111. package/fesm2022/primeng-inputcolor.mjs +2626 -2189
  112. package/fesm2022/primeng-inputgroup.mjs +158 -91
  113. package/fesm2022/primeng-inputgroupaddon.mjs +152 -68
  114. package/fesm2022/primeng-inputicon.mjs +172 -72
  115. package/fesm2022/primeng-inputmask.mjs +1606 -1387
  116. package/fesm2022/primeng-inputnumber.mjs +1645 -1305
  117. package/fesm2022/primeng-inputotp.mjs +570 -376
  118. package/fesm2022/primeng-inputpassword.mjs +178 -96
  119. package/fesm2022/primeng-inputtags.mjs +1211 -588
  120. package/fesm2022/primeng-inputtext.mjs +324 -175
  121. package/fesm2022/primeng-isolation.mjs +280 -0
  122. package/fesm2022/primeng-keyfilter.mjs +267 -244
  123. package/fesm2022/primeng-knob.mjs +625 -405
  124. package/fesm2022/primeng-label.mjs +142 -81
  125. package/fesm2022/primeng-license.mjs +9 -36
  126. package/fesm2022/primeng-listbox.mjs +2426 -1622
  127. package/fesm2022/primeng-megamenu.mjs +2008 -1143
  128. package/fesm2022/primeng-menu.mjs +1434 -852
  129. package/fesm2022/primeng-menubar.mjs +1836 -996
  130. package/fesm2022/primeng-message.mjs +471 -239
  131. package/fesm2022/primeng-metergroup.mjs +662 -331
  132. package/fesm2022/primeng-motion.mjs +1178 -690
  133. package/fesm2022/primeng-multiselect.mjs +3421 -1940
  134. package/fesm2022/primeng-orderlist.mjs +1320 -668
  135. package/fesm2022/primeng-organizationchart.mjs +911 -595
  136. package/fesm2022/primeng-overlay.mjs +933 -626
  137. package/fesm2022/primeng-overlaybadge.mjs +290 -107
  138. package/fesm2022/primeng-paginator.mjs +961 -503
  139. package/fesm2022/primeng-panel.mjs +668 -345
  140. package/fesm2022/primeng-panelmenu.mjs +1845 -1002
  141. package/fesm2022/primeng-passthrough.mjs +7 -16
  142. package/fesm2022/primeng-password.mjs +1517 -866
  143. package/fesm2022/primeng-picklist.mjs +2278 -1256
  144. package/fesm2022/primeng-popover.mjs +658 -438
  145. package/fesm2022/primeng-progressbar.mjs +345 -168
  146. package/fesm2022/primeng-progressspinner.mjs +337 -188
  147. package/fesm2022/primeng-radiobutton.mjs +498 -292
  148. package/fesm2022/primeng-rating.mjs +583 -354
  149. package/fesm2022/primeng-ripple.mjs +195 -184
  150. package/fesm2022/primeng-scrollarea.mjs +1017 -721
  151. package/fesm2022/primeng-scroller.mjs +1388 -1083
  152. package/fesm2022/primeng-scrollpanel.mjs +567 -480
  153. package/fesm2022/primeng-scrolltop.mjs +510 -262
  154. package/fesm2022/primeng-select.mjs +3073 -1793
  155. package/fesm2022/primeng-selectbutton.mjs +628 -339
  156. package/fesm2022/primeng-sidebar.mjs +2559 -1416
  157. package/fesm2022/primeng-skeleton.mjs +299 -157
  158. package/fesm2022/primeng-slider.mjs +840 -604
  159. package/fesm2022/primeng-speeddial.mjs +1118 -719
  160. package/fesm2022/primeng-splitbutton.mjs +887 -339
  161. package/fesm2022/primeng-splitter.mjs +996 -759
  162. package/fesm2022/primeng-stepper.mjs +1356 -643
  163. package/fesm2022/primeng-steps.mjs +396 -304
  164. package/fesm2022/primeng-styleclass.mjs +447 -334
  165. package/fesm2022/primeng-table.mjs +9827 -5913
  166. package/fesm2022/primeng-tabs.mjs +1356 -831
  167. package/fesm2022/primeng-tag.mjs +304 -151
  168. package/fesm2022/primeng-terminal.mjs +367 -216
  169. package/fesm2022/primeng-textarea.mjs +344 -208
  170. package/fesm2022/primeng-tieredmenu.mjs +1921 -1129
  171. package/fesm2022/primeng-timeline.mjs +303 -165
  172. package/fesm2022/primeng-toast.mjs +1384 -922
  173. package/fesm2022/primeng-togglebutton.mjs +562 -309
  174. package/fesm2022/primeng-toggleswitch.mjs +463 -237
  175. package/fesm2022/primeng-toolbar.mjs +298 -129
  176. package/fesm2022/primeng-tooltip.mjs +1017 -778
  177. package/fesm2022/primeng-tree.mjs +2680 -1877
  178. package/fesm2022/primeng-treeselect.mjs +1683 -945
  179. package/fesm2022/primeng-treetable.mjs +5868 -3768
  180. package/fesm2022/primeng-ts-helpers.mjs +0 -4
  181. package/fesm2022/primeng-types-accordion.mjs +0 -4
  182. package/fesm2022/primeng-types-autocomplete.mjs +0 -4
  183. package/fesm2022/primeng-types-avatar.mjs +0 -4
  184. package/fesm2022/primeng-types-avatargroup.mjs +0 -4
  185. package/fesm2022/primeng-types-badge.mjs +0 -4
  186. package/fesm2022/primeng-types-blockui.mjs +0 -4
  187. package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
  188. package/fesm2022/primeng-types-button.mjs +0 -4
  189. package/fesm2022/primeng-types-card.mjs +0 -4
  190. package/fesm2022/primeng-types-carousel.mjs +0 -4
  191. package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
  192. package/fesm2022/primeng-types-chart.mjs +0 -4
  193. package/fesm2022/primeng-types-checkbox.mjs +0 -4
  194. package/fesm2022/primeng-types-chip.mjs +0 -4
  195. package/fesm2022/primeng-types-colorpicker.mjs +0 -4
  196. package/fesm2022/primeng-types-commandmenu.mjs +0 -4
  197. package/fesm2022/primeng-types-compare.mjs +0 -4
  198. package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
  199. package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
  200. package/fesm2022/primeng-types-contextmenu.mjs +0 -4
  201. package/fesm2022/primeng-types-dataview.mjs +0 -4
  202. package/fesm2022/primeng-types-datepicker.mjs +0 -4
  203. package/fesm2022/primeng-types-dialog.mjs +0 -4
  204. package/fesm2022/primeng-types-divider.mjs +0 -4
  205. package/fesm2022/primeng-types-dock.mjs +0 -4
  206. package/fesm2022/primeng-types-drawer.mjs +0 -4
  207. package/fesm2022/primeng-types-editor.mjs +0 -4
  208. package/fesm2022/primeng-types-fieldset.mjs +0 -4
  209. package/fesm2022/primeng-types-fileupload.mjs +0 -4
  210. package/fesm2022/primeng-types-floatlabel.mjs +0 -4
  211. package/fesm2022/primeng-types-fluid.mjs +0 -4
  212. package/fesm2022/primeng-types-galleria.mjs +0 -4
  213. package/fesm2022/primeng-types-gallery.mjs +0 -4
  214. package/fesm2022/primeng-types-iconfield.mjs +0 -4
  215. package/fesm2022/primeng-types-iftalabel.mjs +0 -4
  216. package/fesm2022/primeng-types-image.mjs +0 -4
  217. package/fesm2022/primeng-types-imagecompare.mjs +0 -4
  218. package/fesm2022/primeng-types-inplace.mjs +0 -4
  219. package/fesm2022/primeng-types-inputcolor.mjs +0 -4
  220. package/fesm2022/primeng-types-inputgroup.mjs +0 -4
  221. package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
  222. package/fesm2022/primeng-types-inputicon.mjs +0 -4
  223. package/fesm2022/primeng-types-inputmask.mjs +0 -4
  224. package/fesm2022/primeng-types-inputnumber.mjs +0 -4
  225. package/fesm2022/primeng-types-inputotp.mjs +0 -4
  226. package/fesm2022/primeng-types-inputpassword.mjs +0 -4
  227. package/fesm2022/primeng-types-inputtags.mjs +0 -4
  228. package/fesm2022/primeng-types-inputtext.mjs +0 -4
  229. package/fesm2022/primeng-types-knob.mjs +0 -4
  230. package/fesm2022/primeng-types-label.mjs +0 -4
  231. package/fesm2022/primeng-types-listbox.mjs +0 -4
  232. package/fesm2022/primeng-types-megamenu.mjs +0 -4
  233. package/fesm2022/primeng-types-menu.mjs +0 -4
  234. package/fesm2022/primeng-types-menubar.mjs +0 -4
  235. package/fesm2022/primeng-types-message.mjs +0 -4
  236. package/fesm2022/primeng-types-metergroup.mjs +0 -4
  237. package/fesm2022/primeng-types-motion.mjs +0 -4
  238. package/fesm2022/primeng-types-multiselect.mjs +0 -4
  239. package/fesm2022/primeng-types-orderlist.mjs +0 -4
  240. package/fesm2022/primeng-types-organizationchart.mjs +0 -4
  241. package/fesm2022/primeng-types-overlay.mjs +0 -4
  242. package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
  243. package/fesm2022/primeng-types-paginator.mjs +0 -4
  244. package/fesm2022/primeng-types-panel.mjs +0 -4
  245. package/fesm2022/primeng-types-panelmenu.mjs +0 -4
  246. package/fesm2022/primeng-types-password.mjs +0 -4
  247. package/fesm2022/primeng-types-picklist.mjs +0 -4
  248. package/fesm2022/primeng-types-popover.mjs +0 -4
  249. package/fesm2022/primeng-types-progressbar.mjs +0 -4
  250. package/fesm2022/primeng-types-progressspinner.mjs +0 -4
  251. package/fesm2022/primeng-types-radiobutton.mjs +0 -4
  252. package/fesm2022/primeng-types-rating.mjs +0 -4
  253. package/fesm2022/primeng-types-scrollarea.mjs +0 -4
  254. package/fesm2022/primeng-types-scroller.mjs +0 -4
  255. package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
  256. package/fesm2022/primeng-types-scrolltop.mjs +0 -4
  257. package/fesm2022/primeng-types-select.mjs +0 -4
  258. package/fesm2022/primeng-types-selectbutton.mjs +0 -4
  259. package/fesm2022/primeng-types-shared.mjs +0 -4
  260. package/fesm2022/primeng-types-sidebar.mjs +0 -4
  261. package/fesm2022/primeng-types-skeleton.mjs +0 -4
  262. package/fesm2022/primeng-types-slider.mjs +0 -4
  263. package/fesm2022/primeng-types-speeddial.mjs +0 -4
  264. package/fesm2022/primeng-types-splitbutton.mjs +0 -4
  265. package/fesm2022/primeng-types-splitter.mjs +0 -4
  266. package/fesm2022/primeng-types-stepper.mjs +0 -4
  267. package/fesm2022/primeng-types-table.mjs +0 -4
  268. package/fesm2022/primeng-types-tabs.mjs +0 -4
  269. package/fesm2022/primeng-types-tag.mjs +0 -4
  270. package/fesm2022/primeng-types-terminal.mjs +0 -4
  271. package/fesm2022/primeng-types-textarea.mjs +0 -4
  272. package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
  273. package/fesm2022/primeng-types-timeline.mjs +0 -4
  274. package/fesm2022/primeng-types-toast.mjs +0 -4
  275. package/fesm2022/primeng-types-togglebutton.mjs +0 -4
  276. package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
  277. package/fesm2022/primeng-types-toolbar.mjs +0 -4
  278. package/fesm2022/primeng-types-tooltip.mjs +0 -4
  279. package/fesm2022/primeng-types-tree.mjs +0 -4
  280. package/fesm2022/primeng-types-treeselect.mjs +0 -4
  281. package/fesm2022/primeng-types-treetable.mjs +0 -4
  282. package/fesm2022/primeng-useid.mjs +38 -0
  283. package/fesm2022/primeng-usestyle.mjs +325 -112
  284. package/fesm2022/primeng-utils.mjs +267 -317
  285. package/fesm2022/primeng.mjs +0 -5
  286. package/package.json +17 -4
  287. package/types/primeng-accordion.d.ts +280 -219
  288. package/types/primeng-animateonscroll.d.ts +89 -60
  289. package/types/primeng-api.d.ts +1755 -1789
  290. package/types/primeng-autocomplete.d.ts +1051 -754
  291. package/types/primeng-autofocus.d.ts +27 -24
  292. package/types/primeng-avatar.d.ts +152 -114
  293. package/types/primeng-avatargroup.d.ts +45 -40
  294. package/types/primeng-badge.d.ts +104 -78
  295. package/types/primeng-base.d.ts +51 -52
  296. package/types/primeng-basecomponent.d.ts +209 -174
  297. package/types/primeng-baseeditableholder.d.ts +63 -45
  298. package/types/primeng-baseinput.d.ts +122 -74
  299. package/types/primeng-basemodelholder.d.ts +9 -12
  300. package/types/primeng-bind.d.ts +36 -32
  301. package/types/primeng-blockui.d.ts +99 -80
  302. package/types/primeng-breadcrumb.d.ts +159 -133
  303. package/types/primeng-button.d.ts +688 -426
  304. package/types/primeng-buttongroup.d.ts +26 -30
  305. package/types/primeng-card.d.ts +130 -119
  306. package/types/primeng-carousel.d.ts +777 -629
  307. package/types/primeng-cascadeselect.d.ts +753 -562
  308. package/types/primeng-chart.d.ts +158 -112
  309. package/types/primeng-checkbox.d.ts +298 -208
  310. package/types/primeng-chip.d.ts +187 -143
  311. package/types/primeng-classnames.d.ts +23 -21
  312. package/types/primeng-colorpicker.d.ts +324 -269
  313. package/types/primeng-commandmenu.d.ts +213 -165
  314. package/types/primeng-compare.d.ts +258 -189
  315. package/types/primeng-config.d.ts +319 -304
  316. package/types/primeng-confirmdialog.d.ts +505 -325
  317. package/types/primeng-confirmpopup.d.ts +251 -207
  318. package/types/primeng-contextmenu.d.ts +522 -366
  319. package/types/primeng-dataview.d.ts +497 -342
  320. package/types/primeng-datepicker.d.ts +1258 -969
  321. package/types/primeng-dialog.d.ts +668 -462
  322. package/types/primeng-divider.d.ts +112 -96
  323. package/types/primeng-dock.d.ts +206 -172
  324. package/types/primeng-dom.d.ts +99 -107
  325. package/types/primeng-dragdrop.d.ts +143 -107
  326. package/types/primeng-drawer.d.ts +354 -254
  327. package/types/primeng-dynamicdialog.d.ts +528 -534
  328. package/types/primeng-editor.d.ts +210 -162
  329. package/types/primeng-fieldset.d.ts +198 -163
  330. package/types/primeng-fileupload.d.ts +726 -523
  331. package/types/primeng-floatlabel.d.ts +54 -48
  332. package/types/primeng-fluid.d.ts +36 -36
  333. package/types/primeng-focustrap.d.ts +30 -27
  334. package/types/primeng-galleria.d.ts +569 -430
  335. package/types/primeng-gallery.d.ts +668 -529
  336. package/types/primeng-iconfield.d.ts +53 -42
  337. package/types/primeng-icons-angledoubledown.d.ts +6 -9
  338. package/types/primeng-icons-angledoubleleft.d.ts +6 -9
  339. package/types/primeng-icons-angledoubleright.d.ts +6 -9
  340. package/types/primeng-icons-angledoubleup.d.ts +6 -9
  341. package/types/primeng-icons-angledown.d.ts +6 -9
  342. package/types/primeng-icons-angleleft.d.ts +6 -9
  343. package/types/primeng-icons-angleright.d.ts +6 -9
  344. package/types/primeng-icons-angleup.d.ts +6 -9
  345. package/types/primeng-icons-arrowdown.d.ts +8 -11
  346. package/types/primeng-icons-arrowdownleft.d.ts +6 -9
  347. package/types/primeng-icons-arrowdownright.d.ts +6 -9
  348. package/types/primeng-icons-arrowleft.d.ts +8 -11
  349. package/types/primeng-icons-arrowright.d.ts +6 -9
  350. package/types/primeng-icons-arrowup.d.ts +8 -11
  351. package/types/primeng-icons-ban.d.ts +8 -11
  352. package/types/primeng-icons-bars.d.ts +6 -9
  353. package/types/primeng-icons-baseicon.d.ts +23 -22
  354. package/types/primeng-icons-blank.d.ts +6 -9
  355. package/types/primeng-icons-calendar.d.ts +6 -9
  356. package/types/primeng-icons-caretleft.d.ts +6 -9
  357. package/types/primeng-icons-caretright.d.ts +6 -9
  358. package/types/primeng-icons-check.d.ts +6 -9
  359. package/types/primeng-icons-chevrondown.d.ts +6 -9
  360. package/types/primeng-icons-chevronleft.d.ts +6 -9
  361. package/types/primeng-icons-chevronright.d.ts +6 -9
  362. package/types/primeng-icons-chevronup.d.ts +6 -9
  363. package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
  364. package/types/primeng-icons-eye.d.ts +6 -9
  365. package/types/primeng-icons-eyeslash.d.ts +8 -11
  366. package/types/primeng-icons-filter.d.ts +8 -11
  367. package/types/primeng-icons-filterfill.d.ts +6 -9
  368. package/types/primeng-icons-filterslash.d.ts +8 -11
  369. package/types/primeng-icons-home.d.ts +8 -11
  370. package/types/primeng-icons-infocircle.d.ts +8 -11
  371. package/types/primeng-icons-minus.d.ts +6 -9
  372. package/types/primeng-icons-pencil.d.ts +8 -11
  373. package/types/primeng-icons-plus.d.ts +8 -11
  374. package/types/primeng-icons-refresh.d.ts +8 -11
  375. package/types/primeng-icons-search.d.ts +8 -11
  376. package/types/primeng-icons-searchminus.d.ts +8 -11
  377. package/types/primeng-icons-searchplus.d.ts +8 -11
  378. package/types/primeng-icons-sortalt.d.ts +8 -11
  379. package/types/primeng-icons-sortamountdown.d.ts +8 -11
  380. package/types/primeng-icons-sortamountupalt.d.ts +8 -11
  381. package/types/primeng-icons-spinner.d.ts +8 -11
  382. package/types/primeng-icons-star.d.ts +8 -11
  383. package/types/primeng-icons-starfill.d.ts +8 -11
  384. package/types/primeng-icons-thlarge.d.ts +8 -11
  385. package/types/primeng-icons-times.d.ts +6 -9
  386. package/types/primeng-icons-timescircle.d.ts +8 -11
  387. package/types/primeng-icons-trash.d.ts +8 -11
  388. package/types/primeng-icons-undo.d.ts +8 -11
  389. package/types/primeng-icons-upload.d.ts +8 -11
  390. package/types/primeng-icons-windowmaximize.d.ts +8 -11
  391. package/types/primeng-icons-windowminimize.d.ts +8 -11
  392. package/types/primeng-icons.d.ts +53 -53
  393. package/types/primeng-iftalabel.d.ts +37 -37
  394. package/types/primeng-image.d.ts +403 -308
  395. package/types/primeng-imagecompare.d.ts +93 -77
  396. package/types/primeng-inplace.d.ts +125 -111
  397. package/types/primeng-inputcolor.d.ts +590 -484
  398. package/types/primeng-inputgroup.d.ts +41 -41
  399. package/types/primeng-inputgroupaddon.d.ts +31 -31
  400. package/types/primeng-inputicon.d.ts +38 -32
  401. package/types/primeng-inputmask.d.ts +519 -362
  402. package/types/primeng-inputnumber.d.ts +572 -405
  403. package/types/primeng-inputotp.d.ts +205 -156
  404. package/types/primeng-inputpassword.d.ts +59 -43
  405. package/types/primeng-inputtags.d.ts +451 -297
  406. package/types/primeng-inputtext.d.ts +129 -93
  407. package/types/primeng-isolation.d.ts +21 -0
  408. package/types/primeng-keyfilter.d.ts +62 -53
  409. package/types/primeng-knob.d.ts +256 -183
  410. package/types/primeng-label.d.ts +36 -36
  411. package/types/primeng-license.d.ts +1 -3
  412. package/types/primeng-listbox.d.ts +1041 -786
  413. package/types/primeng-megamenu.d.ts +539 -383
  414. package/types/primeng-menu.d.ts +477 -361
  415. package/types/primeng-menubar.d.ts +495 -354
  416. package/types/primeng-message.d.ts +191 -148
  417. package/types/primeng-metergroup.d.ts +249 -187
  418. package/types/primeng-motion.d.ts +596 -383
  419. package/types/primeng-multiselect.d.ts +1194 -858
  420. package/types/primeng-orderlist.d.ts +539 -390
  421. package/types/primeng-organizationchart.d.ts +235 -192
  422. package/types/primeng-overlay.d.ts +394 -294
  423. package/types/primeng-overlaybadge.d.ts +95 -64
  424. package/types/primeng-paginator.d.ts +409 -309
  425. package/types/primeng-panel.d.ts +267 -217
  426. package/types/primeng-panelmenu.d.ts +254 -228
  427. package/types/primeng-passthrough.d.ts +5 -7
  428. package/types/primeng-password.d.ts +605 -430
  429. package/types/primeng-picklist.d.ts +1042 -756
  430. package/types/primeng-popover.d.ts +235 -176
  431. package/types/primeng-progressbar.d.ts +130 -99
  432. package/types/primeng-progressspinner.d.ts +144 -108
  433. package/types/primeng-radiobutton.d.ts +218 -168
  434. package/types/primeng-rating.d.ts +239 -189
  435. package/types/primeng-ripple.d.ts +38 -42
  436. package/types/primeng-scrollarea.d.ts +275 -239
  437. package/types/primeng-scroller.d.ts +523 -387
  438. package/types/primeng-scrollpanel.d.ts +134 -128
  439. package/types/primeng-scrolltop.d.ts +169 -123
  440. package/types/primeng-select.d.ts +1054 -738
  441. package/types/primeng-selectbutton.d.ts +238 -164
  442. package/types/primeng-sidebar.d.ts +699 -535
  443. package/types/primeng-skeleton.d.ts +114 -83
  444. package/types/primeng-slider.d.ts +375 -306
  445. package/types/primeng-speeddial.d.ts +492 -370
  446. package/types/primeng-splitbutton.d.ts +381 -240
  447. package/types/primeng-splitter.d.ts +389 -299
  448. package/types/primeng-stepper.d.ts +405 -250
  449. package/types/primeng-steps.d.ts +157 -134
  450. package/types/primeng-styleclass.d.ts +163 -105
  451. package/types/primeng-table.d.ts +2826 -1912
  452. package/types/primeng-tabs.d.ts +452 -300
  453. package/types/primeng-tag.d.ts +106 -85
  454. package/types/primeng-terminal.d.ts +131 -117
  455. package/types/primeng-textarea.d.ts +145 -107
  456. package/types/primeng-tieredmenu.d.ts +572 -398
  457. package/types/primeng-timeline.d.ts +125 -109
  458. package/types/primeng-toast.d.ts +312 -247
  459. package/types/primeng-togglebutton.d.ts +254 -182
  460. package/types/primeng-toggleswitch.d.ts +188 -140
  461. package/types/primeng-toolbar.d.ts +82 -76
  462. package/types/primeng-tooltip.d.ts +334 -232
  463. package/types/primeng-tree.d.ts +762 -559
  464. package/types/primeng-treeselect.d.ts +749 -547
  465. package/types/primeng-treetable.d.ts +1752 -1314
  466. package/types/primeng-ts-helpers.d.ts +4 -6
  467. package/types/primeng-types-accordion.d.ts +58 -62
  468. package/types/primeng-types-autocomplete.d.ts +230 -233
  469. package/types/primeng-types-avatar.d.ts +25 -28
  470. package/types/primeng-types-avatargroup.d.ts +11 -14
  471. package/types/primeng-types-badge.d.ts +13 -16
  472. package/types/primeng-types-blockui.d.ts +18 -21
  473. package/types/primeng-types-breadcrumb.d.ts +65 -68
  474. package/types/primeng-types-button.d.ts +106 -109
  475. package/types/primeng-types-card.d.ts +54 -57
  476. package/types/primeng-types-carousel.d.ts +143 -146
  477. package/types/primeng-types-cascadeselect.d.ts +186 -192
  478. package/types/primeng-types-chart.d.ts +34 -39
  479. package/types/primeng-types-checkbox.d.ts +52 -55
  480. package/types/primeng-types-chip.d.ts +48 -51
  481. package/types/primeng-types-colorpicker.d.ts +59 -62
  482. package/types/primeng-types-commandmenu.d.ts +98 -101
  483. package/types/primeng-types-compare.d.ts +33 -36
  484. package/types/primeng-types-confirmdialog.d.ts +124 -127
  485. package/types/primeng-types-confirmpopup.d.ts +75 -78
  486. package/types/primeng-types-contextmenu.d.ts +100 -103
  487. package/types/primeng-types-dataview.d.ts +180 -183
  488. package/types/primeng-types-datepicker.d.ts +442 -445
  489. package/types/primeng-types-dialog.d.ts +93 -96
  490. package/types/primeng-types-divider.d.ts +14 -17
  491. package/types/primeng-types-dock.d.ts +45 -48
  492. package/types/primeng-types-drawer.d.ts +62 -65
  493. package/types/primeng-types-editor.d.ts +143 -146
  494. package/types/primeng-types-fieldset.d.ts +83 -87
  495. package/types/primeng-types-fileupload.d.ts +296 -301
  496. package/types/primeng-types-floatlabel.d.ts +12 -15
  497. package/types/primeng-types-fluid.d.ts +11 -14
  498. package/types/primeng-types-galleria.d.ts +209 -212
  499. package/types/primeng-types-gallery.d.ts +195 -198
  500. package/types/primeng-types-iconfield.d.ts +12 -15
  501. package/types/primeng-types-iftalabel.d.ts +11 -14
  502. package/types/primeng-types-image.d.ts +118 -121
  503. package/types/primeng-types-imagecompare.d.ts +22 -25
  504. package/types/primeng-types-inplace.d.ts +46 -49
  505. package/types/primeng-types-inputcolor.d.ts +86 -89
  506. package/types/primeng-types-inputgroup.d.ts +11 -14
  507. package/types/primeng-types-inputgroupaddon.d.ts +11 -14
  508. package/types/primeng-types-inputicon.d.ts +11 -14
  509. package/types/primeng-types-inputmask.d.ts +30 -33
  510. package/types/primeng-types-inputnumber.d.ts +72 -75
  511. package/types/primeng-types-inputotp.d.ts +67 -70
  512. package/types/primeng-types-inputpassword.d.ts +7 -10
  513. package/types/primeng-types-inputtags.d.ts +122 -125
  514. package/types/primeng-types-inputtext.d.ts +7 -10
  515. package/types/primeng-types-knob.d.ts +23 -26
  516. package/types/primeng-types-label.d.ts +7 -10
  517. package/types/primeng-types-listbox.d.ts +263 -267
  518. package/types/primeng-types-megamenu.d.ts +135 -138
  519. package/types/primeng-types-menu.d.ts +98 -101
  520. package/types/primeng-types-menubar.d.ts +122 -125
  521. package/types/primeng-types-message.d.ts +69 -72
  522. package/types/primeng-types-metergroup.d.ts +137 -140
  523. package/types/primeng-types-motion.d.ts +11 -14
  524. package/types/primeng-types-multiselect.d.ts +329 -333
  525. package/types/primeng-types-orderlist.d.ts +126 -129
  526. package/types/primeng-types-organizationchart.d.ts +147 -153
  527. package/types/primeng-types-overlay.d.ts +31 -34
  528. package/types/primeng-types-overlaybadge.d.ts +17 -20
  529. package/types/primeng-types-paginator.d.ts +131 -134
  530. package/types/primeng-types-panel.d.ts +91 -95
  531. package/types/primeng-types-panelmenu.d.ts +150 -153
  532. package/types/primeng-types-password.d.ts +94 -97
  533. package/types/primeng-types-picklist.d.ts +250 -260
  534. package/types/primeng-types-popover.d.ts +33 -36
  535. package/types/primeng-types-progressbar.d.ts +33 -36
  536. package/types/primeng-types-progressspinner.d.ts +27 -30
  537. package/types/primeng-types-radiobutton.d.ts +29 -32
  538. package/types/primeng-types-rating.d.ts +62 -65
  539. package/types/primeng-types-scrollarea.d.ts +35 -38
  540. package/types/primeng-types-scroller.d.ts +142 -146
  541. package/types/primeng-types-scrollpanel.d.ts +31 -34
  542. package/types/primeng-types-scrolltop.d.ts +37 -40
  543. package/types/primeng-types-select.d.ts +255 -254
  544. package/types/primeng-types-selectbutton.d.ts +56 -59
  545. package/types/primeng-types-shared.d.ts +6 -9
  546. package/types/primeng-types-sidebar.d.ts +105 -108
  547. package/types/primeng-types-skeleton.d.ts +11 -14
  548. package/types/primeng-types-slider.d.ts +59 -62
  549. package/types/primeng-types-speeddial.d.ts +71 -74
  550. package/types/primeng-types-splitbutton.d.ts +35 -38
  551. package/types/primeng-types-splitter.d.ts +58 -63
  552. package/types/primeng-types-stepper.d.ts +77 -80
  553. package/types/primeng-types-table.d.ts +743 -749
  554. package/types/primeng-types-tabs.d.ts +48 -51
  555. package/types/primeng-types-tag.d.ts +27 -30
  556. package/types/primeng-types-terminal.d.ts +43 -46
  557. package/types/primeng-types-textarea.d.ts +11 -14
  558. package/types/primeng-types-tieredmenu.d.ts +154 -157
  559. package/types/primeng-types-timeline.d.ts +60 -63
  560. package/types/primeng-types-toast.d.ts +92 -95
  561. package/types/primeng-types-togglebutton.d.ts +52 -55
  562. package/types/primeng-types-toggleswitch.d.ts +41 -44
  563. package/types/primeng-types-toolbar.d.ts +34 -37
  564. package/types/primeng-types-tooltip.d.ts +17 -20
  565. package/types/primeng-types-tree.d.ts +237 -246
  566. package/types/primeng-types-treeselect.d.ts +198 -202
  567. package/types/primeng-types-treetable.d.ts +492 -497
  568. package/types/primeng-useid.d.ts +15 -0
  569. package/types/primeng-usestyle.d.ts +107 -30
  570. package/types/primeng-utils.d.ts +79 -40
  571. package/types/primeng.d.ts +2 -2
  572. package/fesm2022/primeng-accordion.mjs.map +0 -1
  573. package/fesm2022/primeng-animateonscroll.mjs.map +0 -1
  574. package/fesm2022/primeng-api.mjs.map +0 -1
  575. package/fesm2022/primeng-autocomplete.mjs.map +0 -1
  576. package/fesm2022/primeng-autofocus.mjs.map +0 -1
  577. package/fesm2022/primeng-avatar.mjs.map +0 -1
  578. package/fesm2022/primeng-avatargroup.mjs.map +0 -1
  579. package/fesm2022/primeng-badge.mjs.map +0 -1
  580. package/fesm2022/primeng-base.mjs.map +0 -1
  581. package/fesm2022/primeng-basecomponent.mjs.map +0 -1
  582. package/fesm2022/primeng-baseeditableholder.mjs.map +0 -1
  583. package/fesm2022/primeng-baseinput.mjs.map +0 -1
  584. package/fesm2022/primeng-basemodelholder.mjs.map +0 -1
  585. package/fesm2022/primeng-bind.mjs.map +0 -1
  586. package/fesm2022/primeng-blockui.mjs.map +0 -1
  587. package/fesm2022/primeng-breadcrumb.mjs.map +0 -1
  588. package/fesm2022/primeng-button.mjs.map +0 -1
  589. package/fesm2022/primeng-buttongroup.mjs.map +0 -1
  590. package/fesm2022/primeng-card.mjs.map +0 -1
  591. package/fesm2022/primeng-carousel.mjs.map +0 -1
  592. package/fesm2022/primeng-cascadeselect.mjs.map +0 -1
  593. package/fesm2022/primeng-chart.mjs.map +0 -1
  594. package/fesm2022/primeng-checkbox.mjs.map +0 -1
  595. package/fesm2022/primeng-chip.mjs.map +0 -1
  596. package/fesm2022/primeng-classnames.mjs.map +0 -1
  597. package/fesm2022/primeng-colorpicker.mjs.map +0 -1
  598. package/fesm2022/primeng-commandmenu.mjs.map +0 -1
  599. package/fesm2022/primeng-compare.mjs.map +0 -1
  600. package/fesm2022/primeng-config.mjs.map +0 -1
  601. package/fesm2022/primeng-confirmdialog.mjs.map +0 -1
  602. package/fesm2022/primeng-confirmpopup.mjs.map +0 -1
  603. package/fesm2022/primeng-contextmenu.mjs.map +0 -1
  604. package/fesm2022/primeng-dataview.mjs.map +0 -1
  605. package/fesm2022/primeng-datepicker.mjs.map +0 -1
  606. package/fesm2022/primeng-dialog.mjs.map +0 -1
  607. package/fesm2022/primeng-divider.mjs.map +0 -1
  608. package/fesm2022/primeng-dock.mjs.map +0 -1
  609. package/fesm2022/primeng-dom.mjs.map +0 -1
  610. package/fesm2022/primeng-dragdrop.mjs.map +0 -1
  611. package/fesm2022/primeng-drawer.mjs.map +0 -1
  612. package/fesm2022/primeng-dynamicdialog.mjs.map +0 -1
  613. package/fesm2022/primeng-editor.mjs.map +0 -1
  614. package/fesm2022/primeng-fieldset.mjs.map +0 -1
  615. package/fesm2022/primeng-fileupload.mjs.map +0 -1
  616. package/fesm2022/primeng-floatlabel.mjs.map +0 -1
  617. package/fesm2022/primeng-fluid.mjs.map +0 -1
  618. package/fesm2022/primeng-focustrap.mjs.map +0 -1
  619. package/fesm2022/primeng-galleria.mjs.map +0 -1
  620. package/fesm2022/primeng-gallery.mjs.map +0 -1
  621. package/fesm2022/primeng-iconfield.mjs.map +0 -1
  622. package/fesm2022/primeng-icons-angledoubledown.mjs.map +0 -1
  623. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +0 -1
  624. package/fesm2022/primeng-icons-angledoubleright.mjs.map +0 -1
  625. package/fesm2022/primeng-icons-angledoubleup.mjs.map +0 -1
  626. package/fesm2022/primeng-icons-angledown.mjs.map +0 -1
  627. package/fesm2022/primeng-icons-angleleft.mjs.map +0 -1
  628. package/fesm2022/primeng-icons-angleright.mjs.map +0 -1
  629. package/fesm2022/primeng-icons-angleup.mjs.map +0 -1
  630. package/fesm2022/primeng-icons-arrowdown.mjs.map +0 -1
  631. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +0 -1
  632. package/fesm2022/primeng-icons-arrowdownright.mjs.map +0 -1
  633. package/fesm2022/primeng-icons-arrowleft.mjs.map +0 -1
  634. package/fesm2022/primeng-icons-arrowright.mjs.map +0 -1
  635. package/fesm2022/primeng-icons-arrowup.mjs.map +0 -1
  636. package/fesm2022/primeng-icons-ban.mjs.map +0 -1
  637. package/fesm2022/primeng-icons-bars.mjs.map +0 -1
  638. package/fesm2022/primeng-icons-baseicon.mjs.map +0 -1
  639. package/fesm2022/primeng-icons-blank.mjs.map +0 -1
  640. package/fesm2022/primeng-icons-calendar.mjs.map +0 -1
  641. package/fesm2022/primeng-icons-caretleft.mjs.map +0 -1
  642. package/fesm2022/primeng-icons-caretright.mjs.map +0 -1
  643. package/fesm2022/primeng-icons-check.mjs.map +0 -1
  644. package/fesm2022/primeng-icons-chevrondown.mjs.map +0 -1
  645. package/fesm2022/primeng-icons-chevronleft.mjs.map +0 -1
  646. package/fesm2022/primeng-icons-chevronright.mjs.map +0 -1
  647. package/fesm2022/primeng-icons-chevronup.mjs.map +0 -1
  648. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +0 -1
  649. package/fesm2022/primeng-icons-eye.mjs.map +0 -1
  650. package/fesm2022/primeng-icons-eyeslash.mjs.map +0 -1
  651. package/fesm2022/primeng-icons-filter.mjs.map +0 -1
  652. package/fesm2022/primeng-icons-filterfill.mjs.map +0 -1
  653. package/fesm2022/primeng-icons-filterslash.mjs.map +0 -1
  654. package/fesm2022/primeng-icons-home.mjs.map +0 -1
  655. package/fesm2022/primeng-icons-infocircle.mjs.map +0 -1
  656. package/fesm2022/primeng-icons-minus.mjs.map +0 -1
  657. package/fesm2022/primeng-icons-pencil.mjs.map +0 -1
  658. package/fesm2022/primeng-icons-plus.mjs.map +0 -1
  659. package/fesm2022/primeng-icons-refresh.mjs.map +0 -1
  660. package/fesm2022/primeng-icons-search.mjs.map +0 -1
  661. package/fesm2022/primeng-icons-searchminus.mjs.map +0 -1
  662. package/fesm2022/primeng-icons-searchplus.mjs.map +0 -1
  663. package/fesm2022/primeng-icons-sortalt.mjs.map +0 -1
  664. package/fesm2022/primeng-icons-sortamountdown.mjs.map +0 -1
  665. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +0 -1
  666. package/fesm2022/primeng-icons-spinner.mjs.map +0 -1
  667. package/fesm2022/primeng-icons-star.mjs.map +0 -1
  668. package/fesm2022/primeng-icons-starfill.mjs.map +0 -1
  669. package/fesm2022/primeng-icons-thlarge.mjs.map +0 -1
  670. package/fesm2022/primeng-icons-times.mjs.map +0 -1
  671. package/fesm2022/primeng-icons-timescircle.mjs.map +0 -1
  672. package/fesm2022/primeng-icons-trash.mjs.map +0 -1
  673. package/fesm2022/primeng-icons-undo.mjs.map +0 -1
  674. package/fesm2022/primeng-icons-upload.mjs.map +0 -1
  675. package/fesm2022/primeng-icons-windowmaximize.mjs.map +0 -1
  676. package/fesm2022/primeng-icons-windowminimize.mjs.map +0 -1
  677. package/fesm2022/primeng-icons.mjs.map +0 -1
  678. package/fesm2022/primeng-iftalabel.mjs.map +0 -1
  679. package/fesm2022/primeng-image.mjs.map +0 -1
  680. package/fesm2022/primeng-imagecompare.mjs.map +0 -1
  681. package/fesm2022/primeng-inplace.mjs.map +0 -1
  682. package/fesm2022/primeng-inputcolor.mjs.map +0 -1
  683. package/fesm2022/primeng-inputgroup.mjs.map +0 -1
  684. package/fesm2022/primeng-inputgroupaddon.mjs.map +0 -1
  685. package/fesm2022/primeng-inputicon.mjs.map +0 -1
  686. package/fesm2022/primeng-inputmask.mjs.map +0 -1
  687. package/fesm2022/primeng-inputnumber.mjs.map +0 -1
  688. package/fesm2022/primeng-inputotp.mjs.map +0 -1
  689. package/fesm2022/primeng-inputpassword.mjs.map +0 -1
  690. package/fesm2022/primeng-inputtags.mjs.map +0 -1
  691. package/fesm2022/primeng-inputtext.mjs.map +0 -1
  692. package/fesm2022/primeng-keyfilter.mjs.map +0 -1
  693. package/fesm2022/primeng-knob.mjs.map +0 -1
  694. package/fesm2022/primeng-label.mjs.map +0 -1
  695. package/fesm2022/primeng-license.mjs.map +0 -1
  696. package/fesm2022/primeng-listbox.mjs.map +0 -1
  697. package/fesm2022/primeng-megamenu.mjs.map +0 -1
  698. package/fesm2022/primeng-menu.mjs.map +0 -1
  699. package/fesm2022/primeng-menubar.mjs.map +0 -1
  700. package/fesm2022/primeng-message.mjs.map +0 -1
  701. package/fesm2022/primeng-metergroup.mjs.map +0 -1
  702. package/fesm2022/primeng-motion.mjs.map +0 -1
  703. package/fesm2022/primeng-multiselect.mjs.map +0 -1
  704. package/fesm2022/primeng-orderlist.mjs.map +0 -1
  705. package/fesm2022/primeng-organizationchart.mjs.map +0 -1
  706. package/fesm2022/primeng-overlay.mjs.map +0 -1
  707. package/fesm2022/primeng-overlaybadge.mjs.map +0 -1
  708. package/fesm2022/primeng-paginator.mjs.map +0 -1
  709. package/fesm2022/primeng-panel.mjs.map +0 -1
  710. package/fesm2022/primeng-panelmenu.mjs.map +0 -1
  711. package/fesm2022/primeng-passthrough.mjs.map +0 -1
  712. package/fesm2022/primeng-password.mjs.map +0 -1
  713. package/fesm2022/primeng-picklist.mjs.map +0 -1
  714. package/fesm2022/primeng-popover.mjs.map +0 -1
  715. package/fesm2022/primeng-progressbar.mjs.map +0 -1
  716. package/fesm2022/primeng-progressspinner.mjs.map +0 -1
  717. package/fesm2022/primeng-radiobutton.mjs.map +0 -1
  718. package/fesm2022/primeng-rating.mjs.map +0 -1
  719. package/fesm2022/primeng-ripple.mjs.map +0 -1
  720. package/fesm2022/primeng-scrollarea.mjs.map +0 -1
  721. package/fesm2022/primeng-scroller.mjs.map +0 -1
  722. package/fesm2022/primeng-scrollpanel.mjs.map +0 -1
  723. package/fesm2022/primeng-scrolltop.mjs.map +0 -1
  724. package/fesm2022/primeng-select.mjs.map +0 -1
  725. package/fesm2022/primeng-selectbutton.mjs.map +0 -1
  726. package/fesm2022/primeng-sidebar.mjs.map +0 -1
  727. package/fesm2022/primeng-skeleton.mjs.map +0 -1
  728. package/fesm2022/primeng-slider.mjs.map +0 -1
  729. package/fesm2022/primeng-speeddial.mjs.map +0 -1
  730. package/fesm2022/primeng-splitbutton.mjs.map +0 -1
  731. package/fesm2022/primeng-splitter.mjs.map +0 -1
  732. package/fesm2022/primeng-stepper.mjs.map +0 -1
  733. package/fesm2022/primeng-steps.mjs.map +0 -1
  734. package/fesm2022/primeng-styleclass.mjs.map +0 -1
  735. package/fesm2022/primeng-table.mjs.map +0 -1
  736. package/fesm2022/primeng-tabs.mjs.map +0 -1
  737. package/fesm2022/primeng-tag.mjs.map +0 -1
  738. package/fesm2022/primeng-terminal.mjs.map +0 -1
  739. package/fesm2022/primeng-textarea.mjs.map +0 -1
  740. package/fesm2022/primeng-tieredmenu.mjs.map +0 -1
  741. package/fesm2022/primeng-timeline.mjs.map +0 -1
  742. package/fesm2022/primeng-toast.mjs.map +0 -1
  743. package/fesm2022/primeng-togglebutton.mjs.map +0 -1
  744. package/fesm2022/primeng-toggleswitch.mjs.map +0 -1
  745. package/fesm2022/primeng-toolbar.mjs.map +0 -1
  746. package/fesm2022/primeng-tooltip.mjs.map +0 -1
  747. package/fesm2022/primeng-tree.mjs.map +0 -1
  748. package/fesm2022/primeng-treeselect.mjs.map +0 -1
  749. package/fesm2022/primeng-treetable.mjs.map +0 -1
  750. package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
  751. package/fesm2022/primeng-types-accordion.mjs.map +0 -1
  752. package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
  753. package/fesm2022/primeng-types-avatar.mjs.map +0 -1
  754. package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
  755. package/fesm2022/primeng-types-badge.mjs.map +0 -1
  756. package/fesm2022/primeng-types-blockui.mjs.map +0 -1
  757. package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
  758. package/fesm2022/primeng-types-button.mjs.map +0 -1
  759. package/fesm2022/primeng-types-card.mjs.map +0 -1
  760. package/fesm2022/primeng-types-carousel.mjs.map +0 -1
  761. package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
  762. package/fesm2022/primeng-types-chart.mjs.map +0 -1
  763. package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
  764. package/fesm2022/primeng-types-chip.mjs.map +0 -1
  765. package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
  766. package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
  767. package/fesm2022/primeng-types-compare.mjs.map +0 -1
  768. package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
  769. package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
  770. package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
  771. package/fesm2022/primeng-types-dataview.mjs.map +0 -1
  772. package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
  773. package/fesm2022/primeng-types-dialog.mjs.map +0 -1
  774. package/fesm2022/primeng-types-divider.mjs.map +0 -1
  775. package/fesm2022/primeng-types-dock.mjs.map +0 -1
  776. package/fesm2022/primeng-types-drawer.mjs.map +0 -1
  777. package/fesm2022/primeng-types-editor.mjs.map +0 -1
  778. package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
  779. package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
  780. package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
  781. package/fesm2022/primeng-types-fluid.mjs.map +0 -1
  782. package/fesm2022/primeng-types-galleria.mjs.map +0 -1
  783. package/fesm2022/primeng-types-gallery.mjs.map +0 -1
  784. package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
  785. package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
  786. package/fesm2022/primeng-types-image.mjs.map +0 -1
  787. package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
  788. package/fesm2022/primeng-types-inplace.mjs.map +0 -1
  789. package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
  790. package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
  791. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
  792. package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
  793. package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
  794. package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
  795. package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
  796. package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
  797. package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
  798. package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
  799. package/fesm2022/primeng-types-knob.mjs.map +0 -1
  800. package/fesm2022/primeng-types-label.mjs.map +0 -1
  801. package/fesm2022/primeng-types-listbox.mjs.map +0 -1
  802. package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
  803. package/fesm2022/primeng-types-menu.mjs.map +0 -1
  804. package/fesm2022/primeng-types-menubar.mjs.map +0 -1
  805. package/fesm2022/primeng-types-message.mjs.map +0 -1
  806. package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
  807. package/fesm2022/primeng-types-motion.mjs.map +0 -1
  808. package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
  809. package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
  810. package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
  811. package/fesm2022/primeng-types-overlay.mjs.map +0 -1
  812. package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
  813. package/fesm2022/primeng-types-paginator.mjs.map +0 -1
  814. package/fesm2022/primeng-types-panel.mjs.map +0 -1
  815. package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
  816. package/fesm2022/primeng-types-password.mjs.map +0 -1
  817. package/fesm2022/primeng-types-picklist.mjs.map +0 -1
  818. package/fesm2022/primeng-types-popover.mjs.map +0 -1
  819. package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
  820. package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
  821. package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
  822. package/fesm2022/primeng-types-rating.mjs.map +0 -1
  823. package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
  824. package/fesm2022/primeng-types-scroller.mjs.map +0 -1
  825. package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
  826. package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
  827. package/fesm2022/primeng-types-select.mjs.map +0 -1
  828. package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
  829. package/fesm2022/primeng-types-shared.mjs.map +0 -1
  830. package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
  831. package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
  832. package/fesm2022/primeng-types-slider.mjs.map +0 -1
  833. package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
  834. package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
  835. package/fesm2022/primeng-types-splitter.mjs.map +0 -1
  836. package/fesm2022/primeng-types-stepper.mjs.map +0 -1
  837. package/fesm2022/primeng-types-table.mjs.map +0 -1
  838. package/fesm2022/primeng-types-tabs.mjs.map +0 -1
  839. package/fesm2022/primeng-types-tag.mjs.map +0 -1
  840. package/fesm2022/primeng-types-terminal.mjs.map +0 -1
  841. package/fesm2022/primeng-types-textarea.mjs.map +0 -1
  842. package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
  843. package/fesm2022/primeng-types-timeline.mjs.map +0 -1
  844. package/fesm2022/primeng-types-toast.mjs.map +0 -1
  845. package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
  846. package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
  847. package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
  848. package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
  849. package/fesm2022/primeng-types-tree.mjs.map +0 -1
  850. package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
  851. package/fesm2022/primeng-types-treetable.mjs.map +0 -1
  852. package/fesm2022/primeng-usestyle.mjs.map +0 -1
  853. package/fesm2022/primeng-utils.mjs.map +0 -1
  854. package/fesm2022/primeng.mjs.map +0 -1
@@ -1,1751 +1,2137 @@
1
- export * from 'primeng/types/carousel';
2
- import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { Injectable, InjectionToken, inject, computed, afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, input, Directive, numberAttribute, booleanAttribute, output, viewChild, contentChild, signal, effect, untracked, contentChildren, NgModule } from '@angular/core';
5
- import { Header, Footer, SharedModule } from 'primeng/api';
6
- import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
7
- import * as i1 from 'primeng/bind';
8
- import { Bind, BindModule } from 'primeng/bind';
9
- import { ButtonDirective } from 'primeng/button';
10
- import { ChevronDown } from '@primeicons/angular/chevron-down';
11
- import { ChevronLeft } from '@primeicons/angular/chevron-left';
12
- import { ChevronRight } from '@primeicons/angular/chevron-right';
13
- import { ChevronUp } from '@primeicons/angular/chevron-up';
14
- import { style } from '@primeuix/styles/carousel';
15
- import { BaseStyle } from 'primeng/base';
16
- import { uuid, setAttribute, find, getAttribute, findSingle, removeClass, addClass } from '@primeuix/utils';
17
-
1
+ import { NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, Directive, Injectable, InjectionToken, NgModule, ViewEncapsulation, afterNextRender, booleanAttribute, computed, contentChild, contentChildren, effect, inject, input, numberAttribute, output, signal, untracked, viewChild } from "@angular/core";
4
+ import { Footer, Header, SharedModule } from "primeng/api";
5
+ import { BaseComponent, PARENT_INSTANCE } from "primeng/basecomponent";
6
+ import * as i1 from "primeng/bind";
7
+ import { Bind, BindModule } from "primeng/bind";
8
+ import { ButtonDirective } from "primeng/button";
9
+ import { ChevronDown } from "@primeicons/angular/chevron-down";
10
+ import { ChevronLeft } from "@primeicons/angular/chevron-left";
11
+ import { ChevronRight } from "@primeicons/angular/chevron-right";
12
+ import { ChevronUp } from "@primeicons/angular/chevron-up";
13
+ import { style } from "@primeuix/styles/carousel";
14
+ import { BaseStyle } from "primeng/base";
15
+ import { addClass, cn, find, findSingle, getAttribute, removeClass, setAttribute } from "@primeuix/utils";
16
+ import { getShadowRoot } from "primeng/dom";
17
+ export * from "primeng/types/carousel";
18
18
  const classes = {
19
- root: ({ instance }) => [
20
- 'p-carousel p-component',
21
- {
22
- 'p-carousel-vertical': instance.isVertical(),
23
- 'p-carousel-horizontal': !instance.isVertical()
24
- }
25
- ],
26
- header: 'p-carousel-header',
27
- contentContainer: 'p-carousel-content-container',
28
- content: 'p-carousel-content',
29
- pcPrevButton: ({ instance }) => [
30
- 'p-carousel-prev-button',
31
- {
32
- 'p-disabled': instance.isBackwardNavDisabled()
33
- }
34
- ],
35
- viewport: 'p-carousel-viewport',
36
- itemList: 'p-carousel-item-list',
37
- itemClone: ({ instance, index }) => [
38
- 'p-carousel-item p-carousel-item-clone',
39
- {
40
- 'p-carousel-item-active': instance.totalShiftedItems() * -1 === instance.value()?.length,
41
- 'p-carousel-item-start': 0 === index,
42
- 'p-carousel-item-end': instance.clonedItemsForStarting().length - 1 === index
43
- }
44
- ],
45
- item: ({ instance, index }) => [
46
- 'p-carousel-item',
47
- {
48
- 'p-carousel-item-active': instance.firstIndex() <= index && instance.lastIndex() >= index,
49
- 'p-carousel-item-start': instance.firstIndex() === index,
50
- 'p-carousel-item-end': instance.lastIndex() === index
51
- }
52
- ],
53
- pcNextButton: ({ instance }) => [
54
- 'p-carousel-next-button',
55
- {
56
- 'p-disabled': instance.isForwardNavDisabled()
57
- }
58
- ],
59
- indicatorList: ({ instance }) => ['p-carousel-indicator-list', instance.indicatorsContentClass()],
60
- indicator: ({ instance, index }) => [
61
- 'p-carousel-indicator',
62
- {
63
- 'p-carousel-indicator-active': instance._page() === index
64
- }
65
- ],
66
- indicatorButton: ({ instance }) => ['p-carousel-indicator-button', instance.indicatorStyleClass()],
67
- footer: 'p-carousel-footer',
68
- // Composition mode
69
- compositionRoot: 'p-carousel p-component',
70
- compositionIndicator: ({ instance, index }) => ['p-carousel-indicator-button', { 'p-carousel-indicator-active': instance.pageState() === index }],
71
- compositionContent: ({ instance }) => ['p-carousel-content', instance.orientation() === 'vertical' ? 'p-carousel-content-vertical' : 'p-carousel-content-horizontal'],
72
- compositionItem: 'p-carousel-item',
73
- compositionPrev: ({ instance }) => [{ 'p-disabled': instance.isPrevDisabled() }],
74
- compositionNext: ({ instance }) => [{ 'p-disabled': instance.isNextDisabled() }]
19
+ root: ({ instance }) => ["p-carousel p-component", {
20
+ "p-carousel-vertical": instance.isVertical(),
21
+ "p-carousel-horizontal": !instance.isVertical()
22
+ }],
23
+ header: "p-carousel-header",
24
+ contentContainer: "p-carousel-content-container",
25
+ content: "p-carousel-content",
26
+ pcPrevButton: ({ instance }) => ["p-carousel-prev-button", { "p-disabled": instance.isBackwardNavDisabled() }],
27
+ viewport: "p-carousel-viewport",
28
+ itemList: "p-carousel-item-list",
29
+ itemClone: ({ instance, index }) => ["p-carousel-item p-carousel-item-clone", {
30
+ "p-carousel-item-active": instance.totalShiftedItems() * -1 === instance.value()?.length,
31
+ "p-carousel-item-start": 0 === index,
32
+ "p-carousel-item-end": instance.clonedItemsForStarting().length - 1 === index
33
+ }],
34
+ item: ({ instance, index }) => ["p-carousel-item", {
35
+ "p-carousel-item-active": instance.firstIndex() <= index && instance.lastIndex() >= index,
36
+ "p-carousel-item-start": instance.firstIndex() === index,
37
+ "p-carousel-item-end": instance.lastIndex() === index
38
+ }],
39
+ pcNextButton: ({ instance }) => ["p-carousel-next-button", { "p-disabled": instance.isForwardNavDisabled() }],
40
+ indicatorList: "p-carousel-indicator-list",
41
+ indicator: ({ instance, index }) => ["p-carousel-indicator", { "p-carousel-indicator-active": instance._page() === index }],
42
+ indicatorButton: "p-carousel-indicator-button",
43
+ footer: "p-carousel-footer",
44
+ compositionRoot: "p-carousel p-component",
45
+ compositionIndicator: ({ instance, index }) => ["p-carousel-indicator-button", { "p-carousel-indicator-active": instance.pageState() === index }],
46
+ compositionContent: ({ instance }) => ["p-carousel-content", instance.orientation() === "vertical" ? "p-carousel-content-vertical" : "p-carousel-content-horizontal"],
47
+ compositionItem: "p-carousel-item",
48
+ compositionPrev: ({ instance }) => [{ "p-disabled": instance.isPrevDisabled() }],
49
+ compositionNext: ({ instance }) => [{ "p-disabled": instance.isNextDisabled() }]
50
+ };
51
+ var CarouselStyle = class CarouselStyle extends BaseStyle {
52
+ name = "carousel";
53
+ style = style;
54
+ classes = classes;
55
+ static ɵfac = i0.ɵɵngDeclareFactory({
56
+ minVersion: "12.0.0",
57
+ version: "22.2.3",
58
+ ngImport: i0,
59
+ type: CarouselStyle,
60
+ deps: null,
61
+ target: i0.ɵɵFactoryTarget.Injectable
62
+ });
63
+ static ɵprov = i0.ɵɵngDeclareInjectable({
64
+ minVersion: "12.0.0",
65
+ version: "22.2.3",
66
+ ngImport: i0,
67
+ type: CarouselStyle
68
+ });
75
69
  };
76
- class CarouselStyle extends BaseStyle {
77
- name = 'carousel';
78
- style = style;
79
- classes = classes;
80
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
81
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselStyle });
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselStyle, decorators: [{
84
- type: Injectable
85
- }] });
86
- /**
87
- *
88
- * Carousel is a content slider featuring various customization options.
89
- *
90
- * [Live Demo](https://www.primeng.org/carousel/)
91
- *
92
- * @module carouselstyle
93
- *
94
- */
70
+ i0.ɵɵngDeclareClassMetadata({
71
+ minVersion: "12.0.0",
72
+ version: "22.2.3",
73
+ ngImport: i0,
74
+ type: CarouselStyle,
75
+ decorators: [{ type: Injectable }]
76
+ });
95
77
  var CarouselClasses;
96
- (function (CarouselClasses) {
97
- /**
98
- * Class name of the root element
99
- */
100
- CarouselClasses["root"] = "p-carousel";
101
- /**
102
- * Class name of the header element
103
- */
104
- CarouselClasses["header"] = "p-carousel-header";
105
- /**
106
- * Class name of the content container element
107
- */
108
- CarouselClasses["contentContainer"] = "p-carousel-content-container";
109
- /**
110
- * Class name of the content element
111
- */
112
- CarouselClasses["content"] = "p-carousel-content";
113
- /**
114
- * Class name of the previous button element
115
- */
116
- CarouselClasses["pcPrevButton"] = "p-carousel-prev-button";
117
- /**
118
- * Class name of the viewport element
119
- */
120
- CarouselClasses["viewport"] = "p-carousel-viewport";
121
- /**
122
- * Class name of the item list element
123
- */
124
- CarouselClasses["itemList"] = "p-carousel-item-list";
125
- /**
126
- * Class name of the item clone element
127
- */
128
- CarouselClasses["itemClone"] = "p-carousel-item-clone";
129
- /**
130
- * Class name of the item element
131
- */
132
- CarouselClasses["item"] = "p-carousel-item";
133
- /**
134
- * Class name of the next button element
135
- */
136
- CarouselClasses["pcNextButton"] = "p-carousel-next-button";
137
- /**
138
- * Class name of the indicator list element
139
- */
140
- CarouselClasses["indicatorList"] = "p-carousel-indicator-list";
141
- /**
142
- * Class name of the indicator element
143
- */
144
- CarouselClasses["indicator"] = "p-carousel-indicator";
145
- /**
146
- * Class name of the indicator button element
147
- */
148
- CarouselClasses["indicatorButton"] = "p-carousel-indicator-button";
149
- /**
150
- * Class name of the footer element
151
- */
152
- CarouselClasses["footer"] = "p-carousel-footer";
78
+ (function(CarouselClasses) {
79
+ CarouselClasses["root"] = "p-carousel";
80
+ CarouselClasses["header"] = "p-carousel-header";
81
+ CarouselClasses["contentContainer"] = "p-carousel-content-container";
82
+ CarouselClasses["content"] = "p-carousel-content";
83
+ CarouselClasses["pcPrevButton"] = "p-carousel-prev-button";
84
+ CarouselClasses["viewport"] = "p-carousel-viewport";
85
+ CarouselClasses["itemList"] = "p-carousel-item-list";
86
+ CarouselClasses["itemClone"] = "p-carousel-item-clone";
87
+ CarouselClasses["item"] = "p-carousel-item";
88
+ CarouselClasses["pcNextButton"] = "p-carousel-next-button";
89
+ CarouselClasses["indicatorList"] = "p-carousel-indicator-list";
90
+ CarouselClasses["indicator"] = "p-carousel-indicator";
91
+ CarouselClasses["indicatorButton"] = "p-carousel-indicator-button";
92
+ CarouselClasses["footer"] = "p-carousel-footer";
153
93
  })(CarouselClasses || (CarouselClasses = {}));
154
-
155
- const CAROUSEL_ROOT = new InjectionToken('CAROUSEL_ROOT');
156
-
157
- /**
158
- * CarouselContent is the scrollable track element that contains carousel items.
159
- * @group Components
160
- */
161
- class CarouselContent extends BaseComponent {
162
- componentName = 'CarouselContent';
163
- bindDirectiveInstance = inject(Bind, { self: true });
164
- root = inject(CAROUSEL_ROOT);
165
- isVertical = computed(() => this.root.orientation() === 'vertical', /* @ts-ignore */
166
- ...(ngDevMode ? [{ debugName: "isVertical" }] : /* istanbul ignore next */ []));
167
- flexDirection = computed(() => (this.isVertical() ? 'column' : 'row'), /* @ts-ignore */
168
- ...(ngDevMode ? [{ debugName: "flexDirection" }] : /* istanbul ignore next */ []));
169
- overflowX = computed(() => (this.isVertical() ? null : 'scroll'), /* @ts-ignore */
170
- ...(ngDevMode ? [{ debugName: "overflowX" }] : /* istanbul ignore next */ []));
171
- overflowY = computed(() => (this.isVertical() ? 'scroll' : null), /* @ts-ignore */
172
- ...(ngDevMode ? [{ debugName: "overflowY" }] : /* istanbul ignore next */ []));
173
- overscrollX = computed(() => (this.isVertical() ? null : 'contain'), /* @ts-ignore */
174
- ...(ngDevMode ? [{ debugName: "overscrollX" }] : /* istanbul ignore next */ []));
175
- overscrollY = computed(() => (this.isVertical() ? 'contain' : null), /* @ts-ignore */
176
- ...(ngDevMode ? [{ debugName: "overscrollY" }] : /* istanbul ignore next */ []));
177
- dataAutosize = computed(() => (this.root.autoSize() ? '' : null), /* @ts-ignore */
178
- ...(ngDevMode ? [{ debugName: "dataAutosize" }] : /* istanbul ignore next */ []));
179
- dataSwiping = computed(() => (this.root.swiping() ? '' : null), /* @ts-ignore */
180
- ...(ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []));
181
- dataOrientation = computed(() => this.root.orientation(), /* @ts-ignore */
182
- ...(ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []));
183
- dataAlign = computed(() => this.root.align(), /* @ts-ignore */
184
- ...(ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []));
185
- dataPage = computed(() => this.root.pageState(), /* @ts-ignore */
186
- ...(ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []));
187
- slidesPerPage = computed(() => this.root.slidesPerPage(), /* @ts-ignore */
188
- ...(ngDevMode ? [{ debugName: "slidesPerPage" }] : /* istanbul ignore next */ []));
189
- spacingItems = computed(() => this.root.spacing() + 'px', /* @ts-ignore */
190
- ...(ngDevMode ? [{ debugName: "spacingItems" }] : /* istanbul ignore next */ []));
191
- scrollSnapType = computed(() => this.root.resolveSnapType(), /* @ts-ignore */
192
- ...(ngDevMode ? [{ debugName: "scrollSnapType" }] : /* istanbul ignore next */ []));
193
- onPointerDown(e) {
194
- this.root.onContentPointerDown(e);
195
- }
196
- onPointerMove(e) {
197
- this.root.onContentPointerMove(e);
198
- }
199
- onPointerUp(e) {
200
- this.root.onContentPointerUp(e);
201
- }
202
- onWheel(e) {
203
- this.root.onContentWheel(e);
204
- }
205
- onAfterViewChecked() {
206
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
207
- }
208
- constructor() {
209
- super();
210
- afterNextRender(() => {
211
- this.root.setContentEl(this.$el);
212
- this.root.setupObservers();
213
- });
214
- }
215
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
216
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: CarouselContent, isStandalone: true, selector: "p-carousel-content", host: { listeners: { "pointerdown": "onPointerDown($event)", "pointermove": "onPointerMove($event)", "pointerup": "onPointerUp($event)", "wheel": "onWheel($event)" }, properties: { "class": "root.cx('compositionContent')", "attr.data-scope": "'carousel'", "attr.data-part": "'content'", "attr.data-orientation": "dataOrientation()", "attr.data-align": "dataAlign()", "attr.data-page": "dataPage()", "attr.data-autosize": "dataAutosize()", "attr.data-swiping": "dataSwiping()", "style.display": "'flex'", "style.flex-direction": "flexDirection()", "style.overflow-x": "overflowX()", "style.overflow-y": "overflowY()", "style.overscroll-behavior-x": "overscrollX()", "style.overscroll-behavior-y": "overscrollY()", "style.gap": "'var(--px-spacing-items)'", "style.scroll-snap-type": "'var(--px-scroll-snap-type)'", "style.scrollbar-width": "'none'", "style.position": "'relative'", "style.--px-slides-per-page": "slidesPerPage()", "style.--px-spacing-items": "spacingItems()", "style.--px-scroll-snap-type": "scrollSnapType()" } }, providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselContent }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
217
- }
218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselContent, decorators: [{
219
- type: Component,
220
- args: [{
221
- selector: 'p-carousel-content',
222
- standalone: true,
223
- imports: [BindModule],
224
- template: `<ng-content></ng-content>`,
225
- providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselContent }],
226
- changeDetection: ChangeDetectionStrategy.OnPush,
227
- encapsulation: ViewEncapsulation.None,
228
- host: {
229
- '[class]': "root.cx('compositionContent')",
230
- '[attr.data-scope]': "'carousel'",
231
- '[attr.data-part]': "'content'",
232
- '[attr.data-orientation]': 'dataOrientation()',
233
- '[attr.data-align]': 'dataAlign()',
234
- '[attr.data-page]': 'dataPage()',
235
- '[attr.data-autosize]': 'dataAutosize()',
236
- '[attr.data-swiping]': 'dataSwiping()',
237
- '[style.display]': "'flex'",
238
- '[style.flex-direction]': 'flexDirection()',
239
- '[style.overflow-x]': 'overflowX()',
240
- '[style.overflow-y]': 'overflowY()',
241
- '[style.overscroll-behavior-x]': 'overscrollX()',
242
- '[style.overscroll-behavior-y]': 'overscrollY()',
243
- '[style.gap]': "'var(--px-spacing-items)'",
244
- '[style.scroll-snap-type]': "'var(--px-scroll-snap-type)'",
245
- '[style.scrollbar-width]': "'none'",
246
- '[style.position]': "'relative'",
247
- '[style.--px-slides-per-page]': 'slidesPerPage()',
248
- '[style.--px-spacing-items]': 'spacingItems()',
249
- '[style.--px-scroll-snap-type]': 'scrollSnapType()',
250
- '(pointerdown)': 'onPointerDown($event)',
251
- '(pointermove)': 'onPointerMove($event)',
252
- '(pointerup)': 'onPointerUp($event)',
253
- '(wheel)': 'onWheel($event)'
254
- },
255
- hostDirectives: [Bind]
256
- }]
257
- }], ctorParameters: () => [] });
258
-
259
- /**
260
- * CarouselItem represents an individual item in the composition-based carousel.
261
- * @group Components
262
- */
263
- class CarouselItem extends BaseComponent {
264
- componentName = 'CarouselItem';
265
- bindDirectiveInstance = inject(Bind, { self: true });
266
- /**
267
- * The value/identifier of the carousel item.
268
- * @group Props
269
- */
270
- value = input(/* @ts-ignore */
271
- ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
272
- root = inject(CAROUSEL_ROOT);
273
- dataOrientation = computed(() => this.root.orientation(), /* @ts-ignore */
274
- ...(ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []));
275
- dataAlign = computed(() => this.root.align(), /* @ts-ignore */
276
- ...(ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []));
277
- dataPage = computed(() => this.root.pageState(), /* @ts-ignore */
278
- ...(ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []));
279
- dataSwiping = computed(() => (this.root.swiping() ? '' : null), /* @ts-ignore */
280
- ...(ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []));
281
- dataAutosize = computed(() => (this.root.autoSize() ? '' : null), /* @ts-ignore */
282
- ...(ngDevMode ? [{ debugName: "dataAutosize" }] : /* istanbul ignore next */ []));
283
- flexBasis = computed(() => (this.root.autoSize() ? 'auto' : 'calc(100% / var(--px-slides-per-page) - var(--px-spacing-items) * (var(--px-slides-per-page) - 1) / var(--px-slides-per-page))'), /* @ts-ignore */
284
- ...(ngDevMode ? [{ debugName: "flexBasis" }] : /* istanbul ignore next */ []));
285
- scrollSnapAlign = computed(() => this.root.align(), /* @ts-ignore */
286
- ...(ngDevMode ? [{ debugName: "scrollSnapAlign" }] : /* istanbul ignore next */ []));
287
- onAfterViewChecked() {
288
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
289
- }
290
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
291
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.5", type: CarouselItem, isStandalone: true, selector: "p-carousel-item", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "root.cx('compositionItem')", "attr.data-scope": "'carousel'", "attr.data-part": "'item'", "attr.data-item": "''", "attr.data-value": "value()", "attr.data-orientation": "dataOrientation()", "attr.data-align": "dataAlign()", "attr.data-page": "dataPage()", "attr.data-swiping": "dataSwiping()", "attr.data-autosize": "dataAutosize()", "style.flex-grow": "0", "style.flex-shrink": "0", "style.min-width": "0", "style.flex-basis": "flexBasis()", "style.scroll-snap-align": "scrollSnapAlign()" } }, providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselItem }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
292
- }
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselItem, decorators: [{
294
- type: Component,
295
- args: [{
296
- selector: 'p-carousel-item',
297
- standalone: true,
298
- imports: [BindModule],
299
- template: `<ng-content></ng-content>`,
300
- providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselItem }],
301
- changeDetection: ChangeDetectionStrategy.OnPush,
302
- encapsulation: ViewEncapsulation.None,
303
- host: {
304
- '[class]': "root.cx('compositionItem')",
305
- '[attr.data-scope]': "'carousel'",
306
- '[attr.data-part]': "'item'",
307
- '[attr.data-item]': "''",
308
- '[attr.data-value]': 'value()',
309
- '[attr.data-orientation]': 'dataOrientation()',
310
- '[attr.data-align]': 'dataAlign()',
311
- '[attr.data-page]': 'dataPage()',
312
- '[attr.data-swiping]': 'dataSwiping()',
313
- '[attr.data-autosize]': 'dataAutosize()',
314
- '[style.flex-grow]': '0',
315
- '[style.flex-shrink]': '0',
316
- '[style.min-width]': '0',
317
- '[style.flex-basis]': 'flexBasis()',
318
- '[style.scroll-snap-align]': 'scrollSnapAlign()'
319
- },
320
- hostDirectives: [Bind]
321
- }]
322
- }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }] } });
323
-
324
- /**
325
- * CarouselNext is a directive for the next navigation button.
326
- * @group Directives
327
- */
328
- class CarouselNext extends BaseComponent {
329
- componentName = 'CarouselNext';
330
- root = inject(CAROUSEL_ROOT);
331
- _componentStyle = inject(CarouselStyle);
332
- hostClass = computed(() => this.root.cx('compositionNext'), /* @ts-ignore */
333
- ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
334
- dataOrientation = computed(() => this.root.orientation(), /* @ts-ignore */
335
- ...(ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []));
336
- dataAlign = computed(() => this.root.align(), /* @ts-ignore */
337
- ...(ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []));
338
- dataPage = computed(() => this.root.pageState(), /* @ts-ignore */
339
- ...(ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []));
340
- dataDisabled = computed(() => this.root.isNextDisabled(), /* @ts-ignore */
341
- ...(ngDevMode ? [{ debugName: "dataDisabled" }] : /* istanbul ignore next */ []));
342
- dataSwiping = computed(() => (this.root.swiping() ? '' : null), /* @ts-ignore */
343
- ...(ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []));
344
- attrDisabled = computed(() => (this.root.isNextDisabled() ? true : null), /* @ts-ignore */
345
- ...(ngDevMode ? [{ debugName: "attrDisabled" }] : /* istanbul ignore next */ []));
346
- onClick() {
347
- this.root.next();
348
- }
349
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselNext, deps: null, target: i0.ɵɵFactoryTarget.Directive });
350
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: CarouselNext, isStandalone: true, selector: "[pCarouselNext]", host: { listeners: { "click": "onClick()" }, properties: { "class": "hostClass()", "attr.data-scope": "'carousel'", "attr.data-part": "'next'", "attr.data-orientation": "dataOrientation()", "attr.data-align": "dataAlign()", "attr.data-page": "dataPage()", "attr.data-disabled": "dataDisabled()", "attr.data-swiping": "dataSwiping()", "attr.disabled": "attrDisabled()" } }, providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselNext }], usesInheritance: true, ngImport: i0 });
351
- }
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselNext, decorators: [{
353
- type: Directive,
354
- args: [{
355
- selector: '[pCarouselNext]',
356
- standalone: true,
357
- providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselNext }],
358
- host: {
359
- '[class]': 'hostClass()',
360
- '[attr.data-scope]': "'carousel'",
361
- '[attr.data-part]': "'next'",
362
- '[attr.data-orientation]': 'dataOrientation()',
363
- '[attr.data-align]': 'dataAlign()',
364
- '[attr.data-page]': 'dataPage()',
365
- '[attr.data-disabled]': 'dataDisabled()',
366
- '[attr.data-swiping]': 'dataSwiping()',
367
- '[attr.disabled]': 'attrDisabled()',
368
- '(click)': 'onClick()'
369
- }
370
- }]
371
- }] });
372
-
373
- /**
374
- * CarouselPrev is a directive for the previous navigation button.
375
- * @group Directives
376
- */
377
- class CarouselPrev extends BaseComponent {
378
- componentName = 'CarouselPrev';
379
- root = inject(CAROUSEL_ROOT);
380
- _componentStyle = inject(CarouselStyle);
381
- hostClass = computed(() => this.root.cx('compositionPrev'), /* @ts-ignore */
382
- ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
383
- dataOrientation = computed(() => this.root.orientation(), /* @ts-ignore */
384
- ...(ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []));
385
- dataAlign = computed(() => this.root.align(), /* @ts-ignore */
386
- ...(ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []));
387
- dataPage = computed(() => this.root.pageState(), /* @ts-ignore */
388
- ...(ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []));
389
- dataDisabled = computed(() => this.root.isPrevDisabled(), /* @ts-ignore */
390
- ...(ngDevMode ? [{ debugName: "dataDisabled" }] : /* istanbul ignore next */ []));
391
- dataSwiping = computed(() => (this.root.swiping() ? '' : null), /* @ts-ignore */
392
- ...(ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []));
393
- attrDisabled = computed(() => (this.root.isPrevDisabled() ? true : null), /* @ts-ignore */
394
- ...(ngDevMode ? [{ debugName: "attrDisabled" }] : /* istanbul ignore next */ []));
395
- onClick() {
396
- this.root.prev();
397
- }
398
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselPrev, deps: null, target: i0.ɵɵFactoryTarget.Directive });
399
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: CarouselPrev, isStandalone: true, selector: "[pCarouselPrev]", host: { listeners: { "click": "onClick()" }, properties: { "class": "hostClass()", "attr.data-scope": "'carousel'", "attr.data-part": "'prev'", "attr.data-orientation": "dataOrientation()", "attr.data-align": "dataAlign()", "attr.data-page": "dataPage()", "attr.data-disabled": "dataDisabled()", "attr.data-swiping": "dataSwiping()", "attr.disabled": "attrDisabled()" } }, providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselPrev }], usesInheritance: true, ngImport: i0 });
400
- }
401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselPrev, decorators: [{
402
- type: Directive,
403
- args: [{
404
- selector: '[pCarouselPrev]',
405
- standalone: true,
406
- providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselPrev }],
407
- host: {
408
- '[class]': 'hostClass()',
409
- '[attr.data-scope]': "'carousel'",
410
- '[attr.data-part]': "'prev'",
411
- '[attr.data-orientation]': 'dataOrientation()',
412
- '[attr.data-align]': 'dataAlign()',
413
- '[attr.data-page]': 'dataPage()',
414
- '[attr.data-disabled]': 'dataDisabled()',
415
- '[attr.data-swiping]': 'dataSwiping()',
416
- '[attr.disabled]': 'attrDisabled()',
417
- '(click)': 'onClick()'
418
- }
419
- }]
420
- }] });
421
-
422
- /**
423
- * CarouselIndicator is a directive for an individual page indicator button.
424
- * @group Directives
425
- */
426
- class CarouselIndicator extends BaseComponent {
427
- componentName = 'CarouselIndicator';
428
- /**
429
- * The page index this indicator represents.
430
- * @group Props
431
- */
432
- page = input(0, { ...(ngDevMode ? { debugName: "page" } : /* istanbul ignore next */ {}), transform: numberAttribute });
433
- root = inject(CAROUSEL_ROOT);
434
- bindDirectiveInstance = inject(Bind, { self: true });
435
- _componentStyle = inject(CarouselStyle);
436
- isActive = computed(() => this.root.pageState() === this.page(), /* @ts-ignore */
437
- ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
438
- hostClass = computed(() => this.root.cx('compositionIndicator', { index: this.page() }), /* @ts-ignore */
439
- ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
440
- dataOrientation = computed(() => this.root.orientation(), /* @ts-ignore */
441
- ...(ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []));
442
- dataAlign = computed(() => this.root.align(), /* @ts-ignore */
443
- ...(ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []));
444
- dataPage = computed(() => this.root.pageState(), /* @ts-ignore */
445
- ...(ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []));
446
- dataActive = computed(() => (this.isActive() ? '' : null), /* @ts-ignore */
447
- ...(ngDevMode ? [{ debugName: "dataActive" }] : /* istanbul ignore next */ []));
448
- dataSwiping = computed(() => (this.root.swiping() ? '' : null), /* @ts-ignore */
449
- ...(ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []));
450
- onClick() {
451
- this.root.scrollToPage(this.page());
452
- }
453
- onAfterViewChecked() {
454
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
455
- }
456
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselIndicator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
457
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.5", type: CarouselIndicator, isStandalone: true, selector: "[pCarouselIndicator]", inputs: { page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class": "hostClass()", "attr.data-scope": "'carousel'", "attr.data-part": "'indicator'", "attr.data-orientation": "dataOrientation()", "attr.data-align": "dataAlign()", "attr.data-page": "dataPage()", "attr.data-active": "dataActive()", "attr.data-swiping": "dataSwiping()" } }, providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselIndicator }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
458
- }
459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselIndicator, decorators: [{
460
- type: Directive,
461
- args: [{
462
- selector: '[pCarouselIndicator]',
463
- standalone: true,
464
- providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselIndicator }],
465
- host: {
466
- '[class]': 'hostClass()',
467
- '[attr.data-scope]': "'carousel'",
468
- '[attr.data-part]': "'indicator'",
469
- '[attr.data-orientation]': 'dataOrientation()',
470
- '[attr.data-align]': 'dataAlign()',
471
- '[attr.data-page]': 'dataPage()',
472
- '[attr.data-active]': 'dataActive()',
473
- '[attr.data-swiping]': 'dataSwiping()',
474
- '(click)': 'onClick()'
475
- },
476
- hostDirectives: [Bind]
477
- }]
478
- }], propDecorators: { page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }] } });
479
-
480
- /**
481
- * CarouselIndicators renders the list of page indicators.
482
- * Auto-generates button indicators based on snap points.
483
- * @group Components
484
- */
485
- class CarouselIndicators extends BaseComponent {
486
- componentName = 'CarouselIndicators';
487
- bindDirectiveInstance = inject(Bind, { self: true });
488
- root = inject(CAROUSEL_ROOT);
489
- hostClass = computed(() => this.root.cx('indicatorList'), /* @ts-ignore */
490
- ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
491
- dataOrientation = computed(() => this.root.orientation(), /* @ts-ignore */
492
- ...(ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []));
493
- dataAlign = computed(() => this.root.align(), /* @ts-ignore */
494
- ...(ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []));
495
- dataPage = computed(() => this.root.pageState(), /* @ts-ignore */
496
- ...(ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []));
497
- dataSwiping = computed(() => (this.root.swiping() ? '' : null), /* @ts-ignore */
498
- ...(ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []));
499
- pages = computed(() => {
500
- const points = this.root.snapPoints();
501
- return Array.from(points).map((_, i) => i);
502
- }, /* @ts-ignore */
503
- ...(ngDevMode ? [{ debugName: "pages" }] : /* istanbul ignore next */ []));
504
- onAfterViewChecked() {
505
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
506
- }
507
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselIndicators, deps: null, target: i0.ɵɵFactoryTarget.Component });
508
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: CarouselIndicators, isStandalone: true, selector: "p-carousel-indicators", host: { properties: { "class": "hostClass()", "attr.data-scope": "'carousel'", "attr.data-part": "'indicators'", "attr.data-orientation": "dataOrientation()", "attr.data-align": "dataAlign()", "attr.data-page": "dataPage()", "attr.data-swiping": "dataSwiping()" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: CarouselIndicators }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
94
+ const CAROUSEL_ROOT = new InjectionToken("CAROUSEL_ROOT");
95
+ var CarouselContent = class CarouselContent extends BaseComponent {
96
+ componentName = "CarouselContent";
97
+ bindDirectiveInstance = inject(Bind, { self: true });
98
+ root = inject(CAROUSEL_ROOT);
99
+ isVertical = computed(() => this.root.orientation() === "vertical", ...ngDevMode ? [{ debugName: "isVertical" }] : /* istanbul ignore next */ []);
100
+ flexDirection = computed(() => this.isVertical() ? "column" : "row", ...ngDevMode ? [{ debugName: "flexDirection" }] : /* istanbul ignore next */ []);
101
+ overflowX = computed(() => this.isVertical() ? null : "scroll", ...ngDevMode ? [{ debugName: "overflowX" }] : /* istanbul ignore next */ []);
102
+ overflowY = computed(() => this.isVertical() ? "scroll" : null, ...ngDevMode ? [{ debugName: "overflowY" }] : /* istanbul ignore next */ []);
103
+ overscrollX = computed(() => this.isVertical() ? null : "contain", ...ngDevMode ? [{ debugName: "overscrollX" }] : /* istanbul ignore next */ []);
104
+ overscrollY = computed(() => this.isVertical() ? "contain" : null, ...ngDevMode ? [{ debugName: "overscrollY" }] : /* istanbul ignore next */ []);
105
+ dataAutosize = computed(() => this.root.autoSize() ? "" : null, ...ngDevMode ? [{ debugName: "dataAutosize" }] : /* istanbul ignore next */ []);
106
+ dataSwiping = computed(() => this.root.swiping() ? "" : null, ...ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []);
107
+ dataOrientation = computed(() => this.root.orientation(), ...ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []);
108
+ dataAlign = computed(() => this.root.align(), ...ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []);
109
+ dataPage = computed(() => this.root.pageState(), ...ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []);
110
+ slidesPerPage = computed(() => this.root.slidesPerPage(), ...ngDevMode ? [{ debugName: "slidesPerPage" }] : /* istanbul ignore next */ []);
111
+ spacingItems = computed(() => this.root.spacing() + "px", ...ngDevMode ? [{ debugName: "spacingItems" }] : /* istanbul ignore next */ []);
112
+ scrollSnapType = computed(() => this.root.resolveSnapType(), ...ngDevMode ? [{ debugName: "scrollSnapType" }] : /* istanbul ignore next */ []);
113
+ onPointerDown(e) {
114
+ this.root.onContentPointerDown(e);
115
+ }
116
+ onPointerMove(e) {
117
+ this.root.onContentPointerMove(e);
118
+ }
119
+ onPointerUp(e) {
120
+ this.root.onContentPointerUp(e);
121
+ }
122
+ onWheel(e) {
123
+ this.root.onContentWheel(e);
124
+ }
125
+ onAfterViewChecked() {
126
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
127
+ }
128
+ constructor() {
129
+ super();
130
+ afterNextRender(() => {
131
+ this.root.setContentEl(this.$el);
132
+ this.root.setupObservers();
133
+ });
134
+ }
135
+ static ɵfac = i0.ɵɵngDeclareFactory({
136
+ minVersion: "12.0.0",
137
+ version: "22.2.3",
138
+ ngImport: i0,
139
+ type: CarouselContent,
140
+ deps: [],
141
+ target: i0.ɵɵFactoryTarget.Component
142
+ });
143
+ static ɵcmp = i0.ɵɵngDeclareComponent({
144
+ minVersion: "14.0.0",
145
+ version: "22.2.3",
146
+ type: CarouselContent,
147
+ isStandalone: true,
148
+ selector: "p-carousel-content",
149
+ host: {
150
+ listeners: {
151
+ "pointerdown": "onPointerDown($event)",
152
+ "pointermove": "onPointerMove($event)",
153
+ "pointerup": "onPointerUp($event)",
154
+ "wheel": "onWheel($event)"
155
+ },
156
+ properties: {
157
+ "class": "root.cx('compositionContent')",
158
+ "attr.data-scope": "'carousel'",
159
+ "attr.data-part": "'content'",
160
+ "attr.data-orientation": "dataOrientation()",
161
+ "attr.data-align": "dataAlign()",
162
+ "attr.data-page": "dataPage()",
163
+ "attr.data-autosize": "dataAutosize()",
164
+ "attr.data-swiping": "dataSwiping()",
165
+ "style.display": "'flex'",
166
+ "style.flex-direction": "flexDirection()",
167
+ "style.overflow-x": "overflowX()",
168
+ "style.overflow-y": "overflowY()",
169
+ "style.overscroll-behavior-x": "overscrollX()",
170
+ "style.overscroll-behavior-y": "overscrollY()",
171
+ "style.gap": "'var(--px-spacing-items)'",
172
+ "style.scroll-snap-type": "'var(--px-scroll-snap-type)'",
173
+ "style.scrollbar-width": "'none'",
174
+ "style.position": "'relative'",
175
+ "style.--px-slides-per-page": "slidesPerPage()",
176
+ "style.--px-spacing-items": "spacingItems()",
177
+ "style.--px-scroll-snap-type": "scrollSnapType()"
178
+ }
179
+ },
180
+ providers: [CarouselStyle, {
181
+ provide: PARENT_INSTANCE,
182
+ useExisting: CarouselContent
183
+ }],
184
+ usesInheritance: true,
185
+ hostDirectives: [{ directive: i1.Bind }],
186
+ ngImport: i0,
187
+ template: `<ng-content></ng-content>`,
188
+ isInline: true,
189
+ dependencies: [{
190
+ kind: "ngmodule",
191
+ type: BindModule
192
+ }],
193
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
194
+ encapsulation: i0.ViewEncapsulation.None
195
+ });
196
+ };
197
+ i0.ɵɵngDeclareClassMetadata({
198
+ minVersion: "12.0.0",
199
+ version: "22.2.3",
200
+ ngImport: i0,
201
+ type: CarouselContent,
202
+ decorators: [{
203
+ type: Component,
204
+ args: [{
205
+ selector: "p-carousel-content",
206
+ standalone: true,
207
+ imports: [BindModule],
208
+ template: `<ng-content></ng-content>`,
209
+ providers: [CarouselStyle, {
210
+ provide: PARENT_INSTANCE,
211
+ useExisting: CarouselContent
212
+ }],
213
+ changeDetection: ChangeDetectionStrategy.OnPush,
214
+ encapsulation: ViewEncapsulation.None,
215
+ host: {
216
+ "[class]": "root.cx('compositionContent')",
217
+ "[attr.data-scope]": "'carousel'",
218
+ "[attr.data-part]": "'content'",
219
+ "[attr.data-orientation]": "dataOrientation()",
220
+ "[attr.data-align]": "dataAlign()",
221
+ "[attr.data-page]": "dataPage()",
222
+ "[attr.data-autosize]": "dataAutosize()",
223
+ "[attr.data-swiping]": "dataSwiping()",
224
+ "[style.display]": "'flex'",
225
+ "[style.flex-direction]": "flexDirection()",
226
+ "[style.overflow-x]": "overflowX()",
227
+ "[style.overflow-y]": "overflowY()",
228
+ "[style.overscroll-behavior-x]": "overscrollX()",
229
+ "[style.overscroll-behavior-y]": "overscrollY()",
230
+ "[style.gap]": "'var(--px-spacing-items)'",
231
+ "[style.scroll-snap-type]": "'var(--px-scroll-snap-type)'",
232
+ "[style.scrollbar-width]": "'none'",
233
+ "[style.position]": "'relative'",
234
+ "[style.--px-slides-per-page]": "slidesPerPage()",
235
+ "[style.--px-spacing-items]": "spacingItems()",
236
+ "[style.--px-scroll-snap-type]": "scrollSnapType()",
237
+ "(pointerdown)": "onPointerDown($event)",
238
+ "(pointermove)": "onPointerMove($event)",
239
+ "(pointerup)": "onPointerUp($event)",
240
+ "(wheel)": "onWheel($event)"
241
+ },
242
+ hostDirectives: [Bind]
243
+ }]
244
+ }],
245
+ ctorParameters: () => []
246
+ });
247
+ var CarouselItem = class CarouselItem extends BaseComponent {
248
+ componentName = "CarouselItem";
249
+ bindDirectiveInstance = inject(Bind, { self: true });
250
+ value = input(...ngDevMode ? [void 0, { debugName: "value" }] : /* istanbul ignore next */ []);
251
+ root = inject(CAROUSEL_ROOT);
252
+ dataOrientation = computed(() => this.root.orientation(), ...ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []);
253
+ dataAlign = computed(() => this.root.align(), ...ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []);
254
+ dataPage = computed(() => this.root.pageState(), ...ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []);
255
+ dataSwiping = computed(() => this.root.swiping() ? "" : null, ...ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []);
256
+ dataAutosize = computed(() => this.root.autoSize() ? "" : null, ...ngDevMode ? [{ debugName: "dataAutosize" }] : /* istanbul ignore next */ []);
257
+ flexBasis = computed(() => this.root.autoSize() ? "auto" : "calc(100% / var(--px-slides-per-page) - var(--px-spacing-items) * (var(--px-slides-per-page) - 1) / var(--px-slides-per-page))", ...ngDevMode ? [{ debugName: "flexBasis" }] : /* istanbul ignore next */ []);
258
+ scrollSnapAlign = computed(() => this.root.align(), ...ngDevMode ? [{ debugName: "scrollSnapAlign" }] : /* istanbul ignore next */ []);
259
+ onAfterViewChecked() {
260
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
261
+ }
262
+ static ɵfac = i0.ɵɵngDeclareFactory({
263
+ minVersion: "12.0.0",
264
+ version: "22.2.3",
265
+ ngImport: i0,
266
+ type: CarouselItem,
267
+ deps: null,
268
+ target: i0.ɵɵFactoryTarget.Component
269
+ });
270
+ static ɵcmp = i0.ɵɵngDeclareComponent({
271
+ minVersion: "17.1.0",
272
+ version: "22.2.3",
273
+ type: CarouselItem,
274
+ isStandalone: true,
275
+ selector: "p-carousel-item",
276
+ inputs: { value: {
277
+ classPropertyName: "value",
278
+ publicName: "value",
279
+ isSignal: true,
280
+ isRequired: false,
281
+ transformFunction: null
282
+ } },
283
+ host: { properties: {
284
+ "class": "root.cx('compositionItem')",
285
+ "attr.data-scope": "'carousel'",
286
+ "attr.data-part": "'item'",
287
+ "attr.data-item": "''",
288
+ "attr.data-value": "value()",
289
+ "attr.data-orientation": "dataOrientation()",
290
+ "attr.data-align": "dataAlign()",
291
+ "attr.data-page": "dataPage()",
292
+ "attr.data-swiping": "dataSwiping()",
293
+ "attr.data-autosize": "dataAutosize()",
294
+ "style.flex-grow": "0",
295
+ "style.flex-shrink": "0",
296
+ "style.min-width": "0",
297
+ "style.flex-basis": "flexBasis()",
298
+ "style.scroll-snap-align": "scrollSnapAlign()"
299
+ } },
300
+ providers: [CarouselStyle, {
301
+ provide: PARENT_INSTANCE,
302
+ useExisting: CarouselItem
303
+ }],
304
+ usesInheritance: true,
305
+ hostDirectives: [{ directive: i1.Bind }],
306
+ ngImport: i0,
307
+ template: `<ng-content></ng-content>`,
308
+ isInline: true,
309
+ dependencies: [{
310
+ kind: "ngmodule",
311
+ type: BindModule
312
+ }],
313
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
314
+ encapsulation: i0.ViewEncapsulation.None
315
+ });
316
+ };
317
+ i0.ɵɵngDeclareClassMetadata({
318
+ minVersion: "12.0.0",
319
+ version: "22.2.3",
320
+ ngImport: i0,
321
+ type: CarouselItem,
322
+ decorators: [{
323
+ type: Component,
324
+ args: [{
325
+ selector: "p-carousel-item",
326
+ standalone: true,
327
+ imports: [BindModule],
328
+ template: `<ng-content></ng-content>`,
329
+ providers: [CarouselStyle, {
330
+ provide: PARENT_INSTANCE,
331
+ useExisting: CarouselItem
332
+ }],
333
+ changeDetection: ChangeDetectionStrategy.OnPush,
334
+ encapsulation: ViewEncapsulation.None,
335
+ host: {
336
+ "[class]": "root.cx('compositionItem')",
337
+ "[attr.data-scope]": "'carousel'",
338
+ "[attr.data-part]": "'item'",
339
+ "[attr.data-item]": "''",
340
+ "[attr.data-value]": "value()",
341
+ "[attr.data-orientation]": "dataOrientation()",
342
+ "[attr.data-align]": "dataAlign()",
343
+ "[attr.data-page]": "dataPage()",
344
+ "[attr.data-swiping]": "dataSwiping()",
345
+ "[attr.data-autosize]": "dataAutosize()",
346
+ "[style.flex-grow]": "0",
347
+ "[style.flex-shrink]": "0",
348
+ "[style.min-width]": "0",
349
+ "[style.flex-basis]": "flexBasis()",
350
+ "[style.scroll-snap-align]": "scrollSnapAlign()"
351
+ },
352
+ hostDirectives: [Bind]
353
+ }]
354
+ }],
355
+ propDecorators: { value: [{
356
+ type: i0.Input,
357
+ args: [{
358
+ isSignal: true,
359
+ alias: "value",
360
+ required: false
361
+ }]
362
+ }] }
363
+ });
364
+ var CarouselNext = class CarouselNext extends BaseComponent {
365
+ componentName = "CarouselNext";
366
+ root = inject(CAROUSEL_ROOT);
367
+ _componentStyle = inject(CarouselStyle);
368
+ hostClass = computed(() => this.root.cx("compositionNext"), ...ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []);
369
+ dataOrientation = computed(() => this.root.orientation(), ...ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []);
370
+ dataAlign = computed(() => this.root.align(), ...ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []);
371
+ dataPage = computed(() => this.root.pageState(), ...ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []);
372
+ dataDisabled = computed(() => this.root.isNextDisabled(), ...ngDevMode ? [{ debugName: "dataDisabled" }] : /* istanbul ignore next */ []);
373
+ dataSwiping = computed(() => this.root.swiping() ? "" : null, ...ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []);
374
+ attrDisabled = computed(() => this.root.isNextDisabled() ? true : null, ...ngDevMode ? [{ debugName: "attrDisabled" }] : /* istanbul ignore next */ []);
375
+ onClick() {
376
+ this.root.next();
377
+ }
378
+ static ɵfac = i0.ɵɵngDeclareFactory({
379
+ minVersion: "12.0.0",
380
+ version: "22.2.3",
381
+ ngImport: i0,
382
+ type: CarouselNext,
383
+ deps: null,
384
+ target: i0.ɵɵFactoryTarget.Directive
385
+ });
386
+ static ɵdir = i0.ɵɵngDeclareDirective({
387
+ minVersion: "14.0.0",
388
+ version: "22.2.3",
389
+ type: CarouselNext,
390
+ isStandalone: true,
391
+ selector: "[pCarouselNext]",
392
+ host: {
393
+ listeners: { "click": "onClick()" },
394
+ properties: {
395
+ "class": "hostClass()",
396
+ "attr.data-scope": "'carousel'",
397
+ "attr.data-part": "'next'",
398
+ "attr.data-orientation": "dataOrientation()",
399
+ "attr.data-align": "dataAlign()",
400
+ "attr.data-page": "dataPage()",
401
+ "attr.data-disabled": "dataDisabled()",
402
+ "attr.data-swiping": "dataSwiping()",
403
+ "attr.disabled": "attrDisabled()"
404
+ }
405
+ },
406
+ providers: [CarouselStyle, {
407
+ provide: PARENT_INSTANCE,
408
+ useExisting: CarouselNext
409
+ }],
410
+ usesInheritance: true,
411
+ ngImport: i0
412
+ });
413
+ };
414
+ i0.ɵɵngDeclareClassMetadata({
415
+ minVersion: "12.0.0",
416
+ version: "22.2.3",
417
+ ngImport: i0,
418
+ type: CarouselNext,
419
+ decorators: [{
420
+ type: Directive,
421
+ args: [{
422
+ selector: "[pCarouselNext]",
423
+ standalone: true,
424
+ providers: [CarouselStyle, {
425
+ provide: PARENT_INSTANCE,
426
+ useExisting: CarouselNext
427
+ }],
428
+ host: {
429
+ "[class]": "hostClass()",
430
+ "[attr.data-scope]": "'carousel'",
431
+ "[attr.data-part]": "'next'",
432
+ "[attr.data-orientation]": "dataOrientation()",
433
+ "[attr.data-align]": "dataAlign()",
434
+ "[attr.data-page]": "dataPage()",
435
+ "[attr.data-disabled]": "dataDisabled()",
436
+ "[attr.data-swiping]": "dataSwiping()",
437
+ "[attr.disabled]": "attrDisabled()",
438
+ "(click)": "onClick()"
439
+ }
440
+ }]
441
+ }]
442
+ });
443
+ var CarouselPrev = class CarouselPrev extends BaseComponent {
444
+ componentName = "CarouselPrev";
445
+ root = inject(CAROUSEL_ROOT);
446
+ _componentStyle = inject(CarouselStyle);
447
+ hostClass = computed(() => this.root.cx("compositionPrev"), ...ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []);
448
+ dataOrientation = computed(() => this.root.orientation(), ...ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []);
449
+ dataAlign = computed(() => this.root.align(), ...ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []);
450
+ dataPage = computed(() => this.root.pageState(), ...ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []);
451
+ dataDisabled = computed(() => this.root.isPrevDisabled(), ...ngDevMode ? [{ debugName: "dataDisabled" }] : /* istanbul ignore next */ []);
452
+ dataSwiping = computed(() => this.root.swiping() ? "" : null, ...ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []);
453
+ attrDisabled = computed(() => this.root.isPrevDisabled() ? true : null, ...ngDevMode ? [{ debugName: "attrDisabled" }] : /* istanbul ignore next */ []);
454
+ onClick() {
455
+ this.root.prev();
456
+ }
457
+ static ɵfac = i0.ɵɵngDeclareFactory({
458
+ minVersion: "12.0.0",
459
+ version: "22.2.3",
460
+ ngImport: i0,
461
+ type: CarouselPrev,
462
+ deps: null,
463
+ target: i0.ɵɵFactoryTarget.Directive
464
+ });
465
+ static ɵdir = i0.ɵɵngDeclareDirective({
466
+ minVersion: "14.0.0",
467
+ version: "22.2.3",
468
+ type: CarouselPrev,
469
+ isStandalone: true,
470
+ selector: "[pCarouselPrev]",
471
+ host: {
472
+ listeners: { "click": "onClick()" },
473
+ properties: {
474
+ "class": "hostClass()",
475
+ "attr.data-scope": "'carousel'",
476
+ "attr.data-part": "'prev'",
477
+ "attr.data-orientation": "dataOrientation()",
478
+ "attr.data-align": "dataAlign()",
479
+ "attr.data-page": "dataPage()",
480
+ "attr.data-disabled": "dataDisabled()",
481
+ "attr.data-swiping": "dataSwiping()",
482
+ "attr.disabled": "attrDisabled()"
483
+ }
484
+ },
485
+ providers: [CarouselStyle, {
486
+ provide: PARENT_INSTANCE,
487
+ useExisting: CarouselPrev
488
+ }],
489
+ usesInheritance: true,
490
+ ngImport: i0
491
+ });
492
+ };
493
+ i0.ɵɵngDeclareClassMetadata({
494
+ minVersion: "12.0.0",
495
+ version: "22.2.3",
496
+ ngImport: i0,
497
+ type: CarouselPrev,
498
+ decorators: [{
499
+ type: Directive,
500
+ args: [{
501
+ selector: "[pCarouselPrev]",
502
+ standalone: true,
503
+ providers: [CarouselStyle, {
504
+ provide: PARENT_INSTANCE,
505
+ useExisting: CarouselPrev
506
+ }],
507
+ host: {
508
+ "[class]": "hostClass()",
509
+ "[attr.data-scope]": "'carousel'",
510
+ "[attr.data-part]": "'prev'",
511
+ "[attr.data-orientation]": "dataOrientation()",
512
+ "[attr.data-align]": "dataAlign()",
513
+ "[attr.data-page]": "dataPage()",
514
+ "[attr.data-disabled]": "dataDisabled()",
515
+ "[attr.data-swiping]": "dataSwiping()",
516
+ "[attr.disabled]": "attrDisabled()",
517
+ "(click)": "onClick()"
518
+ }
519
+ }]
520
+ }]
521
+ });
522
+ var CarouselIndicator = class CarouselIndicator extends BaseComponent {
523
+ componentName = "CarouselIndicator";
524
+ page = input(0, {
525
+ ...ngDevMode ? { debugName: "page" } : /* istanbul ignore next */ {},
526
+ transform: numberAttribute
527
+ });
528
+ root = inject(CAROUSEL_ROOT);
529
+ bindDirectiveInstance = inject(Bind, { self: true });
530
+ _componentStyle = inject(CarouselStyle);
531
+ isActive = computed(() => this.root.pageState() === this.page(), ...ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []);
532
+ hostClass = computed(() => this.root.cx("compositionIndicator", { index: this.page() }), ...ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []);
533
+ dataOrientation = computed(() => this.root.orientation(), ...ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []);
534
+ dataAlign = computed(() => this.root.align(), ...ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []);
535
+ dataPage = computed(() => this.root.pageState(), ...ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []);
536
+ dataActive = computed(() => this.isActive() ? "" : null, ...ngDevMode ? [{ debugName: "dataActive" }] : /* istanbul ignore next */ []);
537
+ dataSwiping = computed(() => this.root.swiping() ? "" : null, ...ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []);
538
+ onClick() {
539
+ this.root.scrollToPage(this.page());
540
+ }
541
+ onAfterViewChecked() {
542
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
543
+ }
544
+ static ɵfac = i0.ɵɵngDeclareFactory({
545
+ minVersion: "12.0.0",
546
+ version: "22.2.3",
547
+ ngImport: i0,
548
+ type: CarouselIndicator,
549
+ deps: null,
550
+ target: i0.ɵɵFactoryTarget.Directive
551
+ });
552
+ static ɵdir = i0.ɵɵngDeclareDirective({
553
+ minVersion: "17.1.0",
554
+ version: "22.2.3",
555
+ type: CarouselIndicator,
556
+ isStandalone: true,
557
+ selector: "[pCarouselIndicator]",
558
+ inputs: { page: {
559
+ classPropertyName: "page",
560
+ publicName: "page",
561
+ isSignal: true,
562
+ isRequired: false,
563
+ transformFunction: null
564
+ } },
565
+ host: {
566
+ listeners: { "click": "onClick()" },
567
+ properties: {
568
+ "class": "hostClass()",
569
+ "attr.data-scope": "'carousel'",
570
+ "attr.data-part": "'indicator'",
571
+ "attr.data-orientation": "dataOrientation()",
572
+ "attr.data-align": "dataAlign()",
573
+ "attr.data-page": "dataPage()",
574
+ "attr.data-active": "dataActive()",
575
+ "attr.data-swiping": "dataSwiping()"
576
+ }
577
+ },
578
+ providers: [CarouselStyle, {
579
+ provide: PARENT_INSTANCE,
580
+ useExisting: CarouselIndicator
581
+ }],
582
+ usesInheritance: true,
583
+ hostDirectives: [{ directive: i1.Bind }],
584
+ ngImport: i0
585
+ });
586
+ };
587
+ i0.ɵɵngDeclareClassMetadata({
588
+ minVersion: "12.0.0",
589
+ version: "22.2.3",
590
+ ngImport: i0,
591
+ type: CarouselIndicator,
592
+ decorators: [{
593
+ type: Directive,
594
+ args: [{
595
+ selector: "[pCarouselIndicator]",
596
+ standalone: true,
597
+ providers: [CarouselStyle, {
598
+ provide: PARENT_INSTANCE,
599
+ useExisting: CarouselIndicator
600
+ }],
601
+ host: {
602
+ "[class]": "hostClass()",
603
+ "[attr.data-scope]": "'carousel'",
604
+ "[attr.data-part]": "'indicator'",
605
+ "[attr.data-orientation]": "dataOrientation()",
606
+ "[attr.data-align]": "dataAlign()",
607
+ "[attr.data-page]": "dataPage()",
608
+ "[attr.data-active]": "dataActive()",
609
+ "[attr.data-swiping]": "dataSwiping()",
610
+ "(click)": "onClick()"
611
+ },
612
+ hostDirectives: [Bind]
613
+ }]
614
+ }],
615
+ propDecorators: { page: [{
616
+ type: i0.Input,
617
+ args: [{
618
+ isSignal: true,
619
+ alias: "page",
620
+ required: false
621
+ }]
622
+ }] }
623
+ });
624
+ var CarouselIndicators = class CarouselIndicators extends BaseComponent {
625
+ componentName = "CarouselIndicators";
626
+ bindDirectiveInstance = inject(Bind, { self: true });
627
+ root = inject(CAROUSEL_ROOT);
628
+ hostClass = computed(() => cn(this.root.cx("indicatorList"), this.root.indicatorsContentClass()), ...ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []);
629
+ dataOrientation = computed(() => this.root.orientation(), ...ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []);
630
+ dataAlign = computed(() => this.root.align(), ...ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []);
631
+ dataPage = computed(() => this.root.pageState(), ...ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []);
632
+ dataSwiping = computed(() => this.root.swiping() ? "" : null, ...ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []);
633
+ pages = computed(() => {
634
+ const points = this.root.snapPoints();
635
+ return Array.from(points).map((_, i) => i);
636
+ }, ...ngDevMode ? [{ debugName: "pages" }] : /* istanbul ignore next */ []);
637
+ onAfterViewChecked() {
638
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
639
+ }
640
+ static ɵfac = i0.ɵɵngDeclareFactory({
641
+ minVersion: "12.0.0",
642
+ version: "22.2.3",
643
+ ngImport: i0,
644
+ type: CarouselIndicators,
645
+ deps: null,
646
+ target: i0.ɵɵFactoryTarget.Component
647
+ });
648
+ static ɵcmp = i0.ɵɵngDeclareComponent({
649
+ minVersion: "17.0.0",
650
+ version: "22.2.3",
651
+ type: CarouselIndicators,
652
+ isStandalone: true,
653
+ selector: "p-carousel-indicators",
654
+ host: { properties: {
655
+ "class": "hostClass()",
656
+ "attr.data-scope": "'carousel'",
657
+ "attr.data-part": "'indicators'",
658
+ "attr.data-orientation": "dataOrientation()",
659
+ "attr.data-align": "dataAlign()",
660
+ "attr.data-page": "dataPage()",
661
+ "attr.data-swiping": "dataSwiping()"
662
+ } },
663
+ providers: [{
664
+ provide: PARENT_INSTANCE,
665
+ useExisting: CarouselIndicators
666
+ }],
667
+ usesInheritance: true,
668
+ hostDirectives: [{ directive: i1.Bind }],
669
+ ngImport: i0,
670
+ template: `
509
671
  @for (page of pages(); track page) {
510
672
  <button type="button" pCarouselIndicator [page]="page"></button>
511
673
  }
512
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }, { kind: "directive", type: CarouselIndicator, selector: "[pCarouselIndicator]", inputs: ["page"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
513
- }
514
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselIndicators, decorators: [{
515
- type: Component,
516
- args: [{
517
- selector: 'p-carousel-indicators',
518
- standalone: true,
519
- imports: [BindModule, CarouselIndicator],
520
- template: `
674
+ `,
675
+ isInline: true,
676
+ dependencies: [{
677
+ kind: "ngmodule",
678
+ type: BindModule
679
+ }, {
680
+ kind: "directive",
681
+ type: CarouselIndicator,
682
+ selector: "[pCarouselIndicator]",
683
+ inputs: ["page"]
684
+ }],
685
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
686
+ encapsulation: i0.ViewEncapsulation.None
687
+ });
688
+ };
689
+ i0.ɵɵngDeclareClassMetadata({
690
+ minVersion: "12.0.0",
691
+ version: "22.2.3",
692
+ ngImport: i0,
693
+ type: CarouselIndicators,
694
+ decorators: [{
695
+ type: Component,
696
+ args: [{
697
+ selector: "p-carousel-indicators",
698
+ standalone: true,
699
+ imports: [BindModule, CarouselIndicator],
700
+ template: `
521
701
  @for (page of pages(); track page) {
522
702
  <button type="button" pCarouselIndicator [page]="page"></button>
523
703
  }
524
704
  `,
525
- providers: [{ provide: PARENT_INSTANCE, useExisting: CarouselIndicators }],
526
- changeDetection: ChangeDetectionStrategy.OnPush,
527
- encapsulation: ViewEncapsulation.None,
528
- host: {
529
- '[class]': 'hostClass()',
530
- '[attr.data-scope]': "'carousel'",
531
- '[attr.data-part]': "'indicators'",
532
- '[attr.data-orientation]': 'dataOrientation()',
533
- '[attr.data-align]': 'dataAlign()',
534
- '[attr.data-page]': 'dataPage()',
535
- '[attr.data-swiping]': 'dataSwiping()'
536
- },
537
- hostDirectives: [Bind]
538
- }]
539
- }] });
540
-
541
- /**
542
- * Base class containing all legacy (data-driven) carousel logic.
543
- * Extended by the Carousel component.
544
- * @deprecated Use the composition API of Carousel instead (e.g. p-carousel-content, p-carousel-item).
545
- */
546
- class CarouselLegacyBase extends BaseComponent {
547
- /**
548
- * Index of the first item.
549
- * @defaultValue 0
550
- * @group Props
551
- */
552
- page = input(0, { ...(ngDevMode ? { debugName: "page" } : /* istanbul ignore next */ {}), transform: numberAttribute });
553
- /**
554
- * Number of items per page.
555
- * @defaultValue 1
556
- * @group Props
557
- */
558
- numVisible = input(1, { ...(ngDevMode ? { debugName: "numVisible" } : /* istanbul ignore next */ {}), transform: numberAttribute });
559
- /**
560
- * Number of items to scroll.
561
- * @defaultValue 1
562
- * @group Props
563
- */
564
- numScroll = input(1, { ...(ngDevMode ? { debugName: "numScroll" } : /* istanbul ignore next */ {}), transform: numberAttribute });
565
- /**
566
- * An array of options for responsive design.
567
- * @see {CarouselResponsiveOptions}
568
- * @group Props
569
- */
570
- responsiveOptions = input(/* @ts-ignore */
571
- ...(ngDevMode ? [undefined, { debugName: "responsiveOptions" }] : /* istanbul ignore next */ []));
572
- /**
573
- * Specifies the layout of the component.
574
- * @group Props
575
- */
576
- orientation = input('horizontal', /* @ts-ignore */
577
- ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
578
- /**
579
- * Height of the viewport in vertical layout.
580
- * @group Props
581
- */
582
- verticalViewPortHeight = input('300px', /* @ts-ignore */
583
- ...(ngDevMode ? [{ debugName: "verticalViewPortHeight" }] : /* istanbul ignore next */ []));
584
- /**
585
- * Style class of main content.
586
- * @group Props
587
- */
588
- contentClass = input('', /* @ts-ignore */
589
- ...(ngDevMode ? [{ debugName: "contentClass" }] : /* istanbul ignore next */ []));
590
- /**
591
- * Style class of the indicator items.
592
- * @group Props
593
- */
594
- indicatorsContentClass = input('', /* @ts-ignore */
595
- ...(ngDevMode ? [{ debugName: "indicatorsContentClass" }] : /* istanbul ignore next */ []));
596
- /**
597
- * Inline style of the indicator items.
598
- * @group Props
599
- */
600
- indicatorsContentStyle = input(/* @ts-ignore */
601
- ...(ngDevMode ? [undefined, { debugName: "indicatorsContentStyle" }] : /* istanbul ignore next */ []));
602
- /**
603
- * Style class of the indicators.
604
- * @group Props
605
- */
606
- indicatorStyleClass = input('', /* @ts-ignore */
607
- ...(ngDevMode ? [{ debugName: "indicatorStyleClass" }] : /* istanbul ignore next */ []));
608
- /**
609
- * Style of the indicators.
610
- * @group Props
611
- */
612
- indicatorStyle = input(/* @ts-ignore */
613
- ...(ngDevMode ? [undefined, { debugName: "indicatorStyle" }] : /* istanbul ignore next */ []));
614
- /**
615
- * An array of objects to display.
616
- * @defaultValue null
617
- * @group Props
618
- */
619
- value = input(/* @ts-ignore */
620
- ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
621
- /**
622
- * Defines if scrolling would be infinite.
623
- * @group Props
624
- */
625
- circular = input(false, { ...(ngDevMode ? { debugName: "circular" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
626
- /**
627
- * Whether to display indicator container.
628
- * @group Props
629
- */
630
- showIndicators = input(true, { ...(ngDevMode ? { debugName: "showIndicators" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
631
- /**
632
- * Whether to display navigation buttons in container.
633
- * @group Props
634
- */
635
- showNavigators = input(true, { ...(ngDevMode ? { debugName: "showNavigators" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
636
- /**
637
- * Time in milliseconds to scroll items automatically.
638
- * @group Props
639
- */
640
- autoplayInterval = input(0, { ...(ngDevMode ? { debugName: "autoplayInterval" } : /* istanbul ignore next */ {}), transform: numberAttribute });
641
- /**
642
- * Configuration object forwarded to the underlying button.
643
- * @group Props
644
- */
645
- prevButtonProps = input({
646
- severity: 'secondary',
647
- variant: 'text',
648
- rounded: true
649
- }, /* @ts-ignore */
650
- ...(ngDevMode ? [{ debugName: "prevButtonProps" }] : /* istanbul ignore next */ []));
651
- /**
652
- * Configuration object forwarded to the underlying button.
653
- * @group Props
654
- */
655
- nextButtonProps = input({
656
- severity: 'secondary',
657
- variant: 'text',
658
- rounded: true
659
- }, /* @ts-ignore */
660
- ...(ngDevMode ? [{ debugName: "nextButtonProps" }] : /* istanbul ignore next */ []));
661
- /**
662
- * Callback to invoke after scroll.
663
- * @param {CarouselPageEvent} event - Custom page event.
664
- * @group Emits
665
- */
666
- onPage = output();
667
- itemsContainer = viewChild('itemsContainer', /* @ts-ignore */
668
- ...(ngDevMode ? [{ debugName: "itemsContainer" }] : /* istanbul ignore next */ []));
669
- indicatorContent = viewChild('indicatorContent', /* @ts-ignore */
670
- ...(ngDevMode ? [{ debugName: "indicatorContent" }] : /* istanbul ignore next */ []));
671
- headerFacet = contentChild(Header, { ...(ngDevMode ? { debugName: "headerFacet" } : /* istanbul ignore next */ {}), descendants: false });
672
- footerFacet = contentChild(Footer, { ...(ngDevMode ? { debugName: "footerFacet" } : /* istanbul ignore next */ {}), descendants: false });
673
- /**
674
- * Custom item template.
675
- * @group Templates
676
- */
677
- itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
678
- /**
679
- * Custom header template.
680
- * @group Templates
681
- */
682
- headerTemplate = contentChild('header', { ...(ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
683
- /**
684
- * Custom footer template.
685
- * @group Templates
686
- */
687
- footerTemplate = contentChild('footer', { ...(ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
688
- /**
689
- * Custom previous icon template.
690
- * @group Templates
691
- */
692
- previousIconTemplate = contentChild('previousicon', { ...(ngDevMode ? { debugName: "previousIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
693
- /**
694
- * Custom next icon template.
695
- * @group Templates
696
- */
697
- nextIconTemplate = contentChild('nexticon', { ...(ngDevMode ? { debugName: "nextIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
698
- _componentStyle = inject(CarouselStyle);
699
- _numVisible = 1;
700
- _numScroll = 1;
701
- _oldNumScroll = 0;
702
- prevState = {
703
- numScroll: 0,
704
- numVisible: 0,
705
- value: []
706
- };
707
- defaultNumScroll = 1;
708
- defaultNumVisible = 1;
709
- _page = signal(0, /* @ts-ignore */
710
- ...(ngDevMode ? [{ debugName: "_page" }] : /* istanbul ignore next */ []));
711
- carouselStyle = null;
712
- id;
713
- totalShiftedItems = signal(0, /* @ts-ignore */
714
- ...(ngDevMode ? [{ debugName: "totalShiftedItems" }] : /* istanbul ignore next */ []));
715
- isRemainingItemsAdded = false;
716
- animationTimeout;
717
- translateTimeout;
718
- remainingItems = 0;
719
- startPos = null;
720
- documentResizeListener = null;
721
- clonedItemsForStarting = signal([], /* @ts-ignore */
722
- ...(ngDevMode ? [{ debugName: "clonedItemsForStarting" }] : /* istanbul ignore next */ []));
723
- clonedItemsForFinishing = signal([], /* @ts-ignore */
724
- ...(ngDevMode ? [{ debugName: "clonedItemsForFinishing" }] : /* istanbul ignore next */ []));
725
- allowAutoplay = signal(false, /* @ts-ignore */
726
- ...(ngDevMode ? [{ debugName: "allowAutoplay" }] : /* istanbul ignore next */ []));
727
- interval;
728
- isCreated = false;
729
- swipeThreshold = 20;
730
- window;
731
- viewportStyle = computed(() => ({ height: this.isVertical() ? this.verticalViewPortHeight() : 'auto' }), /* @ts-ignore */
732
- ...(ngDevMode ? [{ debugName: "viewportStyle" }] : /* istanbul ignore next */ []));
733
- constructor() {
734
- super();
735
- this.window = this.document.defaultView;
736
- this.totalShiftedItems.set(this.page() * this.numScroll() * -1);
737
- // Effect for page changes
738
- effect(() => {
739
- const pageVal = this.page();
740
- untracked(() => {
741
- if (this.isCreated && pageVal !== this._page()) {
742
- if (this.autoplayInterval()) {
743
- this.stopAutoplay();
744
- }
745
- if (pageVal > this._page() && pageVal <= this.totalDots() - 1) {
746
- this.step(-1, pageVal);
747
- }
748
- else if (pageVal < this._page()) {
749
- this.step(1, pageVal);
750
- }
751
- }
752
- this._page.set(pageVal);
753
- });
754
- });
755
- // Effect for value changes
756
- effect(() => {
757
- const val = this.value();
758
- if (isPlatformBrowser(this.platformId)) {
759
- if (this.circular() && val) {
760
- this.setCloneItems();
761
- }
762
- }
763
- });
764
- // Effect for numVisible/numScroll changes
765
- effect(() => {
766
- const numVisibleVal = this.numVisible();
767
- const numScrollVal = this.numScroll();
768
- const responsiveOpts = this.responsiveOptions();
769
- untracked(() => {
770
- if (this.isCreated) {
771
- if (responsiveOpts) {
772
- this.defaultNumVisible = numVisibleVal;
773
- this.defaultNumScroll = numScrollVal;
774
- }
775
- if (this.isCircular()) {
776
- this.setCloneItems();
777
- }
778
- this.createStyle();
779
- this.calculatePosition();
780
- }
781
- this._numVisible = numVisibleVal;
782
- this._numScroll = numScrollVal;
783
- });
784
- });
785
- afterNextRender(() => this.legacyOnAfterContentChecked());
786
- }
787
- legacyOnAfterContentInit() {
788
- this.id = uuid('pn_id_');
789
- if (isPlatformBrowser(this.platformId)) {
790
- this.allowAutoplay.set(!!this.autoplayInterval());
791
- if (this.circular()) {
792
- this.setCloneItems();
793
- }
794
- if (this.responsiveOptions()) {
795
- this.defaultNumScroll = this._numScroll;
796
- this.defaultNumVisible = this._numVisible;
797
- }
798
- this.createStyle();
799
- this.calculatePosition();
800
- if (this.responsiveOptions()) {
801
- this.bindDocumentListeners();
802
- }
803
- }
804
- }
805
- legacyOnAfterContentChecked() {
806
- if (isPlatformBrowser(this.platformId)) {
807
- const isCircular = this.isCircular();
808
- let totalShiftedItems = this.totalShiftedItems();
809
- const val = this.value();
810
- if (val && this.itemsContainer() && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== val.length)) {
811
- if (this.autoplayInterval()) {
812
- this.stopAutoplay(false);
813
- }
814
- this.remainingItems = (val.length - this._numVisible) % this._numScroll;
815
- let page = this._page();
816
- if (this.totalDots() !== 0 && page >= this.totalDots()) {
817
- page = this.totalDots() - 1;
818
- this._page.set(page);
819
- this.onPage.emit({
820
- page: this._page()
821
- });
822
- }
823
- totalShiftedItems = page * this._numScroll * -1;
824
- if (isCircular) {
825
- totalShiftedItems -= this._numVisible;
826
- }
827
- if (page === this.totalDots() - 1 && this.remainingItems > 0) {
828
- totalShiftedItems += -1 * this.remainingItems + this._numScroll;
829
- this.isRemainingItemsAdded = true;
830
- }
831
- else {
832
- this.isRemainingItemsAdded = false;
833
- }
834
- if (totalShiftedItems !== this.totalShiftedItems()) {
835
- this.totalShiftedItems.set(totalShiftedItems);
836
- }
837
- this._oldNumScroll = this._numScroll;
838
- this.prevState.numScroll = this._numScroll;
839
- this.prevState.numVisible = this._numVisible;
840
- this.prevState.value = [...val];
841
- const itemsContainerEl = this.itemsContainer();
842
- if (this.totalDots() > 0 && itemsContainerEl?.nativeElement) {
843
- itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;
844
- }
845
- this.isCreated = true;
846
- if (this.autoplayInterval() && this.isAutoplay()) {
847
- this.startAutoplay();
848
- }
849
- }
850
- if (isCircular && val) {
851
- if (this._page() === 0) {
852
- totalShiftedItems = -1 * this._numVisible;
853
- }
854
- else if (totalShiftedItems === 0) {
855
- totalShiftedItems = -1 * val.length;
856
- if (this.remainingItems > 0) {
857
- this.isRemainingItemsAdded = true;
858
- }
859
- }
860
- if (totalShiftedItems !== this.totalShiftedItems()) {
861
- this.totalShiftedItems.set(totalShiftedItems);
862
- }
863
- }
864
- }
865
- }
866
- createStyle() {
867
- if (!this.carouselStyle) {
868
- const styleEl = this.renderer.createElement('style');
869
- setAttribute(styleEl, 'nonce', this.config?.csp()?.nonce);
870
- this.renderer.appendChild(this.document.head, styleEl);
871
- this.carouselStyle = styleEl;
872
- }
873
- let innerHTML = `
705
+ providers: [{
706
+ provide: PARENT_INSTANCE,
707
+ useExisting: CarouselIndicators
708
+ }],
709
+ changeDetection: ChangeDetectionStrategy.OnPush,
710
+ encapsulation: ViewEncapsulation.None,
711
+ host: {
712
+ "[class]": "hostClass()",
713
+ "[attr.data-scope]": "'carousel'",
714
+ "[attr.data-part]": "'indicators'",
715
+ "[attr.data-orientation]": "dataOrientation()",
716
+ "[attr.data-align]": "dataAlign()",
717
+ "[attr.data-page]": "dataPage()",
718
+ "[attr.data-swiping]": "dataSwiping()"
719
+ },
720
+ hostDirectives: [Bind]
721
+ }]
722
+ }]
723
+ });
724
+ var CarouselLegacyBase = class CarouselLegacyBase extends BaseComponent {
725
+ page = input(0, {
726
+ ...ngDevMode ? { debugName: "page" } : /* istanbul ignore next */ {},
727
+ transform: numberAttribute
728
+ });
729
+ numVisible = input(1, {
730
+ ...ngDevMode ? { debugName: "numVisible" } : /* istanbul ignore next */ {},
731
+ transform: numberAttribute
732
+ });
733
+ numScroll = input(1, {
734
+ ...ngDevMode ? { debugName: "numScroll" } : /* istanbul ignore next */ {},
735
+ transform: numberAttribute
736
+ });
737
+ responsiveOptions = input(...ngDevMode ? [void 0, { debugName: "responsiveOptions" }] : /* istanbul ignore next */ []);
738
+ orientation = input("horizontal", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
739
+ verticalViewPortHeight = input("300px", ...ngDevMode ? [{ debugName: "verticalViewPortHeight" }] : /* istanbul ignore next */ []);
740
+ contentClass = input("", ...ngDevMode ? [{ debugName: "contentClass" }] : /* istanbul ignore next */ []);
741
+ indicatorsContentClass = input("", ...ngDevMode ? [{ debugName: "indicatorsContentClass" }] : /* istanbul ignore next */ []);
742
+ indicatorsContentStyle = input(...ngDevMode ? [void 0, { debugName: "indicatorsContentStyle" }] : /* istanbul ignore next */ []);
743
+ indicatorStyleClass = input("", ...ngDevMode ? [{ debugName: "indicatorStyleClass" }] : /* istanbul ignore next */ []);
744
+ indicatorStyle = input(...ngDevMode ? [void 0, { debugName: "indicatorStyle" }] : /* istanbul ignore next */ []);
745
+ value = input(...ngDevMode ? [void 0, { debugName: "value" }] : /* istanbul ignore next */ []);
746
+ circular = input(false, {
747
+ ...ngDevMode ? { debugName: "circular" } : /* istanbul ignore next */ {},
748
+ transform: booleanAttribute
749
+ });
750
+ showIndicators = input(true, {
751
+ ...ngDevMode ? { debugName: "showIndicators" } : /* istanbul ignore next */ {},
752
+ transform: booleanAttribute
753
+ });
754
+ showNavigators = input(true, {
755
+ ...ngDevMode ? { debugName: "showNavigators" } : /* istanbul ignore next */ {},
756
+ transform: booleanAttribute
757
+ });
758
+ autoplayInterval = input(0, {
759
+ ...ngDevMode ? { debugName: "autoplayInterval" } : /* istanbul ignore next */ {},
760
+ transform: numberAttribute
761
+ });
762
+ prevButtonProps = input({
763
+ severity: "secondary",
764
+ variant: "text",
765
+ rounded: true
766
+ }, ...ngDevMode ? [{ debugName: "prevButtonProps" }] : /* istanbul ignore next */ []);
767
+ nextButtonProps = input({
768
+ severity: "secondary",
769
+ variant: "text",
770
+ rounded: true
771
+ }, ...ngDevMode ? [{ debugName: "nextButtonProps" }] : /* istanbul ignore next */ []);
772
+ onPage = output();
773
+ itemsContainer = viewChild("itemsContainer", ...ngDevMode ? [{ debugName: "itemsContainer" }] : /* istanbul ignore next */ []);
774
+ indicatorContent = viewChild("indicatorContent", ...ngDevMode ? [{ debugName: "indicatorContent" }] : /* istanbul ignore next */ []);
775
+ headerFacet = contentChild(Header, {
776
+ ...ngDevMode ? { debugName: "headerFacet" } : /* istanbul ignore next */ {},
777
+ descendants: false
778
+ });
779
+ footerFacet = contentChild(Footer, {
780
+ ...ngDevMode ? { debugName: "footerFacet" } : /* istanbul ignore next */ {},
781
+ descendants: false
782
+ });
783
+ itemTemplate = contentChild("item", {
784
+ ...ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {},
785
+ descendants: false
786
+ });
787
+ headerTemplate = contentChild("header", {
788
+ ...ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {},
789
+ descendants: false
790
+ });
791
+ footerTemplate = contentChild("footer", {
792
+ ...ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {},
793
+ descendants: false
794
+ });
795
+ previousIconTemplate = contentChild("previousicon", {
796
+ ...ngDevMode ? { debugName: "previousIconTemplate" } : /* istanbul ignore next */ {},
797
+ descendants: false
798
+ });
799
+ nextIconTemplate = contentChild("nexticon", {
800
+ ...ngDevMode ? { debugName: "nextIconTemplate" } : /* istanbul ignore next */ {},
801
+ descendants: false
802
+ });
803
+ _componentStyle = inject(CarouselStyle);
804
+ _numVisible = 1;
805
+ _numScroll = 1;
806
+ _oldNumScroll = 0;
807
+ prevState = {
808
+ numScroll: 0,
809
+ numVisible: 0,
810
+ value: []
811
+ };
812
+ defaultNumScroll = 1;
813
+ defaultNumVisible = 1;
814
+ _page = signal(0, ...ngDevMode ? [{ debugName: "_page" }] : /* istanbul ignore next */ []);
815
+ carouselStyle = null;
816
+ id;
817
+ totalShiftedItems = signal(0, ...ngDevMode ? [{ debugName: "totalShiftedItems" }] : /* istanbul ignore next */ []);
818
+ isRemainingItemsAdded = false;
819
+ animationTimeout;
820
+ translateTimeout;
821
+ remainingItems = 0;
822
+ startPos = null;
823
+ documentResizeListener = null;
824
+ clonedItemsForStarting = signal([], ...ngDevMode ? [{ debugName: "clonedItemsForStarting" }] : /* istanbul ignore next */ []);
825
+ clonedItemsForFinishing = signal([], ...ngDevMode ? [{ debugName: "clonedItemsForFinishing" }] : /* istanbul ignore next */ []);
826
+ allowAutoplay = signal(false, ...ngDevMode ? [{ debugName: "allowAutoplay" }] : /* istanbul ignore next */ []);
827
+ interval;
828
+ isCreated = false;
829
+ swipeThreshold = 20;
830
+ window;
831
+ viewportStyle = computed(() => ({ height: this.isVertical() ? this.verticalViewPortHeight() : "auto" }), ...ngDevMode ? [{ debugName: "viewportStyle" }] : /* istanbul ignore next */ []);
832
+ constructor() {
833
+ super();
834
+ this.window = this.document.defaultView;
835
+ this.totalShiftedItems.set(this.page() * this.numScroll() * -1);
836
+ effect(() => {
837
+ const pageVal = this.page();
838
+ untracked(() => {
839
+ if (this.isCreated && pageVal !== this._page()) {
840
+ if (this.autoplayInterval()) this.stopAutoplay();
841
+ if (pageVal > this._page() && pageVal <= this.totalDots() - 1) this.step(-1, pageVal);
842
+ else if (pageVal < this._page()) this.step(1, pageVal);
843
+ }
844
+ this._page.set(pageVal);
845
+ });
846
+ });
847
+ effect(() => {
848
+ const val = this.value();
849
+ if (isPlatformBrowser(this.platformId)) {
850
+ if (this.circular() && val) this.setCloneItems();
851
+ }
852
+ });
853
+ effect(() => {
854
+ const numVisibleVal = this.numVisible();
855
+ const numScrollVal = this.numScroll();
856
+ const responsiveOpts = this.responsiveOptions();
857
+ untracked(() => {
858
+ if (this.isCreated) {
859
+ if (responsiveOpts) {
860
+ this.defaultNumVisible = numVisibleVal;
861
+ this.defaultNumScroll = numScrollVal;
862
+ }
863
+ if (this.isCircular()) this.setCloneItems();
864
+ this.createStyle();
865
+ this.calculatePosition();
866
+ }
867
+ this._numVisible = numVisibleVal;
868
+ this._numScroll = numScrollVal;
869
+ });
870
+ });
871
+ afterNextRender(() => this.legacyOnAfterContentChecked());
872
+ }
873
+ legacyOnAfterContentInit() {
874
+ this.id = this.$useId.next("pn_id_");
875
+ if (isPlatformBrowser(this.platformId)) {
876
+ this.allowAutoplay.set(!!this.autoplayInterval());
877
+ if (this.circular()) this.setCloneItems();
878
+ if (this.responsiveOptions()) {
879
+ this.defaultNumScroll = this._numScroll;
880
+ this.defaultNumVisible = this._numVisible;
881
+ }
882
+ this.createStyle();
883
+ this.calculatePosition();
884
+ if (this.responsiveOptions()) this.bindDocumentListeners();
885
+ }
886
+ }
887
+ legacyOnAfterContentChecked() {
888
+ if (isPlatformBrowser(this.platformId)) {
889
+ const isCircular = this.isCircular();
890
+ let totalShiftedItems = this.totalShiftedItems();
891
+ const val = this.value();
892
+ if (val && this.itemsContainer() && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== val.length)) {
893
+ if (this.autoplayInterval()) this.stopAutoplay(false);
894
+ this.remainingItems = (val.length - this._numVisible) % this._numScroll;
895
+ let page = this._page();
896
+ if (this.totalDots() !== 0 && page >= this.totalDots()) {
897
+ page = this.totalDots() - 1;
898
+ this._page.set(page);
899
+ this.onPage.emit({ page: this._page() });
900
+ }
901
+ totalShiftedItems = page * this._numScroll * -1;
902
+ if (isCircular) totalShiftedItems -= this._numVisible;
903
+ if (page === this.totalDots() - 1 && this.remainingItems > 0) {
904
+ totalShiftedItems += -1 * this.remainingItems + this._numScroll;
905
+ this.isRemainingItemsAdded = true;
906
+ } else this.isRemainingItemsAdded = false;
907
+ if (totalShiftedItems !== this.totalShiftedItems()) this.totalShiftedItems.set(totalShiftedItems);
908
+ this._oldNumScroll = this._numScroll;
909
+ this.prevState.numScroll = this._numScroll;
910
+ this.prevState.numVisible = this._numVisible;
911
+ this.prevState.value = [...val];
912
+ const itemsContainerEl = this.itemsContainer();
913
+ if (this.totalDots() > 0 && itemsContainerEl?.nativeElement) itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;
914
+ this.isCreated = true;
915
+ if (this.autoplayInterval() && this.isAutoplay()) this.startAutoplay();
916
+ }
917
+ if (isCircular && val) {
918
+ if (this._page() === 0) totalShiftedItems = -1 * this._numVisible;
919
+ else if (totalShiftedItems === 0) {
920
+ totalShiftedItems = -1 * val.length;
921
+ if (this.remainingItems > 0) this.isRemainingItemsAdded = true;
922
+ }
923
+ if (totalShiftedItems !== this.totalShiftedItems()) this.totalShiftedItems.set(totalShiftedItems);
924
+ }
925
+ }
926
+ }
927
+ createStyle() {
928
+ if (!this.carouselStyle && !this.$styleScope.isolated) {
929
+ const styleEl = this.renderer.createElement("style");
930
+ setAttribute(styleEl, "nonce", this.config?.csp()?.nonce);
931
+ this.renderer.appendChild(getShadowRoot(this.el.nativeElement) ?? this.document.head, styleEl);
932
+ this.carouselStyle = styleEl;
933
+ }
934
+ let innerHTML = `
874
935
  #${this.id} .p-carousel-item {
875
936
  flex: 1 0 ${100 / this._numVisible}%
876
937
  }
877
938
  `;
878
- const responsiveOpts = this.responsiveOptions();
879
- if (responsiveOpts && !this.$unstyled()) {
880
- responsiveOpts.sort((data1, data2) => {
881
- const value1 = data1.breakpoint;
882
- const value2 = data2.breakpoint;
883
- let result = null;
884
- if (value1 == null && value2 != null)
885
- result = -1;
886
- else if (value1 != null && value2 == null)
887
- result = 1;
888
- else if (value1 == null && value2 == null)
889
- result = 0;
890
- else if (typeof value1 === 'string' && typeof value2 === 'string')
891
- result = value1.localeCompare(value2, undefined, { numeric: true });
892
- else
893
- result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
894
- return -1 * result;
895
- });
896
- for (let i = 0; i < responsiveOpts.length; i++) {
897
- let res = responsiveOpts[i];
898
- innerHTML += `
939
+ const responsiveOpts = this.responsiveOptions();
940
+ if (responsiveOpts && !this.$unstyled()) {
941
+ responsiveOpts.sort((data1, data2) => {
942
+ const value1 = data1.breakpoint;
943
+ const value2 = data2.breakpoint;
944
+ let result = null;
945
+ if (value1 == null && value2 != null) result = -1;
946
+ else if (value1 != null && value2 == null) result = 1;
947
+ else if (value1 == null && value2 == null) result = 0;
948
+ else if (typeof value1 === "string" && typeof value2 === "string") result = value1.localeCompare(value2, void 0, { numeric: true });
949
+ else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
950
+ return -1 * result;
951
+ });
952
+ for (let i = 0; i < responsiveOpts.length; i++) {
953
+ let res = responsiveOpts[i];
954
+ innerHTML += `
899
955
  @media screen and (max-width: ${res.breakpoint}) {
900
956
  #${this.id} .p-carousel-item {
901
957
  flex: 1 0 ${100 / res.numVisible}%
902
958
  }
903
959
  }
904
960
  `;
905
- }
906
- }
907
- this.carouselStyle.innerHTML = innerHTML;
908
- }
909
- calculatePosition() {
910
- const responsiveOpts = this.responsiveOptions();
911
- if (responsiveOpts) {
912
- let matchedResponsiveData = {
913
- numVisible: this.defaultNumVisible,
914
- numScroll: this.defaultNumScroll
915
- };
916
- if (typeof window !== 'undefined') {
917
- let windowWidth = window.innerWidth;
918
- for (let i = 0; i < responsiveOpts.length; i++) {
919
- let res = responsiveOpts[i];
920
- if (parseInt(res.breakpoint, 10) >= windowWidth) {
921
- matchedResponsiveData = res;
922
- }
923
- }
924
- }
925
- if (this._numScroll !== matchedResponsiveData.numScroll) {
926
- let page = this._page();
927
- page = Math.floor((page * this._numScroll) / matchedResponsiveData.numScroll);
928
- let totalShiftedItems = matchedResponsiveData.numScroll * this._page() * -1;
929
- if (this.isCircular()) {
930
- totalShiftedItems -= matchedResponsiveData.numVisible;
931
- }
932
- this.totalShiftedItems.set(totalShiftedItems);
933
- this._numScroll = matchedResponsiveData.numScroll;
934
- this._page.set(page);
935
- this.onPage.emit({
936
- page: this._page()
937
- });
938
- }
939
- if (this._numVisible !== matchedResponsiveData.numVisible) {
940
- this._numVisible = matchedResponsiveData.numVisible;
941
- this.setCloneItems();
942
- }
943
- }
944
- }
945
- setCloneItems() {
946
- const val = this.value();
947
- if (this.isCircular() && val) {
948
- this.clonedItemsForStarting.set([...val.slice(-1 * this._numVisible)]);
949
- this.clonedItemsForFinishing.set([...val.slice(0, this._numVisible)]);
950
- }
951
- else {
952
- this.clonedItemsForStarting.set([]);
953
- this.clonedItemsForFinishing.set([]);
954
- }
955
- }
956
- firstIndex() {
957
- return this.isCircular() ? -1 * (this.totalShiftedItems() + this._numVisible) : this.totalShiftedItems() * -1;
958
- }
959
- lastIndex() {
960
- return this.firstIndex() + this._numVisible - 1;
961
- }
962
- totalDots() {
963
- const val = this.value();
964
- return val?.length ? Math.ceil((val.length - this._numVisible) / this._numScroll) + 1 : 0;
965
- }
966
- totalDotsArray() {
967
- const totalDots = this.totalDots();
968
- return totalDots <= 0 ? [] : Array.from({ length: totalDots }, (_, i) => i);
969
- }
970
- isVertical() {
971
- return this.orientation() === 'vertical';
972
- }
973
- isCircular() {
974
- const val = this.value();
975
- return this.circular() && val && val.length >= this._numVisible;
976
- }
977
- isAutoplay() {
978
- return this.autoplayInterval() && this.allowAutoplay();
979
- }
980
- isForwardNavDisabled() {
981
- return this.isEmpty() || (this._page() >= this.totalDots() - 1 && !this.isCircular());
982
- }
983
- isBackwardNavDisabled() {
984
- return this.isEmpty() || (this._page() <= 0 && !this.isCircular());
985
- }
986
- isEmpty() {
987
- const val = this.value();
988
- return !val || val.length === 0;
989
- }
990
- // Template helper methods
991
- hasHeader() {
992
- return !!(this.headerFacet() || this.headerTemplate());
993
- }
994
- hasFooter() {
995
- return !!(this.footerFacet() || this.footerTemplate());
996
- }
997
- ariaLive() {
998
- return this.allowAutoplay() ? 'polite' : 'off';
999
- }
1000
- showDefaultPrevIcon() {
1001
- return !this.previousIconTemplate();
1002
- }
1003
- showPrevIconTemplate() {
1004
- return !!this.previousIconTemplate();
1005
- }
1006
- showDefaultNextIcon() {
1007
- return !this.nextIconTemplate();
1008
- }
1009
- showNextIconTemplate() {
1010
- return !!this.nextIconTemplate();
1011
- }
1012
- // Clone items (starting) helpers
1013
- isCloneStartAriaHidden() {
1014
- return !(this.totalShiftedItems() * -1 === this.value()?.length);
1015
- }
1016
- isCloneStartActive() {
1017
- return this.totalShiftedItems() * -1 === (this.value()?.length ?? 0) + this.numVisible();
1018
- }
1019
- isCloneStartEnd(index) {
1020
- const cloned = this.clonedItemsForStarting();
1021
- return cloned.length > 0 && cloned.length - 1 === index;
1022
- }
1023
- // Main items helpers
1024
- isItemActive(index) {
1025
- return this.firstIndex() <= index && this.lastIndex() >= index;
1026
- }
1027
- isItemAriaHidden(index) {
1028
- return !this.isItemActive(index);
1029
- }
1030
- isItemStart(index) {
1031
- return this.firstIndex() === index;
1032
- }
1033
- isItemEnd(index) {
1034
- return this.lastIndex() === index;
1035
- }
1036
- // Indicator helpers
1037
- isIndicatorActive(index) {
1038
- return this._page() === index;
1039
- }
1040
- getIndicatorAriaCurrent(index) {
1041
- return this._page() === index ? 'page' : undefined;
1042
- }
1043
- getIndicatorTabindex(index) {
1044
- return this._page() === index ? 0 : -1;
1045
- }
1046
- navForward(e, index) {
1047
- if (this.isCircular() || this._page() < this.totalDots() - 1) {
1048
- this.step(-1, index);
1049
- }
1050
- if (this.autoplayInterval()) {
1051
- this.stopAutoplay();
1052
- }
1053
- if (e && e.cancelable) {
1054
- e.preventDefault();
1055
- }
1056
- }
1057
- navBackward(e, index) {
1058
- if (this.isCircular() || this._page() !== 0) {
1059
- this.step(1, index);
1060
- }
1061
- if (this.autoplayInterval()) {
1062
- this.stopAutoplay();
1063
- }
1064
- if (e && e.cancelable) {
1065
- e.preventDefault();
1066
- }
1067
- }
1068
- onDotClick(e, index) {
1069
- let page = this._page();
1070
- if (this.autoplayInterval()) {
1071
- this.stopAutoplay();
1072
- }
1073
- if (index > page) {
1074
- this.navForward(e, index);
1075
- }
1076
- else if (index < page) {
1077
- this.navBackward(e, index);
1078
- }
1079
- }
1080
- onIndicatorKeydown(event) {
1081
- switch (event.code) {
1082
- case 'ArrowRight':
1083
- this.onRightKey();
1084
- break;
1085
- case 'ArrowLeft':
1086
- this.onLeftKey();
1087
- break;
1088
- }
1089
- }
1090
- onRightKey() {
1091
- const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section="indicator"]')];
1092
- const activeIndex = this.findFocusedIndicatorIndex();
1093
- this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);
1094
- }
1095
- onLeftKey() {
1096
- const activeIndex = this.findFocusedIndicatorIndex();
1097
- this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);
1098
- }
1099
- onHomeKey() {
1100
- const activeIndex = this.findFocusedIndicatorIndex();
1101
- this.changedFocusedIndicator(activeIndex, 0);
1102
- }
1103
- onEndKey() {
1104
- const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section="indicator"]')];
1105
- const activeIndex = this.findFocusedIndicatorIndex();
1106
- this.changedFocusedIndicator(activeIndex, indicators.length - 1);
1107
- }
1108
- onTabKey() {
1109
- const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section="indicator"]')];
1110
- const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-highlight') === true);
1111
- const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, '[data-pc-section="indicator"] > button[tabindex="0"]');
1112
- const activeIndex = indicators.findIndex((ind) => ind === activeIndicator?.parentElement);
1113
- if (activeIndex >= 0 && highlightedIndex >= 0) {
1114
- indicators[activeIndex].children[0].tabIndex = -1;
1115
- indicators[highlightedIndex].children[0].tabIndex = 0;
1116
- }
1117
- }
1118
- findFocusedIndicatorIndex() {
1119
- const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section="indicator"]')];
1120
- const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, '[data-pc-section="indicator"] > button[tabindex="0"]');
1121
- return indicators.findIndex((ind) => ind === activeIndicator?.parentElement);
1122
- }
1123
- changedFocusedIndicator(prevInd, nextInd) {
1124
- const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section="indicator"]')];
1125
- if (indicators[prevInd] && indicators[nextInd]) {
1126
- indicators[prevInd].children[0].tabIndex = -1;
1127
- indicators[nextInd].children[0].tabIndex = 0;
1128
- indicators[nextInd].children[0].focus();
1129
- }
1130
- }
1131
- step(dir, page) {
1132
- let totalShiftedItems = this.totalShiftedItems();
1133
- const isCircular = this.isCircular();
1134
- const val = this.value();
1135
- if (page != null) {
1136
- totalShiftedItems = this._numScroll * page * -1;
1137
- if (isCircular) {
1138
- totalShiftedItems -= this._numVisible;
1139
- }
1140
- this.isRemainingItemsAdded = false;
1141
- }
1142
- else {
1143
- totalShiftedItems += this._numScroll * dir;
1144
- if (this.isRemainingItemsAdded) {
1145
- totalShiftedItems += this.remainingItems - this._numScroll * dir;
1146
- this.isRemainingItemsAdded = false;
1147
- }
1148
- let originalShiftedItems = isCircular ? totalShiftedItems + this._numVisible : totalShiftedItems;
1149
- page = Math.abs(Math.floor(originalShiftedItems / this._numScroll));
1150
- }
1151
- if (isCircular && this._page() === this.totalDots() - 1 && dir === -1 && val) {
1152
- totalShiftedItems = -1 * (val.length + this._numVisible);
1153
- page = 0;
1154
- }
1155
- else if (isCircular && this._page() === 0 && dir === 1) {
1156
- totalShiftedItems = 0;
1157
- page = this.totalDots() - 1;
1158
- }
1159
- else if (page === this.totalDots() - 1 && this.remainingItems > 0) {
1160
- totalShiftedItems += this.remainingItems * -1 - this._numScroll * dir;
1161
- this.isRemainingItemsAdded = true;
1162
- }
1163
- const itemsContainerEl = this.itemsContainer();
1164
- if (itemsContainerEl) {
1165
- if (!this.$unstyled()) {
1166
- removeClass(itemsContainerEl.nativeElement, 'p-items-hidden');
1167
- }
1168
- itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;
1169
- itemsContainerEl.nativeElement.style.transition = 'transform 500ms ease 0s';
1170
- }
1171
- this.totalShiftedItems.set(totalShiftedItems);
1172
- this._page.set(page);
1173
- this.onPage.emit({
1174
- page: this._page()
1175
- });
1176
- }
1177
- startAutoplay() {
1178
- if (this.interval) {
1179
- clearInterval(this.interval);
1180
- }
1181
- this.interval = setInterval(() => {
1182
- if (this.totalDots() > 0) {
1183
- if (this._page() === this.totalDots() - 1) {
1184
- this.step(-1, 0);
1185
- }
1186
- else {
1187
- this.step(-1, this._page() + 1);
1188
- }
1189
- }
1190
- }, this.autoplayInterval());
1191
- this.allowAutoplay.set(true);
1192
- }
1193
- stopAutoplay(changeAllow = true) {
1194
- if (this.interval) {
1195
- clearInterval(this.interval);
1196
- this.interval = undefined;
1197
- if (changeAllow) {
1198
- this.allowAutoplay.set(false);
1199
- }
1200
- }
1201
- }
1202
- isPlaying() {
1203
- return !!this.interval;
1204
- }
1205
- onTransitionEnd() {
1206
- const itemsContainerEl = this.itemsContainer();
1207
- if (itemsContainerEl) {
1208
- if (!this.$unstyled()) {
1209
- addClass(itemsContainerEl.nativeElement, 'p-items-hidden');
1210
- }
1211
- itemsContainerEl.nativeElement.style.transition = '';
1212
- if ((this._page() === 0 || this._page() === this.totalDots() - 1) && this.isCircular()) {
1213
- itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems() * (100 / this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems() * (100 / this._numVisible)}%, 0, 0)`;
1214
- }
1215
- }
1216
- }
1217
- onTouchStart(e) {
1218
- let touchobj = e.changedTouches[0];
1219
- this.startPos = {
1220
- x: touchobj.pageX,
1221
- y: touchobj.pageY
1222
- };
1223
- }
1224
- onTouchMove(e) {
1225
- if (e.cancelable) {
1226
- e.preventDefault();
1227
- }
1228
- }
1229
- onTouchEnd(e) {
1230
- if (!this.startPos)
1231
- return;
1232
- const touchobj = e.changedTouches[0];
1233
- if (this.isVertical()) {
1234
- this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);
1235
- }
1236
- else {
1237
- this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);
1238
- }
1239
- }
1240
- changePageOnTouch(e, diff) {
1241
- if (Math.abs(diff) > this.swipeThreshold) {
1242
- if (diff < 0) {
1243
- this.navForward(e);
1244
- }
1245
- else {
1246
- this.navBackward(e);
1247
- }
1248
- }
1249
- }
1250
- ariaPrevButtonLabel() {
1251
- return this.config.translation.aria ? this.config.translation.aria?.prevPageLabel : undefined;
1252
- }
1253
- ariaSlideLabel() {
1254
- return this.config.translation.aria ? this.config.translation.aria?.slide : undefined;
1255
- }
1256
- ariaNextButtonLabel() {
1257
- return this.config.translation.aria ? this.config.translation.aria?.nextPageLabel : undefined;
1258
- }
1259
- ariaSlideNumber(value) {
1260
- return this.config.translation.aria ? this.config.translation.aria?.slideNumber?.replace(/{slideNumber}/g, String(value)) : undefined;
1261
- }
1262
- ariaPageLabel(value) {
1263
- return this.config.translation.aria ? this.config.translation.aria?.pageLabel?.replace(/{page}/g, String(value)) : undefined;
1264
- }
1265
- getIndicatorPTOptions(key, index) {
1266
- return this.ptm(key, {
1267
- context: {
1268
- highlighted: index === this._page()
1269
- }
1270
- });
1271
- }
1272
- getItemPTOptions(key, index) {
1273
- return this.ptm(key, {
1274
- context: {
1275
- index,
1276
- active: this.firstIndex() <= index && this.lastIndex() >= index,
1277
- start: this.firstIndex() === index,
1278
- end: this.lastIndex() === index
1279
- }
1280
- });
1281
- }
1282
- bindDocumentListeners() {
1283
- if (isPlatformBrowser(this.platformId)) {
1284
- if (!this.documentResizeListener) {
1285
- this.documentResizeListener = this.renderer.listen(this.window, 'resize', () => {
1286
- this.calculatePosition();
1287
- });
1288
- }
1289
- }
1290
- }
1291
- unbindDocumentListeners() {
1292
- if (isPlatformBrowser(this.platformId)) {
1293
- if (this.documentResizeListener) {
1294
- this.documentResizeListener();
1295
- this.documentResizeListener = null;
1296
- }
1297
- }
1298
- }
1299
- legacyOnDestroy() {
1300
- this.unbindDocumentListeners();
1301
- this.stopAutoplay();
1302
- if (this.carouselStyle) {
1303
- this.carouselStyle.remove();
1304
- this.carouselStyle = null;
1305
- }
1306
- }
1307
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselLegacyBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1308
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.1.5", type: CarouselLegacyBase, isStandalone: true, inputs: { page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, numVisible: { classPropertyName: "numVisible", publicName: "numVisible", isSignal: true, isRequired: false, transformFunction: null }, numScroll: { classPropertyName: "numScroll", publicName: "numScroll", isSignal: true, isRequired: false, transformFunction: null }, responsiveOptions: { classPropertyName: "responsiveOptions", publicName: "responsiveOptions", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, verticalViewPortHeight: { classPropertyName: "verticalViewPortHeight", publicName: "verticalViewPortHeight", isSignal: true, isRequired: false, transformFunction: null }, contentClass: { classPropertyName: "contentClass", publicName: "contentClass", isSignal: true, isRequired: false, transformFunction: null }, indicatorsContentClass: { classPropertyName: "indicatorsContentClass", publicName: "indicatorsContentClass", isSignal: true, isRequired: false, transformFunction: null }, indicatorsContentStyle: { classPropertyName: "indicatorsContentStyle", publicName: "indicatorsContentStyle", isSignal: true, isRequired: false, transformFunction: null }, indicatorStyleClass: { classPropertyName: "indicatorStyleClass", publicName: "indicatorStyleClass", isSignal: true, isRequired: false, transformFunction: null }, indicatorStyle: { classPropertyName: "indicatorStyle", publicName: "indicatorStyle", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, circular: { classPropertyName: "circular", publicName: "circular", isSignal: true, isRequired: false, transformFunction: null }, showIndicators: { classPropertyName: "showIndicators", publicName: "showIndicators", isSignal: true, isRequired: false, transformFunction: null }, showNavigators: { classPropertyName: "showNavigators", publicName: "showNavigators", isSignal: true, isRequired: false, transformFunction: null }, autoplayInterval: { classPropertyName: "autoplayInterval", publicName: "autoplayInterval", isSignal: true, isRequired: false, transformFunction: null }, prevButtonProps: { classPropertyName: "prevButtonProps", publicName: "prevButtonProps", isSignal: true, isRequired: false, transformFunction: null }, nextButtonProps: { classPropertyName: "nextButtonProps", publicName: "nextButtonProps", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPage: "onPage" }, queries: [{ propertyName: "headerFacet", first: true, predicate: Header, isSignal: true }, { propertyName: "footerFacet", first: true, predicate: Footer, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], isSignal: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], isSignal: true }, { propertyName: "previousIconTemplate", first: true, predicate: ["previousicon"], isSignal: true }, { propertyName: "nextIconTemplate", first: true, predicate: ["nexticon"], isSignal: true }], viewQueries: [{ propertyName: "itemsContainer", first: true, predicate: ["itemsContainer"], descendants: true, isSignal: true }, { propertyName: "indicatorContent", first: true, predicate: ["indicatorContent"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
1309
- }
1310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselLegacyBase, decorators: [{
1311
- type: Directive
1312
- }], ctorParameters: () => [], propDecorators: { page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }], numVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "numVisible", required: false }] }], numScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "numScroll", required: false }] }], responsiveOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsiveOptions", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], verticalViewPortHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalViewPortHeight", required: false }] }], contentClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentClass", required: false }] }], indicatorsContentClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "indicatorsContentClass", required: false }] }], indicatorsContentStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "indicatorsContentStyle", required: false }] }], indicatorStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "indicatorStyleClass", required: false }] }], indicatorStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "indicatorStyle", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], circular: [{ type: i0.Input, args: [{ isSignal: true, alias: "circular", required: false }] }], showIndicators: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIndicators", required: false }] }], showNavigators: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNavigators", required: false }] }], autoplayInterval: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoplayInterval", required: false }] }], prevButtonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "prevButtonProps", required: false }] }], nextButtonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextButtonProps", required: false }] }], onPage: [{ type: i0.Output, args: ["onPage"] }], itemsContainer: [{ type: i0.ViewChild, args: ['itemsContainer', { isSignal: true }] }], indicatorContent: [{ type: i0.ViewChild, args: ['indicatorContent', { isSignal: true }] }], headerFacet: [{ type: i0.ContentChild, args: [i0.forwardRef(() => Header), { ...{ descendants: false }, isSignal: true }] }], footerFacet: [{ type: i0.ContentChild, args: [i0.forwardRef(() => Footer), { ...{ descendants: false }, isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], footerTemplate: [{ type: i0.ContentChild, args: ['footer', { ...{ descendants: false }, isSignal: true }] }], previousIconTemplate: [{ type: i0.ContentChild, args: ['previousicon', { ...{ descendants: false }, isSignal: true }] }], nextIconTemplate: [{ type: i0.ContentChild, args: ['nexticon', { ...{ descendants: false }, isSignal: true }] }] } });
1313
-
1314
- /**
1315
- * Carousel is a content slider featuring various customization options.
1316
- * @group Components
1317
- */
1318
- class Carousel extends CarouselLegacyBase {
1319
- componentName = 'Carousel';
1320
- bindDirectiveInstance = inject(Bind, { self: true });
1321
- _compositionContent = contentChildren(CarouselContent, { ...(ngDevMode ? { debugName: "_compositionContent" } : /* istanbul ignore next */ {}), descendants: true });
1322
- isCompositionMode = computed(() => this._compositionContent().length > 0, /* @ts-ignore */
1323
- ...(ngDevMode ? [{ debugName: "isCompositionMode" }] : /* istanbul ignore next */ []));
1324
- hostClass = computed(() => (this.isCompositionMode() ? this.cx('compositionRoot') : this.cx('root')), /* @ts-ignore */
1325
- ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
1326
- /**
1327
- * Alignment of the carousel items (composition mode).
1328
- * @group Props
1329
- * @defaultValue 'start'
1330
- */
1331
- align = input('start', /* @ts-ignore */
1332
- ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
1333
- /**
1334
- * Alias for orientation used by composition mode host bindings.
1335
- * Delegates to the existing `orientation` input.
1336
- */
1337
- compositionOrientation = computed(() => this.orientation(), /* @ts-ignore */
1338
- ...(ngDevMode ? [{ debugName: "compositionOrientation" }] : /* istanbul ignore next */ []));
1339
- /**
1340
- * Alias for align used by composition mode host bindings.
1341
- * Delegates to the `align` input.
1342
- */
1343
- compositionAlign = computed(() => this.align(), /* @ts-ignore */
1344
- ...(ngDevMode ? [{ debugName: "compositionAlign" }] : /* istanbul ignore next */ []));
1345
- /**
1346
- * Whether the carousel should loop (composition mode).
1347
- * @group Props
1348
- * @defaultValue false
1349
- */
1350
- loop = input(false, { ...(ngDevMode ? { debugName: "loop" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1351
- /**
1352
- * Scroll snap type applied to the track (composition mode).
1353
- * @group Props
1354
- * @defaultValue 'mandatory'
1355
- */
1356
- snapType = input('mandatory', /* @ts-ignore */
1357
- ...(ngDevMode ? [{ debugName: "snapType" }] : /* istanbul ignore next */ []));
1358
- /**
1359
- * Spacing between carousel items in pixels (composition mode).
1360
- * @group Props
1361
- * @defaultValue 16
1362
- */
1363
- spacing = input(16, { ...(ngDevMode ? { debugName: "spacing" } : /* istanbul ignore next */ {}), transform: numberAttribute });
1364
- /**
1365
- * Whether the carousel should auto size items (composition mode).
1366
- * @group Props
1367
- * @defaultValue false
1368
- */
1369
- autoSize = input(false, { ...(ngDevMode ? { debugName: "autoSize" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1370
- /**
1371
- * Alias for autoSize used by composition mode host bindings.
1372
- */
1373
- compositionAutoSize = computed(() => this.autoSize(), /* @ts-ignore */
1374
- ...(ngDevMode ? [{ debugName: "compositionAutoSize" }] : /* istanbul ignore next */ []));
1375
- // Host data attributes (composition mode only)
1376
- dataScope = computed(() => (this.isCompositionMode() ? 'carousel' : null), /* @ts-ignore */
1377
- ...(ngDevMode ? [{ debugName: "dataScope" }] : /* istanbul ignore next */ []));
1378
- dataPart = computed(() => (this.isCompositionMode() ? 'root' : null), /* @ts-ignore */
1379
- ...(ngDevMode ? [{ debugName: "dataPart" }] : /* istanbul ignore next */ []));
1380
- dataOrientation = computed(() => (this.isCompositionMode() ? this.compositionOrientation() : null), /* @ts-ignore */
1381
- ...(ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []));
1382
- dataAlign = computed(() => (this.isCompositionMode() ? this.compositionAlign() : null), /* @ts-ignore */
1383
- ...(ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []));
1384
- dataPage = computed(() => (this.isCompositionMode() ? this.pageState() : null), /* @ts-ignore */
1385
- ...(ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []));
1386
- dataSwiping = computed(() => (this.isCompositionMode() && this.swiping() ? '' : null), /* @ts-ignore */
1387
- ...(ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []));
1388
- dataAutosize = computed(() => (this.isCompositionMode() && this.compositionAutoSize() ? '' : null), /* @ts-ignore */
1389
- ...(ngDevMode ? [{ debugName: "dataAutosize" }] : /* istanbul ignore next */ []));
1390
- /**
1391
- * How many slides are visible per page (composition mode). Supports fractions (e.g. 1.5).
1392
- * @group Props
1393
- * @defaultValue 1
1394
- */
1395
- slidesPerPage = input(1, { ...(ngDevMode ? { debugName: "slidesPerPage" } : /* istanbul ignore next */ {}), transform: numberAttribute });
1396
- /**
1397
- * Index of the active slide (composition mode).
1398
- * @group Props
1399
- */
1400
- slide = input(undefined, /* @ts-ignore */
1401
- ...(ngDevMode ? [{ debugName: "slide" }] : /* istanbul ignore next */ []));
1402
- /**
1403
- * Callback fired when the carousel's page changes (composition mode).
1404
- * @group Emits
1405
- */
1406
- onPageChange = output();
1407
- /**
1408
- * Callback fired when the active slide changes (composition mode).
1409
- * @group Emits
1410
- */
1411
- onSlideChange = output();
1412
- // ==========================================
1413
- // Composition mode signals
1414
- // ==========================================
1415
- swiping = signal(false, /* @ts-ignore */
1416
- ...(ngDevMode ? [{ debugName: "swiping" }] : /* istanbul ignore next */ []));
1417
- isNextDisabled = signal(false, /* @ts-ignore */
1418
- ...(ngDevMode ? [{ debugName: "isNextDisabled" }] : /* istanbul ignore next */ []));
1419
- isPrevDisabled = signal(false, /* @ts-ignore */
1420
- ...(ngDevMode ? [{ debugName: "isPrevDisabled" }] : /* istanbul ignore next */ []));
1421
- snapPoints = signal(new Set(), /* @ts-ignore */
1422
- ...(ngDevMode ? [{ debugName: "snapPoints" }] : /* istanbul ignore next */ []));
1423
- pageState = signal(0, /* @ts-ignore */
1424
- ...(ngDevMode ? [{ debugName: "pageState" }] : /* istanbul ignore next */ []));
1425
- contentEl = signal(null, /* @ts-ignore */
1426
- ...(ngDevMode ? [{ debugName: "contentEl" }] : /* istanbul ignore next */ []));
1427
- _snapPointsRef = new Set();
1428
- _scrollSnapsRef = [];
1429
- _initialPageApplied = false;
1430
- _initialControlledScroll = false;
1431
- _resizeObserver = null;
1432
- _mutationObserver = null;
1433
- _intersectionObserver = null;
1434
- _scrollTimeout = null;
1435
- _wheelTimeout = null;
1436
- _scrollListener = null;
1437
- _destroyed = false;
1438
- _swipeStartPoint = { x: 0, y: 0 };
1439
- _isRealSwipe = false;
1440
- _itemSelector = '[data-item]';
1441
- _areSetsEqual(a, b) {
1442
- if (a.size !== b.size)
1443
- return false;
1444
- for (const value of a) {
1445
- if (!b.has(value))
1446
- return false;
1447
- }
1448
- return true;
1449
- }
1450
- constructor() {
1451
- super();
1452
- // Composition mode: watch slide input changes
1453
- effect(() => {
1454
- const slideVal = this.slide();
1455
- if (slideVal === undefined || slideVal === null)
1456
- return;
1457
- if (!this.isCompositionMode())
1458
- return;
1459
- untracked(() => {
1460
- if (this._snapPointsRef.size > 0) {
1461
- this.scrollToSlide(slideVal);
1462
- }
1463
- });
1464
- });
1465
- }
1466
- onAfterViewChecked() {
1467
- this.bindDirectiveInstance.setAttrs(this.ptm('root'));
1468
- }
1469
- onAfterContentInit() {
1470
- this.legacyOnAfterContentInit();
1471
- }
1472
- onAfterContentChecked() {
1473
- this.legacyOnAfterContentChecked();
1474
- }
1475
- onDestroy() {
1476
- this._destroyed = true;
1477
- this.legacyOnDestroy();
1478
- // Composition mode cleanup
1479
- this._resizeObserver?.disconnect();
1480
- this._mutationObserver?.disconnect();
1481
- this._intersectionObserver?.disconnect();
1482
- this._scrollListener?.();
1483
- if (this._scrollTimeout)
1484
- clearTimeout(this._scrollTimeout);
1485
- if (this._wheelTimeout)
1486
- clearTimeout(this._wheelTimeout);
1487
- }
1488
- resolveSnapType() {
1489
- const axis = this.orientation() === 'vertical' ? 'y' : 'x';
1490
- return `${axis} ${this.snapType()}`;
1491
- }
1492
- setupObservers() {
1493
- const content = this.contentEl();
1494
- if (!content)
1495
- return;
1496
- // ResizeObserver
1497
- this._resizeObserver = new ResizeObserver(() => {
1498
- this.computeSnapPoints();
1499
- const closest = this.setToClosest();
1500
- this.scrollToPage(closest ?? this.pageState(), true);
1501
- });
1502
- this._resizeObserver.observe(content);
1503
- this._observeResizeItems(content);
1504
- // Delay initial computation to ensure items have their data-item attributes
1505
- requestAnimationFrame(() => {
1506
- this.computeSnapPoints();
1507
- this._observeResizeItems(content);
1508
- this._observeIntersectionItems(content);
1509
- this._applyInitialPage();
1510
- this._applyControlledPage();
1511
- this._applyControlledSlide();
1512
- });
1513
- // MutationObserver
1514
- this._mutationObserver = new MutationObserver((mutations) => {
1515
- mutations.forEach(() => {
1516
- this.computeSnapPoints();
1517
- this._observeResizeItems(content);
1518
- this._observeIntersectionItems(content);
1519
- requestAnimationFrame(() => {
1520
- const closest = this.setToClosest();
1521
- this.scrollToPage(closest ?? this.pageState(), true);
1522
- });
1523
- });
1524
- });
1525
- this._mutationObserver.observe(content, { childList: true, subtree: true });
1526
- // IntersectionObserver
1527
- this._intersectionObserver = new IntersectionObserver((entries) => {
1528
- entries.forEach((entry) => {
1529
- if (entry.isIntersecting)
1530
- entry.target.setAttribute('data-inview', '');
1531
- else
1532
- entry.target.removeAttribute('data-inview');
1533
- });
1534
- }, { root: content, threshold: 0.6 });
1535
- this._observeIntersectionItems(content);
1536
- // Scroll listener
1537
- const onScroll = () => {
1538
- if (this._scrollTimeout)
1539
- clearTimeout(this._scrollTimeout);
1540
- this._scrollTimeout = setTimeout(() => {
1541
- this.setToClosest();
1542
- }, 80);
1543
- };
1544
- onScroll();
1545
- content.addEventListener('scroll', onScroll, { passive: true });
1546
- this._scrollListener = () => content.removeEventListener('scroll', onScroll);
1547
- }
1548
- _applyInitialPage() {
1549
- if (this._initialPageApplied)
1550
- return;
1551
- const slideInput = this.slide();
1552
- if (slideInput !== undefined && slideInput !== null)
1553
- return;
1554
- const size = this._snapPointsRef.size || this.snapPoints().size;
1555
- if (size === 0)
1556
- return;
1557
- this._initialPageApplied = true;
1558
- this.scrollToPage(0, true);
1559
- }
1560
- _applyControlledPage() {
1561
- const pageInput = this.page();
1562
- const slideInput = this.slide();
1563
- if (pageInput === undefined || pageInput === null)
1564
- return;
1565
- if (slideInput !== undefined && slideInput !== null)
1566
- return;
1567
- if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0)
1568
- return;
1569
- const instant = !this._initialControlledScroll;
1570
- this._initialControlledScroll = true;
1571
- this.scrollToPage(pageInput, instant);
1572
- }
1573
- _applyControlledSlide() {
1574
- const slideInput = this.slide();
1575
- if (slideInput === undefined || slideInput === null)
1576
- return;
1577
- if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0)
1578
- return;
1579
- const instant = !this._initialControlledScroll;
1580
- this._initialControlledScroll = true;
1581
- this.scrollToSlide(slideInput, instant);
1582
- }
1583
- _observeResizeItems(content) {
1584
- if (!this._resizeObserver)
1585
- return;
1586
- content.querySelectorAll(this._itemSelector).forEach((item) => this._resizeObserver.observe(item));
1587
- }
1588
- _observeIntersectionItems(content) {
1589
- if (!this._intersectionObserver)
1590
- return;
1591
- content.querySelectorAll(this._itemSelector).forEach((item) => this._intersectionObserver.observe(item));
1592
- }
1593
- computeSnapPoints() {
1594
- const content = this.contentEl();
1595
- if (!content)
1596
- return;
1597
- const isHorizontal = this.orientation() !== 'vertical';
1598
- const trackSize = isHorizontal ? content.clientWidth : content.clientHeight;
1599
- const maxOffset = Math.max(0, isHorizontal ? content.scrollWidth - trackSize : content.scrollHeight - trackSize);
1600
- const snaps = [];
1601
- const alignValue = this.align();
1602
- this._scrollSnapsRef = [];
1603
- content.querySelectorAll(this._itemSelector).forEach((item) => {
1604
- const offset = isHorizontal ? item.offsetLeft : item.offsetTop;
1605
- const size = isHorizontal ? item.clientWidth : item.clientHeight;
1606
- let snapPoint = offset;
1607
- if (alignValue === 'center') {
1608
- snapPoint = offset - (trackSize - size) / 2;
1609
- }
1610
- else if (alignValue === 'end') {
1611
- snapPoint = offset - (trackSize - size);
1612
- }
1613
- const clamped = Math.max(0, Math.min(snapPoint, maxOffset));
1614
- this._scrollSnapsRef.push(clamped);
1615
- snaps.push(clamped);
1616
- });
1617
- const newSnapPoints = new Set(snaps.map(Number));
1618
- if (this._areSetsEqual(this._snapPointsRef, newSnapPoints))
1619
- return;
1620
- this._snapPointsRef = newSnapPoints;
1621
- this.snapPoints.set(newSnapPoints);
1622
- }
1623
- setPage(page) {
1624
- // Pending requestAnimationFrame/observer callbacks can still reach this after teardown;
1625
- // bail so we don't emit on a destroyed OutputRef.
1626
- if (this._destroyed)
1627
- return;
1628
- if (!this.loop()) {
1629
- const size = this._snapPointsRef.size || this.snapPoints().size;
1630
- this.isPrevDisabled.set(page === 0);
1631
- this.isNextDisabled.set(page === size - 1);
1632
- }
1633
- this.pageState.set(page);
1634
- this.onPageChange.emit({ value: page });
1635
- this.onSlideChange.emit({ value: page });
1636
- }
1637
- setToClosest() {
1638
- const content = this.contentEl();
1639
- const points = this._snapPointsRef;
1640
- if (!content || points.size === 0)
1641
- return undefined;
1642
- const scrollPos = this.orientation() === 'horizontal' ? content.scrollLeft : content.scrollTop;
1643
- const closestSnapPoint = Array.from(points).reduce((closest, point) => (Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest), Infinity);
1644
- const index = Array.from(points).indexOf(closestSnapPoint);
1645
- this.setPage(index);
1646
- return index;
1647
- }
1648
- scrollToPage(pageNum, instant = false) {
1649
- const points = this._snapPointsRef;
1650
- if (points.size === 0)
1651
- return;
1652
- const target = pageNum ?? this.pageState();
1653
- const clampedPage = this.loop() ? (target + points.size) % points.size : Math.max(0, Math.min(target, points.size - 1));
1654
- this.setPage(clampedPage);
1655
- this.scrollTo(Array.from(points)[clampedPage], instant);
1656
- }
1657
- next() {
1658
- this.scrollToPage(this.pageState() + 1);
1659
- }
1660
- prev() {
1661
- this.scrollToPage(this.pageState() - 1);
1662
- }
1663
- scrollTo(snapPoint, instant = false) {
1664
- const content = this.contentEl();
1665
- if (!content)
1666
- return;
1667
- content.scrollTo({
1668
- [this.orientation() === 'horizontal' ? 'left' : 'top']: snapPoint,
1669
- behavior: instant ? 'instant' : 'smooth'
1670
- });
1671
- }
1672
- scrollToSlide(slideNum, instant = false) {
1673
- const points = this._snapPointsRef;
1674
- const snaps = this._scrollSnapsRef;
1675
- if (points.size === 0 || snaps.length === 0)
1676
- return;
1677
- const clampedSlide = Math.max(0, Math.min(slideNum, snaps.length - 1));
1678
- const snap = snaps[clampedSlide];
1679
- this.scrollTo(snap, instant);
1680
- const pageIdx = Array.from(points).indexOf(snap);
1681
- this.setPage(pageIdx);
1682
- }
1683
- setContentEl(el) {
1684
- this.contentEl.set(el);
1685
- }
1686
- // Pointer event handlers (called by CarouselContent)
1687
- onContentPointerDown(e) {
1688
- if (e.button !== 0)
1689
- return;
1690
- if (e.pointerType === 'touch')
1691
- return;
1692
- this.swiping.set(true);
1693
- this._swipeStartPoint = { x: e.clientX, y: e.clientY };
1694
- this._isRealSwipe = false;
1695
- }
1696
- onContentPointerMove(e) {
1697
- const content = this.contentEl();
1698
- if (!this.swiping() || !content || e.pointerType === 'touch')
1699
- return;
1700
- const deltaX = e.clientX - this._swipeStartPoint.x;
1701
- const deltaY = e.clientY - this._swipeStartPoint.y;
1702
- const distance = Math.abs(deltaX) + Math.abs(deltaY);
1703
- if (distance < 6)
1704
- return;
1705
- if ((window.getSelection()?.toString().length ?? 0) > 0)
1706
- return;
1707
- e.currentTarget.setPointerCapture(e.pointerId);
1708
- content.style.userSelect = 'none';
1709
- this._isRealSwipe = true;
1710
- content.style.scrollSnapType = 'none';
1711
- content.scrollBy({ left: -e.movementX, top: -e.movementY, behavior: 'instant' });
1712
- e.preventDefault();
1713
- }
1714
- onContentPointerUp(e) {
1715
- this.swiping.set(false);
1716
- e.currentTarget.releasePointerCapture(e.pointerId);
1717
- if (!this._isRealSwipe)
1718
- return;
1719
- const content = this.contentEl();
1720
- if (!content)
1721
- return;
1722
- content.style.userSelect = '';
1723
- const scrollPos = this.orientation() === 'horizontal' ? content.scrollLeft : content.scrollTop;
1724
- const snapPointsSet = this._snapPointsRef;
1725
- const closestSnapPoint = Array.from(snapPointsSet).reduce((closest, point) => (Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest), Infinity);
1726
- const index = Array.from(snapPointsSet).indexOf(closestSnapPoint);
1727
- requestAnimationFrame(() => {
1728
- if (closestSnapPoint !== undefined)
1729
- this.scrollToPage(index);
1730
- requestAnimationFrame(() => {
1731
- content.style.scrollSnapType = this.resolveSnapType();
1732
- });
1733
- });
1734
- }
1735
- onContentWheel(e) {
1736
- if (this._wheelTimeout)
1737
- clearTimeout(this._wheelTimeout);
1738
- this._wheelTimeout = setTimeout(() => {
1739
- const primaryDelta = this.orientation() === 'horizontal' ? e.deltaX || e.deltaY : e.deltaY || e.deltaX;
1740
- if (primaryDelta > 0 && this.isNextDisabled())
1741
- return;
1742
- if (primaryDelta < 0 && this.isPrevDisabled())
1743
- return;
1744
- this.setToClosest();
1745
- }, 80);
1746
- }
1747
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Carousel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1748
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: Carousel, isStandalone: true, selector: "p-carousel", inputs: { align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null }, snapType: { classPropertyName: "snapType", publicName: "snapType", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, autoSize: { classPropertyName: "autoSize", publicName: "autoSize", isSignal: true, isRequired: false, transformFunction: null }, slidesPerPage: { classPropertyName: "slidesPerPage", publicName: "slidesPerPage", isSignal: true, isRequired: false, transformFunction: null }, slide: { classPropertyName: "slide", publicName: "slide", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageChange: "onPageChange", onSlideChange: "onSlideChange" }, host: { properties: { "attr.id": "id", "attr.role": "'region'", "class": "hostClass()", "attr.data-scope": "dataScope()", "attr.data-part": "dataPart()", "attr.data-orientation": "dataOrientation()", "attr.data-align": "dataAlign()", "attr.data-page": "dataPage()", "attr.data-swiping": "dataSwiping()", "attr.data-autosize": "dataAutosize()" } }, providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: Carousel }, { provide: CAROUSEL_ROOT, useExisting: Carousel }], queries: [{ propertyName: "_compositionContent", predicate: CarouselContent, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
961
+ }
962
+ }
963
+ if (this.$styleScope.isolated) this.$isolatedStyle("items", this.psel(innerHTML));
964
+ else this.carouselStyle.innerHTML = this.psel(innerHTML);
965
+ }
966
+ calculatePosition() {
967
+ const responsiveOpts = this.responsiveOptions();
968
+ if (responsiveOpts) {
969
+ let matchedResponsiveData = {
970
+ numVisible: this.defaultNumVisible,
971
+ numScroll: this.defaultNumScroll
972
+ };
973
+ if (typeof window !== "undefined") {
974
+ let windowWidth = window.innerWidth;
975
+ for (let i = 0; i < responsiveOpts.length; i++) {
976
+ let res = responsiveOpts[i];
977
+ if (parseInt(res.breakpoint, 10) >= windowWidth) matchedResponsiveData = res;
978
+ }
979
+ }
980
+ if (this._numScroll !== matchedResponsiveData.numScroll) {
981
+ let page = this._page();
982
+ page = Math.floor(page * this._numScroll / matchedResponsiveData.numScroll);
983
+ let totalShiftedItems = matchedResponsiveData.numScroll * this._page() * -1;
984
+ if (this.isCircular()) totalShiftedItems -= matchedResponsiveData.numVisible;
985
+ this.totalShiftedItems.set(totalShiftedItems);
986
+ this._numScroll = matchedResponsiveData.numScroll;
987
+ this._page.set(page);
988
+ this.onPage.emit({ page: this._page() });
989
+ }
990
+ if (this._numVisible !== matchedResponsiveData.numVisible) {
991
+ this._numVisible = matchedResponsiveData.numVisible;
992
+ this.setCloneItems();
993
+ }
994
+ }
995
+ }
996
+ setCloneItems() {
997
+ const val = this.value();
998
+ if (this.isCircular() && val) {
999
+ this.clonedItemsForStarting.set([...val.slice(-1 * this._numVisible)]);
1000
+ this.clonedItemsForFinishing.set([...val.slice(0, this._numVisible)]);
1001
+ } else {
1002
+ this.clonedItemsForStarting.set([]);
1003
+ this.clonedItemsForFinishing.set([]);
1004
+ }
1005
+ }
1006
+ firstIndex() {
1007
+ return this.isCircular() ? -1 * (this.totalShiftedItems() + this._numVisible) : this.totalShiftedItems() * -1;
1008
+ }
1009
+ lastIndex() {
1010
+ return this.firstIndex() + this._numVisible - 1;
1011
+ }
1012
+ totalDots() {
1013
+ const val = this.value();
1014
+ return val?.length ? Math.ceil((val.length - this._numVisible) / this._numScroll) + 1 : 0;
1015
+ }
1016
+ totalDotsArray() {
1017
+ const totalDots = this.totalDots();
1018
+ return totalDots <= 0 ? [] : Array.from({ length: totalDots }, (_, i) => i);
1019
+ }
1020
+ isVertical() {
1021
+ return this.orientation() === "vertical";
1022
+ }
1023
+ isCircular() {
1024
+ const val = this.value();
1025
+ return this.circular() && val && val.length >= this._numVisible;
1026
+ }
1027
+ isAutoplay() {
1028
+ return this.autoplayInterval() && this.allowAutoplay();
1029
+ }
1030
+ isForwardNavDisabled() {
1031
+ return this.isEmpty() || this._page() >= this.totalDots() - 1 && !this.isCircular();
1032
+ }
1033
+ isBackwardNavDisabled() {
1034
+ return this.isEmpty() || this._page() <= 0 && !this.isCircular();
1035
+ }
1036
+ isEmpty() {
1037
+ const val = this.value();
1038
+ return !val || val.length === 0;
1039
+ }
1040
+ hasHeader() {
1041
+ return !!(this.headerFacet() || this.headerTemplate());
1042
+ }
1043
+ hasFooter() {
1044
+ return !!(this.footerFacet() || this.footerTemplate());
1045
+ }
1046
+ ariaLive() {
1047
+ return this.allowAutoplay() ? "polite" : "off";
1048
+ }
1049
+ showDefaultPrevIcon() {
1050
+ return !this.previousIconTemplate();
1051
+ }
1052
+ showPrevIconTemplate() {
1053
+ return !!this.previousIconTemplate();
1054
+ }
1055
+ showDefaultNextIcon() {
1056
+ return !this.nextIconTemplate();
1057
+ }
1058
+ showNextIconTemplate() {
1059
+ return !!this.nextIconTemplate();
1060
+ }
1061
+ isCloneStartAriaHidden() {
1062
+ return !(this.totalShiftedItems() * -1 === this.value()?.length);
1063
+ }
1064
+ isCloneStartActive() {
1065
+ return this.totalShiftedItems() * -1 === (this.value()?.length ?? 0) + this.numVisible();
1066
+ }
1067
+ isCloneStartEnd(index) {
1068
+ const cloned = this.clonedItemsForStarting();
1069
+ return cloned.length > 0 && cloned.length - 1 === index;
1070
+ }
1071
+ isItemActive(index) {
1072
+ return this.firstIndex() <= index && this.lastIndex() >= index;
1073
+ }
1074
+ isItemAriaHidden(index) {
1075
+ return !this.isItemActive(index);
1076
+ }
1077
+ isItemStart(index) {
1078
+ return this.firstIndex() === index;
1079
+ }
1080
+ isItemEnd(index) {
1081
+ return this.lastIndex() === index;
1082
+ }
1083
+ isIndicatorActive(index) {
1084
+ return this._page() === index;
1085
+ }
1086
+ getIndicatorAriaCurrent(index) {
1087
+ return this._page() === index ? "page" : void 0;
1088
+ }
1089
+ getIndicatorTabindex(index) {
1090
+ return this._page() === index ? 0 : -1;
1091
+ }
1092
+ navForward(e, index) {
1093
+ if (this.isCircular() || this._page() < this.totalDots() - 1) this.step(-1, index);
1094
+ if (this.autoplayInterval()) this.stopAutoplay();
1095
+ if (e && e.cancelable) e.preventDefault();
1096
+ }
1097
+ navBackward(e, index) {
1098
+ if (this.isCircular() || this._page() !== 0) this.step(1, index);
1099
+ if (this.autoplayInterval()) this.stopAutoplay();
1100
+ if (e && e.cancelable) e.preventDefault();
1101
+ }
1102
+ onDotClick(e, index) {
1103
+ let page = this._page();
1104
+ if (this.autoplayInterval()) this.stopAutoplay();
1105
+ if (index > page) this.navForward(e, index);
1106
+ else if (index < page) this.navBackward(e, index);
1107
+ }
1108
+ onIndicatorKeydown(event) {
1109
+ switch (event.code) {
1110
+ case "ArrowRight":
1111
+ this.onRightKey();
1112
+ break;
1113
+ case "ArrowLeft": this.onLeftKey();
1114
+ }
1115
+ }
1116
+ onRightKey() {
1117
+ const indicators = [...find(this.indicatorContent()?.nativeElement, "[data-pc-section=\"indicator\"]")];
1118
+ const activeIndex = this.findFocusedIndicatorIndex();
1119
+ this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);
1120
+ }
1121
+ onLeftKey() {
1122
+ const activeIndex = this.findFocusedIndicatorIndex();
1123
+ this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);
1124
+ }
1125
+ onHomeKey() {
1126
+ const activeIndex = this.findFocusedIndicatorIndex();
1127
+ this.changedFocusedIndicator(activeIndex, 0);
1128
+ }
1129
+ onEndKey() {
1130
+ const indicators = [...find(this.indicatorContent()?.nativeElement, "[data-pc-section=\"indicator\"]")];
1131
+ const activeIndex = this.findFocusedIndicatorIndex();
1132
+ this.changedFocusedIndicator(activeIndex, indicators.length - 1);
1133
+ }
1134
+ onTabKey() {
1135
+ const indicators = [...find(this.indicatorContent()?.nativeElement, "[data-pc-section=\"indicator\"]")];
1136
+ const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, "data-p-highlight") === true);
1137
+ const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, "[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]");
1138
+ const activeIndex = indicators.findIndex((ind) => ind === activeIndicator?.parentElement);
1139
+ if (activeIndex >= 0 && highlightedIndex >= 0) {
1140
+ indicators[activeIndex].children[0].tabIndex = -1;
1141
+ indicators[highlightedIndex].children[0].tabIndex = 0;
1142
+ }
1143
+ }
1144
+ findFocusedIndicatorIndex() {
1145
+ const indicators = [...find(this.indicatorContent()?.nativeElement, "[data-pc-section=\"indicator\"]")];
1146
+ const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, "[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]");
1147
+ return indicators.findIndex((ind) => ind === activeIndicator?.parentElement);
1148
+ }
1149
+ changedFocusedIndicator(prevInd, nextInd) {
1150
+ const indicators = [...find(this.indicatorContent()?.nativeElement, "[data-pc-section=\"indicator\"]")];
1151
+ if (indicators[prevInd] && indicators[nextInd]) {
1152
+ indicators[prevInd].children[0].tabIndex = -1;
1153
+ indicators[nextInd].children[0].tabIndex = 0;
1154
+ indicators[nextInd].children[0].focus();
1155
+ }
1156
+ }
1157
+ step(dir, page) {
1158
+ let totalShiftedItems = this.totalShiftedItems();
1159
+ const isCircular = this.isCircular();
1160
+ const val = this.value();
1161
+ if (page != null) {
1162
+ totalShiftedItems = this._numScroll * page * -1;
1163
+ if (isCircular) totalShiftedItems -= this._numVisible;
1164
+ this.isRemainingItemsAdded = false;
1165
+ } else {
1166
+ totalShiftedItems += this._numScroll * dir;
1167
+ if (this.isRemainingItemsAdded) {
1168
+ totalShiftedItems += this.remainingItems - this._numScroll * dir;
1169
+ this.isRemainingItemsAdded = false;
1170
+ }
1171
+ let originalShiftedItems = isCircular ? totalShiftedItems + this._numVisible : totalShiftedItems;
1172
+ page = Math.abs(Math.floor(originalShiftedItems / this._numScroll));
1173
+ }
1174
+ if (isCircular && this._page() === this.totalDots() - 1 && dir === -1 && val) {
1175
+ totalShiftedItems = -1 * (val.length + this._numVisible);
1176
+ page = 0;
1177
+ } else if (isCircular && this._page() === 0 && dir === 1) {
1178
+ totalShiftedItems = 0;
1179
+ page = this.totalDots() - 1;
1180
+ } else if (page === this.totalDots() - 1 && this.remainingItems > 0) {
1181
+ totalShiftedItems += this.remainingItems * -1 - this._numScroll * dir;
1182
+ this.isRemainingItemsAdded = true;
1183
+ }
1184
+ const itemsContainerEl = this.itemsContainer();
1185
+ if (itemsContainerEl) {
1186
+ if (!this.$unstyled()) removeClass(itemsContainerEl.nativeElement, this.pcn("p-items-hidden"));
1187
+ itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;
1188
+ itemsContainerEl.nativeElement.style.transition = "transform 500ms ease 0s";
1189
+ }
1190
+ this.totalShiftedItems.set(totalShiftedItems);
1191
+ this._page.set(page);
1192
+ this.onPage.emit({ page: this._page() });
1193
+ }
1194
+ startAutoplay() {
1195
+ if (this.interval) clearInterval(this.interval);
1196
+ this.interval = setInterval(() => {
1197
+ if (this.totalDots() > 0) {
1198
+ if (this._page() === this.totalDots() - 1) this.step(-1, 0);
1199
+ else this.step(-1, this._page() + 1);
1200
+ }
1201
+ }, this.autoplayInterval());
1202
+ this.allowAutoplay.set(true);
1203
+ }
1204
+ stopAutoplay(changeAllow = true) {
1205
+ if (this.interval) {
1206
+ clearInterval(this.interval);
1207
+ this.interval = void 0;
1208
+ if (changeAllow) this.allowAutoplay.set(false);
1209
+ }
1210
+ }
1211
+ isPlaying() {
1212
+ return !!this.interval;
1213
+ }
1214
+ onTransitionEnd() {
1215
+ const itemsContainerEl = this.itemsContainer();
1216
+ if (itemsContainerEl) {
1217
+ if (!this.$unstyled()) addClass(itemsContainerEl.nativeElement, this.pcn("p-items-hidden"));
1218
+ itemsContainerEl.nativeElement.style.transition = "";
1219
+ if ((this._page() === 0 || this._page() === this.totalDots() - 1) && this.isCircular()) itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems() * (100 / this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems() * (100 / this._numVisible)}%, 0, 0)`;
1220
+ }
1221
+ }
1222
+ onTouchStart(e) {
1223
+ let touchobj = e.changedTouches[0];
1224
+ this.startPos = {
1225
+ x: touchobj.pageX,
1226
+ y: touchobj.pageY
1227
+ };
1228
+ }
1229
+ onTouchMove(e) {
1230
+ if (e.cancelable) e.preventDefault();
1231
+ }
1232
+ onTouchEnd(e) {
1233
+ if (!this.startPos) return;
1234
+ const touchobj = e.changedTouches[0];
1235
+ if (this.isVertical()) this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);
1236
+ else this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);
1237
+ }
1238
+ changePageOnTouch(e, diff) {
1239
+ if (Math.abs(diff) > this.swipeThreshold) {
1240
+ if (diff < 0) this.navForward(e);
1241
+ else this.navBackward(e);
1242
+ }
1243
+ }
1244
+ ariaPrevButtonLabel() {
1245
+ return this.config.translation.aria ? this.config.translation.aria?.prevPageLabel : void 0;
1246
+ }
1247
+ ariaSlideLabel() {
1248
+ return this.config.translation.aria ? this.config.translation.aria?.slide : void 0;
1249
+ }
1250
+ ariaNextButtonLabel() {
1251
+ return this.config.translation.aria ? this.config.translation.aria?.nextPageLabel : void 0;
1252
+ }
1253
+ ariaSlideNumber(value) {
1254
+ return this.config.translation.aria ? this.config.translation.aria?.slideNumber?.replace(/{slideNumber}/g, String(value)) : void 0;
1255
+ }
1256
+ ariaPageLabel(value) {
1257
+ return this.config.translation.aria ? this.config.translation.aria?.pageLabel?.replace(/{page}/g, String(value)) : void 0;
1258
+ }
1259
+ getIndicatorPTOptions(key, index) {
1260
+ return this.ptm(key, { context: { highlighted: index === this._page() } });
1261
+ }
1262
+ getItemPTOptions(key, index) {
1263
+ return this.ptm(key, { context: {
1264
+ index,
1265
+ active: this.firstIndex() <= index && this.lastIndex() >= index,
1266
+ start: this.firstIndex() === index,
1267
+ end: this.lastIndex() === index
1268
+ } });
1269
+ }
1270
+ bindDocumentListeners() {
1271
+ if (isPlatformBrowser(this.platformId)) {
1272
+ if (!this.documentResizeListener) this.documentResizeListener = this.renderer.listen(this.window, "resize", () => {
1273
+ this.calculatePosition();
1274
+ });
1275
+ }
1276
+ }
1277
+ unbindDocumentListeners() {
1278
+ if (isPlatformBrowser(this.platformId)) {
1279
+ if (this.documentResizeListener) {
1280
+ this.documentResizeListener();
1281
+ this.documentResizeListener = null;
1282
+ }
1283
+ }
1284
+ }
1285
+ legacyOnDestroy() {
1286
+ this.unbindDocumentListeners();
1287
+ this.stopAutoplay();
1288
+ if (this.carouselStyle) {
1289
+ this.carouselStyle.remove();
1290
+ this.carouselStyle = null;
1291
+ }
1292
+ }
1293
+ static ɵfac = i0.ɵɵngDeclareFactory({
1294
+ minVersion: "12.0.0",
1295
+ version: "22.2.3",
1296
+ ngImport: i0,
1297
+ type: CarouselLegacyBase,
1298
+ deps: [],
1299
+ target: i0.ɵɵFactoryTarget.Directive
1300
+ });
1301
+ static ɵdir = i0.ɵɵngDeclareDirective({
1302
+ minVersion: "17.2.0",
1303
+ version: "22.2.3",
1304
+ type: CarouselLegacyBase,
1305
+ isStandalone: true,
1306
+ inputs: {
1307
+ page: {
1308
+ classPropertyName: "page",
1309
+ publicName: "page",
1310
+ isSignal: true,
1311
+ isRequired: false,
1312
+ transformFunction: null
1313
+ },
1314
+ numVisible: {
1315
+ classPropertyName: "numVisible",
1316
+ publicName: "numVisible",
1317
+ isSignal: true,
1318
+ isRequired: false,
1319
+ transformFunction: null
1320
+ },
1321
+ numScroll: {
1322
+ classPropertyName: "numScroll",
1323
+ publicName: "numScroll",
1324
+ isSignal: true,
1325
+ isRequired: false,
1326
+ transformFunction: null
1327
+ },
1328
+ responsiveOptions: {
1329
+ classPropertyName: "responsiveOptions",
1330
+ publicName: "responsiveOptions",
1331
+ isSignal: true,
1332
+ isRequired: false,
1333
+ transformFunction: null
1334
+ },
1335
+ orientation: {
1336
+ classPropertyName: "orientation",
1337
+ publicName: "orientation",
1338
+ isSignal: true,
1339
+ isRequired: false,
1340
+ transformFunction: null
1341
+ },
1342
+ verticalViewPortHeight: {
1343
+ classPropertyName: "verticalViewPortHeight",
1344
+ publicName: "verticalViewPortHeight",
1345
+ isSignal: true,
1346
+ isRequired: false,
1347
+ transformFunction: null
1348
+ },
1349
+ contentClass: {
1350
+ classPropertyName: "contentClass",
1351
+ publicName: "contentClass",
1352
+ isSignal: true,
1353
+ isRequired: false,
1354
+ transformFunction: null
1355
+ },
1356
+ indicatorsContentClass: {
1357
+ classPropertyName: "indicatorsContentClass",
1358
+ publicName: "indicatorsContentClass",
1359
+ isSignal: true,
1360
+ isRequired: false,
1361
+ transformFunction: null
1362
+ },
1363
+ indicatorsContentStyle: {
1364
+ classPropertyName: "indicatorsContentStyle",
1365
+ publicName: "indicatorsContentStyle",
1366
+ isSignal: true,
1367
+ isRequired: false,
1368
+ transformFunction: null
1369
+ },
1370
+ indicatorStyleClass: {
1371
+ classPropertyName: "indicatorStyleClass",
1372
+ publicName: "indicatorStyleClass",
1373
+ isSignal: true,
1374
+ isRequired: false,
1375
+ transformFunction: null
1376
+ },
1377
+ indicatorStyle: {
1378
+ classPropertyName: "indicatorStyle",
1379
+ publicName: "indicatorStyle",
1380
+ isSignal: true,
1381
+ isRequired: false,
1382
+ transformFunction: null
1383
+ },
1384
+ value: {
1385
+ classPropertyName: "value",
1386
+ publicName: "value",
1387
+ isSignal: true,
1388
+ isRequired: false,
1389
+ transformFunction: null
1390
+ },
1391
+ circular: {
1392
+ classPropertyName: "circular",
1393
+ publicName: "circular",
1394
+ isSignal: true,
1395
+ isRequired: false,
1396
+ transformFunction: null
1397
+ },
1398
+ showIndicators: {
1399
+ classPropertyName: "showIndicators",
1400
+ publicName: "showIndicators",
1401
+ isSignal: true,
1402
+ isRequired: false,
1403
+ transformFunction: null
1404
+ },
1405
+ showNavigators: {
1406
+ classPropertyName: "showNavigators",
1407
+ publicName: "showNavigators",
1408
+ isSignal: true,
1409
+ isRequired: false,
1410
+ transformFunction: null
1411
+ },
1412
+ autoplayInterval: {
1413
+ classPropertyName: "autoplayInterval",
1414
+ publicName: "autoplayInterval",
1415
+ isSignal: true,
1416
+ isRequired: false,
1417
+ transformFunction: null
1418
+ },
1419
+ prevButtonProps: {
1420
+ classPropertyName: "prevButtonProps",
1421
+ publicName: "prevButtonProps",
1422
+ isSignal: true,
1423
+ isRequired: false,
1424
+ transformFunction: null
1425
+ },
1426
+ nextButtonProps: {
1427
+ classPropertyName: "nextButtonProps",
1428
+ publicName: "nextButtonProps",
1429
+ isSignal: true,
1430
+ isRequired: false,
1431
+ transformFunction: null
1432
+ }
1433
+ },
1434
+ outputs: { onPage: "onPage" },
1435
+ queries: [
1436
+ {
1437
+ propertyName: "headerFacet",
1438
+ first: true,
1439
+ predicate: Header,
1440
+ isSignal: true
1441
+ },
1442
+ {
1443
+ propertyName: "footerFacet",
1444
+ first: true,
1445
+ predicate: Footer,
1446
+ isSignal: true
1447
+ },
1448
+ {
1449
+ propertyName: "itemTemplate",
1450
+ first: true,
1451
+ predicate: ["item"],
1452
+ isSignal: true
1453
+ },
1454
+ {
1455
+ propertyName: "headerTemplate",
1456
+ first: true,
1457
+ predicate: ["header"],
1458
+ isSignal: true
1459
+ },
1460
+ {
1461
+ propertyName: "footerTemplate",
1462
+ first: true,
1463
+ predicate: ["footer"],
1464
+ isSignal: true
1465
+ },
1466
+ {
1467
+ propertyName: "previousIconTemplate",
1468
+ first: true,
1469
+ predicate: ["previousicon"],
1470
+ isSignal: true
1471
+ },
1472
+ {
1473
+ propertyName: "nextIconTemplate",
1474
+ first: true,
1475
+ predicate: ["nexticon"],
1476
+ isSignal: true
1477
+ }
1478
+ ],
1479
+ viewQueries: [{
1480
+ propertyName: "itemsContainer",
1481
+ first: true,
1482
+ predicate: ["itemsContainer"],
1483
+ descendants: true,
1484
+ isSignal: true
1485
+ }, {
1486
+ propertyName: "indicatorContent",
1487
+ first: true,
1488
+ predicate: ["indicatorContent"],
1489
+ descendants: true,
1490
+ isSignal: true
1491
+ }],
1492
+ usesInheritance: true,
1493
+ ngImport: i0
1494
+ });
1495
+ };
1496
+ i0.ɵɵngDeclareClassMetadata({
1497
+ minVersion: "12.0.0",
1498
+ version: "22.2.3",
1499
+ ngImport: i0,
1500
+ type: CarouselLegacyBase,
1501
+ decorators: [{ type: Directive }],
1502
+ ctorParameters: () => [],
1503
+ propDecorators: {
1504
+ page: [{
1505
+ type: i0.Input,
1506
+ args: [{
1507
+ isSignal: true,
1508
+ alias: "page",
1509
+ required: false
1510
+ }]
1511
+ }],
1512
+ numVisible: [{
1513
+ type: i0.Input,
1514
+ args: [{
1515
+ isSignal: true,
1516
+ alias: "numVisible",
1517
+ required: false
1518
+ }]
1519
+ }],
1520
+ numScroll: [{
1521
+ type: i0.Input,
1522
+ args: [{
1523
+ isSignal: true,
1524
+ alias: "numScroll",
1525
+ required: false
1526
+ }]
1527
+ }],
1528
+ responsiveOptions: [{
1529
+ type: i0.Input,
1530
+ args: [{
1531
+ isSignal: true,
1532
+ alias: "responsiveOptions",
1533
+ required: false
1534
+ }]
1535
+ }],
1536
+ orientation: [{
1537
+ type: i0.Input,
1538
+ args: [{
1539
+ isSignal: true,
1540
+ alias: "orientation",
1541
+ required: false
1542
+ }]
1543
+ }],
1544
+ verticalViewPortHeight: [{
1545
+ type: i0.Input,
1546
+ args: [{
1547
+ isSignal: true,
1548
+ alias: "verticalViewPortHeight",
1549
+ required: false
1550
+ }]
1551
+ }],
1552
+ contentClass: [{
1553
+ type: i0.Input,
1554
+ args: [{
1555
+ isSignal: true,
1556
+ alias: "contentClass",
1557
+ required: false
1558
+ }]
1559
+ }],
1560
+ indicatorsContentClass: [{
1561
+ type: i0.Input,
1562
+ args: [{
1563
+ isSignal: true,
1564
+ alias: "indicatorsContentClass",
1565
+ required: false
1566
+ }]
1567
+ }],
1568
+ indicatorsContentStyle: [{
1569
+ type: i0.Input,
1570
+ args: [{
1571
+ isSignal: true,
1572
+ alias: "indicatorsContentStyle",
1573
+ required: false
1574
+ }]
1575
+ }],
1576
+ indicatorStyleClass: [{
1577
+ type: i0.Input,
1578
+ args: [{
1579
+ isSignal: true,
1580
+ alias: "indicatorStyleClass",
1581
+ required: false
1582
+ }]
1583
+ }],
1584
+ indicatorStyle: [{
1585
+ type: i0.Input,
1586
+ args: [{
1587
+ isSignal: true,
1588
+ alias: "indicatorStyle",
1589
+ required: false
1590
+ }]
1591
+ }],
1592
+ value: [{
1593
+ type: i0.Input,
1594
+ args: [{
1595
+ isSignal: true,
1596
+ alias: "value",
1597
+ required: false
1598
+ }]
1599
+ }],
1600
+ circular: [{
1601
+ type: i0.Input,
1602
+ args: [{
1603
+ isSignal: true,
1604
+ alias: "circular",
1605
+ required: false
1606
+ }]
1607
+ }],
1608
+ showIndicators: [{
1609
+ type: i0.Input,
1610
+ args: [{
1611
+ isSignal: true,
1612
+ alias: "showIndicators",
1613
+ required: false
1614
+ }]
1615
+ }],
1616
+ showNavigators: [{
1617
+ type: i0.Input,
1618
+ args: [{
1619
+ isSignal: true,
1620
+ alias: "showNavigators",
1621
+ required: false
1622
+ }]
1623
+ }],
1624
+ autoplayInterval: [{
1625
+ type: i0.Input,
1626
+ args: [{
1627
+ isSignal: true,
1628
+ alias: "autoplayInterval",
1629
+ required: false
1630
+ }]
1631
+ }],
1632
+ prevButtonProps: [{
1633
+ type: i0.Input,
1634
+ args: [{
1635
+ isSignal: true,
1636
+ alias: "prevButtonProps",
1637
+ required: false
1638
+ }]
1639
+ }],
1640
+ nextButtonProps: [{
1641
+ type: i0.Input,
1642
+ args: [{
1643
+ isSignal: true,
1644
+ alias: "nextButtonProps",
1645
+ required: false
1646
+ }]
1647
+ }],
1648
+ onPage: [{
1649
+ type: i0.Output,
1650
+ args: ["onPage"]
1651
+ }],
1652
+ itemsContainer: [{
1653
+ type: i0.ViewChild,
1654
+ args: ["itemsContainer", { isSignal: true }]
1655
+ }],
1656
+ indicatorContent: [{
1657
+ type: i0.ViewChild,
1658
+ args: ["indicatorContent", { isSignal: true }]
1659
+ }],
1660
+ headerFacet: [{
1661
+ type: i0.ContentChild,
1662
+ args: [i0.forwardRef(() => Header), {
1663
+ descendants: false,
1664
+ isSignal: true
1665
+ }]
1666
+ }],
1667
+ footerFacet: [{
1668
+ type: i0.ContentChild,
1669
+ args: [i0.forwardRef(() => Footer), {
1670
+ descendants: false,
1671
+ isSignal: true
1672
+ }]
1673
+ }],
1674
+ itemTemplate: [{
1675
+ type: i0.ContentChild,
1676
+ args: ["item", {
1677
+ descendants: false,
1678
+ isSignal: true
1679
+ }]
1680
+ }],
1681
+ headerTemplate: [{
1682
+ type: i0.ContentChild,
1683
+ args: ["header", {
1684
+ descendants: false,
1685
+ isSignal: true
1686
+ }]
1687
+ }],
1688
+ footerTemplate: [{
1689
+ type: i0.ContentChild,
1690
+ args: ["footer", {
1691
+ descendants: false,
1692
+ isSignal: true
1693
+ }]
1694
+ }],
1695
+ previousIconTemplate: [{
1696
+ type: i0.ContentChild,
1697
+ args: ["previousicon", {
1698
+ descendants: false,
1699
+ isSignal: true
1700
+ }]
1701
+ }],
1702
+ nextIconTemplate: [{
1703
+ type: i0.ContentChild,
1704
+ args: ["nexticon", {
1705
+ descendants: false,
1706
+ isSignal: true
1707
+ }]
1708
+ }]
1709
+ }
1710
+ });
1711
+ var Carousel = class Carousel extends CarouselLegacyBase {
1712
+ componentName = "Carousel";
1713
+ bindDirectiveInstance = inject(Bind, { self: true });
1714
+ _compositionContent = contentChildren(CarouselContent, {
1715
+ ...ngDevMode ? { debugName: "_compositionContent" } : /* istanbul ignore next */ {},
1716
+ descendants: true
1717
+ });
1718
+ isCompositionMode = computed(() => this._compositionContent().length > 0, ...ngDevMode ? [{ debugName: "isCompositionMode" }] : /* istanbul ignore next */ []);
1719
+ hostClass = computed(() => this.isCompositionMode() ? this.cx("compositionRoot") : this.cx("root"), ...ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []);
1720
+ align = input("start", ...ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []);
1721
+ compositionOrientation = computed(() => this.orientation(), ...ngDevMode ? [{ debugName: "compositionOrientation" }] : /* istanbul ignore next */ []);
1722
+ compositionAlign = computed(() => this.align(), ...ngDevMode ? [{ debugName: "compositionAlign" }] : /* istanbul ignore next */ []);
1723
+ loop = input(false, {
1724
+ ...ngDevMode ? { debugName: "loop" } : /* istanbul ignore next */ {},
1725
+ transform: booleanAttribute
1726
+ });
1727
+ snapType = input("mandatory", ...ngDevMode ? [{ debugName: "snapType" }] : /* istanbul ignore next */ []);
1728
+ spacing = input(16, {
1729
+ ...ngDevMode ? { debugName: "spacing" } : /* istanbul ignore next */ {},
1730
+ transform: numberAttribute
1731
+ });
1732
+ autoSize = input(false, {
1733
+ ...ngDevMode ? { debugName: "autoSize" } : /* istanbul ignore next */ {},
1734
+ transform: booleanAttribute
1735
+ });
1736
+ compositionAutoSize = computed(() => this.autoSize(), ...ngDevMode ? [{ debugName: "compositionAutoSize" }] : /* istanbul ignore next */ []);
1737
+ dataScope = computed(() => this.isCompositionMode() ? "carousel" : null, ...ngDevMode ? [{ debugName: "dataScope" }] : /* istanbul ignore next */ []);
1738
+ dataPart = computed(() => this.isCompositionMode() ? "root" : null, ...ngDevMode ? [{ debugName: "dataPart" }] : /* istanbul ignore next */ []);
1739
+ dataOrientation = computed(() => this.isCompositionMode() ? this.compositionOrientation() : null, ...ngDevMode ? [{ debugName: "dataOrientation" }] : /* istanbul ignore next */ []);
1740
+ dataAlign = computed(() => this.isCompositionMode() ? this.compositionAlign() : null, ...ngDevMode ? [{ debugName: "dataAlign" }] : /* istanbul ignore next */ []);
1741
+ dataPage = computed(() => this.isCompositionMode() ? this.pageState() : null, ...ngDevMode ? [{ debugName: "dataPage" }] : /* istanbul ignore next */ []);
1742
+ dataSwiping = computed(() => this.isCompositionMode() && this.swiping() ? "" : null, ...ngDevMode ? [{ debugName: "dataSwiping" }] : /* istanbul ignore next */ []);
1743
+ dataAutosize = computed(() => this.isCompositionMode() && this.compositionAutoSize() ? "" : null, ...ngDevMode ? [{ debugName: "dataAutosize" }] : /* istanbul ignore next */ []);
1744
+ slidesPerPage = input(1, {
1745
+ ...ngDevMode ? { debugName: "slidesPerPage" } : /* istanbul ignore next */ {},
1746
+ transform: numberAttribute
1747
+ });
1748
+ slide = input(void 0, ...ngDevMode ? [{ debugName: "slide" }] : /* istanbul ignore next */ []);
1749
+ onPageChange = output();
1750
+ onSlideChange = output();
1751
+ swiping = signal(false, ...ngDevMode ? [{ debugName: "swiping" }] : /* istanbul ignore next */ []);
1752
+ isNextDisabled = signal(false, ...ngDevMode ? [{ debugName: "isNextDisabled" }] : /* istanbul ignore next */ []);
1753
+ isPrevDisabled = signal(false, ...ngDevMode ? [{ debugName: "isPrevDisabled" }] : /* istanbul ignore next */ []);
1754
+ snapPoints = signal(/* @__PURE__ */ new Set(), ...ngDevMode ? [{ debugName: "snapPoints" }] : /* istanbul ignore next */ []);
1755
+ pageState = signal(0, ...ngDevMode ? [{ debugName: "pageState" }] : /* istanbul ignore next */ []);
1756
+ contentEl = signal(null, ...ngDevMode ? [{ debugName: "contentEl" }] : /* istanbul ignore next */ []);
1757
+ _snapPointsRef = /* @__PURE__ */ new Set();
1758
+ _scrollSnapsRef = [];
1759
+ _initialPageApplied = false;
1760
+ _initialControlledScroll = false;
1761
+ _resizeObserver = null;
1762
+ _mutationObserver = null;
1763
+ _intersectionObserver = null;
1764
+ _scrollTimeout = null;
1765
+ _wheelTimeout = null;
1766
+ _scrollListener = null;
1767
+ _destroyed = false;
1768
+ _swipeStartPoint = {
1769
+ x: 0,
1770
+ y: 0
1771
+ };
1772
+ _isRealSwipe = false;
1773
+ _itemSelector = "[data-item]";
1774
+ _areSetsEqual(a, b) {
1775
+ if (a.size !== b.size) return false;
1776
+ for (const value of a) if (!b.has(value)) return false;
1777
+ return true;
1778
+ }
1779
+ constructor() {
1780
+ super();
1781
+ effect(() => {
1782
+ const slideVal = this.slide();
1783
+ if (slideVal === void 0 || slideVal === null) return;
1784
+ if (!this.isCompositionMode()) return;
1785
+ untracked(() => {
1786
+ if (this._snapPointsRef.size > 0) this.scrollToSlide(slideVal);
1787
+ });
1788
+ });
1789
+ }
1790
+ onAfterViewChecked() {
1791
+ this.bindDirectiveInstance.setAttrs(this.ptm("root"));
1792
+ }
1793
+ onAfterContentInit() {
1794
+ this.legacyOnAfterContentInit();
1795
+ }
1796
+ onAfterContentChecked() {
1797
+ this.legacyOnAfterContentChecked();
1798
+ }
1799
+ onDestroy() {
1800
+ this._destroyed = true;
1801
+ this.legacyOnDestroy();
1802
+ this._resizeObserver?.disconnect();
1803
+ this._mutationObserver?.disconnect();
1804
+ this._intersectionObserver?.disconnect();
1805
+ this._scrollListener?.();
1806
+ if (this._scrollTimeout) clearTimeout(this._scrollTimeout);
1807
+ if (this._wheelTimeout) clearTimeout(this._wheelTimeout);
1808
+ }
1809
+ resolveSnapType() {
1810
+ return `${this.orientation() === "vertical" ? "y" : "x"} ${this.snapType()}`;
1811
+ }
1812
+ setupObservers() {
1813
+ const content = this.contentEl();
1814
+ if (!content) return;
1815
+ this._resizeObserver = new ResizeObserver(() => {
1816
+ this.computeSnapPoints();
1817
+ const closest = this.setToClosest();
1818
+ this.scrollToPage(closest ?? this.pageState(), true);
1819
+ });
1820
+ this._resizeObserver.observe(content);
1821
+ this._observeResizeItems(content);
1822
+ requestAnimationFrame(() => {
1823
+ this.computeSnapPoints();
1824
+ this._observeResizeItems(content);
1825
+ this._observeIntersectionItems(content);
1826
+ this._applyInitialPage();
1827
+ this._applyControlledPage();
1828
+ this._applyControlledSlide();
1829
+ });
1830
+ this._mutationObserver = new MutationObserver((mutations) => {
1831
+ mutations.forEach(() => {
1832
+ this.computeSnapPoints();
1833
+ this._observeResizeItems(content);
1834
+ this._observeIntersectionItems(content);
1835
+ requestAnimationFrame(() => {
1836
+ const closest = this.setToClosest();
1837
+ this.scrollToPage(closest ?? this.pageState(), true);
1838
+ });
1839
+ });
1840
+ });
1841
+ this._mutationObserver.observe(content, {
1842
+ childList: true,
1843
+ subtree: true
1844
+ });
1845
+ this._intersectionObserver = new IntersectionObserver((entries) => {
1846
+ entries.forEach((entry) => {
1847
+ if (entry.isIntersecting) entry.target.setAttribute("data-inview", "");
1848
+ else entry.target.removeAttribute("data-inview");
1849
+ });
1850
+ }, {
1851
+ root: content,
1852
+ threshold: .6
1853
+ });
1854
+ this._observeIntersectionItems(content);
1855
+ const onScroll = () => {
1856
+ if (this._scrollTimeout) clearTimeout(this._scrollTimeout);
1857
+ this._scrollTimeout = setTimeout(() => {
1858
+ this.setToClosest();
1859
+ }, 80);
1860
+ };
1861
+ onScroll();
1862
+ content.addEventListener("scroll", onScroll, { passive: true });
1863
+ this._scrollListener = () => content.removeEventListener("scroll", onScroll);
1864
+ }
1865
+ _applyInitialPage() {
1866
+ if (this._initialPageApplied) return;
1867
+ const slideInput = this.slide();
1868
+ if (slideInput !== void 0 && slideInput !== null) return;
1869
+ if ((this._snapPointsRef.size || this.snapPoints().size) === 0) return;
1870
+ this._initialPageApplied = true;
1871
+ this.scrollToPage(0, true);
1872
+ }
1873
+ _applyControlledPage() {
1874
+ const pageInput = this.page();
1875
+ const slideInput = this.slide();
1876
+ if (pageInput === void 0 || pageInput === null) return;
1877
+ if (slideInput !== void 0 && slideInput !== null) return;
1878
+ if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0) return;
1879
+ const instant = !this._initialControlledScroll;
1880
+ this._initialControlledScroll = true;
1881
+ this.scrollToPage(pageInput, instant);
1882
+ }
1883
+ _applyControlledSlide() {
1884
+ const slideInput = this.slide();
1885
+ if (slideInput === void 0 || slideInput === null) return;
1886
+ if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0) return;
1887
+ const instant = !this._initialControlledScroll;
1888
+ this._initialControlledScroll = true;
1889
+ this.scrollToSlide(slideInput, instant);
1890
+ }
1891
+ _observeResizeItems(content) {
1892
+ if (!this._resizeObserver) return;
1893
+ content.querySelectorAll(this._itemSelector).forEach((item) => this._resizeObserver.observe(item));
1894
+ }
1895
+ _observeIntersectionItems(content) {
1896
+ if (!this._intersectionObserver) return;
1897
+ content.querySelectorAll(this._itemSelector).forEach((item) => this._intersectionObserver.observe(item));
1898
+ }
1899
+ computeSnapPoints() {
1900
+ const content = this.contentEl();
1901
+ if (!content) return;
1902
+ const isHorizontal = this.orientation() !== "vertical";
1903
+ const trackSize = isHorizontal ? content.clientWidth : content.clientHeight;
1904
+ const maxOffset = Math.max(0, isHorizontal ? content.scrollWidth - trackSize : content.scrollHeight - trackSize);
1905
+ const snaps = [];
1906
+ const alignValue = this.align();
1907
+ this._scrollSnapsRef = [];
1908
+ content.querySelectorAll(this._itemSelector).forEach((item) => {
1909
+ const offset = isHorizontal ? item.offsetLeft : item.offsetTop;
1910
+ const size = isHorizontal ? item.clientWidth : item.clientHeight;
1911
+ let snapPoint = offset;
1912
+ if (alignValue === "center") snapPoint = offset - (trackSize - size) / 2;
1913
+ else if (alignValue === "end") snapPoint = offset - (trackSize - size);
1914
+ const clamped = Math.max(0, Math.min(snapPoint, maxOffset));
1915
+ this._scrollSnapsRef.push(clamped);
1916
+ snaps.push(clamped);
1917
+ });
1918
+ const newSnapPoints = new Set(snaps.map(Number));
1919
+ if (this._areSetsEqual(this._snapPointsRef, newSnapPoints)) return;
1920
+ this._snapPointsRef = newSnapPoints;
1921
+ this.snapPoints.set(newSnapPoints);
1922
+ }
1923
+ setPage(page) {
1924
+ if (this._destroyed) return;
1925
+ if (!this.loop()) {
1926
+ const size = this._snapPointsRef.size || this.snapPoints().size;
1927
+ this.isPrevDisabled.set(page === 0);
1928
+ this.isNextDisabled.set(page === size - 1);
1929
+ }
1930
+ this.pageState.set(page);
1931
+ this.onPageChange.emit({ value: page });
1932
+ this.onSlideChange.emit({ value: page });
1933
+ }
1934
+ setToClosest() {
1935
+ const content = this.contentEl();
1936
+ const points = this._snapPointsRef;
1937
+ if (!content || points.size === 0) return void 0;
1938
+ const scrollPos = this.orientation() === "horizontal" ? content.scrollLeft : content.scrollTop;
1939
+ const closestSnapPoint = Array.from(points).reduce((closest, point) => Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest, Infinity);
1940
+ const index = Array.from(points).indexOf(closestSnapPoint);
1941
+ this.setPage(index);
1942
+ return index;
1943
+ }
1944
+ scrollToPage(pageNum, instant = false) {
1945
+ const points = this._snapPointsRef;
1946
+ if (points.size === 0) return;
1947
+ const target = pageNum ?? this.pageState();
1948
+ const clampedPage = this.loop() ? (target + points.size) % points.size : Math.max(0, Math.min(target, points.size - 1));
1949
+ this.setPage(clampedPage);
1950
+ this.scrollTo(Array.from(points)[clampedPage], instant);
1951
+ }
1952
+ next() {
1953
+ this.scrollToPage(this.pageState() + 1);
1954
+ }
1955
+ prev() {
1956
+ this.scrollToPage(this.pageState() - 1);
1957
+ }
1958
+ scrollTo(snapPoint, instant = false) {
1959
+ const content = this.contentEl();
1960
+ if (!content) return;
1961
+ content.scrollTo({
1962
+ [this.orientation() === "horizontal" ? "left" : "top"]: snapPoint,
1963
+ behavior: instant ? "instant" : "smooth"
1964
+ });
1965
+ }
1966
+ scrollToSlide(slideNum, instant = false) {
1967
+ const points = this._snapPointsRef;
1968
+ const snaps = this._scrollSnapsRef;
1969
+ if (points.size === 0 || snaps.length === 0) return;
1970
+ const snap = snaps[Math.max(0, Math.min(slideNum, snaps.length - 1))];
1971
+ this.scrollTo(snap, instant);
1972
+ const pageIdx = Array.from(points).indexOf(snap);
1973
+ this.setPage(pageIdx);
1974
+ }
1975
+ setContentEl(el) {
1976
+ this.contentEl.set(el);
1977
+ }
1978
+ onContentPointerDown(e) {
1979
+ if (e.button !== 0) return;
1980
+ if (e.pointerType === "touch") return;
1981
+ this.swiping.set(true);
1982
+ this._swipeStartPoint = {
1983
+ x: e.clientX,
1984
+ y: e.clientY
1985
+ };
1986
+ this._isRealSwipe = false;
1987
+ }
1988
+ onContentPointerMove(e) {
1989
+ const content = this.contentEl();
1990
+ if (!this.swiping() || !content || e.pointerType === "touch") return;
1991
+ const deltaX = e.clientX - this._swipeStartPoint.x;
1992
+ const deltaY = e.clientY - this._swipeStartPoint.y;
1993
+ if (Math.abs(deltaX) + Math.abs(deltaY) < 6) return;
1994
+ if ((window.getSelection()?.toString().length ?? 0) > 0) return;
1995
+ e.currentTarget.setPointerCapture(e.pointerId);
1996
+ content.style.userSelect = "none";
1997
+ this._isRealSwipe = true;
1998
+ content.style.scrollSnapType = "none";
1999
+ content.scrollBy({
2000
+ left: -e.movementX,
2001
+ top: -e.movementY,
2002
+ behavior: "instant"
2003
+ });
2004
+ e.preventDefault();
2005
+ }
2006
+ onContentPointerUp(e) {
2007
+ this.swiping.set(false);
2008
+ e.currentTarget.releasePointerCapture(e.pointerId);
2009
+ if (!this._isRealSwipe) return;
2010
+ const content = this.contentEl();
2011
+ if (!content) return;
2012
+ content.style.userSelect = "";
2013
+ const scrollPos = this.orientation() === "horizontal" ? content.scrollLeft : content.scrollTop;
2014
+ const snapPointsSet = this._snapPointsRef;
2015
+ const closestSnapPoint = Array.from(snapPointsSet).reduce((closest, point) => Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest, Infinity);
2016
+ const index = Array.from(snapPointsSet).indexOf(closestSnapPoint);
2017
+ requestAnimationFrame(() => {
2018
+ if (closestSnapPoint !== void 0) this.scrollToPage(index);
2019
+ requestAnimationFrame(() => {
2020
+ content.style.scrollSnapType = this.resolveSnapType();
2021
+ });
2022
+ });
2023
+ }
2024
+ onContentWheel(e) {
2025
+ if (this._wheelTimeout) clearTimeout(this._wheelTimeout);
2026
+ this._wheelTimeout = setTimeout(() => {
2027
+ const primaryDelta = this.orientation() === "horizontal" ? e.deltaX || e.deltaY : e.deltaY || e.deltaX;
2028
+ if (primaryDelta > 0 && this.isNextDisabled()) return;
2029
+ if (primaryDelta < 0 && this.isPrevDisabled()) return;
2030
+ this.setToClosest();
2031
+ }, 80);
2032
+ }
2033
+ static ɵfac = i0.ɵɵngDeclareFactory({
2034
+ minVersion: "12.0.0",
2035
+ version: "22.2.3",
2036
+ ngImport: i0,
2037
+ type: Carousel,
2038
+ deps: [],
2039
+ target: i0.ɵɵFactoryTarget.Component
2040
+ });
2041
+ static ɵcmp = i0.ɵɵngDeclareComponent({
2042
+ minVersion: "17.0.0",
2043
+ version: "22.2.3",
2044
+ type: Carousel,
2045
+ isStandalone: true,
2046
+ selector: "p-carousel",
2047
+ inputs: {
2048
+ align: {
2049
+ classPropertyName: "align",
2050
+ publicName: "align",
2051
+ isSignal: true,
2052
+ isRequired: false,
2053
+ transformFunction: null
2054
+ },
2055
+ loop: {
2056
+ classPropertyName: "loop",
2057
+ publicName: "loop",
2058
+ isSignal: true,
2059
+ isRequired: false,
2060
+ transformFunction: null
2061
+ },
2062
+ snapType: {
2063
+ classPropertyName: "snapType",
2064
+ publicName: "snapType",
2065
+ isSignal: true,
2066
+ isRequired: false,
2067
+ transformFunction: null
2068
+ },
2069
+ spacing: {
2070
+ classPropertyName: "spacing",
2071
+ publicName: "spacing",
2072
+ isSignal: true,
2073
+ isRequired: false,
2074
+ transformFunction: null
2075
+ },
2076
+ autoSize: {
2077
+ classPropertyName: "autoSize",
2078
+ publicName: "autoSize",
2079
+ isSignal: true,
2080
+ isRequired: false,
2081
+ transformFunction: null
2082
+ },
2083
+ slidesPerPage: {
2084
+ classPropertyName: "slidesPerPage",
2085
+ publicName: "slidesPerPage",
2086
+ isSignal: true,
2087
+ isRequired: false,
2088
+ transformFunction: null
2089
+ },
2090
+ slide: {
2091
+ classPropertyName: "slide",
2092
+ publicName: "slide",
2093
+ isSignal: true,
2094
+ isRequired: false,
2095
+ transformFunction: null
2096
+ }
2097
+ },
2098
+ outputs: {
2099
+ onPageChange: "onPageChange",
2100
+ onSlideChange: "onSlideChange"
2101
+ },
2102
+ host: { properties: {
2103
+ "attr.id": "id",
2104
+ "attr.role": "'region'",
2105
+ "class": "hostClass()",
2106
+ "attr.data-scope": "dataScope()",
2107
+ "attr.data-part": "dataPart()",
2108
+ "attr.data-orientation": "dataOrientation()",
2109
+ "attr.data-align": "dataAlign()",
2110
+ "attr.data-page": "dataPage()",
2111
+ "attr.data-swiping": "dataSwiping()",
2112
+ "attr.data-autosize": "dataAutosize()"
2113
+ } },
2114
+ providers: [
2115
+ CarouselStyle,
2116
+ {
2117
+ provide: PARENT_INSTANCE,
2118
+ useExisting: Carousel
2119
+ },
2120
+ {
2121
+ provide: CAROUSEL_ROOT,
2122
+ useExisting: Carousel
2123
+ }
2124
+ ],
2125
+ queries: [{
2126
+ propertyName: "_compositionContent",
2127
+ predicate: CarouselContent,
2128
+ descendants: true,
2129
+ isSignal: true
2130
+ }],
2131
+ usesInheritance: true,
2132
+ hostDirectives: [{ directive: i1.Bind }],
2133
+ ngImport: i0,
2134
+ template: `
1749
2135
  @if (isCompositionMode()) {
1750
2136
  <ng-content></ng-content>
1751
2137
  } @else {
@@ -1849,12 +2235,12 @@ class Carousel extends CarouselLegacyBase {
1849
2235
  }
1850
2236
  </div>
1851
2237
  @if (showIndicators()) {
1852
- <ul #indicatorContent [class]="cx('indicatorList')" [style]="indicatorsContentStyle()" (keydown)="onIndicatorKeydown($event)" [pBind]="ptm('indicatorList')">
2238
+ <ul #indicatorContent [class]="cn(cx('indicatorList'), indicatorsContentClass())" [style]="indicatorsContentStyle()" (keydown)="onIndicatorKeydown($event)" [pBind]="ptm('indicatorList')">
1853
2239
  @for (dot of totalDotsArray(); track dot) {
1854
2240
  <li [class]="cx('indicator', { index: dot })" [attr.data-p-active]="isIndicatorActive(dot)" [pBind]="getIndicatorPTOptions('indicator', dot)">
1855
2241
  <button
1856
2242
  type="button"
1857
- [class]="cx('indicatorButton')"
2243
+ [class]="cn(cx('indicatorButton'), indicatorStyleClass())"
1858
2244
  (click)="onDotClick($event, dot)"
1859
2245
  [style]="indicatorStyle()"
1860
2246
  [attr.aria-label]="ariaPageLabel(dot + 1)"
@@ -1874,15 +2260,102 @@ class Carousel extends CarouselLegacyBase {
1874
2260
  </div>
1875
2261
  }
1876
2262
  }
1877
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ChevronRight, selector: "svg[data-p-icon=\"chevron-right\"]" }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["pButton", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "link", "rounded", "fluid", "variant", "iconOnly", "loading", "severity"] }, { kind: "component", type: ChevronLeft, selector: "svg[data-p-icon=\"chevron-left\"]" }, { kind: "component", type: ChevronDown, selector: "svg[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: ChevronUp, selector: "svg[data-p-icon=\"chevron-up\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1878
- }
1879
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Carousel, decorators: [{
1880
- type: Component,
1881
- args: [{
1882
- selector: 'p-carousel',
1883
- standalone: true,
1884
- imports: [NgTemplateOutlet, ChevronRight, ButtonDirective, ChevronLeft, ChevronDown, ChevronUp, SharedModule, BindModule],
1885
- template: `
2263
+ `,
2264
+ isInline: true,
2265
+ dependencies: [
2266
+ {
2267
+ kind: "directive",
2268
+ type: NgTemplateOutlet,
2269
+ selector: "[ngTemplateOutlet]",
2270
+ inputs: [
2271
+ "ngTemplateOutletContext",
2272
+ "ngTemplateOutlet",
2273
+ "ngTemplateOutletInjector"
2274
+ ]
2275
+ },
2276
+ {
2277
+ kind: "component",
2278
+ type: ChevronRight,
2279
+ selector: "svg[data-p-icon=\"chevron-right\"]"
2280
+ },
2281
+ {
2282
+ kind: "directive",
2283
+ type: ButtonDirective,
2284
+ selector: "[pButton]",
2285
+ inputs: [
2286
+ "pButton",
2287
+ "pButtonPT",
2288
+ "pButtonUnstyled",
2289
+ "hostName",
2290
+ "text",
2291
+ "plain",
2292
+ "raised",
2293
+ "size",
2294
+ "outlined",
2295
+ "link",
2296
+ "rounded",
2297
+ "fluid",
2298
+ "variant",
2299
+ "iconOnly",
2300
+ "loading",
2301
+ "severity"
2302
+ ]
2303
+ },
2304
+ {
2305
+ kind: "component",
2306
+ type: ChevronLeft,
2307
+ selector: "svg[data-p-icon=\"chevron-left\"]"
2308
+ },
2309
+ {
2310
+ kind: "component",
2311
+ type: ChevronDown,
2312
+ selector: "svg[data-p-icon=\"chevron-down\"]"
2313
+ },
2314
+ {
2315
+ kind: "component",
2316
+ type: ChevronUp,
2317
+ selector: "svg[data-p-icon=\"chevron-up\"]"
2318
+ },
2319
+ {
2320
+ kind: "ngmodule",
2321
+ type: SharedModule
2322
+ },
2323
+ {
2324
+ kind: "ngmodule",
2325
+ type: BindModule
2326
+ },
2327
+ {
2328
+ kind: "directive",
2329
+ type: i1.Bind,
2330
+ selector: "[pBind]",
2331
+ inputs: ["pBind"]
2332
+ }
2333
+ ],
2334
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2335
+ encapsulation: i0.ViewEncapsulation.None
2336
+ });
2337
+ };
2338
+ i0.ɵɵngDeclareClassMetadata({
2339
+ minVersion: "12.0.0",
2340
+ version: "22.2.3",
2341
+ ngImport: i0,
2342
+ type: Carousel,
2343
+ decorators: [{
2344
+ type: Component,
2345
+ args: [{
2346
+ selector: "p-carousel",
2347
+ standalone: true,
2348
+ imports: [
2349
+ NgTemplateOutlet,
2350
+ ChevronRight,
2351
+ ButtonDirective,
2352
+ ChevronLeft,
2353
+ ChevronDown,
2354
+ ChevronUp,
2355
+ SharedModule,
2356
+ BindModule
2357
+ ],
2358
+ template: `
1886
2359
  @if (isCompositionMode()) {
1887
2360
  <ng-content></ng-content>
1888
2361
  } @else {
@@ -1986,12 +2459,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
1986
2459
  }
1987
2460
  </div>
1988
2461
  @if (showIndicators()) {
1989
- <ul #indicatorContent [class]="cx('indicatorList')" [style]="indicatorsContentStyle()" (keydown)="onIndicatorKeydown($event)" [pBind]="ptm('indicatorList')">
2462
+ <ul #indicatorContent [class]="cn(cx('indicatorList'), indicatorsContentClass())" [style]="indicatorsContentStyle()" (keydown)="onIndicatorKeydown($event)" [pBind]="ptm('indicatorList')">
1990
2463
  @for (dot of totalDotsArray(); track dot) {
1991
2464
  <li [class]="cx('indicator', { index: dot })" [attr.data-p-active]="isIndicatorActive(dot)" [pBind]="getIndicatorPTOptions('indicator', dot)">
1992
2465
  <button
1993
2466
  type="button"
1994
- [class]="cx('indicatorButton')"
2467
+ [class]="cn(cx('indicatorButton'), indicatorStyleClass())"
1995
2468
  (click)="onDotClick($event, dot)"
1996
2469
  [style]="indicatorStyle()"
1997
2470
  [attr.aria-label]="ariaPageLabel(dot + 1)"
@@ -2012,40 +2485,189 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2012
2485
  }
2013
2486
  }
2014
2487
  `,
2015
- changeDetection: ChangeDetectionStrategy.OnPush,
2016
- encapsulation: ViewEncapsulation.None,
2017
- providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: Carousel }, { provide: CAROUSEL_ROOT, useExisting: Carousel }],
2018
- hostDirectives: [Bind],
2019
- host: {
2020
- '[attr.id]': 'id',
2021
- '[attr.role]': "'region'",
2022
- '[class]': 'hostClass()',
2023
- '[attr.data-scope]': 'dataScope()',
2024
- '[attr.data-part]': 'dataPart()',
2025
- '[attr.data-orientation]': 'dataOrientation()',
2026
- '[attr.data-align]': 'dataAlign()',
2027
- '[attr.data-page]': 'dataPage()',
2028
- '[attr.data-swiping]': 'dataSwiping()',
2029
- '[attr.data-autosize]': 'dataAutosize()'
2030
- }
2031
- }]
2032
- }], ctorParameters: () => [], propDecorators: { _compositionContent: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => CarouselContent), { ...{ descendants: true }, isSignal: true }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], loop: [{ type: i0.Input, args: [{ isSignal: true, alias: "loop", required: false }] }], snapType: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapType", required: false }] }], spacing: [{ type: i0.Input, args: [{ isSignal: true, alias: "spacing", required: false }] }], autoSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoSize", required: false }] }], slidesPerPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "slidesPerPage", required: false }] }], slide: [{ type: i0.Input, args: [{ isSignal: true, alias: "slide", required: false }] }], onPageChange: [{ type: i0.Output, args: ["onPageChange"] }], onSlideChange: [{ type: i0.Output, args: ["onSlideChange"] }] } });
2033
- class CarouselModule {
2034
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2035
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: CarouselModule, imports: [Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule], exports: [Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule] });
2036
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselModule, imports: [Carousel, CarouselContent, CarouselItem, CarouselIndicators, SharedModule, SharedModule] });
2037
- }
2038
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CarouselModule, decorators: [{
2039
- type: NgModule,
2040
- args: [{
2041
- imports: [Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule],
2042
- exports: [Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule]
2043
- }]
2044
- }] });
2045
-
2046
- /**
2047
- * Generated bundle index. Do not edit.
2048
- */
2049
-
2488
+ changeDetection: ChangeDetectionStrategy.OnPush,
2489
+ encapsulation: ViewEncapsulation.None,
2490
+ providers: [
2491
+ CarouselStyle,
2492
+ {
2493
+ provide: PARENT_INSTANCE,
2494
+ useExisting: Carousel
2495
+ },
2496
+ {
2497
+ provide: CAROUSEL_ROOT,
2498
+ useExisting: Carousel
2499
+ }
2500
+ ],
2501
+ hostDirectives: [Bind],
2502
+ host: {
2503
+ "[attr.id]": "id",
2504
+ "[attr.role]": "'region'",
2505
+ "[class]": "hostClass()",
2506
+ "[attr.data-scope]": "dataScope()",
2507
+ "[attr.data-part]": "dataPart()",
2508
+ "[attr.data-orientation]": "dataOrientation()",
2509
+ "[attr.data-align]": "dataAlign()",
2510
+ "[attr.data-page]": "dataPage()",
2511
+ "[attr.data-swiping]": "dataSwiping()",
2512
+ "[attr.data-autosize]": "dataAutosize()"
2513
+ }
2514
+ }]
2515
+ }],
2516
+ ctorParameters: () => [],
2517
+ propDecorators: {
2518
+ _compositionContent: [{
2519
+ type: i0.ContentChildren,
2520
+ args: [i0.forwardRef(() => CarouselContent), {
2521
+ descendants: true,
2522
+ isSignal: true
2523
+ }]
2524
+ }],
2525
+ align: [{
2526
+ type: i0.Input,
2527
+ args: [{
2528
+ isSignal: true,
2529
+ alias: "align",
2530
+ required: false
2531
+ }]
2532
+ }],
2533
+ loop: [{
2534
+ type: i0.Input,
2535
+ args: [{
2536
+ isSignal: true,
2537
+ alias: "loop",
2538
+ required: false
2539
+ }]
2540
+ }],
2541
+ snapType: [{
2542
+ type: i0.Input,
2543
+ args: [{
2544
+ isSignal: true,
2545
+ alias: "snapType",
2546
+ required: false
2547
+ }]
2548
+ }],
2549
+ spacing: [{
2550
+ type: i0.Input,
2551
+ args: [{
2552
+ isSignal: true,
2553
+ alias: "spacing",
2554
+ required: false
2555
+ }]
2556
+ }],
2557
+ autoSize: [{
2558
+ type: i0.Input,
2559
+ args: [{
2560
+ isSignal: true,
2561
+ alias: "autoSize",
2562
+ required: false
2563
+ }]
2564
+ }],
2565
+ slidesPerPage: [{
2566
+ type: i0.Input,
2567
+ args: [{
2568
+ isSignal: true,
2569
+ alias: "slidesPerPage",
2570
+ required: false
2571
+ }]
2572
+ }],
2573
+ slide: [{
2574
+ type: i0.Input,
2575
+ args: [{
2576
+ isSignal: true,
2577
+ alias: "slide",
2578
+ required: false
2579
+ }]
2580
+ }],
2581
+ onPageChange: [{
2582
+ type: i0.Output,
2583
+ args: ["onPageChange"]
2584
+ }],
2585
+ onSlideChange: [{
2586
+ type: i0.Output,
2587
+ args: ["onSlideChange"]
2588
+ }]
2589
+ }
2590
+ });
2591
+ var CarouselModule = class CarouselModule {
2592
+ static ɵfac = i0.ɵɵngDeclareFactory({
2593
+ minVersion: "12.0.0",
2594
+ version: "22.2.3",
2595
+ ngImport: i0,
2596
+ type: CarouselModule,
2597
+ deps: [],
2598
+ target: i0.ɵɵFactoryTarget.NgModule
2599
+ });
2600
+ static ɵmod = i0.ɵɵngDeclareNgModule({
2601
+ minVersion: "14.0.0",
2602
+ version: "22.2.3",
2603
+ ngImport: i0,
2604
+ type: CarouselModule,
2605
+ imports: [
2606
+ Carousel,
2607
+ CarouselContent,
2608
+ CarouselItem,
2609
+ CarouselNext,
2610
+ CarouselPrev,
2611
+ CarouselIndicators,
2612
+ CarouselIndicator,
2613
+ SharedModule
2614
+ ],
2615
+ exports: [
2616
+ Carousel,
2617
+ CarouselContent,
2618
+ CarouselItem,
2619
+ CarouselNext,
2620
+ CarouselPrev,
2621
+ CarouselIndicators,
2622
+ CarouselIndicator,
2623
+ SharedModule
2624
+ ]
2625
+ });
2626
+ static ɵinj = i0.ɵɵngDeclareInjector({
2627
+ minVersion: "12.0.0",
2628
+ version: "22.2.3",
2629
+ ngImport: i0,
2630
+ type: CarouselModule,
2631
+ imports: [
2632
+ Carousel,
2633
+ CarouselContent,
2634
+ CarouselItem,
2635
+ CarouselIndicators,
2636
+ SharedModule,
2637
+ SharedModule
2638
+ ]
2639
+ });
2640
+ };
2641
+ i0.ɵɵngDeclareClassMetadata({
2642
+ minVersion: "12.0.0",
2643
+ version: "22.2.3",
2644
+ ngImport: i0,
2645
+ type: CarouselModule,
2646
+ decorators: [{
2647
+ type: NgModule,
2648
+ args: [{
2649
+ imports: [
2650
+ Carousel,
2651
+ CarouselContent,
2652
+ CarouselItem,
2653
+ CarouselNext,
2654
+ CarouselPrev,
2655
+ CarouselIndicators,
2656
+ CarouselIndicator,
2657
+ SharedModule
2658
+ ],
2659
+ exports: [
2660
+ Carousel,
2661
+ CarouselContent,
2662
+ CarouselItem,
2663
+ CarouselNext,
2664
+ CarouselPrev,
2665
+ CarouselIndicators,
2666
+ CarouselIndicator,
2667
+ SharedModule
2668
+ ]
2669
+ }]
2670
+ }]
2671
+ });
2050
2672
  export { Carousel, CarouselClasses, CarouselContent, CarouselIndicator, CarouselIndicators, CarouselItem, CarouselModule, CarouselNext, CarouselPrev, CarouselStyle };
2051
- //# sourceMappingURL=primeng-carousel.mjs.map
2673
+