primeng 22.1.1 → 22.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (854) hide show
  1. package/fesm2022/primeng-accordion.mjs +999 -596
  2. package/fesm2022/primeng-animateonscroll.mjs +265 -174
  3. package/fesm2022/primeng-api.mjs +887 -848
  4. package/fesm2022/primeng-autocomplete.mjs +2535 -1633
  5. package/fesm2022/primeng-autofocus.mjs +113 -77
  6. package/fesm2022/primeng-avatar.mjs +329 -189
  7. package/fesm2022/primeng-avatargroup.mjs +177 -95
  8. package/fesm2022/primeng-badge.mjs +289 -156
  9. package/fesm2022/primeng-base.mjs +105 -83
  10. package/fesm2022/primeng-basecomponent.mjs +592 -478
  11. package/fesm2022/primeng-baseeditableholder.mjs +130 -74
  12. package/fesm2022/primeng-baseinput.mjs +213 -99
  13. package/fesm2022/primeng-basemodelholder.mjs +38 -26
  14. package/fesm2022/primeng-bind.mjs +157 -97
  15. package/fesm2022/primeng-blockui.mjs +359 -225
  16. package/fesm2022/primeng-breadcrumb.mjs +457 -220
  17. package/fesm2022/primeng-button.mjs +1562 -710
  18. package/fesm2022/primeng-buttongroup.mjs +126 -75
  19. package/fesm2022/primeng-card.mjs +388 -178
  20. package/fesm2022/primeng-carousel.mjs +2398 -1776
  21. package/fesm2022/primeng-cascadeselect.mjs +2380 -1407
  22. package/fesm2022/primeng-chart.mjs +401 -231
  23. package/fesm2022/primeng-checkbox.mjs +649 -351
  24. package/fesm2022/primeng-chip.mjs +410 -224
  25. package/fesm2022/primeng-classnames.mjs +94 -48
  26. package/fesm2022/primeng-colorpicker.mjs +889 -635
  27. package/fesm2022/primeng-commandmenu.mjs +567 -313
  28. package/fesm2022/primeng-compare.mjs +842 -481
  29. package/fesm2022/primeng-config.mjs +436 -321
  30. package/fesm2022/primeng-confirmdialog.mjs +1196 -536
  31. package/fesm2022/primeng-confirmpopup.mjs +815 -522
  32. package/fesm2022/primeng-contextmenu.mjs +1871 -1090
  33. package/fesm2022/primeng-dataview.mjs +1129 -550
  34. package/fesm2022/primeng-datepicker.mjs +3783 -3366
  35. package/fesm2022/primeng-dialog.mjs +1649 -977
  36. package/fesm2022/primeng-divider.mjs +271 -146
  37. package/fesm2022/primeng-dock.mjs +608 -391
  38. package/fesm2022/primeng-dom.mjs +611 -767
  39. package/fesm2022/primeng-dragdrop.mjs +324 -312
  40. package/fesm2022/primeng-drawer.mjs +911 -484
  41. package/fesm2022/primeng-dynamicdialog.mjs +829 -917
  42. package/fesm2022/primeng-editor.mjs +546 -391
  43. package/fesm2022/primeng-fieldset.mjs +559 -273
  44. package/fesm2022/primeng-fileupload.mjs +1843 -1062
  45. package/fesm2022/primeng-floatlabel.mjs +186 -102
  46. package/fesm2022/primeng-fluid.mjs +155 -85
  47. package/fesm2022/primeng-focustrap.mjs +149 -112
  48. package/fesm2022/primeng-galleria.mjs +2594 -1412
  49. package/fesm2022/primeng-gallery.mjs +2767 -1796
  50. package/fesm2022/primeng-iconfield.mjs +191 -93
  51. package/fesm2022/primeng-icons-angledoubledown.mjs +40 -23
  52. package/fesm2022/primeng-icons-angledoubleleft.mjs +40 -23
  53. package/fesm2022/primeng-icons-angledoubleright.mjs +40 -23
  54. package/fesm2022/primeng-icons-angledoubleup.mjs +40 -23
  55. package/fesm2022/primeng-icons-angledown.mjs +40 -23
  56. package/fesm2022/primeng-icons-angleleft.mjs +40 -23
  57. package/fesm2022/primeng-icons-angleright.mjs +40 -23
  58. package/fesm2022/primeng-icons-angleup.mjs +40 -23
  59. package/fesm2022/primeng-icons-arrowdown.mjs +44 -28
  60. package/fesm2022/primeng-icons-arrowdownleft.mjs +40 -23
  61. package/fesm2022/primeng-icons-arrowdownright.mjs +40 -23
  62. package/fesm2022/primeng-icons-arrowleft.mjs +44 -28
  63. package/fesm2022/primeng-icons-arrowright.mjs +40 -23
  64. package/fesm2022/primeng-icons-arrowup.mjs +44 -28
  65. package/fesm2022/primeng-icons-ban.mjs +44 -28
  66. package/fesm2022/primeng-icons-bars.mjs +40 -23
  67. package/fesm2022/primeng-icons-baseicon.mjs +110 -67
  68. package/fesm2022/primeng-icons-blank.mjs +39 -22
  69. package/fesm2022/primeng-icons-calendar.mjs +40 -23
  70. package/fesm2022/primeng-icons-caretleft.mjs +40 -23
  71. package/fesm2022/primeng-icons-caretright.mjs +40 -23
  72. package/fesm2022/primeng-icons-check.mjs +40 -23
  73. package/fesm2022/primeng-icons-chevrondown.mjs +40 -23
  74. package/fesm2022/primeng-icons-chevronleft.mjs +40 -23
  75. package/fesm2022/primeng-icons-chevronright.mjs +40 -23
  76. package/fesm2022/primeng-icons-chevronup.mjs +40 -23
  77. package/fesm2022/primeng-icons-exclamationtriangle.mjs +44 -28
  78. package/fesm2022/primeng-icons-eye.mjs +40 -23
  79. package/fesm2022/primeng-icons-eyeslash.mjs +44 -28
  80. package/fesm2022/primeng-icons-filter.mjs +44 -28
  81. package/fesm2022/primeng-icons-filterfill.mjs +40 -23
  82. package/fesm2022/primeng-icons-filterslash.mjs +44 -28
  83. package/fesm2022/primeng-icons-home.mjs +44 -28
  84. package/fesm2022/primeng-icons-infocircle.mjs +44 -28
  85. package/fesm2022/primeng-icons-minus.mjs +40 -23
  86. package/fesm2022/primeng-icons-pencil.mjs +44 -28
  87. package/fesm2022/primeng-icons-plus.mjs +44 -28
  88. package/fesm2022/primeng-icons-refresh.mjs +44 -28
  89. package/fesm2022/primeng-icons-search.mjs +44 -28
  90. package/fesm2022/primeng-icons-searchminus.mjs +44 -28
  91. package/fesm2022/primeng-icons-searchplus.mjs +44 -28
  92. package/fesm2022/primeng-icons-sortalt.mjs +44 -28
  93. package/fesm2022/primeng-icons-sortamountdown.mjs +44 -28
  94. package/fesm2022/primeng-icons-sortamountupalt.mjs +44 -28
  95. package/fesm2022/primeng-icons-spinner.mjs +44 -28
  96. package/fesm2022/primeng-icons-star.mjs +44 -28
  97. package/fesm2022/primeng-icons-starfill.mjs +44 -28
  98. package/fesm2022/primeng-icons-thlarge.mjs +44 -28
  99. package/fesm2022/primeng-icons-times.mjs +40 -23
  100. package/fesm2022/primeng-icons-timescircle.mjs +44 -28
  101. package/fesm2022/primeng-icons-trash.mjs +44 -28
  102. package/fesm2022/primeng-icons-undo.mjs +44 -28
  103. package/fesm2022/primeng-icons-upload.mjs +44 -28
  104. package/fesm2022/primeng-icons-windowmaximize.mjs +44 -28
  105. package/fesm2022/primeng-icons-windowminimize.mjs +44 -28
  106. package/fesm2022/primeng-icons.mjs +53 -63
  107. package/fesm2022/primeng-iftalabel.mjs +152 -86
  108. package/fesm2022/primeng-image.mjs +1022 -534
  109. package/fesm2022/primeng-imagecompare.mjs +324 -165
  110. package/fesm2022/primeng-inplace.mjs +400 -199
  111. package/fesm2022/primeng-inputcolor.mjs +2626 -2189
  112. package/fesm2022/primeng-inputgroup.mjs +158 -91
  113. package/fesm2022/primeng-inputgroupaddon.mjs +152 -68
  114. package/fesm2022/primeng-inputicon.mjs +172 -72
  115. package/fesm2022/primeng-inputmask.mjs +1606 -1387
  116. package/fesm2022/primeng-inputnumber.mjs +1645 -1305
  117. package/fesm2022/primeng-inputotp.mjs +570 -376
  118. package/fesm2022/primeng-inputpassword.mjs +178 -96
  119. package/fesm2022/primeng-inputtags.mjs +1211 -588
  120. package/fesm2022/primeng-inputtext.mjs +324 -175
  121. package/fesm2022/primeng-isolation.mjs +280 -0
  122. package/fesm2022/primeng-keyfilter.mjs +267 -244
  123. package/fesm2022/primeng-knob.mjs +625 -405
  124. package/fesm2022/primeng-label.mjs +142 -81
  125. package/fesm2022/primeng-license.mjs +9 -36
  126. package/fesm2022/primeng-listbox.mjs +2426 -1622
  127. package/fesm2022/primeng-megamenu.mjs +2008 -1143
  128. package/fesm2022/primeng-menu.mjs +1434 -852
  129. package/fesm2022/primeng-menubar.mjs +1836 -996
  130. package/fesm2022/primeng-message.mjs +471 -239
  131. package/fesm2022/primeng-metergroup.mjs +662 -331
  132. package/fesm2022/primeng-motion.mjs +1178 -690
  133. package/fesm2022/primeng-multiselect.mjs +3421 -1940
  134. package/fesm2022/primeng-orderlist.mjs +1320 -668
  135. package/fesm2022/primeng-organizationchart.mjs +911 -595
  136. package/fesm2022/primeng-overlay.mjs +933 -626
  137. package/fesm2022/primeng-overlaybadge.mjs +290 -107
  138. package/fesm2022/primeng-paginator.mjs +961 -503
  139. package/fesm2022/primeng-panel.mjs +668 -345
  140. package/fesm2022/primeng-panelmenu.mjs +1845 -1002
  141. package/fesm2022/primeng-passthrough.mjs +7 -16
  142. package/fesm2022/primeng-password.mjs +1517 -866
  143. package/fesm2022/primeng-picklist.mjs +2278 -1256
  144. package/fesm2022/primeng-popover.mjs +658 -438
  145. package/fesm2022/primeng-progressbar.mjs +345 -168
  146. package/fesm2022/primeng-progressspinner.mjs +337 -188
  147. package/fesm2022/primeng-radiobutton.mjs +498 -292
  148. package/fesm2022/primeng-rating.mjs +583 -354
  149. package/fesm2022/primeng-ripple.mjs +195 -184
  150. package/fesm2022/primeng-scrollarea.mjs +1017 -721
  151. package/fesm2022/primeng-scroller.mjs +1388 -1083
  152. package/fesm2022/primeng-scrollpanel.mjs +567 -480
  153. package/fesm2022/primeng-scrolltop.mjs +510 -262
  154. package/fesm2022/primeng-select.mjs +3073 -1793
  155. package/fesm2022/primeng-selectbutton.mjs +628 -339
  156. package/fesm2022/primeng-sidebar.mjs +2559 -1416
  157. package/fesm2022/primeng-skeleton.mjs +299 -157
  158. package/fesm2022/primeng-slider.mjs +840 -604
  159. package/fesm2022/primeng-speeddial.mjs +1118 -719
  160. package/fesm2022/primeng-splitbutton.mjs +887 -339
  161. package/fesm2022/primeng-splitter.mjs +996 -759
  162. package/fesm2022/primeng-stepper.mjs +1356 -643
  163. package/fesm2022/primeng-steps.mjs +396 -304
  164. package/fesm2022/primeng-styleclass.mjs +447 -334
  165. package/fesm2022/primeng-table.mjs +9827 -5913
  166. package/fesm2022/primeng-tabs.mjs +1356 -831
  167. package/fesm2022/primeng-tag.mjs +304 -151
  168. package/fesm2022/primeng-terminal.mjs +367 -216
  169. package/fesm2022/primeng-textarea.mjs +344 -208
  170. package/fesm2022/primeng-tieredmenu.mjs +1921 -1129
  171. package/fesm2022/primeng-timeline.mjs +303 -165
  172. package/fesm2022/primeng-toast.mjs +1384 -922
  173. package/fesm2022/primeng-togglebutton.mjs +562 -309
  174. package/fesm2022/primeng-toggleswitch.mjs +463 -237
  175. package/fesm2022/primeng-toolbar.mjs +298 -129
  176. package/fesm2022/primeng-tooltip.mjs +1017 -778
  177. package/fesm2022/primeng-tree.mjs +2680 -1877
  178. package/fesm2022/primeng-treeselect.mjs +1683 -945
  179. package/fesm2022/primeng-treetable.mjs +5868 -3768
  180. package/fesm2022/primeng-ts-helpers.mjs +0 -4
  181. package/fesm2022/primeng-types-accordion.mjs +0 -4
  182. package/fesm2022/primeng-types-autocomplete.mjs +0 -4
  183. package/fesm2022/primeng-types-avatar.mjs +0 -4
  184. package/fesm2022/primeng-types-avatargroup.mjs +0 -4
  185. package/fesm2022/primeng-types-badge.mjs +0 -4
  186. package/fesm2022/primeng-types-blockui.mjs +0 -4
  187. package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
  188. package/fesm2022/primeng-types-button.mjs +0 -4
  189. package/fesm2022/primeng-types-card.mjs +0 -4
  190. package/fesm2022/primeng-types-carousel.mjs +0 -4
  191. package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
  192. package/fesm2022/primeng-types-chart.mjs +0 -4
  193. package/fesm2022/primeng-types-checkbox.mjs +0 -4
  194. package/fesm2022/primeng-types-chip.mjs +0 -4
  195. package/fesm2022/primeng-types-colorpicker.mjs +0 -4
  196. package/fesm2022/primeng-types-commandmenu.mjs +0 -4
  197. package/fesm2022/primeng-types-compare.mjs +0 -4
  198. package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
  199. package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
  200. package/fesm2022/primeng-types-contextmenu.mjs +0 -4
  201. package/fesm2022/primeng-types-dataview.mjs +0 -4
  202. package/fesm2022/primeng-types-datepicker.mjs +0 -4
  203. package/fesm2022/primeng-types-dialog.mjs +0 -4
  204. package/fesm2022/primeng-types-divider.mjs +0 -4
  205. package/fesm2022/primeng-types-dock.mjs +0 -4
  206. package/fesm2022/primeng-types-drawer.mjs +0 -4
  207. package/fesm2022/primeng-types-editor.mjs +0 -4
  208. package/fesm2022/primeng-types-fieldset.mjs +0 -4
  209. package/fesm2022/primeng-types-fileupload.mjs +0 -4
  210. package/fesm2022/primeng-types-floatlabel.mjs +0 -4
  211. package/fesm2022/primeng-types-fluid.mjs +0 -4
  212. package/fesm2022/primeng-types-galleria.mjs +0 -4
  213. package/fesm2022/primeng-types-gallery.mjs +0 -4
  214. package/fesm2022/primeng-types-iconfield.mjs +0 -4
  215. package/fesm2022/primeng-types-iftalabel.mjs +0 -4
  216. package/fesm2022/primeng-types-image.mjs +0 -4
  217. package/fesm2022/primeng-types-imagecompare.mjs +0 -4
  218. package/fesm2022/primeng-types-inplace.mjs +0 -4
  219. package/fesm2022/primeng-types-inputcolor.mjs +0 -4
  220. package/fesm2022/primeng-types-inputgroup.mjs +0 -4
  221. package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
  222. package/fesm2022/primeng-types-inputicon.mjs +0 -4
  223. package/fesm2022/primeng-types-inputmask.mjs +0 -4
  224. package/fesm2022/primeng-types-inputnumber.mjs +0 -4
  225. package/fesm2022/primeng-types-inputotp.mjs +0 -4
  226. package/fesm2022/primeng-types-inputpassword.mjs +0 -4
  227. package/fesm2022/primeng-types-inputtags.mjs +0 -4
  228. package/fesm2022/primeng-types-inputtext.mjs +0 -4
  229. package/fesm2022/primeng-types-knob.mjs +0 -4
  230. package/fesm2022/primeng-types-label.mjs +0 -4
  231. package/fesm2022/primeng-types-listbox.mjs +0 -4
  232. package/fesm2022/primeng-types-megamenu.mjs +0 -4
  233. package/fesm2022/primeng-types-menu.mjs +0 -4
  234. package/fesm2022/primeng-types-menubar.mjs +0 -4
  235. package/fesm2022/primeng-types-message.mjs +0 -4
  236. package/fesm2022/primeng-types-metergroup.mjs +0 -4
  237. package/fesm2022/primeng-types-motion.mjs +0 -4
  238. package/fesm2022/primeng-types-multiselect.mjs +0 -4
  239. package/fesm2022/primeng-types-orderlist.mjs +0 -4
  240. package/fesm2022/primeng-types-organizationchart.mjs +0 -4
  241. package/fesm2022/primeng-types-overlay.mjs +0 -4
  242. package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
  243. package/fesm2022/primeng-types-paginator.mjs +0 -4
  244. package/fesm2022/primeng-types-panel.mjs +0 -4
  245. package/fesm2022/primeng-types-panelmenu.mjs +0 -4
  246. package/fesm2022/primeng-types-password.mjs +0 -4
  247. package/fesm2022/primeng-types-picklist.mjs +0 -4
  248. package/fesm2022/primeng-types-popover.mjs +0 -4
  249. package/fesm2022/primeng-types-progressbar.mjs +0 -4
  250. package/fesm2022/primeng-types-progressspinner.mjs +0 -4
  251. package/fesm2022/primeng-types-radiobutton.mjs +0 -4
  252. package/fesm2022/primeng-types-rating.mjs +0 -4
  253. package/fesm2022/primeng-types-scrollarea.mjs +0 -4
  254. package/fesm2022/primeng-types-scroller.mjs +0 -4
  255. package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
  256. package/fesm2022/primeng-types-scrolltop.mjs +0 -4
  257. package/fesm2022/primeng-types-select.mjs +0 -4
  258. package/fesm2022/primeng-types-selectbutton.mjs +0 -4
  259. package/fesm2022/primeng-types-shared.mjs +0 -4
  260. package/fesm2022/primeng-types-sidebar.mjs +0 -4
  261. package/fesm2022/primeng-types-skeleton.mjs +0 -4
  262. package/fesm2022/primeng-types-slider.mjs +0 -4
  263. package/fesm2022/primeng-types-speeddial.mjs +0 -4
  264. package/fesm2022/primeng-types-splitbutton.mjs +0 -4
  265. package/fesm2022/primeng-types-splitter.mjs +0 -4
  266. package/fesm2022/primeng-types-stepper.mjs +0 -4
  267. package/fesm2022/primeng-types-table.mjs +0 -4
  268. package/fesm2022/primeng-types-tabs.mjs +0 -4
  269. package/fesm2022/primeng-types-tag.mjs +0 -4
  270. package/fesm2022/primeng-types-terminal.mjs +0 -4
  271. package/fesm2022/primeng-types-textarea.mjs +0 -4
  272. package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
  273. package/fesm2022/primeng-types-timeline.mjs +0 -4
  274. package/fesm2022/primeng-types-toast.mjs +0 -4
  275. package/fesm2022/primeng-types-togglebutton.mjs +0 -4
  276. package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
  277. package/fesm2022/primeng-types-toolbar.mjs +0 -4
  278. package/fesm2022/primeng-types-tooltip.mjs +0 -4
  279. package/fesm2022/primeng-types-tree.mjs +0 -4
  280. package/fesm2022/primeng-types-treeselect.mjs +0 -4
  281. package/fesm2022/primeng-types-treetable.mjs +0 -4
  282. package/fesm2022/primeng-useid.mjs +38 -0
  283. package/fesm2022/primeng-usestyle.mjs +325 -112
  284. package/fesm2022/primeng-utils.mjs +267 -317
  285. package/fesm2022/primeng.mjs +0 -5
  286. package/package.json +17 -4
  287. package/types/primeng-accordion.d.ts +280 -219
  288. package/types/primeng-animateonscroll.d.ts +89 -60
  289. package/types/primeng-api.d.ts +1755 -1789
  290. package/types/primeng-autocomplete.d.ts +1051 -754
  291. package/types/primeng-autofocus.d.ts +27 -24
  292. package/types/primeng-avatar.d.ts +152 -114
  293. package/types/primeng-avatargroup.d.ts +45 -40
  294. package/types/primeng-badge.d.ts +104 -78
  295. package/types/primeng-base.d.ts +51 -52
  296. package/types/primeng-basecomponent.d.ts +209 -174
  297. package/types/primeng-baseeditableholder.d.ts +63 -45
  298. package/types/primeng-baseinput.d.ts +122 -74
  299. package/types/primeng-basemodelholder.d.ts +9 -12
  300. package/types/primeng-bind.d.ts +36 -32
  301. package/types/primeng-blockui.d.ts +99 -80
  302. package/types/primeng-breadcrumb.d.ts +159 -133
  303. package/types/primeng-button.d.ts +688 -426
  304. package/types/primeng-buttongroup.d.ts +26 -30
  305. package/types/primeng-card.d.ts +130 -119
  306. package/types/primeng-carousel.d.ts +777 -629
  307. package/types/primeng-cascadeselect.d.ts +753 -562
  308. package/types/primeng-chart.d.ts +158 -112
  309. package/types/primeng-checkbox.d.ts +298 -208
  310. package/types/primeng-chip.d.ts +187 -143
  311. package/types/primeng-classnames.d.ts +23 -21
  312. package/types/primeng-colorpicker.d.ts +324 -269
  313. package/types/primeng-commandmenu.d.ts +213 -165
  314. package/types/primeng-compare.d.ts +258 -189
  315. package/types/primeng-config.d.ts +319 -304
  316. package/types/primeng-confirmdialog.d.ts +505 -325
  317. package/types/primeng-confirmpopup.d.ts +251 -207
  318. package/types/primeng-contextmenu.d.ts +522 -366
  319. package/types/primeng-dataview.d.ts +497 -342
  320. package/types/primeng-datepicker.d.ts +1258 -969
  321. package/types/primeng-dialog.d.ts +668 -462
  322. package/types/primeng-divider.d.ts +112 -96
  323. package/types/primeng-dock.d.ts +206 -172
  324. package/types/primeng-dom.d.ts +99 -107
  325. package/types/primeng-dragdrop.d.ts +143 -107
  326. package/types/primeng-drawer.d.ts +354 -254
  327. package/types/primeng-dynamicdialog.d.ts +528 -534
  328. package/types/primeng-editor.d.ts +210 -162
  329. package/types/primeng-fieldset.d.ts +198 -163
  330. package/types/primeng-fileupload.d.ts +726 -523
  331. package/types/primeng-floatlabel.d.ts +54 -48
  332. package/types/primeng-fluid.d.ts +36 -36
  333. package/types/primeng-focustrap.d.ts +30 -27
  334. package/types/primeng-galleria.d.ts +569 -430
  335. package/types/primeng-gallery.d.ts +668 -529
  336. package/types/primeng-iconfield.d.ts +53 -42
  337. package/types/primeng-icons-angledoubledown.d.ts +6 -9
  338. package/types/primeng-icons-angledoubleleft.d.ts +6 -9
  339. package/types/primeng-icons-angledoubleright.d.ts +6 -9
  340. package/types/primeng-icons-angledoubleup.d.ts +6 -9
  341. package/types/primeng-icons-angledown.d.ts +6 -9
  342. package/types/primeng-icons-angleleft.d.ts +6 -9
  343. package/types/primeng-icons-angleright.d.ts +6 -9
  344. package/types/primeng-icons-angleup.d.ts +6 -9
  345. package/types/primeng-icons-arrowdown.d.ts +8 -11
  346. package/types/primeng-icons-arrowdownleft.d.ts +6 -9
  347. package/types/primeng-icons-arrowdownright.d.ts +6 -9
  348. package/types/primeng-icons-arrowleft.d.ts +8 -11
  349. package/types/primeng-icons-arrowright.d.ts +6 -9
  350. package/types/primeng-icons-arrowup.d.ts +8 -11
  351. package/types/primeng-icons-ban.d.ts +8 -11
  352. package/types/primeng-icons-bars.d.ts +6 -9
  353. package/types/primeng-icons-baseicon.d.ts +23 -22
  354. package/types/primeng-icons-blank.d.ts +6 -9
  355. package/types/primeng-icons-calendar.d.ts +6 -9
  356. package/types/primeng-icons-caretleft.d.ts +6 -9
  357. package/types/primeng-icons-caretright.d.ts +6 -9
  358. package/types/primeng-icons-check.d.ts +6 -9
  359. package/types/primeng-icons-chevrondown.d.ts +6 -9
  360. package/types/primeng-icons-chevronleft.d.ts +6 -9
  361. package/types/primeng-icons-chevronright.d.ts +6 -9
  362. package/types/primeng-icons-chevronup.d.ts +6 -9
  363. package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
  364. package/types/primeng-icons-eye.d.ts +6 -9
  365. package/types/primeng-icons-eyeslash.d.ts +8 -11
  366. package/types/primeng-icons-filter.d.ts +8 -11
  367. package/types/primeng-icons-filterfill.d.ts +6 -9
  368. package/types/primeng-icons-filterslash.d.ts +8 -11
  369. package/types/primeng-icons-home.d.ts +8 -11
  370. package/types/primeng-icons-infocircle.d.ts +8 -11
  371. package/types/primeng-icons-minus.d.ts +6 -9
  372. package/types/primeng-icons-pencil.d.ts +8 -11
  373. package/types/primeng-icons-plus.d.ts +8 -11
  374. package/types/primeng-icons-refresh.d.ts +8 -11
  375. package/types/primeng-icons-search.d.ts +8 -11
  376. package/types/primeng-icons-searchminus.d.ts +8 -11
  377. package/types/primeng-icons-searchplus.d.ts +8 -11
  378. package/types/primeng-icons-sortalt.d.ts +8 -11
  379. package/types/primeng-icons-sortamountdown.d.ts +8 -11
  380. package/types/primeng-icons-sortamountupalt.d.ts +8 -11
  381. package/types/primeng-icons-spinner.d.ts +8 -11
  382. package/types/primeng-icons-star.d.ts +8 -11
  383. package/types/primeng-icons-starfill.d.ts +8 -11
  384. package/types/primeng-icons-thlarge.d.ts +8 -11
  385. package/types/primeng-icons-times.d.ts +6 -9
  386. package/types/primeng-icons-timescircle.d.ts +8 -11
  387. package/types/primeng-icons-trash.d.ts +8 -11
  388. package/types/primeng-icons-undo.d.ts +8 -11
  389. package/types/primeng-icons-upload.d.ts +8 -11
  390. package/types/primeng-icons-windowmaximize.d.ts +8 -11
  391. package/types/primeng-icons-windowminimize.d.ts +8 -11
  392. package/types/primeng-icons.d.ts +53 -53
  393. package/types/primeng-iftalabel.d.ts +37 -37
  394. package/types/primeng-image.d.ts +403 -308
  395. package/types/primeng-imagecompare.d.ts +93 -77
  396. package/types/primeng-inplace.d.ts +125 -111
  397. package/types/primeng-inputcolor.d.ts +590 -484
  398. package/types/primeng-inputgroup.d.ts +41 -41
  399. package/types/primeng-inputgroupaddon.d.ts +31 -31
  400. package/types/primeng-inputicon.d.ts +38 -32
  401. package/types/primeng-inputmask.d.ts +519 -362
  402. package/types/primeng-inputnumber.d.ts +572 -405
  403. package/types/primeng-inputotp.d.ts +205 -156
  404. package/types/primeng-inputpassword.d.ts +59 -43
  405. package/types/primeng-inputtags.d.ts +451 -297
  406. package/types/primeng-inputtext.d.ts +129 -93
  407. package/types/primeng-isolation.d.ts +21 -0
  408. package/types/primeng-keyfilter.d.ts +62 -53
  409. package/types/primeng-knob.d.ts +256 -183
  410. package/types/primeng-label.d.ts +36 -36
  411. package/types/primeng-license.d.ts +1 -3
  412. package/types/primeng-listbox.d.ts +1041 -786
  413. package/types/primeng-megamenu.d.ts +539 -383
  414. package/types/primeng-menu.d.ts +477 -361
  415. package/types/primeng-menubar.d.ts +495 -354
  416. package/types/primeng-message.d.ts +191 -148
  417. package/types/primeng-metergroup.d.ts +249 -187
  418. package/types/primeng-motion.d.ts +596 -383
  419. package/types/primeng-multiselect.d.ts +1194 -858
  420. package/types/primeng-orderlist.d.ts +539 -390
  421. package/types/primeng-organizationchart.d.ts +235 -192
  422. package/types/primeng-overlay.d.ts +394 -294
  423. package/types/primeng-overlaybadge.d.ts +95 -64
  424. package/types/primeng-paginator.d.ts +409 -309
  425. package/types/primeng-panel.d.ts +267 -217
  426. package/types/primeng-panelmenu.d.ts +254 -228
  427. package/types/primeng-passthrough.d.ts +5 -7
  428. package/types/primeng-password.d.ts +605 -430
  429. package/types/primeng-picklist.d.ts +1042 -756
  430. package/types/primeng-popover.d.ts +235 -176
  431. package/types/primeng-progressbar.d.ts +130 -99
  432. package/types/primeng-progressspinner.d.ts +144 -108
  433. package/types/primeng-radiobutton.d.ts +218 -168
  434. package/types/primeng-rating.d.ts +239 -189
  435. package/types/primeng-ripple.d.ts +38 -42
  436. package/types/primeng-scrollarea.d.ts +275 -239
  437. package/types/primeng-scroller.d.ts +523 -387
  438. package/types/primeng-scrollpanel.d.ts +134 -128
  439. package/types/primeng-scrolltop.d.ts +169 -123
  440. package/types/primeng-select.d.ts +1054 -738
  441. package/types/primeng-selectbutton.d.ts +238 -164
  442. package/types/primeng-sidebar.d.ts +699 -535
  443. package/types/primeng-skeleton.d.ts +114 -83
  444. package/types/primeng-slider.d.ts +375 -306
  445. package/types/primeng-speeddial.d.ts +492 -370
  446. package/types/primeng-splitbutton.d.ts +381 -240
  447. package/types/primeng-splitter.d.ts +389 -299
  448. package/types/primeng-stepper.d.ts +405 -250
  449. package/types/primeng-steps.d.ts +157 -134
  450. package/types/primeng-styleclass.d.ts +163 -105
  451. package/types/primeng-table.d.ts +2826 -1912
  452. package/types/primeng-tabs.d.ts +452 -300
  453. package/types/primeng-tag.d.ts +106 -85
  454. package/types/primeng-terminal.d.ts +131 -117
  455. package/types/primeng-textarea.d.ts +145 -107
  456. package/types/primeng-tieredmenu.d.ts +572 -398
  457. package/types/primeng-timeline.d.ts +125 -109
  458. package/types/primeng-toast.d.ts +312 -247
  459. package/types/primeng-togglebutton.d.ts +254 -182
  460. package/types/primeng-toggleswitch.d.ts +188 -140
  461. package/types/primeng-toolbar.d.ts +82 -76
  462. package/types/primeng-tooltip.d.ts +334 -232
  463. package/types/primeng-tree.d.ts +762 -559
  464. package/types/primeng-treeselect.d.ts +749 -547
  465. package/types/primeng-treetable.d.ts +1752 -1314
  466. package/types/primeng-ts-helpers.d.ts +4 -6
  467. package/types/primeng-types-accordion.d.ts +58 -62
  468. package/types/primeng-types-autocomplete.d.ts +230 -233
  469. package/types/primeng-types-avatar.d.ts +25 -28
  470. package/types/primeng-types-avatargroup.d.ts +11 -14
  471. package/types/primeng-types-badge.d.ts +13 -16
  472. package/types/primeng-types-blockui.d.ts +18 -21
  473. package/types/primeng-types-breadcrumb.d.ts +65 -68
  474. package/types/primeng-types-button.d.ts +106 -109
  475. package/types/primeng-types-card.d.ts +54 -57
  476. package/types/primeng-types-carousel.d.ts +143 -146
  477. package/types/primeng-types-cascadeselect.d.ts +186 -192
  478. package/types/primeng-types-chart.d.ts +34 -39
  479. package/types/primeng-types-checkbox.d.ts +52 -55
  480. package/types/primeng-types-chip.d.ts +48 -51
  481. package/types/primeng-types-colorpicker.d.ts +59 -62
  482. package/types/primeng-types-commandmenu.d.ts +98 -101
  483. package/types/primeng-types-compare.d.ts +33 -36
  484. package/types/primeng-types-confirmdialog.d.ts +124 -127
  485. package/types/primeng-types-confirmpopup.d.ts +75 -78
  486. package/types/primeng-types-contextmenu.d.ts +100 -103
  487. package/types/primeng-types-dataview.d.ts +180 -183
  488. package/types/primeng-types-datepicker.d.ts +442 -445
  489. package/types/primeng-types-dialog.d.ts +93 -96
  490. package/types/primeng-types-divider.d.ts +14 -17
  491. package/types/primeng-types-dock.d.ts +45 -48
  492. package/types/primeng-types-drawer.d.ts +62 -65
  493. package/types/primeng-types-editor.d.ts +143 -146
  494. package/types/primeng-types-fieldset.d.ts +83 -87
  495. package/types/primeng-types-fileupload.d.ts +296 -301
  496. package/types/primeng-types-floatlabel.d.ts +12 -15
  497. package/types/primeng-types-fluid.d.ts +11 -14
  498. package/types/primeng-types-galleria.d.ts +209 -212
  499. package/types/primeng-types-gallery.d.ts +195 -198
  500. package/types/primeng-types-iconfield.d.ts +12 -15
  501. package/types/primeng-types-iftalabel.d.ts +11 -14
  502. package/types/primeng-types-image.d.ts +118 -121
  503. package/types/primeng-types-imagecompare.d.ts +22 -25
  504. package/types/primeng-types-inplace.d.ts +46 -49
  505. package/types/primeng-types-inputcolor.d.ts +86 -89
  506. package/types/primeng-types-inputgroup.d.ts +11 -14
  507. package/types/primeng-types-inputgroupaddon.d.ts +11 -14
  508. package/types/primeng-types-inputicon.d.ts +11 -14
  509. package/types/primeng-types-inputmask.d.ts +30 -33
  510. package/types/primeng-types-inputnumber.d.ts +72 -75
  511. package/types/primeng-types-inputotp.d.ts +67 -70
  512. package/types/primeng-types-inputpassword.d.ts +7 -10
  513. package/types/primeng-types-inputtags.d.ts +122 -125
  514. package/types/primeng-types-inputtext.d.ts +7 -10
  515. package/types/primeng-types-knob.d.ts +23 -26
  516. package/types/primeng-types-label.d.ts +7 -10
  517. package/types/primeng-types-listbox.d.ts +263 -267
  518. package/types/primeng-types-megamenu.d.ts +135 -138
  519. package/types/primeng-types-menu.d.ts +98 -101
  520. package/types/primeng-types-menubar.d.ts +122 -125
  521. package/types/primeng-types-message.d.ts +69 -72
  522. package/types/primeng-types-metergroup.d.ts +137 -140
  523. package/types/primeng-types-motion.d.ts +11 -14
  524. package/types/primeng-types-multiselect.d.ts +329 -333
  525. package/types/primeng-types-orderlist.d.ts +126 -129
  526. package/types/primeng-types-organizationchart.d.ts +147 -153
  527. package/types/primeng-types-overlay.d.ts +31 -34
  528. package/types/primeng-types-overlaybadge.d.ts +17 -20
  529. package/types/primeng-types-paginator.d.ts +131 -134
  530. package/types/primeng-types-panel.d.ts +91 -95
  531. package/types/primeng-types-panelmenu.d.ts +150 -153
  532. package/types/primeng-types-password.d.ts +94 -97
  533. package/types/primeng-types-picklist.d.ts +250 -260
  534. package/types/primeng-types-popover.d.ts +33 -36
  535. package/types/primeng-types-progressbar.d.ts +33 -36
  536. package/types/primeng-types-progressspinner.d.ts +27 -30
  537. package/types/primeng-types-radiobutton.d.ts +29 -32
  538. package/types/primeng-types-rating.d.ts +62 -65
  539. package/types/primeng-types-scrollarea.d.ts +35 -38
  540. package/types/primeng-types-scroller.d.ts +142 -146
  541. package/types/primeng-types-scrollpanel.d.ts +31 -34
  542. package/types/primeng-types-scrolltop.d.ts +37 -40
  543. package/types/primeng-types-select.d.ts +255 -254
  544. package/types/primeng-types-selectbutton.d.ts +56 -59
  545. package/types/primeng-types-shared.d.ts +6 -9
  546. package/types/primeng-types-sidebar.d.ts +105 -108
  547. package/types/primeng-types-skeleton.d.ts +11 -14
  548. package/types/primeng-types-slider.d.ts +59 -62
  549. package/types/primeng-types-speeddial.d.ts +71 -74
  550. package/types/primeng-types-splitbutton.d.ts +35 -38
  551. package/types/primeng-types-splitter.d.ts +58 -63
  552. package/types/primeng-types-stepper.d.ts +77 -80
  553. package/types/primeng-types-table.d.ts +743 -749
  554. package/types/primeng-types-tabs.d.ts +48 -51
  555. package/types/primeng-types-tag.d.ts +27 -30
  556. package/types/primeng-types-terminal.d.ts +43 -46
  557. package/types/primeng-types-textarea.d.ts +11 -14
  558. package/types/primeng-types-tieredmenu.d.ts +154 -157
  559. package/types/primeng-types-timeline.d.ts +60 -63
  560. package/types/primeng-types-toast.d.ts +92 -95
  561. package/types/primeng-types-togglebutton.d.ts +52 -55
  562. package/types/primeng-types-toggleswitch.d.ts +41 -44
  563. package/types/primeng-types-toolbar.d.ts +34 -37
  564. package/types/primeng-types-tooltip.d.ts +17 -20
  565. package/types/primeng-types-tree.d.ts +237 -246
  566. package/types/primeng-types-treeselect.d.ts +198 -202
  567. package/types/primeng-types-treetable.d.ts +492 -497
  568. package/types/primeng-useid.d.ts +15 -0
  569. package/types/primeng-usestyle.d.ts +107 -30
  570. package/types/primeng-utils.d.ts +79 -40
  571. package/types/primeng.d.ts +2 -2
  572. package/fesm2022/primeng-accordion.mjs.map +0 -1
  573. package/fesm2022/primeng-animateonscroll.mjs.map +0 -1
  574. package/fesm2022/primeng-api.mjs.map +0 -1
  575. package/fesm2022/primeng-autocomplete.mjs.map +0 -1
  576. package/fesm2022/primeng-autofocus.mjs.map +0 -1
  577. package/fesm2022/primeng-avatar.mjs.map +0 -1
  578. package/fesm2022/primeng-avatargroup.mjs.map +0 -1
  579. package/fesm2022/primeng-badge.mjs.map +0 -1
  580. package/fesm2022/primeng-base.mjs.map +0 -1
  581. package/fesm2022/primeng-basecomponent.mjs.map +0 -1
  582. package/fesm2022/primeng-baseeditableholder.mjs.map +0 -1
  583. package/fesm2022/primeng-baseinput.mjs.map +0 -1
  584. package/fesm2022/primeng-basemodelholder.mjs.map +0 -1
  585. package/fesm2022/primeng-bind.mjs.map +0 -1
  586. package/fesm2022/primeng-blockui.mjs.map +0 -1
  587. package/fesm2022/primeng-breadcrumb.mjs.map +0 -1
  588. package/fesm2022/primeng-button.mjs.map +0 -1
  589. package/fesm2022/primeng-buttongroup.mjs.map +0 -1
  590. package/fesm2022/primeng-card.mjs.map +0 -1
  591. package/fesm2022/primeng-carousel.mjs.map +0 -1
  592. package/fesm2022/primeng-cascadeselect.mjs.map +0 -1
  593. package/fesm2022/primeng-chart.mjs.map +0 -1
  594. package/fesm2022/primeng-checkbox.mjs.map +0 -1
  595. package/fesm2022/primeng-chip.mjs.map +0 -1
  596. package/fesm2022/primeng-classnames.mjs.map +0 -1
  597. package/fesm2022/primeng-colorpicker.mjs.map +0 -1
  598. package/fesm2022/primeng-commandmenu.mjs.map +0 -1
  599. package/fesm2022/primeng-compare.mjs.map +0 -1
  600. package/fesm2022/primeng-config.mjs.map +0 -1
  601. package/fesm2022/primeng-confirmdialog.mjs.map +0 -1
  602. package/fesm2022/primeng-confirmpopup.mjs.map +0 -1
  603. package/fesm2022/primeng-contextmenu.mjs.map +0 -1
  604. package/fesm2022/primeng-dataview.mjs.map +0 -1
  605. package/fesm2022/primeng-datepicker.mjs.map +0 -1
  606. package/fesm2022/primeng-dialog.mjs.map +0 -1
  607. package/fesm2022/primeng-divider.mjs.map +0 -1
  608. package/fesm2022/primeng-dock.mjs.map +0 -1
  609. package/fesm2022/primeng-dom.mjs.map +0 -1
  610. package/fesm2022/primeng-dragdrop.mjs.map +0 -1
  611. package/fesm2022/primeng-drawer.mjs.map +0 -1
  612. package/fesm2022/primeng-dynamicdialog.mjs.map +0 -1
  613. package/fesm2022/primeng-editor.mjs.map +0 -1
  614. package/fesm2022/primeng-fieldset.mjs.map +0 -1
  615. package/fesm2022/primeng-fileupload.mjs.map +0 -1
  616. package/fesm2022/primeng-floatlabel.mjs.map +0 -1
  617. package/fesm2022/primeng-fluid.mjs.map +0 -1
  618. package/fesm2022/primeng-focustrap.mjs.map +0 -1
  619. package/fesm2022/primeng-galleria.mjs.map +0 -1
  620. package/fesm2022/primeng-gallery.mjs.map +0 -1
  621. package/fesm2022/primeng-iconfield.mjs.map +0 -1
  622. package/fesm2022/primeng-icons-angledoubledown.mjs.map +0 -1
  623. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +0 -1
  624. package/fesm2022/primeng-icons-angledoubleright.mjs.map +0 -1
  625. package/fesm2022/primeng-icons-angledoubleup.mjs.map +0 -1
  626. package/fesm2022/primeng-icons-angledown.mjs.map +0 -1
  627. package/fesm2022/primeng-icons-angleleft.mjs.map +0 -1
  628. package/fesm2022/primeng-icons-angleright.mjs.map +0 -1
  629. package/fesm2022/primeng-icons-angleup.mjs.map +0 -1
  630. package/fesm2022/primeng-icons-arrowdown.mjs.map +0 -1
  631. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +0 -1
  632. package/fesm2022/primeng-icons-arrowdownright.mjs.map +0 -1
  633. package/fesm2022/primeng-icons-arrowleft.mjs.map +0 -1
  634. package/fesm2022/primeng-icons-arrowright.mjs.map +0 -1
  635. package/fesm2022/primeng-icons-arrowup.mjs.map +0 -1
  636. package/fesm2022/primeng-icons-ban.mjs.map +0 -1
  637. package/fesm2022/primeng-icons-bars.mjs.map +0 -1
  638. package/fesm2022/primeng-icons-baseicon.mjs.map +0 -1
  639. package/fesm2022/primeng-icons-blank.mjs.map +0 -1
  640. package/fesm2022/primeng-icons-calendar.mjs.map +0 -1
  641. package/fesm2022/primeng-icons-caretleft.mjs.map +0 -1
  642. package/fesm2022/primeng-icons-caretright.mjs.map +0 -1
  643. package/fesm2022/primeng-icons-check.mjs.map +0 -1
  644. package/fesm2022/primeng-icons-chevrondown.mjs.map +0 -1
  645. package/fesm2022/primeng-icons-chevronleft.mjs.map +0 -1
  646. package/fesm2022/primeng-icons-chevronright.mjs.map +0 -1
  647. package/fesm2022/primeng-icons-chevronup.mjs.map +0 -1
  648. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +0 -1
  649. package/fesm2022/primeng-icons-eye.mjs.map +0 -1
  650. package/fesm2022/primeng-icons-eyeslash.mjs.map +0 -1
  651. package/fesm2022/primeng-icons-filter.mjs.map +0 -1
  652. package/fesm2022/primeng-icons-filterfill.mjs.map +0 -1
  653. package/fesm2022/primeng-icons-filterslash.mjs.map +0 -1
  654. package/fesm2022/primeng-icons-home.mjs.map +0 -1
  655. package/fesm2022/primeng-icons-infocircle.mjs.map +0 -1
  656. package/fesm2022/primeng-icons-minus.mjs.map +0 -1
  657. package/fesm2022/primeng-icons-pencil.mjs.map +0 -1
  658. package/fesm2022/primeng-icons-plus.mjs.map +0 -1
  659. package/fesm2022/primeng-icons-refresh.mjs.map +0 -1
  660. package/fesm2022/primeng-icons-search.mjs.map +0 -1
  661. package/fesm2022/primeng-icons-searchminus.mjs.map +0 -1
  662. package/fesm2022/primeng-icons-searchplus.mjs.map +0 -1
  663. package/fesm2022/primeng-icons-sortalt.mjs.map +0 -1
  664. package/fesm2022/primeng-icons-sortamountdown.mjs.map +0 -1
  665. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +0 -1
  666. package/fesm2022/primeng-icons-spinner.mjs.map +0 -1
  667. package/fesm2022/primeng-icons-star.mjs.map +0 -1
  668. package/fesm2022/primeng-icons-starfill.mjs.map +0 -1
  669. package/fesm2022/primeng-icons-thlarge.mjs.map +0 -1
  670. package/fesm2022/primeng-icons-times.mjs.map +0 -1
  671. package/fesm2022/primeng-icons-timescircle.mjs.map +0 -1
  672. package/fesm2022/primeng-icons-trash.mjs.map +0 -1
  673. package/fesm2022/primeng-icons-undo.mjs.map +0 -1
  674. package/fesm2022/primeng-icons-upload.mjs.map +0 -1
  675. package/fesm2022/primeng-icons-windowmaximize.mjs.map +0 -1
  676. package/fesm2022/primeng-icons-windowminimize.mjs.map +0 -1
  677. package/fesm2022/primeng-icons.mjs.map +0 -1
  678. package/fesm2022/primeng-iftalabel.mjs.map +0 -1
  679. package/fesm2022/primeng-image.mjs.map +0 -1
  680. package/fesm2022/primeng-imagecompare.mjs.map +0 -1
  681. package/fesm2022/primeng-inplace.mjs.map +0 -1
  682. package/fesm2022/primeng-inputcolor.mjs.map +0 -1
  683. package/fesm2022/primeng-inputgroup.mjs.map +0 -1
  684. package/fesm2022/primeng-inputgroupaddon.mjs.map +0 -1
  685. package/fesm2022/primeng-inputicon.mjs.map +0 -1
  686. package/fesm2022/primeng-inputmask.mjs.map +0 -1
  687. package/fesm2022/primeng-inputnumber.mjs.map +0 -1
  688. package/fesm2022/primeng-inputotp.mjs.map +0 -1
  689. package/fesm2022/primeng-inputpassword.mjs.map +0 -1
  690. package/fesm2022/primeng-inputtags.mjs.map +0 -1
  691. package/fesm2022/primeng-inputtext.mjs.map +0 -1
  692. package/fesm2022/primeng-keyfilter.mjs.map +0 -1
  693. package/fesm2022/primeng-knob.mjs.map +0 -1
  694. package/fesm2022/primeng-label.mjs.map +0 -1
  695. package/fesm2022/primeng-license.mjs.map +0 -1
  696. package/fesm2022/primeng-listbox.mjs.map +0 -1
  697. package/fesm2022/primeng-megamenu.mjs.map +0 -1
  698. package/fesm2022/primeng-menu.mjs.map +0 -1
  699. package/fesm2022/primeng-menubar.mjs.map +0 -1
  700. package/fesm2022/primeng-message.mjs.map +0 -1
  701. package/fesm2022/primeng-metergroup.mjs.map +0 -1
  702. package/fesm2022/primeng-motion.mjs.map +0 -1
  703. package/fesm2022/primeng-multiselect.mjs.map +0 -1
  704. package/fesm2022/primeng-orderlist.mjs.map +0 -1
  705. package/fesm2022/primeng-organizationchart.mjs.map +0 -1
  706. package/fesm2022/primeng-overlay.mjs.map +0 -1
  707. package/fesm2022/primeng-overlaybadge.mjs.map +0 -1
  708. package/fesm2022/primeng-paginator.mjs.map +0 -1
  709. package/fesm2022/primeng-panel.mjs.map +0 -1
  710. package/fesm2022/primeng-panelmenu.mjs.map +0 -1
  711. package/fesm2022/primeng-passthrough.mjs.map +0 -1
  712. package/fesm2022/primeng-password.mjs.map +0 -1
  713. package/fesm2022/primeng-picklist.mjs.map +0 -1
  714. package/fesm2022/primeng-popover.mjs.map +0 -1
  715. package/fesm2022/primeng-progressbar.mjs.map +0 -1
  716. package/fesm2022/primeng-progressspinner.mjs.map +0 -1
  717. package/fesm2022/primeng-radiobutton.mjs.map +0 -1
  718. package/fesm2022/primeng-rating.mjs.map +0 -1
  719. package/fesm2022/primeng-ripple.mjs.map +0 -1
  720. package/fesm2022/primeng-scrollarea.mjs.map +0 -1
  721. package/fesm2022/primeng-scroller.mjs.map +0 -1
  722. package/fesm2022/primeng-scrollpanel.mjs.map +0 -1
  723. package/fesm2022/primeng-scrolltop.mjs.map +0 -1
  724. package/fesm2022/primeng-select.mjs.map +0 -1
  725. package/fesm2022/primeng-selectbutton.mjs.map +0 -1
  726. package/fesm2022/primeng-sidebar.mjs.map +0 -1
  727. package/fesm2022/primeng-skeleton.mjs.map +0 -1
  728. package/fesm2022/primeng-slider.mjs.map +0 -1
  729. package/fesm2022/primeng-speeddial.mjs.map +0 -1
  730. package/fesm2022/primeng-splitbutton.mjs.map +0 -1
  731. package/fesm2022/primeng-splitter.mjs.map +0 -1
  732. package/fesm2022/primeng-stepper.mjs.map +0 -1
  733. package/fesm2022/primeng-steps.mjs.map +0 -1
  734. package/fesm2022/primeng-styleclass.mjs.map +0 -1
  735. package/fesm2022/primeng-table.mjs.map +0 -1
  736. package/fesm2022/primeng-tabs.mjs.map +0 -1
  737. package/fesm2022/primeng-tag.mjs.map +0 -1
  738. package/fesm2022/primeng-terminal.mjs.map +0 -1
  739. package/fesm2022/primeng-textarea.mjs.map +0 -1
  740. package/fesm2022/primeng-tieredmenu.mjs.map +0 -1
  741. package/fesm2022/primeng-timeline.mjs.map +0 -1
  742. package/fesm2022/primeng-toast.mjs.map +0 -1
  743. package/fesm2022/primeng-togglebutton.mjs.map +0 -1
  744. package/fesm2022/primeng-toggleswitch.mjs.map +0 -1
  745. package/fesm2022/primeng-toolbar.mjs.map +0 -1
  746. package/fesm2022/primeng-tooltip.mjs.map +0 -1
  747. package/fesm2022/primeng-tree.mjs.map +0 -1
  748. package/fesm2022/primeng-treeselect.mjs.map +0 -1
  749. package/fesm2022/primeng-treetable.mjs.map +0 -1
  750. package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
  751. package/fesm2022/primeng-types-accordion.mjs.map +0 -1
  752. package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
  753. package/fesm2022/primeng-types-avatar.mjs.map +0 -1
  754. package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
  755. package/fesm2022/primeng-types-badge.mjs.map +0 -1
  756. package/fesm2022/primeng-types-blockui.mjs.map +0 -1
  757. package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
  758. package/fesm2022/primeng-types-button.mjs.map +0 -1
  759. package/fesm2022/primeng-types-card.mjs.map +0 -1
  760. package/fesm2022/primeng-types-carousel.mjs.map +0 -1
  761. package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
  762. package/fesm2022/primeng-types-chart.mjs.map +0 -1
  763. package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
  764. package/fesm2022/primeng-types-chip.mjs.map +0 -1
  765. package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
  766. package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
  767. package/fesm2022/primeng-types-compare.mjs.map +0 -1
  768. package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
  769. package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
  770. package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
  771. package/fesm2022/primeng-types-dataview.mjs.map +0 -1
  772. package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
  773. package/fesm2022/primeng-types-dialog.mjs.map +0 -1
  774. package/fesm2022/primeng-types-divider.mjs.map +0 -1
  775. package/fesm2022/primeng-types-dock.mjs.map +0 -1
  776. package/fesm2022/primeng-types-drawer.mjs.map +0 -1
  777. package/fesm2022/primeng-types-editor.mjs.map +0 -1
  778. package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
  779. package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
  780. package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
  781. package/fesm2022/primeng-types-fluid.mjs.map +0 -1
  782. package/fesm2022/primeng-types-galleria.mjs.map +0 -1
  783. package/fesm2022/primeng-types-gallery.mjs.map +0 -1
  784. package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
  785. package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
  786. package/fesm2022/primeng-types-image.mjs.map +0 -1
  787. package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
  788. package/fesm2022/primeng-types-inplace.mjs.map +0 -1
  789. package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
  790. package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
  791. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
  792. package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
  793. package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
  794. package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
  795. package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
  796. package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
  797. package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
  798. package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
  799. package/fesm2022/primeng-types-knob.mjs.map +0 -1
  800. package/fesm2022/primeng-types-label.mjs.map +0 -1
  801. package/fesm2022/primeng-types-listbox.mjs.map +0 -1
  802. package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
  803. package/fesm2022/primeng-types-menu.mjs.map +0 -1
  804. package/fesm2022/primeng-types-menubar.mjs.map +0 -1
  805. package/fesm2022/primeng-types-message.mjs.map +0 -1
  806. package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
  807. package/fesm2022/primeng-types-motion.mjs.map +0 -1
  808. package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
  809. package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
  810. package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
  811. package/fesm2022/primeng-types-overlay.mjs.map +0 -1
  812. package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
  813. package/fesm2022/primeng-types-paginator.mjs.map +0 -1
  814. package/fesm2022/primeng-types-panel.mjs.map +0 -1
  815. package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
  816. package/fesm2022/primeng-types-password.mjs.map +0 -1
  817. package/fesm2022/primeng-types-picklist.mjs.map +0 -1
  818. package/fesm2022/primeng-types-popover.mjs.map +0 -1
  819. package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
  820. package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
  821. package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
  822. package/fesm2022/primeng-types-rating.mjs.map +0 -1
  823. package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
  824. package/fesm2022/primeng-types-scroller.mjs.map +0 -1
  825. package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
  826. package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
  827. package/fesm2022/primeng-types-select.mjs.map +0 -1
  828. package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
  829. package/fesm2022/primeng-types-shared.mjs.map +0 -1
  830. package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
  831. package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
  832. package/fesm2022/primeng-types-slider.mjs.map +0 -1
  833. package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
  834. package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
  835. package/fesm2022/primeng-types-splitter.mjs.map +0 -1
  836. package/fesm2022/primeng-types-stepper.mjs.map +0 -1
  837. package/fesm2022/primeng-types-table.mjs.map +0 -1
  838. package/fesm2022/primeng-types-tabs.mjs.map +0 -1
  839. package/fesm2022/primeng-types-tag.mjs.map +0 -1
  840. package/fesm2022/primeng-types-terminal.mjs.map +0 -1
  841. package/fesm2022/primeng-types-textarea.mjs.map +0 -1
  842. package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
  843. package/fesm2022/primeng-types-timeline.mjs.map +0 -1
  844. package/fesm2022/primeng-types-toast.mjs.map +0 -1
  845. package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
  846. package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
  847. package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
  848. package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
  849. package/fesm2022/primeng-types-tree.mjs.map +0 -1
  850. package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
  851. package/fesm2022/primeng-types-treetable.mjs.map +0 -1
  852. package/fesm2022/primeng-usestyle.mjs.map +0 -1
  853. package/fesm2022/primeng-utils.mjs.map +0 -1
  854. package/fesm2022/primeng.mjs.map +0 -1
