primeng 22.1.1 → 22.1.2

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