@@ -1,15 +1,14 @@
1
- export * from 'primeng/types/scroller';
2
- import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { Injectable, InjectionToken, inject, input, computed, output, viewChild, signal, contentChild, effect, untracked, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
- import { isVisible, getWidth, getHeight, findSingle, isTouchDevice } from '@primeuix/utils';
6
- import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
7
- import * as i1 from 'primeng/bind';
8
- import { Bind } from 'primeng/bind';
9
- import { Spinner } from '@primeicons/angular/spinner';
10
- import { BaseStyle } from 'primeng/base';
11
-
12
- const css = /*css*/ `
1
+ import { NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, Injectable, InjectionToken, NgModule, ViewEncapsulation, computed, contentChild, effect, inject, input, output, signal, untracked, viewChild } from "@angular/core";
4
+ import { findSingle, getHeight, getWidth, isTouchDevice, isVisible } from "@primeuix/utils";
5
+ import { BaseComponent, PARENT_INSTANCE } from "primeng/basecomponent";
6
+ import * as i1 from "primeng/bind";
7
+ import { Bind } from "primeng/bind";
8
+ import { Spinner } from "@primeicons/angular/spinner";
9
+ import { BaseStyle } from "primeng/base";
10
+ export * from "primeng/types/scroller";
11
+ const css = `
13
12
  .p-virtualscroller {
14
13
  position: relative;
15
14
  overflow: auto;
@@ -69,1044 +68,1025 @@ const css = /*css*/ `
69
68
  }
70
69
  `;
71
70
  const classes = {
72
- root: ({ instance }) => [
73
- 'p-virtualscroller',
74
- {
75
- 'p-virtualscroller-inline': instance.inline(),
76
- 'p-virtualscroller-both p-both-scroll': instance.both(),
77
- 'p-virtualscroller-horizontal p-horizontal-scroll': instance.horizontal()
78
- }
79
- ],
80
- content: 'p-virtualscroller-content',
81
- spacer: 'p-virtualscroller-spacer',
82
- loader: ({ instance }) => [
83
- 'p-virtualscroller-loader',
84
- {
85
- 'p-virtualscroller-loader-mask': !instance.loaderTemplate()
86
- }
87
- ],
88
- loadingIcon: 'p-virtualscroller-loading-icon'
71
+ root: ({ instance }) => ["p-virtualscroller", {
72
+ "p-virtualscroller-inline": instance.inline(),
73
+ "p-virtualscroller-both p-both-scroll": instance.both(),
74
+ "p-virtualscroller-horizontal p-horizontal-scroll": instance.horizontal()
75
+ }],
76
+ content: "p-virtualscroller-content",
77
+ spacer: "p-virtualscroller-spacer",
78
+ loader: ({ instance }) => ["p-virtualscroller-loader", { "p-virtualscroller-loader-mask": !instance.loaderTemplate() }],
79
+ loadingIcon: "p-virtualscroller-loading-icon"
89
80
  };
90
- class ScrollerStyle extends BaseStyle {
91
- name = 'virtualscroller';
92
- css = css;
93
- classes = classes;
94
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ScrollerStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
95
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ScrollerStyle });
96
- }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ScrollerStyle, decorators: [{
98
- type: Injectable
99
- }] });
100
- /**
101
- *
102
- * VirtualScroller is a performant approach to handle huge data efficiently.
103
- *
104
- * [Live Demo](https://www.primeng.org/scroller/)
105
- *
106
- * @module scrollerstyle
107
- *
108
- */
81
+ var ScrollerStyle = class ScrollerStyle extends BaseStyle {
82
+ name = "virtualscroller";
83
+ css = css;
84
+ classes = classes;
85
+ static ɵfac = i0.ɵɵngDeclareFactory({
86
+ minVersion: "12.0.0",
87
+ version: "22.2.3",
88
+ ngImport: i0,
89
+ type: ScrollerStyle,
90
+ deps: null,
91
+ target: i0.ɵɵFactoryTarget.Injectable
92
+ });
93
+ static ɵprov = i0.ɵɵngDeclareInjectable({
94
+ minVersion: "12.0.0",
95
+ version: "22.2.3",
96
+ ngImport: i0,
97
+ type: ScrollerStyle
98
+ });
99
+ };
100
+ i0.ɵɵngDeclareClassMetadata({
101
+ minVersion: "12.0.0",
102
+ version: "22.2.3",
103
+ ngImport: i0,
104
+ type: ScrollerStyle,
105
+ decorators: [{ type: Injectable }]
106
+ });
109
107
  var ScrollerClasses;
110
- (function (ScrollerClasses) {
111
- /**
112
- * Class name of the root element
113
- */
114
- ScrollerClasses["root"] = "p-virtualscroller";
115
- /**
116
- * Class name of the content element
117
- */
118
- ScrollerClasses["content"] = "p-virtualscroller-content";
119
- /**
120
- * Class name of the spacer element
121
- */
122
- ScrollerClasses["spacer"] = "p-virtualscroller-spacer";
123
- /**
124
- * Class name of the loader element
125
- */
126
- ScrollerClasses["loader"] = "p-virtualscroller-loader";
127
- /**
128
- * Class name of the loading icon element
129
- */
130
- ScrollerClasses["loadingIcon"] = "p-virtualscroller-loading-icon";
108
+ (function(ScrollerClasses) {
109
+ ScrollerClasses["root"] = "p-virtualscroller";
110
+ ScrollerClasses["content"] = "p-virtualscroller-content";
111
+ ScrollerClasses["spacer"] = "p-virtualscroller-spacer";
112
+ ScrollerClasses["loader"] = "p-virtualscroller-loader";
113
+ ScrollerClasses["loadingIcon"] = "p-virtualscroller-loading-icon";
131
114
  })(ScrollerClasses || (ScrollerClasses = {}));
132
-
133
- const SCROLLER_INSTANCE = new InjectionToken('SCROLLER_INSTANCE');
134
- /**
135
- * Scroller is a performance-approach to handle huge data efficiently.
136
- * @group Components
137
- */
138
- class Scroller extends BaseComponent {
139
- componentName = 'VirtualScroller';
140
- bindDirectiveInstance = inject(Bind, { self: true });
141
- $pcScroller = inject(SCROLLER_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
142
- hostName = input('', /* @ts-ignore */
143
- ...(ngDevMode ? [{ debugName: "hostName" }] : /* istanbul ignore next */ []));
144
- /**
145
- * Unique identifier of the element.
146
- * @group Props
147
- */
148
- id = input(/* @ts-ignore */
149
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
150
- /**
151
- * Inline style of the component.
152
- * @group Props
153
- */
154
- style = input(/* @ts-ignore */
155
- ...(ngDevMode ? [undefined, { debugName: "style" }] : /* istanbul ignore next */ []));
156
- /**
157
- * Style class of the element.
158
- * @group Props
159
- */
160
- styleClass = input(/* @ts-ignore */
161
- ...(ngDevMode ? [undefined, { debugName: "styleClass" }] : /* istanbul ignore next */ []));
162
- /**
163
- * Index of the element in tabbing order.
164
- * @group Props
165
- */
166
- tabindex = input(0, /* @ts-ignore */
167
- ...(ngDevMode ? [{ debugName: "tabindex" }] : /* istanbul ignore next */ []));
168
- /**
169
- * An array of objects to display.
170
- * @group Props
171
- */
172
- items = input(/* @ts-ignore */
173
- ...(ngDevMode ? [undefined, { debugName: "items" }] : /* istanbul ignore next */ []));
174
- /**
175
- * The height/width of item according to orientation.
176
- * @group Props
177
- */
178
- itemSize = input(0, /* @ts-ignore */
179
- ...(ngDevMode ? [{ debugName: "itemSize" }] : /* istanbul ignore next */ []));
180
- /**
181
- * Height of the scroll viewport.
182
- * @group Props
183
- */
184
- scrollHeight = input(/* @ts-ignore */
185
- ...(ngDevMode ? [undefined, { debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
186
- /**
187
- * Width of the scroll viewport.
188
- * @group Props
189
- */
190
- scrollWidth = input(/* @ts-ignore */
191
- ...(ngDevMode ? [undefined, { debugName: "scrollWidth" }] : /* istanbul ignore next */ []));
192
- /**
193
- * The orientation of scrollbar.
194
- * @group Props
195
- */
196
- orientation = input('vertical', /* @ts-ignore */
197
- ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
198
- /**
199
- * Used to specify how many items to load in each load method in lazy mode.
200
- * @group Props
201
- */
202
- step = input(0, /* @ts-ignore */
203
- ...(ngDevMode ? [{ debugName: "step" }] : /* istanbul ignore next */ []));
204
- /**
205
- * Delay in scroll before new data is loaded.
206
- * @group Props
207
- */
208
- delay = input(0, /* @ts-ignore */
209
- ...(ngDevMode ? [{ debugName: "delay" }] : /* istanbul ignore next */ []));
210
- /**
211
- * Delay after window's resize finishes.
212
- * @group Props
213
- */
214
- resizeDelay = input(10, /* @ts-ignore */
215
- ...(ngDevMode ? [{ debugName: "resizeDelay" }] : /* istanbul ignore next */ []));
216
- /**
217
- * Used to append each loaded item to top without removing any items from the DOM. Using very large data may cause the browser to crash.
218
- * @group Props
219
- */
220
- appendOnly = input(false, /* @ts-ignore */
221
- ...(ngDevMode ? [{ debugName: "appendOnly" }] : /* istanbul ignore next */ []));
222
- /**
223
- * Specifies whether the scroller should be displayed inline or not.
224
- * @group Props
225
- */
226
- inline = input(false, /* @ts-ignore */
227
- ...(ngDevMode ? [{ debugName: "inline" }] : /* istanbul ignore next */ []));
228
- /**
229
- * Defines if data is loaded and interacted with in lazy manner.
230
- * @group Props
231
- */
232
- lazy = input(false, /* @ts-ignore */
233
- ...(ngDevMode ? [{ debugName: "lazy" }] : /* istanbul ignore next */ []));
234
- /**
235
- * If disabled, the scroller feature is eliminated and the content is displayed directly.
236
- * @group Props
237
- */
238
- disabled = input(false, /* @ts-ignore */
239
- ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
240
- /**
241
- * Used to implement a custom loader instead of using the loader feature in the scroller.
242
- * @group Props
243
- */
244
- loaderDisabled = input(false, /* @ts-ignore */
245
- ...(ngDevMode ? [{ debugName: "loaderDisabled" }] : /* istanbul ignore next */ []));
246
- /**
247
- * Columns to display.
248
- * @group Props
249
- */
250
- columns = input(/* @ts-ignore */
251
- ...(ngDevMode ? [undefined, { debugName: "columns" }] : /* istanbul ignore next */ []));
252
- /**
253
- * Used to implement a custom spacer instead of using the spacer feature in the scroller.
254
- * @group Props
255
- */
256
- showSpacer = input(true, /* @ts-ignore */
257
- ...(ngDevMode ? [{ debugName: "showSpacer" }] : /* istanbul ignore next */ []));
258
- /**
259
- * Defines whether to show loader.
260
- * @group Props
261
- */
262
- showLoader = input(false, /* @ts-ignore */
263
- ...(ngDevMode ? [{ debugName: "showLoader" }] : /* istanbul ignore next */ []));
264
- /**
265
- * Determines how many additional elements to add to the DOM outside of the view. According to the scrolls made up and down, extra items are added in a certain algorithm in the form of multiples of this number. Default value is half the number of items shown in the view.
266
- * @group Props
267
- */
268
- numToleratedItems = input(/* @ts-ignore */
269
- ...(ngDevMode ? [undefined, { debugName: "numToleratedItems" }] : /* istanbul ignore next */ []));
270
- /**
271
- * Defines whether the data is loaded.
272
- * @group Props
273
- */
274
- loading = input(/* @ts-ignore */
275
- ...(ngDevMode ? [undefined, { debugName: "loading" }] : /* istanbul ignore next */ []));
276
- /**
277
- * Defines whether to dynamically change the height or width of scrollable container.
278
- * @group Props
279
- */
280
- autoSize = input(false, /* @ts-ignore */
281
- ...(ngDevMode ? [{ debugName: "autoSize" }] : /* istanbul ignore next */ []));
282
- /**
283
- * Function to optimize the dom operations by delegating to ngForTrackBy, default algoritm checks for object identity.
284
- * @group Props
285
- */
286
- // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
287
- trackBy = input(/* @ts-ignore */
288
- ...(ngDevMode ? [undefined, { debugName: "trackBy" }] : /* istanbul ignore next */ []));
289
- /**
290
- * Defines whether to use the scroller feature. The properties of scroller component can be used like an object in it.
291
- * @group Props
292
- */
293
- options = input(/* @ts-ignore */
294
- ...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
295
- // Computed: Options merge with individual inputs
296
- _id = computed(() => this.options()?.id ?? this.id(), /* @ts-ignore */
297
- ...(ngDevMode ? [{ debugName: "_id" }] : /* istanbul ignore next */ []));
298
- _style = computed(() => this.options()?.style ?? this.style(), /* @ts-ignore */
299
- ...(ngDevMode ? [{ debugName: "_style" }] : /* istanbul ignore next */ []));
300
- _styleClass = computed(() => this.options()?.styleClass ?? this.styleClass(), /* @ts-ignore */
301
- ...(ngDevMode ? [{ debugName: "_styleClass" }] : /* istanbul ignore next */ []));
302
- _tabindex = computed(() => this.options()?.tabindex ?? this.tabindex(), /* @ts-ignore */
303
- ...(ngDevMode ? [{ debugName: "_tabindex" }] : /* istanbul ignore next */ []));
304
- _items = computed(() => this.options()?.items ?? this.items(), /* @ts-ignore */
305
- ...(ngDevMode ? [{ debugName: "_items" }] : /* istanbul ignore next */ []));
306
- _itemSize = computed(() => this.options()?.itemSize ?? this.itemSize(), /* @ts-ignore */
307
- ...(ngDevMode ? [{ debugName: "_itemSize" }] : /* istanbul ignore next */ []));
308
- _scrollHeight = computed(() => this.options()?.scrollHeight ?? this.scrollHeight(), /* @ts-ignore */
309
- ...(ngDevMode ? [{ debugName: "_scrollHeight" }] : /* istanbul ignore next */ []));
310
- _scrollWidth = computed(() => this.options()?.scrollWidth ?? this.scrollWidth(), /* @ts-ignore */
311
- ...(ngDevMode ? [{ debugName: "_scrollWidth" }] : /* istanbul ignore next */ []));
312
- _orientation = computed(() => this.options()?.orientation ?? this.orientation(), /* @ts-ignore */
313
- ...(ngDevMode ? [{ debugName: "_orientation" }] : /* istanbul ignore next */ []));
314
- _step = computed(() => this.options()?.step ?? this.step(), /* @ts-ignore */
315
- ...(ngDevMode ? [{ debugName: "_step" }] : /* istanbul ignore next */ []));
316
- _delay = computed(() => this.options()?.delay ?? this.delay(), /* @ts-ignore */
317
- ...(ngDevMode ? [{ debugName: "_delay" }] : /* istanbul ignore next */ []));
318
- _resizeDelay = computed(() => this.options()?.resizeDelay ?? this.resizeDelay(), /* @ts-ignore */
319
- ...(ngDevMode ? [{ debugName: "_resizeDelay" }] : /* istanbul ignore next */ []));
320
- _appendOnly = computed(() => this.options()?.appendOnly ?? this.appendOnly(), /* @ts-ignore */
321
- ...(ngDevMode ? [{ debugName: "_appendOnly" }] : /* istanbul ignore next */ []));
322
- _inline = computed(() => this.options()?.inline ?? this.inline(), /* @ts-ignore */
323
- ...(ngDevMode ? [{ debugName: "_inline" }] : /* istanbul ignore next */ []));
324
- _lazy = computed(() => this.options()?.lazy ?? this.lazy(), /* @ts-ignore */
325
- ...(ngDevMode ? [{ debugName: "_lazy" }] : /* istanbul ignore next */ []));
326
- _disabled = computed(() => this.options()?.disabled ?? this.disabled(), /* @ts-ignore */
327
- ...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
328
- _loaderDisabled = computed(() => this.options()?.loaderDisabled ?? this.loaderDisabled(), /* @ts-ignore */
329
- ...(ngDevMode ? [{ debugName: "_loaderDisabled" }] : /* istanbul ignore next */ []));
330
- _columns = computed(() => this.options()?.columns ?? this.columns(), /* @ts-ignore */
331
- ...(ngDevMode ? [{ debugName: "_columns" }] : /* istanbul ignore next */ []));
332
- _showSpacer = computed(() => this.options()?.showSpacer ?? this.showSpacer(), /* @ts-ignore */
333
- ...(ngDevMode ? [{ debugName: "_showSpacer" }] : /* istanbul ignore next */ []));
334
- _showLoader = computed(() => this.options()?.showLoader ?? this.showLoader(), /* @ts-ignore */
335
- ...(ngDevMode ? [{ debugName: "_showLoader" }] : /* istanbul ignore next */ []));
336
- _numToleratedItems = computed(() => this.options()?.numToleratedItems ?? this.numToleratedItems(), /* @ts-ignore */
337
- ...(ngDevMode ? [{ debugName: "_numToleratedItems" }] : /* istanbul ignore next */ []));
338
- _loading = computed(() => this.options()?.loading ?? this.loading(), /* @ts-ignore */
339
- ...(ngDevMode ? [{ debugName: "_loading" }] : /* istanbul ignore next */ []));
340
- _autoSize = computed(() => this.options()?.autoSize ?? this.autoSize(), /* @ts-ignore */
341
- ...(ngDevMode ? [{ debugName: "_autoSize" }] : /* istanbul ignore next */ []));
342
- _trackBy = computed(() => this.options()?.trackBy ?? this.trackBy(), /* @ts-ignore */
343
- ...(ngDevMode ? [{ debugName: "_trackBy" }] : /* istanbul ignore next */ []));
344
- contentStyleClass = computed(() => this.options()?.contentStyleClass, /* @ts-ignore */
345
- ...(ngDevMode ? [{ debugName: "contentStyleClass" }] : /* istanbul ignore next */ []));
346
- /**
347
- * Callback to invoke in lazy mode to load new data.
348
- * @param {ScrollerLazyLoadEvent} event - Custom lazy load event.
349
- * @group Emits
350
- */
351
- onLazyLoad = output();
352
- /**
353
- * Callback to invoke when scroll position changes.
354
- * @param {ScrollerScrollEvent} event - Custom scroll event.
355
- * @group Emits
356
- */
357
- onScroll = output();
358
- /**
359
- * Callback to invoke when scroll position and item's range in view changes.
360
- * @param {ScrollerScrollEvent} event - Custom scroll index change event.
361
- * @group Emits
362
- */
363
- onScrollIndexChange = output();
364
- elementViewChild = viewChild('element', /* @ts-ignore */
365
- ...(ngDevMode ? [{ debugName: "elementViewChild" }] : /* istanbul ignore next */ []));
366
- contentViewChild = viewChild('content', /* @ts-ignore */
367
- ...(ngDevMode ? [{ debugName: "contentViewChild" }] : /* istanbul ignore next */ []));
368
- hostHeight = signal(undefined, /* @ts-ignore */
369
- ...(ngDevMode ? [{ debugName: "hostHeight" }] : /* istanbul ignore next */ []));
370
- /**
371
- * Content template of the component.
372
- * @param {ScrollerContentTemplateContext} context - content context.
373
- * @see {@link ScrollerContentTemplateContext}
374
- * @group Templates
375
- */
376
- contentTemplate = contentChild('content', { ...(ngDevMode ? { debugName: "contentTemplate" } : /* istanbul ignore next */ {}), descendants: false });
377
- /**
378
- * Item template of the component.
379
- * @param {ScrollerItemTemplateContext} context - item context.
380
- * @see {@link ScrollerItemTemplateContext}
381
- * @group Templates
382
- */
383
- itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
384
- /**
385
- * Loader template of the component.
386
- * @param {ScrollerLoaderTemplateContext} context - loader context.
387
- * @see {@link ScrollerLoaderTemplateContext}
388
- * @group Templates
389
- */
390
- loaderTemplate = contentChild('loader', { ...(ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {}), descendants: false });
391
- /**
392
- * Loader icon template of the component.
393
- * @param {ScrollerLoaderIconTemplateContext} context - loader icon context.
394
- * @see {@link ScrollerLoaderIconTemplateContext}
395
- * @group Templates
396
- */
397
- loaderIconTemplate = contentChild('loadericon', { ...(ngDevMode ? { debugName: "loaderIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
398
- d_loading = false;
399
- d_numToleratedItems;
400
- contentEl;
401
- vertical = computed(() => this._orientation() === 'vertical', /* @ts-ignore */
402
- ...(ngDevMode ? [{ debugName: "vertical" }] : /* istanbul ignore next */ []));
403
- horizontal = computed(() => this._orientation() === 'horizontal', /* @ts-ignore */
404
- ...(ngDevMode ? [{ debugName: "horizontal" }] : /* istanbul ignore next */ []));
405
- both = computed(() => this._orientation() === 'both', /* @ts-ignore */
406
- ...(ngDevMode ? [{ debugName: "both" }] : /* istanbul ignore next */ []));
407
- get loadedItems() {
408
- const items = this._items();
409
- if (items && !this.d_loading) {
410
- if (this.both()) {
411
- return items.slice(this._appendOnly() ? 0 : this.first.rows, this.last.rows).map((item) => {
412
- if (this._columns()) {
413
- return item;
414
- }
415
- else if (Array.isArray(item)) {
416
- return item.slice(this._appendOnly() ? 0 : this.first.cols, this.last.cols);
417
- }
418
- else {
419
- return item;
420
- }
421
- });
422
- }
423
- else if (this.horizontal() && this._columns())
424
- return items;
425
- else
426
- return items.slice(this._appendOnly() ? 0 : this.first, this.last);
427
- }
428
- return [];
429
- }
430
- get loadedRows() {
431
- return this.d_loading ? (this._loaderDisabled() ? this.loaderArr : []) : this.loadedItems;
432
- }
433
- get loadedColumns() {
434
- const columns = this._columns();
435
- if (columns && (this.both() || this.horizontal())) {
436
- return this.d_loading && this._loaderDisabled() ? (this.both() ? this.loaderArr[0] : this.loaderArr) : columns.slice(this.both() ? this.first.cols : this.first, this.both() ? this.last.cols : this.last);
437
- }
438
- return columns;
439
- }
440
- first = 0;
441
- last = 0;
442
- page = 0;
443
- isRangeChanged = false;
444
- numItemsInViewport = 0;
445
- lastScrollPos = 0;
446
- lazyLoadState = {};
447
- loaderArr = [];
448
- spacerStyle;
449
- contentStyle;
450
- scrollTimeout;
451
- resizeTimeout;
452
- _destroyed = false;
453
- initialized = false;
454
- windowResizeListener;
455
- defaultWidth;
456
- defaultHeight;
457
- defaultContentWidth;
458
- defaultContentHeight;
459
- _componentStyle = inject(ScrollerStyle);
460
- constructor() {
461
- super();
462
- // hostHeight
463
- effect(() => {
464
- if (this._scrollHeight() === '100%') {
465
- this.hostHeight.set('100%');
466
- }
467
- });
468
- // loading sync
469
- effect(() => {
470
- const loading = this._loading();
471
- untracked(() => {
472
- if (this._lazy() && loading !== undefined && loading !== this.d_loading) {
473
- this.d_loading = loading;
474
- }
475
- });
476
- });
477
- // orientation reset
478
- effect(() => {
479
- this._orientation();
480
- untracked(() => {
481
- this.lastScrollPos = this.both() ? { top: 0, left: 0 } : 0;
482
- });
483
- });
484
- // numToleratedItems sync
485
- effect(() => {
486
- const numT = this._numToleratedItems();
487
- untracked(() => {
488
- if (numT !== undefined && numT !== this.d_numToleratedItems) {
489
- this.d_numToleratedItems = numT;
490
- }
491
- });
492
- });
493
- // reinit on size/scroll changes
494
- effect(() => {
495
- this._itemSize();
496
- this._scrollHeight();
497
- this._scrollWidth();
498
- untracked(() => {
499
- if (this.initialized) {
500
- this.init();
501
- this.calculateAutoSize();
502
- }
503
- });
504
- });
505
- // items change
506
- effect(() => {
507
- this._items();
508
- untracked(() => {
509
- if (this.initialized && !this._lazy()) {
510
- this.init();
511
- }
512
- });
513
- });
514
- // contentStyle sync from options
515
- effect(() => {
516
- const opts = this.options();
517
- untracked(() => {
518
- if (opts?.contentStyle !== undefined) {
519
- this.contentStyle = opts.contentStyle;
520
- }
521
- });
522
- });
523
- }
524
- loaderIconContext = { options: { styleClass: 'p-virtualscroller-loading-icon' } };
525
- onInit() {
526
- this.setInitialState();
527
- }
528
- onAfterViewInit() {
529
- Promise.resolve().then(() => {
530
- this.viewInit();
531
- });
532
- }
533
- onAfterViewChecked() {
534
- this.bindDirectiveInstance.setAttrs(this.ptm('host'));
535
- if (!this.initialized) {
536
- this.viewInit();
537
- }
538
- }
539
- onDestroy() {
540
- this._destroyed = true;
541
- this.unbindResizeListener();
542
- // Cancel pending scroll/resize debounce timers so handleEvents can't emit after destroy.
543
- if (this.scrollTimeout) {
544
- clearTimeout(this.scrollTimeout);
545
- }
546
- if (this.resizeTimeout) {
547
- clearTimeout(this.resizeTimeout);
548
- }
549
- this.contentEl = null;
550
- this.initialized = false;
551
- }
552
- viewInit() {
553
- if (isPlatformBrowser(this.platformId) && !this.initialized) {
554
- if (isVisible(this.elementViewChild()?.nativeElement)) {
555
- this.setInitialState();
556
- this.setContentEl(this.contentEl);
557
- this.init();
558
- this.defaultWidth = getWidth(this.elementViewChild()?.nativeElement);
559
- this.defaultHeight = getHeight(this.elementViewChild()?.nativeElement);
560
- this.defaultContentWidth = getWidth(this.contentEl);
561
- this.defaultContentHeight = getHeight(this.contentEl);
562
- this.initialized = true;
563
- }
564
- }
565
- }
566
- init() {
567
- if (!this._disabled()) {
568
- this.bindResizeListener();
569
- // wait for the next tick
570
- setTimeout(() => {
571
- this.setSpacerSize();
572
- this.setSize();
573
- this.calculateOptions();
574
- this.calculateAutoSize();
575
- this.cd.detectChanges();
576
- }, 1);
577
- }
578
- }
579
- setContentEl(el) {
580
- this.contentEl = el || this.contentViewChild()?.nativeElement || findSingle(this.elementViewChild()?.nativeElement, '.p-virtualscroller-content');
581
- }
582
- setInitialState() {
583
- this.first = this.both() ? { rows: 0, cols: 0 } : 0;
584
- this.last = this.both() ? { rows: 0, cols: 0 } : 0;
585
- this.numItemsInViewport = this.both() ? { rows: 0, cols: 0 } : 0;
586
- this.lastScrollPos = this.both() ? { top: 0, left: 0 } : 0;
587
- if (this.d_loading === undefined || this.d_loading === false) {
588
- this.d_loading = this._loading() || false;
589
- }
590
- this.d_numToleratedItems = this._numToleratedItems();
591
- this.loaderArr = this.loaderArr.length > 0 ? this.loaderArr : [];
592
- }
593
- getElementRef() {
594
- return this.elementViewChild();
595
- }
596
- getPageByFirst(first) {
597
- return Math.floor(((first ?? this.first) + this.d_numToleratedItems * 4) / (this._step() || 1));
598
- }
599
- isPageChanged(first) {
600
- return this._step() ? this.page !== this.getPageByFirst(first ?? this.first) : true;
601
- }
602
- scrollTo(options) {
603
- this.elementViewChild()?.nativeElement?.scrollTo(options);
604
- }
605
- scrollToIndex(index, behavior = 'auto') {
606
- const valid = this.both() ? index.every((i) => i > -1) : index > -1;
607
- if (valid) {
608
- const first = this.first;
609
- const { scrollTop = 0, scrollLeft = 0 } = this.elementViewChild()?.nativeElement ?? {};
610
- const { numToleratedItems } = this.calculateNumItems();
611
- const contentPos = this.getContentPosition();
612
- const itemSize = this._itemSize();
613
- const calculateFirst = (_index = 0, _numT) => (_index <= _numT ? 0 : _index);
614
- const calculateCoord = (_first, _size, _cpos) => _first * _size + _cpos;
615
- const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });
616
- let newFirst = this.both() ? { rows: 0, cols: 0 } : 0;
617
- let isRangeChanged = false, isScrollChanged = false;
618
- if (this.both()) {
619
- newFirst = {
620
- rows: calculateFirst(index[0], numToleratedItems[0]),
621
- cols: calculateFirst(index[1], numToleratedItems[1])
622
- };
623
- scrollTo(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));
624
- isScrollChanged = this.lastScrollPos.top !== scrollTop || this.lastScrollPos.left !== scrollLeft;
625
- isRangeChanged = newFirst.rows !== first.rows || newFirst.cols !== first.cols;
626
- }
627
- else {
628
- newFirst = calculateFirst(index, numToleratedItems);
629
- if (this.horizontal()) {
630
- scrollTo(calculateCoord(newFirst, itemSize, contentPos.left), scrollTop);
631
- }
632
- else {
633
- scrollTo(scrollLeft, calculateCoord(newFirst, itemSize, contentPos.top));
634
- }
635
- isScrollChanged = this.lastScrollPos !== (this.horizontal() ? scrollLeft : scrollTop);
636
- isRangeChanged = newFirst !== first;
637
- }
638
- this.isRangeChanged = isRangeChanged;
639
- if (isScrollChanged) {
640
- this.first = newFirst;
641
- }
642
- }
643
- }
644
- scrollInView(index, to, behavior = 'auto') {
645
- if (to) {
646
- const { first, viewport } = this.getRenderedRange();
647
- const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });
648
- const isToStart = to === 'to-start';
649
- const isToEnd = to === 'to-end';
650
- if (isToStart) {
651
- if (this.both()) {
652
- if (viewport.first.rows - first.rows > index[0]) {
653
- scrollTo(viewport.first.cols * this._itemSize()[1], (viewport.first.rows - 1) * this._itemSize()[0]);
654
- }
655
- else if (viewport.first.cols - first.cols > index[1]) {
656
- scrollTo((viewport.first.cols - 1) * this._itemSize()[1], viewport.first.rows * this._itemSize()[0]);
657
- }
658
- }
659
- else {
660
- if (viewport.first - first > index) {
661
- const pos = (viewport.first - 1) * this._itemSize();
662
- if (this.horizontal()) {
663
- scrollTo(pos, 0);
664
- }
665
- else {
666
- scrollTo(0, pos);
667
- }
668
- }
669
- }
670
- }
671
- else if (isToEnd) {
672
- if (this.both()) {
673
- if (viewport.last.rows - first.rows <= index[0] + 1) {
674
- scrollTo(viewport.first.cols * this._itemSize()[1], (viewport.first.rows + 1) * this._itemSize()[0]);
675
- }
676
- else if (viewport.last.cols - first.cols <= index[1] + 1) {
677
- scrollTo((viewport.first.cols + 1) * this._itemSize()[1], viewport.first.rows * this._itemSize()[0]);
678
- }
679
- }
680
- else {
681
- if (viewport.last - first <= index + 1) {
682
- const pos = (viewport.first + 1) * this._itemSize();
683
- if (this.horizontal()) {
684
- scrollTo(pos, 0);
685
- }
686
- else {
687
- scrollTo(0, pos);
688
- }
689
- }
690
- }
691
- }
692
- }
693
- else {
694
- this.scrollToIndex(index, behavior);
695
- }
696
- }
697
- getRenderedRange() {
698
- const calculateFirstInViewport = (_pos, _size) => (_size || _pos ? Math.floor(_pos / (_size || _pos)) : 0);
699
- let firstInViewport = this.first;
700
- let lastInViewport = 0;
701
- const el = this.elementViewChild()?.nativeElement;
702
- if (el) {
703
- const { scrollTop, scrollLeft } = el;
704
- if (this.both()) {
705
- firstInViewport = {
706
- rows: calculateFirstInViewport(scrollTop, this._itemSize()[0]),
707
- cols: calculateFirstInViewport(scrollLeft, this._itemSize()[1])
708
- };
709
- lastInViewport = {
710
- rows: firstInViewport.rows + this.numItemsInViewport.rows,
711
- cols: firstInViewport.cols + this.numItemsInViewport.cols
712
- };
713
- }
714
- else {
715
- const scrollPos = this.horizontal() ? scrollLeft : scrollTop;
716
- firstInViewport = calculateFirstInViewport(scrollPos, this._itemSize());
717
- lastInViewport = firstInViewport + this.numItemsInViewport;
718
- }
719
- }
720
- return {
721
- first: this.first,
722
- last: this.last,
723
- viewport: {
724
- first: firstInViewport,
725
- last: lastInViewport
726
- }
727
- };
728
- }
729
- calculateNumItems() {
730
- const contentPos = this.getContentPosition();
731
- const el = this.elementViewChild()?.nativeElement;
732
- const contentWidth = (el ? el.offsetWidth - contentPos.left : 0) || 0;
733
- const contentHeight = (el ? el.offsetHeight - contentPos.top : 0) || 0;
734
- const calculateNumItemsInViewport = (_contentSize, _itemSize) => (_itemSize || _contentSize ? Math.ceil(_contentSize / (_itemSize || _contentSize)) : 0);
735
- const calculateNumToleratedItems = (_numItems) => Math.ceil(_numItems / 2);
736
- const numItemsInViewport = this.both()
737
- ? {
738
- rows: calculateNumItemsInViewport(contentHeight, this._itemSize()[0]),
739
- cols: calculateNumItemsInViewport(contentWidth, this._itemSize()[1])
740
- }
741
- : calculateNumItemsInViewport(this.horizontal() ? contentWidth : contentHeight, this._itemSize());
742
- const numToleratedItems = this.d_numToleratedItems || (this.both() ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));
743
- return { numItemsInViewport, numToleratedItems };
744
- }
745
- calculateOptions() {
746
- const { numItemsInViewport, numToleratedItems } = this.calculateNumItems();
747
- const calculateLast = (_first, _num, _numT, _isCols = false) => this.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);
748
- const first = this.first;
749
- const last = this.both()
750
- ? {
751
- rows: calculateLast(this.first.rows, numItemsInViewport.rows, numToleratedItems[0]),
752
- cols: calculateLast(this.first.cols, numItemsInViewport.cols, numToleratedItems[1], true)
753
- }
754
- : calculateLast(this.first, numItemsInViewport, numToleratedItems);
755
- this.last = last;
756
- this.numItemsInViewport = numItemsInViewport;
757
- this.d_numToleratedItems = numToleratedItems;
758
- if (this._showLoader()) {
759
- this.loaderArr = this.both() ? Array.from({ length: numItemsInViewport.rows }).map(() => Array.from({ length: numItemsInViewport.cols })) : Array.from({ length: numItemsInViewport });
760
- }
761
- if (this._lazy()) {
762
- Promise.resolve().then(() => {
763
- this.lazyLoadState = {
764
- first: this._step() ? (this.both() ? { rows: 0, cols: first.cols } : 0) : first,
765
- last: Math.min(this._step() ? this._step() : this.last, this._items().length)
766
- };
767
- this.handleEvents('onLazyLoad', this.lazyLoadState);
768
- });
769
- }
770
- }
771
- calculateAutoSize() {
772
- if (this._autoSize() && !this.d_loading) {
773
- Promise.resolve().then(() => {
774
- if (this.contentEl) {
775
- this.contentEl.style.minHeight = this.contentEl.style.minWidth = 'auto';
776
- this.contentEl.style.position = 'relative';
777
- this.elementViewChild().nativeElement.style.contain = 'none';
778
- const [contentWidth, contentHeight] = [getWidth(this.contentEl), getHeight(this.contentEl)];
779
- if (contentWidth !== this.defaultContentWidth) {
780
- this.elementViewChild().nativeElement.style.width = '';
781
- }
782
- if (contentHeight !== this.defaultContentHeight) {
783
- this.elementViewChild().nativeElement.style.height = '';
784
- }
785
- const [width, height] = [getWidth(this.elementViewChild().nativeElement), getHeight(this.elementViewChild().nativeElement)];
786
- if (this.both() || this.horizontal()) {
787
- this.elementViewChild().nativeElement.style.width = width < this.defaultWidth ? width + 'px' : this._scrollWidth() || this.defaultWidth + 'px';
788
- }
789
- if (this.both() || this.vertical()) {
790
- this.elementViewChild().nativeElement.style.height = height < this.defaultHeight ? height + 'px' : this._scrollHeight() || this.defaultHeight + 'px';
791
- }
792
- this.contentEl.style.minHeight = this.contentEl.style.minWidth = '';
793
- this.contentEl.style.position = '';
794
- this.elementViewChild().nativeElement.style.contain = '';
795
- }
796
- });
797
- }
798
- }
799
- getLast(last = 0, isCols = false) {
800
- const items = this._items();
801
- const columns = this._columns();
802
- return items ? Math.min(isCols ? (columns || items[0]).length : items.length, last) : 0;
803
- }
804
- getContentPosition() {
805
- if (this.contentEl) {
806
- const style = getComputedStyle(this.contentEl);
807
- const left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0);
808
- const right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0);
809
- const top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0);
810
- const bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0);
811
- return { left, right, top, bottom, x: left + right, y: top + bottom };
812
- }
813
- return { left: 0, right: 0, top: 0, bottom: 0, x: 0, y: 0 };
814
- }
815
- setSize() {
816
- const nativeElement = this.elementViewChild()?.nativeElement;
817
- if (nativeElement) {
818
- const parentElement = nativeElement.parentElement?.parentElement;
819
- const elementWidth = nativeElement.offsetWidth;
820
- const parentWidth = parentElement?.offsetWidth || 0;
821
- const width = this._scrollWidth() || `${elementWidth || parentWidth}px`;
822
- const elementHeight = nativeElement.offsetHeight;
823
- const parentHeight = parentElement?.offsetHeight || 0;
824
- const height = this._scrollHeight() || `${elementHeight || parentHeight}px`;
825
- const setProp = (_name, _value) => (nativeElement.style[_name] = _value);
826
- if (this.both() || this.horizontal()) {
827
- setProp('height', height);
828
- setProp('width', width);
829
- }
830
- else {
831
- setProp('height', height);
832
- }
833
- }
834
- }
835
- setSpacerSize() {
836
- const items = this._items();
837
- if (items) {
838
- const contentPos = this.getContentPosition();
839
- const setProp = (_name, _value, _size, _cpos = 0) => (this.spacerStyle = {
840
- ...this.spacerStyle,
841
- ...{ [`${_name}`]: (_value || []).length * _size + _cpos + 'px' }
842
- });
843
- if (this.both()) {
844
- setProp('height', items, this._itemSize()[0], contentPos.y);
845
- setProp('width', this._columns() || items[1], this._itemSize()[1], contentPos.x);
846
- }
847
- else {
848
- if (this.horizontal()) {
849
- setProp('width', this._columns() || items, this._itemSize(), contentPos.x);
850
- }
851
- else {
852
- setProp('height', items, this._itemSize(), contentPos.y);
853
- }
854
- }
855
- }
856
- }
857
- setContentPosition(pos) {
858
- if (this.contentEl && !this._appendOnly()) {
859
- const first = pos ? pos.first : this.first;
860
- const calculateTranslateVal = (_first, _size) => _first * _size;
861
- const setTransform = (_x = 0, _y = 0) => (this.contentStyle = { ...this.contentStyle, ...{ transform: `translate3d(${_x}px, ${_y}px, 0)` } });
862
- if (this.both()) {
863
- setTransform(calculateTranslateVal(first.cols, this._itemSize()[1]), calculateTranslateVal(first.rows, this._itemSize()[0]));
864
- }
865
- else {
866
- const translateVal = calculateTranslateVal(first, this._itemSize());
867
- if (this.horizontal()) {
868
- setTransform(translateVal, 0);
869
- }
870
- else {
871
- setTransform(0, translateVal);
872
- }
873
- }
874
- }
875
- }
876
- onScrollPositionChange(event) {
877
- const target = event.target;
878
- if (!target) {
879
- throw new Error('Event target is null');
880
- }
881
- const contentPos = this.getContentPosition();
882
- const calculateScrollPos = (_pos, _cpos) => (_pos ? (_pos > _cpos ? _pos - _cpos : _pos) : 0);
883
- const calculateCurrentIndex = (_pos, _size) => (_size || _pos ? Math.floor(_pos / (_size || _pos)) : 0);
884
- const calculateTriggerIndex = (_currentIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1;
885
- const calculateFirst = (_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {
886
- if (_currentIndex <= _numT)
887
- return 0;
888
- else
889
- return Math.max(0, _isScrollDownOrRight ? (_currentIndex < _triggerIndex ? _first : _currentIndex - _numT) : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT);
890
- };
891
- const calculateLast = (_currentIndex, _first, _last, _num, _numT, _isCols = false) => {
892
- let lastValue = _first + _num + 2 * _numT;
893
- if (_currentIndex >= _numT) {
894
- lastValue += _numT + 1;
895
- }
896
- return this.getLast(lastValue, _isCols);
897
- };
898
- const scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
899
- const scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
900
- let newFirst = this.both() ? { rows: 0, cols: 0 } : 0;
901
- let newLast = this.last;
902
- let isRangeChanged = false;
903
- let newScrollPos = this.lastScrollPos;
904
- if (this.both()) {
905
- const isScrollDown = this.lastScrollPos.top <= scrollTop;
906
- const isScrollRight = this.lastScrollPos.left <= scrollLeft;
907
- if (!this._appendOnly() || (this._appendOnly() && (isScrollDown || isScrollRight))) {
908
- const currentIndex = {
909
- rows: calculateCurrentIndex(scrollTop, this._itemSize()[0]),
910
- cols: calculateCurrentIndex(scrollLeft, this._itemSize()[1])
911
- };
912
- const triggerIndex = {
913
- rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),
914
- cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)
915
- };
916
- newFirst = {
917
- rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),
918
- cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)
919
- };
920
- newLast = {
921
- rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]),
922
- cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true)
923
- };
924
- isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols || this.isRangeChanged;
925
- newScrollPos = { top: scrollTop, left: scrollLeft };
926
- }
927
- }
928
- else {
929
- const scrollPos = this.horizontal() ? scrollLeft : scrollTop;
930
- const isScrollDownOrRight = this.lastScrollPos <= scrollPos;
931
- if (!this._appendOnly() || (this._appendOnly() && isScrollDownOrRight)) {
932
- const currentIndex = calculateCurrentIndex(scrollPos, this._itemSize());
933
- const triggerIndex = calculateTriggerIndex(currentIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);
934
- newFirst = calculateFirst(currentIndex, triggerIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);
935
- newLast = calculateLast(currentIndex, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems);
936
- isRangeChanged = newFirst !== this.first || newLast !== this.last || this.isRangeChanged;
937
- newScrollPos = scrollPos;
938
- }
939
- }
940
- return {
941
- first: newFirst,
942
- last: newLast,
943
- isRangeChanged,
944
- scrollPos: newScrollPos
945
- };
946
- }
947
- onScrollChange(event) {
948
- const { first, last, isRangeChanged, scrollPos } = this.onScrollPositionChange(event);
949
- if (isRangeChanged) {
950
- const newState = { first, last };
951
- this.setContentPosition(newState);
952
- this.first = first;
953
- this.last = last;
954
- this.lastScrollPos = scrollPos;
955
- this.handleEvents('onScrollIndexChange', newState);
956
- if (this._lazy() && this.isPageChanged(first)) {
957
- const lazyLoadState = {
958
- first: this._step() ? Math.min(this.getPageByFirst(first) * this._step(), this._items().length - this._step()) : first,
959
- last: Math.min(this._step() ? (this.getPageByFirst(first) + 1) * this._step() : last, this._items().length)
960
- };
961
- const isLazyStateChanged = this.lazyLoadState.first !== lazyLoadState.first || this.lazyLoadState.last !== lazyLoadState.last;
962
- if (isLazyStateChanged) {
963
- this.handleEvents('onLazyLoad', lazyLoadState);
964
- }
965
- this.lazyLoadState = lazyLoadState;
966
- }
967
- }
968
- }
969
- onContainerScroll(event) {
970
- this.handleEvents('onScroll', { originalEvent: event });
971
- if (this._delay()) {
972
- if (this.scrollTimeout) {
973
- clearTimeout(this.scrollTimeout);
974
- }
975
- if (!this.d_loading && this._showLoader()) {
976
- const { isRangeChanged } = this.onScrollPositionChange(event);
977
- const changed = isRangeChanged || (this._step() ? this.isPageChanged() : false);
978
- if (changed) {
979
- this.d_loading = true;
980
- this.cd.detectChanges();
981
- }
982
- }
983
- this.scrollTimeout = setTimeout(() => {
984
- this.onScrollChange(event);
985
- if (this.d_loading && this._showLoader() && (!this._lazy() || this._loading() === undefined)) {
986
- this.d_loading = false;
987
- this.page = this.getPageByFirst();
988
- }
989
- this.cd.detectChanges();
990
- }, this._delay());
991
- }
992
- else {
993
- if (!this.d_loading) {
994
- this.onScrollChange(event);
995
- }
996
- }
997
- }
998
- bindResizeListener() {
999
- if (isPlatformBrowser(this.platformId)) {
1000
- if (!this.windowResizeListener) {
1001
- const window = this.document.defaultView;
1002
- const event = isTouchDevice() ? 'orientationchange' : 'resize';
1003
- this.windowResizeListener = this.renderer.listen(window, event, this.onWindowResize.bind(this));
1004
- }
1005
- }
1006
- }
1007
- unbindResizeListener() {
1008
- if (this.windowResizeListener) {
1009
- this.windowResizeListener();
1010
- this.windowResizeListener = null;
1011
- }
1012
- }
1013
- onWindowResize() {
1014
- if (this.resizeTimeout) {
1015
- clearTimeout(this.resizeTimeout);
1016
- }
1017
- this.resizeTimeout = setTimeout(() => {
1018
- if (isVisible(this.elementViewChild()?.nativeElement)) {
1019
- const [width, height] = [getWidth(this.elementViewChild()?.nativeElement), getHeight(this.elementViewChild()?.nativeElement)];
1020
- const [isDiffWidth, isDiffHeight] = [width !== this.defaultWidth, height !== this.defaultHeight];
1021
- const reinit = this.both() ? isDiffWidth || isDiffHeight : this.horizontal() ? isDiffWidth : this.vertical() ? isDiffHeight : false;
1022
- if (reinit) {
1023
- this.d_numToleratedItems = this._numToleratedItems();
1024
- this.defaultWidth = width;
1025
- this.defaultHeight = height;
1026
- this.defaultContentWidth = getWidth(this.contentEl);
1027
- this.defaultContentHeight = getHeight(this.contentEl);
1028
- this.init();
1029
- }
1030
- }
1031
- }, this._resizeDelay());
1032
- }
1033
- handleEvents(name, params) {
1034
- if (this._destroyed)
1035
- return;
1036
- const opts = this.options();
1037
- return opts && opts[name] ? opts[name](params) : this[name].emit(params);
1038
- }
1039
- getContentTemplateContext() {
1040
- return {
1041
- $implicit: this.loadedItems,
1042
- options: this.getContentOptions()
1043
- };
1044
- }
1045
- getItemTemplateContext(item, index) {
1046
- return {
1047
- $implicit: item,
1048
- options: this.getOptions(index)
1049
- };
1050
- }
1051
- getLoaderTemplateContext(index) {
1052
- return {
1053
- options: this.getLoaderOptions(index, this.both() && { numCols: this.numItemsInViewport.cols })
1054
- };
1055
- }
1056
- getDisabledContentTemplateContext() {
1057
- return {
1058
- $implicit: this.items(),
1059
- options: { rows: this._items() ?? undefined, columns: this.loadedColumns }
1060
- };
1061
- }
1062
- getContentOptions() {
1063
- return {
1064
- contentStyleClass: `p-virtualscroller-content ${this.d_loading ? 'p-virtualscroller-loading' : ''}`,
1065
- items: this.loadedItems,
1066
- getItemOptions: (index) => this.getOptions(index),
1067
- loading: this.d_loading,
1068
- getLoaderOptions: (index, options) => this.getLoaderOptions(index, options),
1069
- itemSize: this._itemSize(),
1070
- rows: this.loadedRows,
1071
- columns: this.loadedColumns,
1072
- spacerStyle: this.spacerStyle,
1073
- contentStyle: this.contentStyle,
1074
- vertical: this.vertical(),
1075
- horizontal: this.horizontal(),
1076
- both: this.both(),
1077
- scrollTo: this.scrollTo.bind(this),
1078
- scrollToIndex: this.scrollToIndex.bind(this),
1079
- orientation: this._orientation(),
1080
- scrollableElement: this.elementViewChild()?.nativeElement
1081
- };
1082
- }
1083
- getOptions(renderedIndex) {
1084
- const count = (this._items() || []).length;
1085
- const index = this.both() ? this.first.rows + renderedIndex : this.first + renderedIndex;
1086
- return {
1087
- index,
1088
- count,
1089
- first: index === 0,
1090
- last: index === count - 1,
1091
- even: index % 2 === 0,
1092
- odd: index % 2 !== 0
1093
- };
1094
- }
1095
- getLoaderOptions(index, extOptions) {
1096
- const count = this.loaderArr.length;
1097
- return {
1098
- index,
1099
- count,
1100
- first: index === 0,
1101
- last: index === count - 1,
1102
- even: index % 2 === 0,
1103
- odd: index % 2 !== 0,
1104
- loading: this.d_loading,
1105
- ...extOptions
1106
- };
1107
- }
1108
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Scroller, deps: [], target: i0.ɵɵFactoryTarget.Component });
1109
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: Scroller, isStandalone: true, selector: "p-scroller, p-virtualscroller, p-virtual-scroller", inputs: { hostName: { classPropertyName: "hostName", publicName: "hostName", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, scrollWidth: { classPropertyName: "scrollWidth", publicName: "scrollWidth", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, resizeDelay: { classPropertyName: "resizeDelay", publicName: "resizeDelay", isSignal: true, isRequired: false, transformFunction: null }, appendOnly: { classPropertyName: "appendOnly", publicName: "appendOnly", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, loaderDisabled: { classPropertyName: "loaderDisabled", publicName: "loaderDisabled", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, showSpacer: { classPropertyName: "showSpacer", publicName: "showSpacer", isSignal: true, isRequired: false, transformFunction: null }, showLoader: { classPropertyName: "showLoader", publicName: "showLoader", isSignal: true, isRequired: false, transformFunction: null }, numToleratedItems: { classPropertyName: "numToleratedItems", publicName: "numToleratedItems", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, autoSize: { classPropertyName: "autoSize", publicName: "autoSize", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLazyLoad: "onLazyLoad", onScroll: "onScroll", onScrollIndexChange: "onScrollIndexChange" }, host: { properties: { "style.height": "hostHeight()" } }, providers: [ScrollerStyle, { provide: SCROLLER_INSTANCE, useExisting: Scroller }, { provide: PARENT_INSTANCE, useExisting: Scroller }], queries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], isSignal: true }, { propertyName: "loaderIconTemplate", first: true, predicate: ["loadericon"], isSignal: true }], viewQueries: [{ propertyName: "elementViewChild", first: true, predicate: ["element"], descendants: true, isSignal: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
115
+ const SCROLLER_INSTANCE = new InjectionToken("SCROLLER_INSTANCE");
116
+ var Scroller = class Scroller extends BaseComponent {
117
+ componentName = "VirtualScroller";
118
+ bindDirectiveInstance = inject(Bind, { self: true });
119
+ $pcScroller = inject(SCROLLER_INSTANCE, {
120
+ optional: true,
121
+ skipSelf: true
122
+ }) ?? void 0;
123
+ hostName = input("", ...ngDevMode ? [{ debugName: "hostName" }] : /* istanbul ignore next */ []);
124
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
125
+ style = input(...ngDevMode ? [void 0, { debugName: "style" }] : /* istanbul ignore next */ []);
126
+ styleClass = input(...ngDevMode ? [void 0, { debugName: "styleClass" }] : /* istanbul ignore next */ []);
127
+ tabindex = input(0, ...ngDevMode ? [{ debugName: "tabindex" }] : /* istanbul ignore next */ []);
128
+ items = input(...ngDevMode ? [void 0, { debugName: "items" }] : /* istanbul ignore next */ []);
129
+ itemSize = input(0, ...ngDevMode ? [{ debugName: "itemSize" }] : /* istanbul ignore next */ []);
130
+ scrollHeight = input(...ngDevMode ? [void 0, { debugName: "scrollHeight" }] : /* istanbul ignore next */ []);
131
+ scrollWidth = input(...ngDevMode ? [void 0, { debugName: "scrollWidth" }] : /* istanbul ignore next */ []);
132
+ orientation = input("vertical", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
133
+ step = input(0, ...ngDevMode ? [{ debugName: "step" }] : /* istanbul ignore next */ []);
134
+ delay = input(0, ...ngDevMode ? [{ debugName: "delay" }] : /* istanbul ignore next */ []);
135
+ resizeDelay = input(10, ...ngDevMode ? [{ debugName: "resizeDelay" }] : /* istanbul ignore next */ []);
136
+ appendOnly = input(false, ...ngDevMode ? [{ debugName: "appendOnly" }] : /* istanbul ignore next */ []);
137
+ inline = input(false, ...ngDevMode ? [{ debugName: "inline" }] : /* istanbul ignore next */ []);
138
+ lazy = input(false, ...ngDevMode ? [{ debugName: "lazy" }] : /* istanbul ignore next */ []);
139
+ disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
140
+ loaderDisabled = input(false, ...ngDevMode ? [{ debugName: "loaderDisabled" }] : /* istanbul ignore next */ []);
141
+ columns = input(...ngDevMode ? [void 0, { debugName: "columns" }] : /* istanbul ignore next */ []);
142
+ showSpacer = input(true, ...ngDevMode ? [{ debugName: "showSpacer" }] : /* istanbul ignore next */ []);
143
+ showLoader = input(false, ...ngDevMode ? [{ debugName: "showLoader" }] : /* istanbul ignore next */ []);
144
+ numToleratedItems = input(...ngDevMode ? [void 0, { debugName: "numToleratedItems" }] : /* istanbul ignore next */ []);
145
+ loading = input(...ngDevMode ? [void 0, { debugName: "loading" }] : /* istanbul ignore next */ []);
146
+ autoSize = input(false, ...ngDevMode ? [{ debugName: "autoSize" }] : /* istanbul ignore next */ []);
147
+ trackBy = input(...ngDevMode ? [void 0, { debugName: "trackBy" }] : /* istanbul ignore next */ []);
148
+ options = input(...ngDevMode ? [void 0, { debugName: "options" }] : /* istanbul ignore next */ []);
149
+ _id = computed(() => this.options()?.id ?? this.id(), ...ngDevMode ? [{ debugName: "_id" }] : /* istanbul ignore next */ []);
150
+ _style = computed(() => this.options()?.style ?? this.style(), ...ngDevMode ? [{ debugName: "_style" }] : /* istanbul ignore next */ []);
151
+ _styleClass = computed(() => this.options()?.styleClass ?? this.styleClass(), ...ngDevMode ? [{ debugName: "_styleClass" }] : /* istanbul ignore next */ []);
152
+ _tabindex = computed(() => this.options()?.tabindex ?? this.tabindex(), ...ngDevMode ? [{ debugName: "_tabindex" }] : /* istanbul ignore next */ []);
153
+ _items = computed(() => this.options()?.items ?? this.items(), ...ngDevMode ? [{ debugName: "_items" }] : /* istanbul ignore next */ []);
154
+ _itemSize = computed(() => this.options()?.itemSize ?? this.itemSize(), ...ngDevMode ? [{ debugName: "_itemSize" }] : /* istanbul ignore next */ []);
155
+ _scrollHeight = computed(() => this.options()?.scrollHeight ?? this.scrollHeight(), ...ngDevMode ? [{ debugName: "_scrollHeight" }] : /* istanbul ignore next */ []);
156
+ _scrollWidth = computed(() => this.options()?.scrollWidth ?? this.scrollWidth(), ...ngDevMode ? [{ debugName: "_scrollWidth" }] : /* istanbul ignore next */ []);
157
+ _orientation = computed(() => this.options()?.orientation ?? this.orientation(), ...ngDevMode ? [{ debugName: "_orientation" }] : /* istanbul ignore next */ []);
158
+ _step = computed(() => this.options()?.step ?? this.step(), ...ngDevMode ? [{ debugName: "_step" }] : /* istanbul ignore next */ []);
159
+ _delay = computed(() => this.options()?.delay ?? this.delay(), ...ngDevMode ? [{ debugName: "_delay" }] : /* istanbul ignore next */ []);
160
+ _resizeDelay = computed(() => this.options()?.resizeDelay ?? this.resizeDelay(), ...ngDevMode ? [{ debugName: "_resizeDelay" }] : /* istanbul ignore next */ []);
161
+ _appendOnly = computed(() => this.options()?.appendOnly ?? this.appendOnly(), ...ngDevMode ? [{ debugName: "_appendOnly" }] : /* istanbul ignore next */ []);
162
+ _inline = computed(() => this.options()?.inline ?? this.inline(), ...ngDevMode ? [{ debugName: "_inline" }] : /* istanbul ignore next */ []);
163
+ _lazy = computed(() => this.options()?.lazy ?? this.lazy(), ...ngDevMode ? [{ debugName: "_lazy" }] : /* istanbul ignore next */ []);
164
+ _disabled = computed(() => this.options()?.disabled ?? this.disabled(), ...ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []);
165
+ _loaderDisabled = computed(() => this.options()?.loaderDisabled ?? this.loaderDisabled(), ...ngDevMode ? [{ debugName: "_loaderDisabled" }] : /* istanbul ignore next */ []);
166
+ _columns = computed(() => this.options()?.columns ?? this.columns(), ...ngDevMode ? [{ debugName: "_columns" }] : /* istanbul ignore next */ []);
167
+ _showSpacer = computed(() => this.options()?.showSpacer ?? this.showSpacer(), ...ngDevMode ? [{ debugName: "_showSpacer" }] : /* istanbul ignore next */ []);
168
+ _showLoader = computed(() => this.options()?.showLoader ?? this.showLoader(), ...ngDevMode ? [{ debugName: "_showLoader" }] : /* istanbul ignore next */ []);
169
+ _numToleratedItems = computed(() => this.options()?.numToleratedItems ?? this.numToleratedItems(), ...ngDevMode ? [{ debugName: "_numToleratedItems" }] : /* istanbul ignore next */ []);
170
+ _loading = computed(() => this.options()?.loading ?? this.loading(), ...ngDevMode ? [{ debugName: "_loading" }] : /* istanbul ignore next */ []);
171
+ _autoSize = computed(() => this.options()?.autoSize ?? this.autoSize(), ...ngDevMode ? [{ debugName: "_autoSize" }] : /* istanbul ignore next */ []);
172
+ _trackBy = computed(() => this.options()?.trackBy ?? this.trackBy(), ...ngDevMode ? [{ debugName: "_trackBy" }] : /* istanbul ignore next */ []);
173
+ contentStyleClass = computed(() => this.options()?.contentStyleClass, ...ngDevMode ? [{ debugName: "contentStyleClass" }] : /* istanbul ignore next */ []);
174
+ onLazyLoad = output();
175
+ onScroll = output();
176
+ onScrollIndexChange = output();
177
+ elementViewChild = viewChild("element", ...ngDevMode ? [{ debugName: "elementViewChild" }] : /* istanbul ignore next */ []);
178
+ contentViewChild = viewChild("content", ...ngDevMode ? [{ debugName: "contentViewChild" }] : /* istanbul ignore next */ []);
179
+ hostHeight = signal(void 0, ...ngDevMode ? [{ debugName: "hostHeight" }] : /* istanbul ignore next */ []);
180
+ contentTemplate = contentChild("content", {
181
+ ...ngDevMode ? { debugName: "contentTemplate" } : /* istanbul ignore next */ {},
182
+ descendants: false
183
+ });
184
+ itemTemplate = contentChild("item", {
185
+ ...ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {},
186
+ descendants: false
187
+ });
188
+ loaderTemplate = contentChild("loader", {
189
+ ...ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {},
190
+ descendants: false
191
+ });
192
+ loaderIconTemplate = contentChild("loadericon", {
193
+ ...ngDevMode ? { debugName: "loaderIconTemplate" } : /* istanbul ignore next */ {},
194
+ descendants: false
195
+ });
196
+ d_loading = false;
197
+ d_numToleratedItems;
198
+ contentEl;
199
+ vertical = computed(() => this._orientation() === "vertical", ...ngDevMode ? [{ debugName: "vertical" }] : /* istanbul ignore next */ []);
200
+ horizontal = computed(() => this._orientation() === "horizontal", ...ngDevMode ? [{ debugName: "horizontal" }] : /* istanbul ignore next */ []);
201
+ both = computed(() => this._orientation() === "both", ...ngDevMode ? [{ debugName: "both" }] : /* istanbul ignore next */ []);
202
+ get loadedItems() {
203
+ const items = this._items();
204
+ if (items && !this.d_loading) {
205
+ if (this.both()) return items.slice(this._appendOnly() ? 0 : this.first.rows, this.last.rows).map((item) => {
206
+ if (this._columns()) return item;
207
+ else if (Array.isArray(item)) return item.slice(this._appendOnly() ? 0 : this.first.cols, this.last.cols);
208
+ else return item;
209
+ });
210
+ else if (this.horizontal() && this._columns()) return items;
211
+ else return items.slice(this._appendOnly() ? 0 : this.first, this.last);
212
+ }
213
+ return [];
214
+ }
215
+ get loadedRows() {
216
+ return this.d_loading ? this._loaderDisabled() ? this.loaderArr : [] : this.loadedItems;
217
+ }
218
+ get loadedColumns() {
219
+ const columns = this._columns();
220
+ if (columns && (this.both() || this.horizontal())) return this.d_loading && this._loaderDisabled() ? this.both() ? this.loaderArr[0] : this.loaderArr : columns.slice(this.both() ? this.first.cols : this.first, this.both() ? this.last.cols : this.last);
221
+ return columns;
222
+ }
223
+ first = 0;
224
+ last = 0;
225
+ page = 0;
226
+ isRangeChanged = false;
227
+ numItemsInViewport = 0;
228
+ lastScrollPos = 0;
229
+ lazyLoadState = {};
230
+ loaderArr = [];
231
+ spacerStyle;
232
+ contentStyle;
233
+ scrollTimeout;
234
+ resizeTimeout;
235
+ _destroyed = false;
236
+ initialized = false;
237
+ windowResizeListener;
238
+ defaultWidth;
239
+ defaultHeight;
240
+ defaultContentWidth;
241
+ defaultContentHeight;
242
+ _componentStyle = inject(ScrollerStyle);
243
+ constructor() {
244
+ super();
245
+ effect(() => {
246
+ if (this._scrollHeight() === "100%") this.hostHeight.set("100%");
247
+ });
248
+ effect(() => {
249
+ const loading = this._loading();
250
+ untracked(() => {
251
+ if (this._lazy() && loading !== void 0 && loading !== this.d_loading) this.d_loading = loading;
252
+ });
253
+ });
254
+ effect(() => {
255
+ this._orientation();
256
+ untracked(() => {
257
+ this.lastScrollPos = this.both() ? {
258
+ top: 0,
259
+ left: 0
260
+ } : 0;
261
+ });
262
+ });
263
+ effect(() => {
264
+ const numT = this._numToleratedItems();
265
+ untracked(() => {
266
+ if (numT !== void 0 && numT !== this.d_numToleratedItems) this.d_numToleratedItems = numT;
267
+ });
268
+ });
269
+ effect(() => {
270
+ this._itemSize();
271
+ this._scrollHeight();
272
+ this._scrollWidth();
273
+ untracked(() => {
274
+ if (this.initialized) {
275
+ this.init();
276
+ this.calculateAutoSize();
277
+ }
278
+ });
279
+ });
280
+ effect(() => {
281
+ this._items();
282
+ untracked(() => {
283
+ if (this.initialized && !this._lazy()) this.init();
284
+ });
285
+ });
286
+ effect(() => {
287
+ const opts = this.options();
288
+ untracked(() => {
289
+ if (opts?.contentStyle !== void 0) this.contentStyle = opts.contentStyle;
290
+ });
291
+ });
292
+ }
293
+ _loaderIconContext = computed(() => ({ options: { styleClass: this.pcn("p-virtualscroller-loading-icon") } }), ...ngDevMode ? [{ debugName: "_loaderIconContext" }] : /* istanbul ignore next */ []);
294
+ get loaderIconContext() {
295
+ return this._loaderIconContext();
296
+ }
297
+ onInit() {
298
+ this.setInitialState();
299
+ }
300
+ onAfterViewInit() {
301
+ Promise.resolve().then(() => {
302
+ this.viewInit();
303
+ });
304
+ }
305
+ onAfterViewChecked() {
306
+ this.bindDirectiveInstance.setAttrs(this.ptm("host"));
307
+ if (!this.initialized) this.viewInit();
308
+ }
309
+ onDestroy() {
310
+ this._destroyed = true;
311
+ this.unbindResizeListener();
312
+ if (this.scrollTimeout) clearTimeout(this.scrollTimeout);
313
+ if (this.resizeTimeout) clearTimeout(this.resizeTimeout);
314
+ this.contentEl = null;
315
+ this.initialized = false;
316
+ }
317
+ viewInit() {
318
+ if (isPlatformBrowser(this.platformId) && !this.initialized) {
319
+ if (isVisible(this.elementViewChild()?.nativeElement)) {
320
+ this.setInitialState();
321
+ this.setContentEl(this.contentEl);
322
+ this.init();
323
+ this.defaultWidth = getWidth(this.elementViewChild()?.nativeElement);
324
+ this.defaultHeight = getHeight(this.elementViewChild()?.nativeElement);
325
+ this.defaultContentWidth = getWidth(this.contentEl);
326
+ this.defaultContentHeight = getHeight(this.contentEl);
327
+ this.initialized = true;
328
+ }
329
+ }
330
+ }
331
+ init() {
332
+ if (!this._disabled()) {
333
+ this.bindResizeListener();
334
+ setTimeout(() => {
335
+ this.setSpacerSize();
336
+ this.setSize();
337
+ this.calculateOptions();
338
+ this.calculateAutoSize();
339
+ this.cd.detectChanges();
340
+ }, 1);
341
+ }
342
+ }
343
+ setContentEl(el) {
344
+ this.contentEl = el || this.contentViewChild()?.nativeElement || findSingle(this.elementViewChild()?.nativeElement, this.psel(".p-virtualscroller-content"));
345
+ }
346
+ setInitialState() {
347
+ this.first = this.both() ? {
348
+ rows: 0,
349
+ cols: 0
350
+ } : 0;
351
+ this.last = this.both() ? {
352
+ rows: 0,
353
+ cols: 0
354
+ } : 0;
355
+ this.numItemsInViewport = this.both() ? {
356
+ rows: 0,
357
+ cols: 0
358
+ } : 0;
359
+ this.lastScrollPos = this.both() ? {
360
+ top: 0,
361
+ left: 0
362
+ } : 0;
363
+ if (this.d_loading === void 0 || this.d_loading === false) this.d_loading = this._loading() || false;
364
+ this.d_numToleratedItems = this._numToleratedItems();
365
+ this.loaderArr = this.loaderArr.length > 0 ? this.loaderArr : [];
366
+ }
367
+ getElementRef() {
368
+ return this.elementViewChild();
369
+ }
370
+ getPageByFirst(first) {
371
+ return Math.floor(((first ?? this.first) + this.d_numToleratedItems * 4) / (this._step() || 1));
372
+ }
373
+ isPageChanged(first) {
374
+ return this._step() ? this.page !== this.getPageByFirst(first ?? this.first) : true;
375
+ }
376
+ scrollTo(options) {
377
+ this.elementViewChild()?.nativeElement?.scrollTo(options);
378
+ }
379
+ scrollToIndex(index, behavior = "auto") {
380
+ if (this.both() ? index.every((i) => i > -1) : index > -1) {
381
+ const first = this.first;
382
+ const { scrollTop = 0, scrollLeft = 0 } = this.elementViewChild()?.nativeElement ?? {};
383
+ const { numToleratedItems } = this.calculateNumItems();
384
+ const contentPos = this.getContentPosition();
385
+ const itemSize = this._itemSize();
386
+ const calculateFirst = (_index = 0, _numT) => _index <= _numT ? 0 : _index;
387
+ const calculateCoord = (_first, _size, _cpos) => _first * _size + _cpos;
388
+ const scrollTo = (left = 0, top = 0) => this.scrollTo({
389
+ left,
390
+ top,
391
+ behavior
392
+ });
393
+ let newFirst = this.both() ? {
394
+ rows: 0,
395
+ cols: 0
396
+ } : 0;
397
+ let isRangeChanged = false, isScrollChanged = false;
398
+ if (this.both()) {
399
+ newFirst = {
400
+ rows: calculateFirst(index[0], numToleratedItems[0]),
401
+ cols: calculateFirst(index[1], numToleratedItems[1])
402
+ };
403
+ scrollTo(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));
404
+ isScrollChanged = this.lastScrollPos.top !== scrollTop || this.lastScrollPos.left !== scrollLeft;
405
+ isRangeChanged = newFirst.rows !== first.rows || newFirst.cols !== first.cols;
406
+ } else {
407
+ newFirst = calculateFirst(index, numToleratedItems);
408
+ if (this.horizontal()) scrollTo(calculateCoord(newFirst, itemSize, contentPos.left), scrollTop);
409
+ else scrollTo(scrollLeft, calculateCoord(newFirst, itemSize, contentPos.top));
410
+ isScrollChanged = this.lastScrollPos !== (this.horizontal() ? scrollLeft : scrollTop);
411
+ isRangeChanged = newFirst !== first;
412
+ }
413
+ this.isRangeChanged = isRangeChanged;
414
+ if (isScrollChanged) this.first = newFirst;
415
+ }
416
+ }
417
+ scrollInView(index, to, behavior = "auto") {
418
+ if (to) {
419
+ const { first, viewport } = this.getRenderedRange();
420
+ const scrollTo = (left = 0, top = 0) => this.scrollTo({
421
+ left,
422
+ top,
423
+ behavior
424
+ });
425
+ const isToStart = to === "to-start";
426
+ const isToEnd = to === "to-end";
427
+ if (isToStart) {
428
+ if (this.both()) {
429
+ if (viewport.first.rows - first.rows > index[0]) scrollTo(viewport.first.cols * this._itemSize()[1], (viewport.first.rows - 1) * this._itemSize()[0]);
430
+ else if (viewport.first.cols - first.cols > index[1]) scrollTo((viewport.first.cols - 1) * this._itemSize()[1], viewport.first.rows * this._itemSize()[0]);
431
+ } else if (viewport.first - first > index) {
432
+ const pos = (viewport.first - 1) * this._itemSize();
433
+ if (this.horizontal()) scrollTo(pos, 0);
434
+ else scrollTo(0, pos);
435
+ }
436
+ } else if (isToEnd) {
437
+ if (this.both()) {
438
+ if (viewport.last.rows - first.rows <= index[0] + 1) scrollTo(viewport.first.cols * this._itemSize()[1], (viewport.first.rows + 1) * this._itemSize()[0]);
439
+ else if (viewport.last.cols - first.cols <= index[1] + 1) scrollTo((viewport.first.cols + 1) * this._itemSize()[1], viewport.first.rows * this._itemSize()[0]);
440
+ } else if (viewport.last - first <= index + 1) {
441
+ const pos = (viewport.first + 1) * this._itemSize();
442
+ if (this.horizontal()) scrollTo(pos, 0);
443
+ else scrollTo(0, pos);
444
+ }
445
+ }
446
+ } else this.scrollToIndex(index, behavior);
447
+ }
448
+ getRenderedRange() {
449
+ const calculateFirstInViewport = (_pos, _size) => _size || _pos ? Math.floor(_pos / (_size || _pos)) : 0;
450
+ let firstInViewport = this.first;
451
+ let lastInViewport = 0;
452
+ const el = this.elementViewChild()?.nativeElement;
453
+ if (el) {
454
+ const { scrollTop, scrollLeft } = el;
455
+ if (this.both()) {
456
+ firstInViewport = {
457
+ rows: calculateFirstInViewport(scrollTop, this._itemSize()[0]),
458
+ cols: calculateFirstInViewport(scrollLeft, this._itemSize()[1])
459
+ };
460
+ lastInViewport = {
461
+ rows: firstInViewport.rows + this.numItemsInViewport.rows,
462
+ cols: firstInViewport.cols + this.numItemsInViewport.cols
463
+ };
464
+ } else {
465
+ firstInViewport = calculateFirstInViewport(this.horizontal() ? scrollLeft : scrollTop, this._itemSize());
466
+ lastInViewport = firstInViewport + this.numItemsInViewport;
467
+ }
468
+ }
469
+ return {
470
+ first: this.first,
471
+ last: this.last,
472
+ viewport: {
473
+ first: firstInViewport,
474
+ last: lastInViewport
475
+ }
476
+ };
477
+ }
478
+ calculateNumItems() {
479
+ const contentPos = this.getContentPosition();
480
+ const el = this.elementViewChild()?.nativeElement;
481
+ const contentWidth = (el ? el.offsetWidth - contentPos.left : 0) || 0;
482
+ const contentHeight = (el ? el.offsetHeight - contentPos.top : 0) || 0;
483
+ const calculateNumItemsInViewport = (_contentSize, _itemSize) => _itemSize || _contentSize ? Math.ceil(_contentSize / (_itemSize || _contentSize)) : 0;
484
+ const calculateNumToleratedItems = (_numItems) => Math.ceil(_numItems / 2);
485
+ const numItemsInViewport = this.both() ? {
486
+ rows: calculateNumItemsInViewport(contentHeight, this._itemSize()[0]),
487
+ cols: calculateNumItemsInViewport(contentWidth, this._itemSize()[1])
488
+ } : calculateNumItemsInViewport(this.horizontal() ? contentWidth : contentHeight, this._itemSize());
489
+ return {
490
+ numItemsInViewport,
491
+ numToleratedItems: this.d_numToleratedItems || (this.both() ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport))
492
+ };
493
+ }
494
+ calculateOptions() {
495
+ const { numItemsInViewport, numToleratedItems } = this.calculateNumItems();
496
+ const calculateLast = (_first, _num, _numT, _isCols = false) => this.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);
497
+ const first = this.first;
498
+ const last = this.both() ? {
499
+ rows: calculateLast(this.first.rows, numItemsInViewport.rows, numToleratedItems[0]),
500
+ cols: calculateLast(this.first.cols, numItemsInViewport.cols, numToleratedItems[1], true)
501
+ } : calculateLast(this.first, numItemsInViewport, numToleratedItems);
502
+ this.last = last;
503
+ this.numItemsInViewport = numItemsInViewport;
504
+ this.d_numToleratedItems = numToleratedItems;
505
+ if (this._showLoader()) this.loaderArr = this.both() ? Array.from({ length: numItemsInViewport.rows }).map(() => Array.from({ length: numItemsInViewport.cols })) : Array.from({ length: numItemsInViewport });
506
+ if (this._lazy()) Promise.resolve().then(() => {
507
+ this.lazyLoadState = {
508
+ first: this._step() ? this.both() ? {
509
+ rows: 0,
510
+ cols: first.cols
511
+ } : 0 : first,
512
+ last: Math.min(this._step() ? this._step() : this.last, this._items().length)
513
+ };
514
+ this.handleEvents("onLazyLoad", this.lazyLoadState);
515
+ });
516
+ }
517
+ calculateAutoSize() {
518
+ if (this._autoSize() && !this.d_loading) Promise.resolve().then(() => {
519
+ if (this.contentEl) {
520
+ this.contentEl.style.minHeight = this.contentEl.style.minWidth = "auto";
521
+ this.contentEl.style.position = "relative";
522
+ this.elementViewChild().nativeElement.style.contain = "none";
523
+ const [contentWidth, contentHeight] = [getWidth(this.contentEl), getHeight(this.contentEl)];
524
+ if (contentWidth !== this.defaultContentWidth) this.elementViewChild().nativeElement.style.width = "";
525
+ if (contentHeight !== this.defaultContentHeight) this.elementViewChild().nativeElement.style.height = "";
526
+ const [width, height] = [getWidth(this.elementViewChild().nativeElement), getHeight(this.elementViewChild().nativeElement)];
527
+ if (this.both() || this.horizontal()) this.elementViewChild().nativeElement.style.width = width < this.defaultWidth ? width + "px" : this._scrollWidth() || this.defaultWidth + "px";
528
+ if (this.both() || this.vertical()) this.elementViewChild().nativeElement.style.height = height < this.defaultHeight ? height + "px" : this._scrollHeight() || this.defaultHeight + "px";
529
+ this.contentEl.style.minHeight = this.contentEl.style.minWidth = "";
530
+ this.contentEl.style.position = "";
531
+ this.elementViewChild().nativeElement.style.contain = "";
532
+ }
533
+ });
534
+ }
535
+ getLast(last = 0, isCols = false) {
536
+ const items = this._items();
537
+ const columns = this._columns();
538
+ return items ? Math.min(isCols ? (columns || items[0]).length : items.length, last) : 0;
539
+ }
540
+ getContentPosition() {
541
+ if (this.contentEl) {
542
+ const style = getComputedStyle(this.contentEl);
543
+ const left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0);
544
+ const right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0);
545
+ const top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0);
546
+ const bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0);
547
+ return {
548
+ left,
549
+ right,
550
+ top,
551
+ bottom,
552
+ x: left + right,
553
+ y: top + bottom
554
+ };
555
+ }
556
+ return {
557
+ left: 0,
558
+ right: 0,
559
+ top: 0,
560
+ bottom: 0,
561
+ x: 0,
562
+ y: 0
563
+ };
564
+ }
565
+ setSize() {
566
+ const nativeElement = this.elementViewChild()?.nativeElement;
567
+ if (nativeElement) {
568
+ const parentElement = nativeElement.parentElement?.parentElement;
569
+ const elementWidth = nativeElement.offsetWidth;
570
+ const parentWidth = parentElement?.offsetWidth || 0;
571
+ const width = this._scrollWidth() || `${elementWidth || parentWidth}px`;
572
+ const elementHeight = nativeElement.offsetHeight;
573
+ const parentHeight = parentElement?.offsetHeight || 0;
574
+ const height = this._scrollHeight() || `${elementHeight || parentHeight}px`;
575
+ const setProp = (_name, _value) => nativeElement.style[_name] = _value;
576
+ if (this.both() || this.horizontal()) {
577
+ setProp("height", height);
578
+ setProp("width", width);
579
+ } else setProp("height", height);
580
+ }
581
+ }
582
+ setSpacerSize() {
583
+ const items = this._items();
584
+ if (items) {
585
+ const contentPos = this.getContentPosition();
586
+ const setProp = (_name, _value, _size, _cpos = 0) => this.spacerStyle = {
587
+ ...this.spacerStyle,
588
+ [`${_name}`]: (_value || []).length * _size + _cpos + "px"
589
+ };
590
+ if (this.both()) {
591
+ setProp("height", items, this._itemSize()[0], contentPos.y);
592
+ setProp("width", this._columns() || items[1], this._itemSize()[1], contentPos.x);
593
+ } else if (this.horizontal()) setProp("width", this._columns() || items, this._itemSize(), contentPos.x);
594
+ else setProp("height", items, this._itemSize(), contentPos.y);
595
+ }
596
+ }
597
+ setContentPosition(pos) {
598
+ if (this.contentEl && !this._appendOnly()) {
599
+ const first = pos ? pos.first : this.first;
600
+ const calculateTranslateVal = (_first, _size) => _first * _size;
601
+ const setTransform = (_x = 0, _y = 0) => this.contentStyle = {
602
+ ...this.contentStyle,
603
+ transform: `translate3d(${_x}px, ${_y}px, 0)`
604
+ };
605
+ if (this.both()) setTransform(calculateTranslateVal(first.cols, this._itemSize()[1]), calculateTranslateVal(first.rows, this._itemSize()[0]));
606
+ else {
607
+ const translateVal = calculateTranslateVal(first, this._itemSize());
608
+ if (this.horizontal()) setTransform(translateVal, 0);
609
+ else setTransform(0, translateVal);
610
+ }
611
+ }
612
+ }
613
+ onScrollPositionChange(event) {
614
+ const target = event.target;
615
+ if (!target) throw new Error("Event target is null");
616
+ const contentPos = this.getContentPosition();
617
+ const calculateScrollPos = (_pos, _cpos) => _pos ? _pos > _cpos ? _pos - _cpos : _pos : 0;
618
+ const calculateCurrentIndex = (_pos, _size) => _size || _pos ? Math.floor(_pos / (_size || _pos)) : 0;
619
+ const calculateTriggerIndex = (_currentIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1;
620
+ const calculateFirst = (_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {
621
+ if (_currentIndex <= _numT) return 0;
622
+ else return Math.max(0, _isScrollDownOrRight ? _currentIndex < _triggerIndex ? _first : _currentIndex - _numT : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT);
623
+ };
624
+ const calculateLast = (_currentIndex, _first, _last, _num, _numT, _isCols = false) => {
625
+ let lastValue = _first + _num + 2 * _numT;
626
+ if (_currentIndex >= _numT) lastValue += _numT + 1;
627
+ return this.getLast(lastValue, _isCols);
628
+ };
629
+ const scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
630
+ const scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
631
+ let newFirst = this.both() ? {
632
+ rows: 0,
633
+ cols: 0
634
+ } : 0;
635
+ let newLast = this.last;
636
+ let isRangeChanged = false;
637
+ let newScrollPos = this.lastScrollPos;
638
+ if (this.both()) {
639
+ const isScrollDown = this.lastScrollPos.top <= scrollTop;
640
+ const isScrollRight = this.lastScrollPos.left <= scrollLeft;
641
+ if (!this._appendOnly() || this._appendOnly() && (isScrollDown || isScrollRight)) {
642
+ const currentIndex = {
643
+ rows: calculateCurrentIndex(scrollTop, this._itemSize()[0]),
644
+ cols: calculateCurrentIndex(scrollLeft, this._itemSize()[1])
645
+ };
646
+ const triggerIndex = {
647
+ rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),
648
+ cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)
649
+ };
650
+ newFirst = {
651
+ rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),
652
+ cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)
653
+ };
654
+ newLast = {
655
+ rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]),
656
+ cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true)
657
+ };
658
+ isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols || this.isRangeChanged;
659
+ newScrollPos = {
660
+ top: scrollTop,
661
+ left: scrollLeft
662
+ };
663
+ }
664
+ } else {
665
+ const scrollPos = this.horizontal() ? scrollLeft : scrollTop;
666
+ const isScrollDownOrRight = this.lastScrollPos <= scrollPos;
667
+ if (!this._appendOnly() || this._appendOnly() && isScrollDownOrRight) {
668
+ const currentIndex = calculateCurrentIndex(scrollPos, this._itemSize());
669
+ newFirst = calculateFirst(currentIndex, calculateTriggerIndex(currentIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight), this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);
670
+ newLast = calculateLast(currentIndex, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems);
671
+ isRangeChanged = newFirst !== this.first || newLast !== this.last || this.isRangeChanged;
672
+ newScrollPos = scrollPos;
673
+ }
674
+ }
675
+ return {
676
+ first: newFirst,
677
+ last: newLast,
678
+ isRangeChanged,
679
+ scrollPos: newScrollPos
680
+ };
681
+ }
682
+ onScrollChange(event) {
683
+ const { first, last, isRangeChanged, scrollPos } = this.onScrollPositionChange(event);
684
+ if (isRangeChanged) {
685
+ const newState = {
686
+ first,
687
+ last
688
+ };
689
+ this.setContentPosition(newState);
690
+ this.first = first;
691
+ this.last = last;
692
+ this.lastScrollPos = scrollPos;
693
+ this.handleEvents("onScrollIndexChange", newState);
694
+ if (this._lazy() && this.isPageChanged(first)) {
695
+ const lazyLoadState = {
696
+ first: this._step() ? Math.min(this.getPageByFirst(first) * this._step(), this._items().length - this._step()) : first,
697
+ last: Math.min(this._step() ? (this.getPageByFirst(first) + 1) * this._step() : last, this._items().length)
698
+ };
699
+ if (this.lazyLoadState.first !== lazyLoadState.first || this.lazyLoadState.last !== lazyLoadState.last) this.handleEvents("onLazyLoad", lazyLoadState);
700
+ this.lazyLoadState = lazyLoadState;
701
+ }
702
+ }
703
+ }
704
+ onContainerScroll(event) {
705
+ this.handleEvents("onScroll", { originalEvent: event });
706
+ if (this._delay()) {
707
+ if (this.scrollTimeout) clearTimeout(this.scrollTimeout);
708
+ if (!this.d_loading && this._showLoader()) {
709
+ const { isRangeChanged } = this.onScrollPositionChange(event);
710
+ if (isRangeChanged || (this._step() ? this.isPageChanged() : false)) {
711
+ this.d_loading = true;
712
+ this.cd.detectChanges();
713
+ }
714
+ }
715
+ this.scrollTimeout = setTimeout(() => {
716
+ this.onScrollChange(event);
717
+ if (this.d_loading && this._showLoader() && (!this._lazy() || this._loading() === void 0)) {
718
+ this.d_loading = false;
719
+ this.page = this.getPageByFirst();
720
+ }
721
+ this.cd.detectChanges();
722
+ }, this._delay());
723
+ } else if (!this.d_loading) this.onScrollChange(event);
724
+ }
725
+ bindResizeListener() {
726
+ if (isPlatformBrowser(this.platformId)) {
727
+ if (!this.windowResizeListener) {
728
+ const window = this.document.defaultView;
729
+ const event = isTouchDevice() ? "orientationchange" : "resize";
730
+ this.windowResizeListener = this.renderer.listen(window, event, this.onWindowResize.bind(this));
731
+ }
732
+ }
733
+ }
734
+ unbindResizeListener() {
735
+ if (this.windowResizeListener) {
736
+ this.windowResizeListener();
737
+ this.windowResizeListener = null;
738
+ }
739
+ }
740
+ onWindowResize() {
741
+ if (this.resizeTimeout) clearTimeout(this.resizeTimeout);
742
+ this.resizeTimeout = setTimeout(() => {
743
+ if (isVisible(this.elementViewChild()?.nativeElement)) {
744
+ const [width, height] = [getWidth(this.elementViewChild()?.nativeElement), getHeight(this.elementViewChild()?.nativeElement)];
745
+ const [isDiffWidth, isDiffHeight] = [width !== this.defaultWidth, height !== this.defaultHeight];
746
+ if (this.both() ? isDiffWidth || isDiffHeight : this.horizontal() ? isDiffWidth : this.vertical() ? isDiffHeight : false) {
747
+ this.d_numToleratedItems = this._numToleratedItems();
748
+ this.defaultWidth = width;
749
+ this.defaultHeight = height;
750
+ this.defaultContentWidth = getWidth(this.contentEl);
751
+ this.defaultContentHeight = getHeight(this.contentEl);
752
+ this.init();
753
+ }
754
+ }
755
+ }, this._resizeDelay());
756
+ }
757
+ handleEvents(name, params) {
758
+ if (this._destroyed) return;
759
+ const opts = this.options();
760
+ return opts && opts[name] ? opts[name](params) : this[name].emit(params);
761
+ }
762
+ getContentTemplateContext() {
763
+ return {
764
+ $implicit: this.loadedItems,
765
+ options: this.getContentOptions()
766
+ };
767
+ }
768
+ getItemTemplateContext(item, index) {
769
+ return {
770
+ $implicit: item,
771
+ options: this.getOptions(index)
772
+ };
773
+ }
774
+ getLoaderTemplateContext(index) {
775
+ return { options: this.getLoaderOptions(index, this.both() && { numCols: this.numItemsInViewport.cols }) };
776
+ }
777
+ getDisabledContentTemplateContext() {
778
+ return {
779
+ $implicit: this.items(),
780
+ options: {
781
+ rows: this._items() ?? void 0,
782
+ columns: this.loadedColumns
783
+ }
784
+ };
785
+ }
786
+ getContentOptions() {
787
+ return {
788
+ contentStyleClass: this.pcn(`p-virtualscroller-content ${this.d_loading ? "p-virtualscroller-loading" : ""}`),
789
+ items: this.loadedItems,
790
+ getItemOptions: (index) => this.getOptions(index),
791
+ loading: this.d_loading,
792
+ getLoaderOptions: (index, options) => this.getLoaderOptions(index, options),
793
+ itemSize: this._itemSize(),
794
+ rows: this.loadedRows,
795
+ columns: this.loadedColumns,
796
+ spacerStyle: this.spacerStyle,
797
+ contentStyle: this.contentStyle,
798
+ vertical: this.vertical(),
799
+ horizontal: this.horizontal(),
800
+ both: this.both(),
801
+ scrollTo: this.scrollTo.bind(this),
802
+ scrollToIndex: this.scrollToIndex.bind(this),
803
+ orientation: this._orientation(),
804
+ scrollableElement: this.elementViewChild()?.nativeElement
805
+ };
806
+ }
807
+ getOptions(renderedIndex) {
808
+ const count = (this._items() || []).length;
809
+ const index = this.both() ? this.first.rows + renderedIndex : this.first + renderedIndex;
810
+ return {
811
+ index,
812
+ count,
813
+ first: index === 0,
814
+ last: index === count - 1,
815
+ even: index % 2 === 0,
816
+ odd: index % 2 !== 0
817
+ };
818
+ }
819
+ getLoaderOptions(index, extOptions) {
820
+ const count = this.loaderArr.length;
821
+ return {
822
+ index,
823
+ count,
824
+ first: index === 0,
825
+ last: index === count - 1,
826
+ even: index % 2 === 0,
827
+ odd: index % 2 !== 0,
828
+ loading: this.d_loading,
829
+ ...extOptions
830
+ };
831
+ }
832
+ static ɵfac = i0.ɵɵngDeclareFactory({
833
+ minVersion: "12.0.0",
834
+ version: "22.2.3",
835
+ ngImport: i0,
836
+ type: Scroller,
837
+ deps: [],
838
+ target: i0.ɵɵFactoryTarget.Component
839
+ });
840
+ static ɵcmp = i0.ɵɵngDeclareComponent({
841
+ minVersion: "17.0.0",
842
+ version: "22.2.3",
843
+ type: Scroller,
844
+ isStandalone: true,
845
+ selector: "p-scroller, p-virtualscroller, p-virtual-scroller",
846
+ inputs: {
847
+ hostName: {
848
+ classPropertyName: "hostName",
849
+ publicName: "hostName",
850
+ isSignal: true,
851
+ isRequired: false,
852
+ transformFunction: null
853
+ },
854
+ id: {
855
+ classPropertyName: "id",
856
+ publicName: "id",
857
+ isSignal: true,
858
+ isRequired: false,
859
+ transformFunction: null
860
+ },
861
+ style: {
862
+ classPropertyName: "style",
863
+ publicName: "style",
864
+ isSignal: true,
865
+ isRequired: false,
866
+ transformFunction: null
867
+ },
868
+ styleClass: {
869
+ classPropertyName: "styleClass",
870
+ publicName: "styleClass",
871
+ isSignal: true,
872
+ isRequired: false,
873
+ transformFunction: null
874
+ },
875
+ tabindex: {
876
+ classPropertyName: "tabindex",
877
+ publicName: "tabindex",
878
+ isSignal: true,
879
+ isRequired: false,
880
+ transformFunction: null
881
+ },
882
+ items: {
883
+ classPropertyName: "items",
884
+ publicName: "items",
885
+ isSignal: true,
886
+ isRequired: false,
887
+ transformFunction: null
888
+ },
889
+ itemSize: {
890
+ classPropertyName: "itemSize",
891
+ publicName: "itemSize",
892
+ isSignal: true,
893
+ isRequired: false,
894
+ transformFunction: null
895
+ },
896
+ scrollHeight: {
897
+ classPropertyName: "scrollHeight",
898
+ publicName: "scrollHeight",
899
+ isSignal: true,
900
+ isRequired: false,
901
+ transformFunction: null
902
+ },
903
+ scrollWidth: {
904
+ classPropertyName: "scrollWidth",
905
+ publicName: "scrollWidth",
906
+ isSignal: true,
907
+ isRequired: false,
908
+ transformFunction: null
909
+ },
910
+ orientation: {
911
+ classPropertyName: "orientation",
912
+ publicName: "orientation",
913
+ isSignal: true,
914
+ isRequired: false,
915
+ transformFunction: null
916
+ },
917
+ step: {
918
+ classPropertyName: "step",
919
+ publicName: "step",
920
+ isSignal: true,
921
+ isRequired: false,
922
+ transformFunction: null
923
+ },
924
+ delay: {
925
+ classPropertyName: "delay",
926
+ publicName: "delay",
927
+ isSignal: true,
928
+ isRequired: false,
929
+ transformFunction: null
930
+ },
931
+ resizeDelay: {
932
+ classPropertyName: "resizeDelay",
933
+ publicName: "resizeDelay",
934
+ isSignal: true,
935
+ isRequired: false,
936
+ transformFunction: null
937
+ },
938
+ appendOnly: {
939
+ classPropertyName: "appendOnly",
940
+ publicName: "appendOnly",
941
+ isSignal: true,
942
+ isRequired: false,
943
+ transformFunction: null
944
+ },
945
+ inline: {
946
+ classPropertyName: "inline",
947
+ publicName: "inline",
948
+ isSignal: true,
949
+ isRequired: false,
950
+ transformFunction: null
951
+ },
952
+ lazy: {
953
+ classPropertyName: "lazy",
954
+ publicName: "lazy",
955
+ isSignal: true,
956
+ isRequired: false,
957
+ transformFunction: null
958
+ },
959
+ disabled: {
960
+ classPropertyName: "disabled",
961
+ publicName: "disabled",
962
+ isSignal: true,
963
+ isRequired: false,
964
+ transformFunction: null
965
+ },
966
+ loaderDisabled: {
967
+ classPropertyName: "loaderDisabled",
968
+ publicName: "loaderDisabled",
969
+ isSignal: true,
970
+ isRequired: false,
971
+ transformFunction: null
972
+ },
973
+ columns: {
974
+ classPropertyName: "columns",
975
+ publicName: "columns",
976
+ isSignal: true,
977
+ isRequired: false,
978
+ transformFunction: null
979
+ },
980
+ showSpacer: {
981
+ classPropertyName: "showSpacer",
982
+ publicName: "showSpacer",
983
+ isSignal: true,
984
+ isRequired: false,
985
+ transformFunction: null
986
+ },
987
+ showLoader: {
988
+ classPropertyName: "showLoader",
989
+ publicName: "showLoader",
990
+ isSignal: true,
991
+ isRequired: false,
992
+ transformFunction: null
993
+ },
994
+ numToleratedItems: {
995
+ classPropertyName: "numToleratedItems",
996
+ publicName: "numToleratedItems",
997
+ isSignal: true,
998
+ isRequired: false,
999
+ transformFunction: null
1000
+ },
1001
+ loading: {
1002
+ classPropertyName: "loading",
1003
+ publicName: "loading",
1004
+ isSignal: true,
1005
+ isRequired: false,
1006
+ transformFunction: null
1007
+ },
1008
+ autoSize: {
1009
+ classPropertyName: "autoSize",
1010
+ publicName: "autoSize",
1011
+ isSignal: true,
1012
+ isRequired: false,
1013
+ transformFunction: null
1014
+ },
1015
+ trackBy: {
1016
+ classPropertyName: "trackBy",
1017
+ publicName: "trackBy",
1018
+ isSignal: true,
1019
+ isRequired: false,
1020
+ transformFunction: null
1021
+ },
1022
+ options: {
1023
+ classPropertyName: "options",
1024
+ publicName: "options",
1025
+ isSignal: true,
1026
+ isRequired: false,
1027
+ transformFunction: null
1028
+ }
1029
+ },
1030
+ outputs: {
1031
+ onLazyLoad: "onLazyLoad",
1032
+ onScroll: "onScroll",
1033
+ onScrollIndexChange: "onScrollIndexChange"
1034
+ },
1035
+ host: { properties: { "style.height": "hostHeight()" } },
1036
+ providers: [
1037
+ ScrollerStyle,
1038
+ {
1039
+ provide: SCROLLER_INSTANCE,
1040
+ useExisting: Scroller
1041
+ },
1042
+ {
1043
+ provide: PARENT_INSTANCE,
1044
+ useExisting: Scroller
1045
+ }
1046
+ ],
1047
+ queries: [
1048
+ {
1049
+ propertyName: "contentTemplate",
1050
+ first: true,
1051
+ predicate: ["content"],
1052
+ isSignal: true
1053
+ },
1054
+ {
1055
+ propertyName: "itemTemplate",
1056
+ first: true,
1057
+ predicate: ["item"],
1058
+ isSignal: true
1059
+ },
1060
+ {
1061
+ propertyName: "loaderTemplate",
1062
+ first: true,
1063
+ predicate: ["loader"],
1064
+ isSignal: true
1065
+ },
1066
+ {
1067
+ propertyName: "loaderIconTemplate",
1068
+ first: true,
1069
+ predicate: ["loadericon"],
1070
+ isSignal: true
1071
+ }
1072
+ ],
1073
+ viewQueries: [{
1074
+ propertyName: "elementViewChild",
1075
+ first: true,
1076
+ predicate: ["element"],
1077
+ descendants: true,
1078
+ isSignal: true
1079
+ }, {
1080
+ propertyName: "contentViewChild",
1081
+ first: true,
1082
+ predicate: ["content"],
1083
+ descendants: true,
1084
+ isSignal: true
1085
+ }],
1086
+ usesInheritance: true,
1087
+ hostDirectives: [{ directive: i1.Bind }],
1088
+ ngImport: i0,
1089
+ template: `
1110
1090
  @if (!_disabled()) {
1111
1091
  <div #element [attr.id]="_id()" [attr.tabindex]="_tabindex()" [style]="_style()" [class]="cn(cx('root'), _styleClass())" (scroll)="onContainerScroll($event)" [pBind]="ptm('root')">
1112
1092
  @if (contentTemplate()) {
@@ -1143,15 +1123,51 @@ class Scroller extends BaseComponent {
1143
1123
  <ng-container *ngTemplateOutlet="contentTemplate(); context: getDisabledContentTemplateContext()"></ng-container>
1144
1124
  }
1145
1125
  }
1146
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Spinner, selector: "svg[data-p-icon=\"spinner\"]" }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
1147
- }
1148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Scroller, decorators: [{
1149
- type: Component,
1150
- args: [{
1151
- selector: 'p-scroller, p-virtualscroller, p-virtual-scroller',
1152
- imports: [NgTemplateOutlet, Spinner, Bind],
1153
- standalone: true,
1154
- template: `
1126
+ `,
1127
+ isInline: true,
1128
+ dependencies: [
1129
+ {
1130
+ kind: "directive",
1131
+ type: NgTemplateOutlet,
1132
+ selector: "[ngTemplateOutlet]",
1133
+ inputs: [
1134
+ "ngTemplateOutletContext",
1135
+ "ngTemplateOutlet",
1136
+ "ngTemplateOutletInjector"
1137
+ ]
1138
+ },
1139
+ {
1140
+ kind: "component",
1141
+ type: Spinner,
1142
+ selector: "svg[data-p-icon=\"spinner\"]"
1143
+ },
1144
+ {
1145
+ kind: "directive",
1146
+ type: Bind,
1147
+ selector: "[pBind]",
1148
+ inputs: ["pBind"]
1149
+ }
1150
+ ],
1151
+ changeDetection: i0.ChangeDetectionStrategy.Eager,
1152
+ encapsulation: i0.ViewEncapsulation.None
1153
+ });
1154
+ };
1155
+ i0.ɵɵngDeclareClassMetadata({
1156
+ minVersion: "12.0.0",
1157
+ version: "22.2.3",
1158
+ ngImport: i0,
1159
+ type: Scroller,
1160
+ decorators: [{
1161
+ type: Component,
1162
+ args: [{
1163
+ selector: "p-scroller, p-virtualscroller, p-virtual-scroller",
1164
+ imports: [
1165
+ NgTemplateOutlet,
1166
+ Spinner,
1167
+ Bind
1168
+ ],
1169
+ standalone: true,
1170
+ template: `
1155
1171
  @if (!_disabled()) {
1156
1172
  <div #element [attr.id]="_id()" [attr.tabindex]="_tabindex()" [style]="_style()" [class]="cn(cx('root'), _styleClass())" (scroll)="onContainerScroll($event)" [pBind]="ptm('root')">
1157
1173
  @if (contentTemplate()) {
@@ -1189,31 +1205,320 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
1189
1205
  }
1190
1206
  }
1191
1207
  `,
1192
- changeDetection: ChangeDetectionStrategy.Default,
1193
- encapsulation: ViewEncapsulation.None,
1194
- providers: [ScrollerStyle, { provide: SCROLLER_INSTANCE, useExisting: Scroller }, { provide: PARENT_INSTANCE, useExisting: Scroller }],
1195
- hostDirectives: [Bind],
1196
- host: {
1197
- '[style.height]': 'hostHeight()'
1198
- }
1199
- }]
1200
- }], ctorParameters: () => [], propDecorators: { hostName: [{ type: i0.Input, args: [{ isSignal: true, alias: "hostName", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], itemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemSize", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], scrollWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollWidth", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], delay: [{ type: i0.Input, args: [{ isSignal: true, alias: "delay", required: false }] }], resizeDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizeDelay", required: false }] }], appendOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendOnly", required: false }] }], inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }], lazy: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazy", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], loaderDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "loaderDisabled", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], showSpacer: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSpacer", required: false }] }], showLoader: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLoader", required: false }] }], numToleratedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "numToleratedItems", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], autoSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoSize", required: false }] }], trackBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackBy", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], onLazyLoad: [{ type: i0.Output, args: ["onLazyLoad"] }], onScroll: [{ type: i0.Output, args: ["onScroll"] }], onScrollIndexChange: [{ type: i0.Output, args: ["onScrollIndexChange"] }], elementViewChild: [{ type: i0.ViewChild, args: ['element', { isSignal: true }] }], contentViewChild: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }], contentTemplate: [{ type: i0.ContentChild, args: ['content', { ...{ descendants: false }, isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], loaderTemplate: [{ type: i0.ContentChild, args: ['loader', { ...{ descendants: false }, isSignal: true }] }], loaderIconTemplate: [{ type: i0.ContentChild, args: ['loadericon', { ...{ descendants: false }, isSignal: true }] }] } });
1201
- class ScrollerModule {
1202
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1203
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: ScrollerModule, imports: [Scroller], exports: [Scroller] });
1204
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ScrollerModule, imports: [Scroller] });
1205
- }
1206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ScrollerModule, decorators: [{
1207
- type: NgModule,
1208
- args: [{
1209
- imports: [Scroller],
1210
- exports: [Scroller]
1211
- }]
1212
- }] });
1213
-
1214
- /**
1215
- * Generated bundle index. Do not edit.
1216
- */
1217
-
1208
+ changeDetection: ChangeDetectionStrategy.Default,
1209
+ encapsulation: ViewEncapsulation.None,
1210
+ providers: [
1211
+ ScrollerStyle,
1212
+ {
1213
+ provide: SCROLLER_INSTANCE,
1214
+ useExisting: Scroller
1215
+ },
1216
+ {
1217
+ provide: PARENT_INSTANCE,
1218
+ useExisting: Scroller
1219
+ }
1220
+ ],
1221
+ hostDirectives: [Bind],
1222
+ host: { "[style.height]": "hostHeight()" }
1223
+ }]
1224
+ }],
1225
+ ctorParameters: () => [],
1226
+ propDecorators: {
1227
+ hostName: [{
1228
+ type: i0.Input,
1229
+ args: [{
1230
+ isSignal: true,
1231
+ alias: "hostName",
1232
+ required: false
1233
+ }]
1234
+ }],
1235
+ id: [{
1236
+ type: i0.Input,
1237
+ args: [{
1238
+ isSignal: true,
1239
+ alias: "id",
1240
+ required: false
1241
+ }]
1242
+ }],
1243
+ style: [{
1244
+ type: i0.Input,
1245
+ args: [{
1246
+ isSignal: true,
1247
+ alias: "style",
1248
+ required: false
1249
+ }]
1250
+ }],
1251
+ styleClass: [{
1252
+ type: i0.Input,
1253
+ args: [{
1254
+ isSignal: true,
1255
+ alias: "styleClass",
1256
+ required: false
1257
+ }]
1258
+ }],
1259
+ tabindex: [{
1260
+ type: i0.Input,
1261
+ args: [{
1262
+ isSignal: true,
1263
+ alias: "tabindex",
1264
+ required: false
1265
+ }]
1266
+ }],
1267
+ items: [{
1268
+ type: i0.Input,
1269
+ args: [{
1270
+ isSignal: true,
1271
+ alias: "items",
1272
+ required: false
1273
+ }]
1274
+ }],
1275
+ itemSize: [{
1276
+ type: i0.Input,
1277
+ args: [{
1278
+ isSignal: true,
1279
+ alias: "itemSize",
1280
+ required: false
1281
+ }]
1282
+ }],
1283
+ scrollHeight: [{
1284
+ type: i0.Input,
1285
+ args: [{
1286
+ isSignal: true,
1287
+ alias: "scrollHeight",
1288
+ required: false
1289
+ }]
1290
+ }],
1291
+ scrollWidth: [{
1292
+ type: i0.Input,
1293
+ args: [{
1294
+ isSignal: true,
1295
+ alias: "scrollWidth",
1296
+ required: false
1297
+ }]
1298
+ }],
1299
+ orientation: [{
1300
+ type: i0.Input,
1301
+ args: [{
1302
+ isSignal: true,
1303
+ alias: "orientation",
1304
+ required: false
1305
+ }]
1306
+ }],
1307
+ step: [{
1308
+ type: i0.Input,
1309
+ args: [{
1310
+ isSignal: true,
1311
+ alias: "step",
1312
+ required: false
1313
+ }]
1314
+ }],
1315
+ delay: [{
1316
+ type: i0.Input,
1317
+ args: [{
1318
+ isSignal: true,
1319
+ alias: "delay",
1320
+ required: false
1321
+ }]
1322
+ }],
1323
+ resizeDelay: [{
1324
+ type: i0.Input,
1325
+ args: [{
1326
+ isSignal: true,
1327
+ alias: "resizeDelay",
1328
+ required: false
1329
+ }]
1330
+ }],
1331
+ appendOnly: [{
1332
+ type: i0.Input,
1333
+ args: [{
1334
+ isSignal: true,
1335
+ alias: "appendOnly",
1336
+ required: false
1337
+ }]
1338
+ }],
1339
+ inline: [{
1340
+ type: i0.Input,
1341
+ args: [{
1342
+ isSignal: true,
1343
+ alias: "inline",
1344
+ required: false
1345
+ }]
1346
+ }],
1347
+ lazy: [{
1348
+ type: i0.Input,
1349
+ args: [{
1350
+ isSignal: true,
1351
+ alias: "lazy",
1352
+ required: false
1353
+ }]
1354
+ }],
1355
+ disabled: [{
1356
+ type: i0.Input,
1357
+ args: [{
1358
+ isSignal: true,
1359
+ alias: "disabled",
1360
+ required: false
1361
+ }]
1362
+ }],
1363
+ loaderDisabled: [{
1364
+ type: i0.Input,
1365
+ args: [{
1366
+ isSignal: true,
1367
+ alias: "loaderDisabled",
1368
+ required: false
1369
+ }]
1370
+ }],
1371
+ columns: [{
1372
+ type: i0.Input,
1373
+ args: [{
1374
+ isSignal: true,
1375
+ alias: "columns",
1376
+ required: false
1377
+ }]
1378
+ }],
1379
+ showSpacer: [{
1380
+ type: i0.Input,
1381
+ args: [{
1382
+ isSignal: true,
1383
+ alias: "showSpacer",
1384
+ required: false
1385
+ }]
1386
+ }],
1387
+ showLoader: [{
1388
+ type: i0.Input,
1389
+ args: [{
1390
+ isSignal: true,
1391
+ alias: "showLoader",
1392
+ required: false
1393
+ }]
1394
+ }],
1395
+ numToleratedItems: [{
1396
+ type: i0.Input,
1397
+ args: [{
1398
+ isSignal: true,
1399
+ alias: "numToleratedItems",
1400
+ required: false
1401
+ }]
1402
+ }],
1403
+ loading: [{
1404
+ type: i0.Input,
1405
+ args: [{
1406
+ isSignal: true,
1407
+ alias: "loading",
1408
+ required: false
1409
+ }]
1410
+ }],
1411
+ autoSize: [{
1412
+ type: i0.Input,
1413
+ args: [{
1414
+ isSignal: true,
1415
+ alias: "autoSize",
1416
+ required: false
1417
+ }]
1418
+ }],
1419
+ trackBy: [{
1420
+ type: i0.Input,
1421
+ args: [{
1422
+ isSignal: true,
1423
+ alias: "trackBy",
1424
+ required: false
1425
+ }]
1426
+ }],
1427
+ options: [{
1428
+ type: i0.Input,
1429
+ args: [{
1430
+ isSignal: true,
1431
+ alias: "options",
1432
+ required: false
1433
+ }]
1434
+ }],
1435
+ onLazyLoad: [{
1436
+ type: i0.Output,
1437
+ args: ["onLazyLoad"]
1438
+ }],
1439
+ onScroll: [{
1440
+ type: i0.Output,
1441
+ args: ["onScroll"]
1442
+ }],
1443
+ onScrollIndexChange: [{
1444
+ type: i0.Output,
1445
+ args: ["onScrollIndexChange"]
1446
+ }],
1447
+ elementViewChild: [{
1448
+ type: i0.ViewChild,
1449
+ args: ["element", { isSignal: true }]
1450
+ }],
1451
+ contentViewChild: [{
1452
+ type: i0.ViewChild,
1453
+ args: ["content", { isSignal: true }]
1454
+ }],
1455
+ contentTemplate: [{
1456
+ type: i0.ContentChild,
1457
+ args: ["content", {
1458
+ descendants: false,
1459
+ isSignal: true
1460
+ }]
1461
+ }],
1462
+ itemTemplate: [{
1463
+ type: i0.ContentChild,
1464
+ args: ["item", {
1465
+ descendants: false,
1466
+ isSignal: true
1467
+ }]
1468
+ }],
1469
+ loaderTemplate: [{
1470
+ type: i0.ContentChild,
1471
+ args: ["loader", {
1472
+ descendants: false,
1473
+ isSignal: true
1474
+ }]
1475
+ }],
1476
+ loaderIconTemplate: [{
1477
+ type: i0.ContentChild,
1478
+ args: ["loadericon", {
1479
+ descendants: false,
1480
+ isSignal: true
1481
+ }]
1482
+ }]
1483
+ }
1484
+ });
1485
+ var ScrollerModule = class ScrollerModule {
1486
+ static ɵfac = i0.ɵɵngDeclareFactory({
1487
+ minVersion: "12.0.0",
1488
+ version: "22.2.3",
1489
+ ngImport: i0,
1490
+ type: ScrollerModule,
1491
+ deps: [],
1492
+ target: i0.ɵɵFactoryTarget.NgModule
1493
+ });
1494
+ static ɵmod = i0.ɵɵngDeclareNgModule({
1495
+ minVersion: "14.0.0",
1496
+ version: "22.2.3",
1497
+ ngImport: i0,
1498
+ type: ScrollerModule,
1499
+ imports: [Scroller],
1500
+ exports: [Scroller]
1501
+ });
1502
+ static ɵinj = i0.ɵɵngDeclareInjector({
1503
+ minVersion: "12.0.0",
1504
+ version: "22.2.3",
1505
+ ngImport: i0,
1506
+ type: ScrollerModule,
1507
+ imports: [Scroller]
1508
+ });
1509
+ };
1510
+ i0.ɵɵngDeclareClassMetadata({
1511
+ minVersion: "12.0.0",
1512
+ version: "22.2.3",
1513
+ ngImport: i0,
1514
+ type: ScrollerModule,
1515
+ decorators: [{
1516
+ type: NgModule,
1517
+ args: [{
1518
+ imports: [Scroller],
1519
+ exports: [Scroller]
1520
+ }]
1521
+ }]
1522
+ });
1218
1523
  export { Scroller, ScrollerClasses, ScrollerModule, ScrollerStyle };
1219
- //# sourceMappingURL=primeng-scroller.mjs.map
1524
+