primeng 0.0.0-watch

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 (507) hide show
  1. package/LICENSE.md +77 -0
  2. package/README.md +11 -0
  3. package/accordion/index.d.ts +255 -0
  4. package/animateonscroll/index.d.ts +71 -0
  5. package/api/index.d.ts +1820 -0
  6. package/autocomplete/index.d.ts +925 -0
  7. package/autofocus/index.d.ts +31 -0
  8. package/avatar/index.d.ts +115 -0
  9. package/avatargroup/index.d.ts +60 -0
  10. package/badge/index.d.ts +156 -0
  11. package/base/index.d.ts +63 -0
  12. package/basecomponent/index.d.ts +54 -0
  13. package/baseeditableholder/index.d.ts +45 -0
  14. package/baseinput/index.d.ts +73 -0
  15. package/basemodelholder/index.d.ts +12 -0
  16. package/blockui/index.d.ts +114 -0
  17. package/breadcrumb/index.d.ts +179 -0
  18. package/button/index.d.ts +478 -0
  19. package/buttongroup/index.d.ts +43 -0
  20. package/card/index.d.ts +154 -0
  21. package/carousel/index.d.ts +443 -0
  22. package/cascadeselect/index.d.ts +729 -0
  23. package/chart/index.d.ts +128 -0
  24. package/checkbox/index.d.ts +248 -0
  25. package/chip/index.d.ts +165 -0
  26. package/colorpicker/index.d.ts +329 -0
  27. package/config/index.d.ts +89 -0
  28. package/confirmdialog/index.d.ts +358 -0
  29. package/confirmpopup/index.d.ts +218 -0
  30. package/contextmenu/index.d.ts +356 -0
  31. package/dataview/index.d.ts +539 -0
  32. package/datepicker/index.d.ts +1191 -0
  33. package/dialog/index.d.ts +531 -0
  34. package/divider/index.d.ts +114 -0
  35. package/dock/index.d.ts +201 -0
  36. package/dom/index.d.ts +109 -0
  37. package/dragdrop/index.d.ts +121 -0
  38. package/drawer/index.d.ts +309 -0
  39. package/dynamicdialog/index.d.ts +544 -0
  40. package/editor/index.d.ts +306 -0
  41. package/fesm2022/primeng-accordion.mjs +593 -0
  42. package/fesm2022/primeng-accordion.mjs.map +1 -0
  43. package/fesm2022/primeng-animateonscroll.mjs +178 -0
  44. package/fesm2022/primeng-animateonscroll.mjs.map +1 -0
  45. package/fesm2022/primeng-api.mjs +836 -0
  46. package/fesm2022/primeng-api.mjs.map +1 -0
  47. package/fesm2022/primeng-autocomplete.mjs +2073 -0
  48. package/fesm2022/primeng-autocomplete.mjs.map +1 -0
  49. package/fesm2022/primeng-autofocus.mjs +83 -0
  50. package/fesm2022/primeng-autofocus.mjs.map +1 -0
  51. package/fesm2022/primeng-avatar.mjs +181 -0
  52. package/fesm2022/primeng-avatar.mjs.map +1 -0
  53. package/fesm2022/primeng-avatargroup.mjs +103 -0
  54. package/fesm2022/primeng-avatargroup.mjs.map +1 -0
  55. package/fesm2022/primeng-badge.mjs +366 -0
  56. package/fesm2022/primeng-badge.mjs.map +1 -0
  57. package/fesm2022/primeng-base.mjs +127 -0
  58. package/fesm2022/primeng-base.mjs.map +1 -0
  59. package/fesm2022/primeng-basecomponent.mjs +173 -0
  60. package/fesm2022/primeng-basecomponent.mjs.map +1 -0
  61. package/fesm2022/primeng-baseeditableholder.mjs +67 -0
  62. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -0
  63. package/fesm2022/primeng-baseinput.mjs +85 -0
  64. package/fesm2022/primeng-baseinput.mjs.map +1 -0
  65. package/fesm2022/primeng-basemodelholder.mjs +25 -0
  66. package/fesm2022/primeng-basemodelholder.mjs.map +1 -0
  67. package/fesm2022/primeng-blockui.mjs +237 -0
  68. package/fesm2022/primeng-blockui.mjs.map +1 -0
  69. package/fesm2022/primeng-breadcrumb.mjs +457 -0
  70. package/fesm2022/primeng-breadcrumb.mjs.map +1 -0
  71. package/fesm2022/primeng-button.mjs +864 -0
  72. package/fesm2022/primeng-button.mjs.map +1 -0
  73. package/fesm2022/primeng-buttongroup.mjs +109 -0
  74. package/fesm2022/primeng-buttongroup.mjs.map +1 -0
  75. package/fesm2022/primeng-card.mjs +271 -0
  76. package/fesm2022/primeng-card.mjs.map +1 -0
  77. package/fesm2022/primeng-carousel.mjs +1101 -0
  78. package/fesm2022/primeng-carousel.mjs.map +1 -0
  79. package/fesm2022/primeng-cascadeselect.mjs +1778 -0
  80. package/fesm2022/primeng-cascadeselect.mjs.map +1 -0
  81. package/fesm2022/primeng-chart.mjs +246 -0
  82. package/fesm2022/primeng-chart.mjs.map +1 -0
  83. package/fesm2022/primeng-checkbox.mjs +441 -0
  84. package/fesm2022/primeng-checkbox.mjs.map +1 -0
  85. package/fesm2022/primeng-chip.mjs +323 -0
  86. package/fesm2022/primeng-chip.mjs.map +1 -0
  87. package/fesm2022/primeng-colorpicker.mjs +865 -0
  88. package/fesm2022/primeng-colorpicker.mjs.map +1 -0
  89. package/fesm2022/primeng-config.mjs +289 -0
  90. package/fesm2022/primeng-config.mjs.map +1 -0
  91. package/fesm2022/primeng-confirmdialog.mjs +823 -0
  92. package/fesm2022/primeng-confirmdialog.mjs.map +1 -0
  93. package/fesm2022/primeng-confirmpopup.mjs +630 -0
  94. package/fesm2022/primeng-confirmpopup.mjs.map +1 -0
  95. package/fesm2022/primeng-contextmenu.mjs +1410 -0
  96. package/fesm2022/primeng-contextmenu.mjs.map +1 -0
  97. package/fesm2022/primeng-dataview.mjs +812 -0
  98. package/fesm2022/primeng-dataview.mjs.map +1 -0
  99. package/fesm2022/primeng-datepicker.mjs +4373 -0
  100. package/fesm2022/primeng-datepicker.mjs.map +1 -0
  101. package/fesm2022/primeng-dialog.mjs +1278 -0
  102. package/fesm2022/primeng-dialog.mjs.map +1 -0
  103. package/fesm2022/primeng-divider.mjs +145 -0
  104. package/fesm2022/primeng-divider.mjs.map +1 -0
  105. package/fesm2022/primeng-dock.mjs +540 -0
  106. package/fesm2022/primeng-dock.mjs.map +1 -0
  107. package/fesm2022/primeng-dom.mjs +775 -0
  108. package/fesm2022/primeng-dom.mjs.map +1 -0
  109. package/fesm2022/primeng-dragdrop.mjs +336 -0
  110. package/fesm2022/primeng-dragdrop.mjs.map +1 -0
  111. package/fesm2022/primeng-drawer.mjs +738 -0
  112. package/fesm2022/primeng-drawer.mjs.map +1 -0
  113. package/fesm2022/primeng-dynamicdialog.mjs +1242 -0
  114. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -0
  115. package/fesm2022/primeng-editor.mjs +511 -0
  116. package/fesm2022/primeng-editor.mjs.map +1 -0
  117. package/fesm2022/primeng-fieldset.mjs +417 -0
  118. package/fesm2022/primeng-fieldset.mjs.map +1 -0
  119. package/fesm2022/primeng-fileupload.mjs +1561 -0
  120. package/fesm2022/primeng-fileupload.mjs.map +1 -0
  121. package/fesm2022/primeng-floatlabel.mjs +103 -0
  122. package/fesm2022/primeng-floatlabel.mjs.map +1 -0
  123. package/fesm2022/primeng-fluid.mjs +80 -0
  124. package/fesm2022/primeng-fluid.mjs.map +1 -0
  125. package/fesm2022/primeng-focustrap.mjs +110 -0
  126. package/fesm2022/primeng-focustrap.mjs.map +1 -0
  127. package/fesm2022/primeng-galleria.mjs +1874 -0
  128. package/fesm2022/primeng-galleria.mjs.map +1 -0
  129. package/fesm2022/primeng-iconfield.mjs +101 -0
  130. package/fesm2022/primeng-iconfield.mjs.map +1 -0
  131. package/fesm2022/primeng-icons-angledoubledown.mjs +37 -0
  132. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -0
  133. package/fesm2022/primeng-icons-angledoubleleft.mjs +37 -0
  134. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -0
  135. package/fesm2022/primeng-icons-angledoubleright.mjs +37 -0
  136. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -0
  137. package/fesm2022/primeng-icons-angledoubleup.mjs +37 -0
  138. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -0
  139. package/fesm2022/primeng-icons-angledown.mjs +33 -0
  140. package/fesm2022/primeng-icons-angledown.mjs.map +1 -0
  141. package/fesm2022/primeng-icons-angleleft.mjs +33 -0
  142. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -0
  143. package/fesm2022/primeng-icons-angleright.mjs +33 -0
  144. package/fesm2022/primeng-icons-angleright.mjs.map +1 -0
  145. package/fesm2022/primeng-icons-angleup.mjs +33 -0
  146. package/fesm2022/primeng-icons-angleup.mjs.map +1 -0
  147. package/fesm2022/primeng-icons-arrowdown.mjs +57 -0
  148. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -0
  149. package/fesm2022/primeng-icons-arrowdownleft.mjs +33 -0
  150. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -0
  151. package/fesm2022/primeng-icons-arrowdownright.mjs +33 -0
  152. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -0
  153. package/fesm2022/primeng-icons-arrowleft.mjs +57 -0
  154. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -0
  155. package/fesm2022/primeng-icons-arrowright.mjs +37 -0
  156. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -0
  157. package/fesm2022/primeng-icons-arrowup.mjs +57 -0
  158. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -0
  159. package/fesm2022/primeng-icons-ban.mjs +53 -0
  160. package/fesm2022/primeng-icons-ban.mjs.map +1 -0
  161. package/fesm2022/primeng-icons-bars.mjs +37 -0
  162. package/fesm2022/primeng-icons-bars.mjs.map +1 -0
  163. package/fesm2022/primeng-icons-baseicon.mjs +102 -0
  164. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -0
  165. package/fesm2022/primeng-icons-blank.mjs +23 -0
  166. package/fesm2022/primeng-icons-blank.mjs.map +1 -0
  167. package/fesm2022/primeng-icons-calendar.mjs +33 -0
  168. package/fesm2022/primeng-icons-calendar.mjs.map +1 -0
  169. package/fesm2022/primeng-icons-caretleft.mjs +33 -0
  170. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -0
  171. package/fesm2022/primeng-icons-caretright.mjs +33 -0
  172. package/fesm2022/primeng-icons-caretright.mjs.map +1 -0
  173. package/fesm2022/primeng-icons-check.mjs +33 -0
  174. package/fesm2022/primeng-icons-check.mjs.map +1 -0
  175. package/fesm2022/primeng-icons-chevrondown.mjs +33 -0
  176. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -0
  177. package/fesm2022/primeng-icons-chevronleft.mjs +33 -0
  178. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -0
  179. package/fesm2022/primeng-icons-chevronright.mjs +33 -0
  180. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -0
  181. package/fesm2022/primeng-icons-chevronup.mjs +33 -0
  182. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -0
  183. package/fesm2022/primeng-icons-exclamationtriangle.mjs +69 -0
  184. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -0
  185. package/fesm2022/primeng-icons-eye.mjs +37 -0
  186. package/fesm2022/primeng-icons-eye.mjs.map +1 -0
  187. package/fesm2022/primeng-icons-eyeslash.mjs +57 -0
  188. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -0
  189. package/fesm2022/primeng-icons-filter.mjs +53 -0
  190. package/fesm2022/primeng-icons-filter.mjs.map +1 -0
  191. package/fesm2022/primeng-icons-filterfill.mjs +33 -0
  192. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -0
  193. package/fesm2022/primeng-icons-filterslash.mjs +57 -0
  194. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -0
  195. package/fesm2022/primeng-icons-home.mjs +57 -0
  196. package/fesm2022/primeng-icons-home.mjs.map +1 -0
  197. package/fesm2022/primeng-icons-infocircle.mjs +57 -0
  198. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -0
  199. package/fesm2022/primeng-icons-minus.mjs +33 -0
  200. package/fesm2022/primeng-icons-minus.mjs.map +1 -0
  201. package/fesm2022/primeng-icons-pencil.mjs +53 -0
  202. package/fesm2022/primeng-icons-pencil.mjs.map +1 -0
  203. package/fesm2022/primeng-icons-plus.mjs +53 -0
  204. package/fesm2022/primeng-icons-plus.mjs.map +1 -0
  205. package/fesm2022/primeng-icons-refresh.mjs +57 -0
  206. package/fesm2022/primeng-icons-refresh.mjs.map +1 -0
  207. package/fesm2022/primeng-icons-search.mjs +57 -0
  208. package/fesm2022/primeng-icons-search.mjs.map +1 -0
  209. package/fesm2022/primeng-icons-searchminus.mjs +57 -0
  210. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -0
  211. package/fesm2022/primeng-icons-searchplus.mjs +57 -0
  212. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -0
  213. package/fesm2022/primeng-icons-sortalt.mjs +65 -0
  214. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -0
  215. package/fesm2022/primeng-icons-sortamountdown.mjs +53 -0
  216. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -0
  217. package/fesm2022/primeng-icons-sortamountupalt.mjs +53 -0
  218. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -0
  219. package/fesm2022/primeng-icons-spinner.mjs +53 -0
  220. package/fesm2022/primeng-icons-spinner.mjs.map +1 -0
  221. package/fesm2022/primeng-icons-star.mjs +53 -0
  222. package/fesm2022/primeng-icons-star.mjs.map +1 -0
  223. package/fesm2022/primeng-icons-starfill.mjs +53 -0
  224. package/fesm2022/primeng-icons-starfill.mjs.map +1 -0
  225. package/fesm2022/primeng-icons-thlarge.mjs +57 -0
  226. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -0
  227. package/fesm2022/primeng-icons-times.mjs +33 -0
  228. package/fesm2022/primeng-icons-times.mjs.map +1 -0
  229. package/fesm2022/primeng-icons-timescircle.mjs +57 -0
  230. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -0
  231. package/fesm2022/primeng-icons-trash.mjs +57 -0
  232. package/fesm2022/primeng-icons-trash.mjs.map +1 -0
  233. package/fesm2022/primeng-icons-undo.mjs +57 -0
  234. package/fesm2022/primeng-icons-undo.mjs.map +1 -0
  235. package/fesm2022/primeng-icons-upload.mjs +57 -0
  236. package/fesm2022/primeng-icons-upload.mjs.map +1 -0
  237. package/fesm2022/primeng-icons-windowmaximize.mjs +57 -0
  238. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -0
  239. package/fesm2022/primeng-icons-windowminimize.mjs +57 -0
  240. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -0
  241. package/fesm2022/primeng-icons.mjs +63 -0
  242. package/fesm2022/primeng-icons.mjs.map +1 -0
  243. package/fesm2022/primeng-iftalabel.mjs +89 -0
  244. package/fesm2022/primeng-iftalabel.mjs.map +1 -0
  245. package/fesm2022/primeng-image.mjs +705 -0
  246. package/fesm2022/primeng-image.mjs.map +1 -0
  247. package/fesm2022/primeng-imagecompare.mjs +192 -0
  248. package/fesm2022/primeng-imagecompare.mjs.map +1 -0
  249. package/fesm2022/primeng-inplace.mjs +319 -0
  250. package/fesm2022/primeng-inplace.mjs.map +1 -0
  251. package/fesm2022/primeng-inputgroup.mjs +128 -0
  252. package/fesm2022/primeng-inputgroup.mjs.map +1 -0
  253. package/fesm2022/primeng-inputgroupaddon.mjs +83 -0
  254. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -0
  255. package/fesm2022/primeng-inputicon.mjs +71 -0
  256. package/fesm2022/primeng-inputicon.mjs.map +1 -0
  257. package/fesm2022/primeng-inputmask.mjs +926 -0
  258. package/fesm2022/primeng-inputmask.mjs.map +1 -0
  259. package/fesm2022/primeng-inputnumber.mjs +1621 -0
  260. package/fesm2022/primeng-inputnumber.mjs.map +1 -0
  261. package/fesm2022/primeng-inputotp.mjs +443 -0
  262. package/fesm2022/primeng-inputotp.mjs.map +1 -0
  263. package/fesm2022/primeng-inputtext.mjs +145 -0
  264. package/fesm2022/primeng-inputtext.mjs.map +1 -0
  265. package/fesm2022/primeng-keyfilter.mjs +267 -0
  266. package/fesm2022/primeng-keyfilter.mjs.map +1 -0
  267. package/fesm2022/primeng-knob.mjs +491 -0
  268. package/fesm2022/primeng-knob.mjs.map +1 -0
  269. package/fesm2022/primeng-listbox.mjs +1925 -0
  270. package/fesm2022/primeng-listbox.mjs.map +1 -0
  271. package/fesm2022/primeng-megamenu.mjs +1493 -0
  272. package/fesm2022/primeng-megamenu.mjs.map +1 -0
  273. package/fesm2022/primeng-menu.mjs +1069 -0
  274. package/fesm2022/primeng-menu.mjs.map +1 -0
  275. package/fesm2022/primeng-menubar.mjs +1391 -0
  276. package/fesm2022/primeng-menubar.mjs.map +1 -0
  277. package/fesm2022/primeng-message.mjs +420 -0
  278. package/fesm2022/primeng-message.mjs.map +1 -0
  279. package/fesm2022/primeng-metergroup.mjs +393 -0
  280. package/fesm2022/primeng-metergroup.mjs.map +1 -0
  281. package/fesm2022/primeng-multiselect.mjs +2519 -0
  282. package/fesm2022/primeng-multiselect.mjs.map +1 -0
  283. package/fesm2022/primeng-orderlist.mjs +890 -0
  284. package/fesm2022/primeng-orderlist.mjs.map +1 -0
  285. package/fesm2022/primeng-organizationchart.mjs +520 -0
  286. package/fesm2022/primeng-organizationchart.mjs.map +1 -0
  287. package/fesm2022/primeng-overlay.mjs +776 -0
  288. package/fesm2022/primeng-overlay.mjs.map +1 -0
  289. package/fesm2022/primeng-overlaybadge.mjs +151 -0
  290. package/fesm2022/primeng-overlaybadge.mjs.map +1 -0
  291. package/fesm2022/primeng-paginator.mjs +802 -0
  292. package/fesm2022/primeng-paginator.mjs.map +1 -0
  293. package/fesm2022/primeng-panel.mjs +595 -0
  294. package/fesm2022/primeng-panel.mjs.map +1 -0
  295. package/fesm2022/primeng-panelmenu.mjs +1442 -0
  296. package/fesm2022/primeng-panelmenu.mjs.map +1 -0
  297. package/fesm2022/primeng-password.mjs +1156 -0
  298. package/fesm2022/primeng-password.mjs.map +1 -0
  299. package/fesm2022/primeng-picklist.mjs +2057 -0
  300. package/fesm2022/primeng-picklist.mjs.map +1 -0
  301. package/fesm2022/primeng-popover.mjs +611 -0
  302. package/fesm2022/primeng-popover.mjs.map +1 -0
  303. package/fesm2022/primeng-progressbar.mjs +196 -0
  304. package/fesm2022/primeng-progressbar.mjs.map +1 -0
  305. package/fesm2022/primeng-progressspinner.mjs +140 -0
  306. package/fesm2022/primeng-progressspinner.mjs.map +1 -0
  307. package/fesm2022/primeng-radiobutton.mjs +358 -0
  308. package/fesm2022/primeng-radiobutton.mjs.map +1 -0
  309. package/fesm2022/primeng-rating.mjs +388 -0
  310. package/fesm2022/primeng-rating.mjs.map +1 -0
  311. package/fesm2022/primeng-ripple.mjs +190 -0
  312. package/fesm2022/primeng-ripple.mjs.map +1 -0
  313. package/fesm2022/primeng-scroller.mjs +1306 -0
  314. package/fesm2022/primeng-scroller.mjs.map +1 -0
  315. package/fesm2022/primeng-scrollpanel.mjs +560 -0
  316. package/fesm2022/primeng-scrollpanel.mjs.map +1 -0
  317. package/fesm2022/primeng-scrolltop.mjs +339 -0
  318. package/fesm2022/primeng-scrolltop.mjs.map +1 -0
  319. package/fesm2022/primeng-select.mjs +2250 -0
  320. package/fesm2022/primeng-select.mjs.map +1 -0
  321. package/fesm2022/primeng-selectbutton.mjs +413 -0
  322. package/fesm2022/primeng-selectbutton.mjs.map +1 -0
  323. package/fesm2022/primeng-skeleton.mjs +154 -0
  324. package/fesm2022/primeng-skeleton.mjs.map +1 -0
  325. package/fesm2022/primeng-slider.mjs +843 -0
  326. package/fesm2022/primeng-slider.mjs.map +1 -0
  327. package/fesm2022/primeng-speeddial.mjs +901 -0
  328. package/fesm2022/primeng-speeddial.mjs.map +1 -0
  329. package/fesm2022/primeng-splitbutton.mjs +598 -0
  330. package/fesm2022/primeng-splitbutton.mjs.map +1 -0
  331. package/fesm2022/primeng-splitter.mjs +587 -0
  332. package/fesm2022/primeng-splitter.mjs.map +1 -0
  333. package/fesm2022/primeng-stepper.mjs +683 -0
  334. package/fesm2022/primeng-stepper.mjs.map +1 -0
  335. package/fesm2022/primeng-steps.mjs +424 -0
  336. package/fesm2022/primeng-steps.mjs.map +1 -0
  337. package/fesm2022/primeng-styleclass.mjs +354 -0
  338. package/fesm2022/primeng-styleclass.mjs.map +1 -0
  339. package/fesm2022/primeng-table.mjs +7540 -0
  340. package/fesm2022/primeng-table.mjs.map +1 -0
  341. package/fesm2022/primeng-tabs.mjs +794 -0
  342. package/fesm2022/primeng-tabs.mjs.map +1 -0
  343. package/fesm2022/primeng-tag.mjs +176 -0
  344. package/fesm2022/primeng-tag.mjs.map +1 -0
  345. package/fesm2022/primeng-terminal.mjs +254 -0
  346. package/fesm2022/primeng-terminal.mjs.map +1 -0
  347. package/fesm2022/primeng-textarea.mjs +197 -0
  348. package/fesm2022/primeng-textarea.mjs.map +1 -0
  349. package/fesm2022/primeng-tieredmenu.mjs +1457 -0
  350. package/fesm2022/primeng-tieredmenu.mjs.map +1 -0
  351. package/fesm2022/primeng-timeline.mjs +228 -0
  352. package/fesm2022/primeng-timeline.mjs.map +1 -0
  353. package/fesm2022/primeng-toast.mjs +751 -0
  354. package/fesm2022/primeng-toast.mjs.map +1 -0
  355. package/fesm2022/primeng-togglebutton.mjs +361 -0
  356. package/fesm2022/primeng-togglebutton.mjs.map +1 -0
  357. package/fesm2022/primeng-toggleswitch.mjs +330 -0
  358. package/fesm2022/primeng-toggleswitch.mjs.map +1 -0
  359. package/fesm2022/primeng-toolbar.mjs +189 -0
  360. package/fesm2022/primeng-toolbar.mjs.map +1 -0
  361. package/fesm2022/primeng-tooltip.mjs +757 -0
  362. package/fesm2022/primeng-tooltip.mjs.map +1 -0
  363. package/fesm2022/primeng-tree.mjs +2188 -0
  364. package/fesm2022/primeng-tree.mjs.map +1 -0
  365. package/fesm2022/primeng-treeselect.mjs +1328 -0
  366. package/fesm2022/primeng-treeselect.mjs.map +1 -0
  367. package/fesm2022/primeng-treetable.mjs +5080 -0
  368. package/fesm2022/primeng-treetable.mjs.map +1 -0
  369. package/fesm2022/primeng-ts-helpers.mjs +4 -0
  370. package/fesm2022/primeng-ts-helpers.mjs.map +1 -0
  371. package/fesm2022/primeng-usestyle.mjs +52 -0
  372. package/fesm2022/primeng-usestyle.mjs.map +1 -0
  373. package/fesm2022/primeng-utils.mjs +332 -0
  374. package/fesm2022/primeng-utils.mjs.map +1 -0
  375. package/fesm2022/primeng.mjs +6 -0
  376. package/fesm2022/primeng.mjs.map +1 -0
  377. package/fieldset/index.d.ts +217 -0
  378. package/fileupload/index.d.ts +786 -0
  379. package/floatlabel/index.d.ts +59 -0
  380. package/fluid/index.d.ts +48 -0
  381. package/focustrap/index.d.ts +36 -0
  382. package/galleria/index.d.ts +710 -0
  383. package/iconfield/index.d.ts +64 -0
  384. package/icons/angledoubledown/index.d.ts +9 -0
  385. package/icons/angledoubleleft/index.d.ts +9 -0
  386. package/icons/angledoubleright/index.d.ts +9 -0
  387. package/icons/angledoubleup/index.d.ts +9 -0
  388. package/icons/angledown/index.d.ts +9 -0
  389. package/icons/angleleft/index.d.ts +9 -0
  390. package/icons/angleright/index.d.ts +9 -0
  391. package/icons/angleup/index.d.ts +9 -0
  392. package/icons/arrowdown/index.d.ts +12 -0
  393. package/icons/arrowdownleft/index.d.ts +9 -0
  394. package/icons/arrowdownright/index.d.ts +9 -0
  395. package/icons/arrowleft/index.d.ts +11 -0
  396. package/icons/arrowright/index.d.ts +9 -0
  397. package/icons/arrowup/index.d.ts +11 -0
  398. package/icons/ban/index.d.ts +11 -0
  399. package/icons/bars/index.d.ts +9 -0
  400. package/icons/baseicon/index.d.ts +33 -0
  401. package/icons/blank/index.d.ts +9 -0
  402. package/icons/calendar/index.d.ts +9 -0
  403. package/icons/caretleft/index.d.ts +9 -0
  404. package/icons/caretright/index.d.ts +9 -0
  405. package/icons/check/index.d.ts +9 -0
  406. package/icons/chevrondown/index.d.ts +9 -0
  407. package/icons/chevronleft/index.d.ts +9 -0
  408. package/icons/chevronright/index.d.ts +9 -0
  409. package/icons/chevronup/index.d.ts +9 -0
  410. package/icons/exclamationtriangle/index.d.ts +12 -0
  411. package/icons/eye/index.d.ts +9 -0
  412. package/icons/eyeslash/index.d.ts +11 -0
  413. package/icons/filter/index.d.ts +11 -0
  414. package/icons/filterfill/index.d.ts +9 -0
  415. package/icons/filterslash/index.d.ts +11 -0
  416. package/icons/home/index.d.ts +11 -0
  417. package/icons/index.d.ts +53 -0
  418. package/icons/infocircle/index.d.ts +11 -0
  419. package/icons/minus/index.d.ts +9 -0
  420. package/icons/pencil/index.d.ts +11 -0
  421. package/icons/plus/index.d.ts +11 -0
  422. package/icons/refresh/index.d.ts +11 -0
  423. package/icons/search/index.d.ts +11 -0
  424. package/icons/searchminus/index.d.ts +11 -0
  425. package/icons/searchplus/index.d.ts +11 -0
  426. package/icons/sortalt/index.d.ts +11 -0
  427. package/icons/sortamountdown/index.d.ts +11 -0
  428. package/icons/sortamountupalt/index.d.ts +11 -0
  429. package/icons/spinner/index.d.ts +11 -0
  430. package/icons/star/index.d.ts +11 -0
  431. package/icons/starfill/index.d.ts +11 -0
  432. package/icons/thlarge/index.d.ts +11 -0
  433. package/icons/times/index.d.ts +9 -0
  434. package/icons/timescircle/index.d.ts +11 -0
  435. package/icons/trash/index.d.ts +11 -0
  436. package/icons/undo/index.d.ts +11 -0
  437. package/icons/upload/index.d.ts +11 -0
  438. package/icons/windowmaximize/index.d.ts +11 -0
  439. package/icons/windowminimize/index.d.ts +11 -0
  440. package/iftalabel/index.d.ts +50 -0
  441. package/image/index.d.ts +376 -0
  442. package/imagecompare/index.d.ts +93 -0
  443. package/index.d.ts +2 -0
  444. package/inplace/index.d.ts +183 -0
  445. package/inputgroup/index.d.ts +58 -0
  446. package/inputgroupaddon/index.d.ts +45 -0
  447. package/inputicon/index.d.ts +36 -0
  448. package/inputmask/index.d.ts +282 -0
  449. package/inputnumber/index.d.ts +466 -0
  450. package/inputotp/index.d.ts +209 -0
  451. package/inputtext/index.d.ts +89 -0
  452. package/keyfilter/index.d.ts +66 -0
  453. package/knob/index.d.ts +206 -0
  454. package/listbox/index.d.ts +802 -0
  455. package/megamenu/index.d.ts +408 -0
  456. package/menu/index.d.ts +341 -0
  457. package/menubar/index.d.ts +418 -0
  458. package/message/index.d.ts +195 -0
  459. package/metergroup/index.d.ts +291 -0
  460. package/multiselect/index.d.ts +1060 -0
  461. package/orderlist/index.d.ts +464 -0
  462. package/organizationchart/index.d.ts +285 -0
  463. package/overlay/index.d.ts +255 -0
  464. package/overlaybadge/index.d.ts +73 -0
  465. package/package.json +725 -0
  466. package/paginator/index.d.ts +393 -0
  467. package/panel/index.d.ts +266 -0
  468. package/panelmenu/index.d.ts +380 -0
  469. package/password/index.d.ts +436 -0
  470. package/picklist/index.d.ts +906 -0
  471. package/popover/index.d.ts +176 -0
  472. package/progressbar/index.d.ts +112 -0
  473. package/progressspinner/index.d.ts +85 -0
  474. package/radiobutton/index.d.ts +201 -0
  475. package/rating/index.d.ts +218 -0
  476. package/ripple/index.d.ts +62 -0
  477. package/scroller/index.d.ts +614 -0
  478. package/scrollpanel/index.d.ts +161 -0
  479. package/scrolltop/index.d.ts +158 -0
  480. package/select/index.d.ts +923 -0
  481. package/selectbutton/index.d.ts +221 -0
  482. package/skeleton/index.d.ts +96 -0
  483. package/slider/index.d.ts +255 -0
  484. package/speeddial/index.d.ts +454 -0
  485. package/splitbutton/index.d.ts +306 -0
  486. package/splitter/index.d.ts +239 -0
  487. package/stepper/index.d.ts +297 -0
  488. package/steps/index.d.ts +152 -0
  489. package/styleclass/index.d.ts +115 -0
  490. package/table/index.d.ts +2700 -0
  491. package/tabs/index.d.ts +321 -0
  492. package/tag/index.d.ts +114 -0
  493. package/terminal/index.d.ts +134 -0
  494. package/textarea/index.d.ts +108 -0
  495. package/tieredmenu/index.d.ts +430 -0
  496. package/timeline/index.d.ts +170 -0
  497. package/toast/index.d.ts +320 -0
  498. package/togglebutton/index.d.ts +243 -0
  499. package/toggleswitch/index.d.ts +188 -0
  500. package/toolbar/index.d.ts +118 -0
  501. package/tooltip/index.d.ts +247 -0
  502. package/tree/index.d.ts +847 -0
  503. package/treeselect/index.d.ts +655 -0
  504. package/treetable/index.d.ts +1727 -0
  505. package/ts-helpers/index.d.ts +6 -0
  506. package/usestyle/index.d.ts +15 -0
  507. package/utils/index.d.ts +43 -0
@@ -0,0 +1,1306 @@
1
+ import * as i1 from '@angular/common';
2
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Injectable, EventEmitter, inject, ContentChildren, ContentChild, HostBinding, ViewChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
+ import { isVisible, getWidth, getHeight, findSingle, isTouchDevice } from '@primeuix/utils';
6
+ import { SharedModule, PrimeTemplate } from 'primeng/api';
7
+ import { BaseComponent } from 'primeng/basecomponent';
8
+ import { SpinnerIcon } from 'primeng/icons';
9
+ import { BaseStyle } from 'primeng/base';
10
+
11
+ const theme = /*css*/ `
12
+ .p-virtualscroller {
13
+ position: relative;
14
+ overflow: auto;
15
+ contain: strict;
16
+ transform: translateZ(0);
17
+ will-change: scroll-position;
18
+ outline: 0 none;
19
+ }
20
+
21
+ .p-virtualscroller-content {
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ min-height: 100%;
26
+ min-width: 100%;
27
+ will-change: transform;
28
+ }
29
+
30
+ .p-virtualscroller-spacer {
31
+ position: absolute;
32
+ top: 0;
33
+ left: 0;
34
+ height: 1px;
35
+ width: 1px;
36
+ transform-origin: 0 0;
37
+ pointer-events: none;
38
+ }
39
+
40
+ .p-virtualscroller-loader {
41
+ position: sticky;
42
+ top: 0;
43
+ left: 0;
44
+ width: 100%;
45
+ height: 100%;
46
+ background: dt('virtualscroller.loader.mask.background');
47
+ color: dt('virtualscroller.loader.mask.color');
48
+ }
49
+
50
+ .p-virtualscroller-loader-mask {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ }
55
+
56
+ .p-virtualscroller-loading-icon {
57
+ font-size: dt('virtualscroller.loader.icon.size');
58
+ width: dt('virtualscroller.loader.icon.size');
59
+ height: dt('virtualscroller.loader.icon.size');
60
+ }
61
+
62
+ .p-virtualscroller-horizontal > .p-virtualscroller-content {
63
+ display: flex;
64
+ }
65
+
66
+ .p-virtualscroller-inline .p-virtualscroller-content {
67
+ position: static;
68
+ }
69
+ `;
70
+ const classes = {
71
+ root: ({ instance }) => [
72
+ 'p-virtualscroller',
73
+ {
74
+ 'p-virtualscroller-inline': instance.inline,
75
+ 'p-virtualscroller-both p-both-scroll': instance.both,
76
+ 'p-virtualscroller-horizontal p-horizontal-scroll': instance.horizontal
77
+ }
78
+ ],
79
+ content: 'p-virtualscroller-content',
80
+ spacer: 'p-virtualscroller-spacer',
81
+ loader: ({ instance }) => [
82
+ 'p-virtualscroller-loader',
83
+ {
84
+ 'p-virtualscroller-loader-mask': !instance.loaderTemplate
85
+ }
86
+ ],
87
+ loadingIcon: 'p-virtualscroller-loading-icon'
88
+ };
89
+ class ScrollerStyle extends BaseStyle {
90
+ name = 'virtualscroller';
91
+ theme = theme;
92
+ classes = classes;
93
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ScrollerStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
94
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ScrollerStyle });
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ScrollerStyle, decorators: [{
97
+ type: Injectable
98
+ }] });
99
+ /**
100
+ *
101
+ * VirtualScroller is a performant approach to handle huge data efficiently.
102
+ *
103
+ * [Live Demo](https://www.primeng.org/scroller/)
104
+ *
105
+ * @module scrollerstyle
106
+ *
107
+ */
108
+ var ScrollerClasses;
109
+ (function (ScrollerClasses) {
110
+ /**
111
+ * Class name of the root element
112
+ */
113
+ ScrollerClasses["root"] = "p-virtualscroller";
114
+ /**
115
+ * Class name of the content element
116
+ */
117
+ ScrollerClasses["content"] = "p-virtualscroller-content";
118
+ /**
119
+ * Class name of the spacer element
120
+ */
121
+ ScrollerClasses["spacer"] = "p-virtualscroller-spacer";
122
+ /**
123
+ * Class name of the loader element
124
+ */
125
+ ScrollerClasses["loader"] = "p-virtualscroller-loader";
126
+ /**
127
+ * Class name of the loading icon element
128
+ */
129
+ ScrollerClasses["loadingIcon"] = "p-virtualscroller-loading-icon";
130
+ })(ScrollerClasses || (ScrollerClasses = {}));
131
+
132
+ /**
133
+ * Scroller is a performance-approach to handle huge data efficiently.
134
+ * @group Components
135
+ */
136
+ class Scroller extends BaseComponent {
137
+ zone;
138
+ /**
139
+ * Unique identifier of the element.
140
+ * @group Props
141
+ */
142
+ get id() {
143
+ return this._id;
144
+ }
145
+ set id(val) {
146
+ this._id = val;
147
+ }
148
+ /**
149
+ * Inline style of the component.
150
+ * @group Props
151
+ */
152
+ get style() {
153
+ return this._style;
154
+ }
155
+ set style(val) {
156
+ this._style = val;
157
+ }
158
+ /**
159
+ * Style class of the element.
160
+ * @group Props
161
+ */
162
+ get styleClass() {
163
+ return this._styleClass;
164
+ }
165
+ set styleClass(val) {
166
+ this._styleClass = val;
167
+ }
168
+ /**
169
+ * Index of the element in tabbing order.
170
+ * @group Props
171
+ */
172
+ get tabindex() {
173
+ return this._tabindex;
174
+ }
175
+ set tabindex(val) {
176
+ this._tabindex = val;
177
+ }
178
+ /**
179
+ * An array of objects to display.
180
+ * @group Props
181
+ */
182
+ get items() {
183
+ return this._items;
184
+ }
185
+ set items(val) {
186
+ this._items = val;
187
+ }
188
+ /**
189
+ * The height/width of item according to orientation.
190
+ * @group Props
191
+ */
192
+ get itemSize() {
193
+ return this._itemSize;
194
+ }
195
+ set itemSize(val) {
196
+ this._itemSize = val;
197
+ }
198
+ /**
199
+ * Height of the scroll viewport.
200
+ * @group Props
201
+ */
202
+ get scrollHeight() {
203
+ return this._scrollHeight;
204
+ }
205
+ set scrollHeight(val) {
206
+ this._scrollHeight = val;
207
+ }
208
+ /**
209
+ * Width of the scroll viewport.
210
+ * @group Props
211
+ */
212
+ get scrollWidth() {
213
+ return this._scrollWidth;
214
+ }
215
+ set scrollWidth(val) {
216
+ this._scrollWidth = val;
217
+ }
218
+ /**
219
+ * The orientation of scrollbar.
220
+ * @group Props
221
+ */
222
+ get orientation() {
223
+ return this._orientation;
224
+ }
225
+ set orientation(val) {
226
+ this._orientation = val;
227
+ }
228
+ /**
229
+ * Used to specify how many items to load in each load method in lazy mode.
230
+ * @group Props
231
+ */
232
+ get step() {
233
+ return this._step;
234
+ }
235
+ set step(val) {
236
+ this._step = val;
237
+ }
238
+ /**
239
+ * Delay in scroll before new data is loaded.
240
+ * @group Props
241
+ */
242
+ get delay() {
243
+ return this._delay;
244
+ }
245
+ set delay(val) {
246
+ this._delay = val;
247
+ }
248
+ /**
249
+ * Delay after window's resize finishes.
250
+ * @group Props
251
+ */
252
+ get resizeDelay() {
253
+ return this._resizeDelay;
254
+ }
255
+ set resizeDelay(val) {
256
+ this._resizeDelay = val;
257
+ }
258
+ /**
259
+ * 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.
260
+ * @group Props
261
+ */
262
+ get appendOnly() {
263
+ return this._appendOnly;
264
+ }
265
+ set appendOnly(val) {
266
+ this._appendOnly = val;
267
+ }
268
+ /**
269
+ * Specifies whether the scroller should be displayed inline or not.
270
+ * @group Props
271
+ */
272
+ get inline() {
273
+ return this._inline;
274
+ }
275
+ set inline(val) {
276
+ this._inline = val;
277
+ }
278
+ /**
279
+ * Defines if data is loaded and interacted with in lazy manner.
280
+ * @group Props
281
+ */
282
+ get lazy() {
283
+ return this._lazy;
284
+ }
285
+ set lazy(val) {
286
+ this._lazy = val;
287
+ }
288
+ /**
289
+ * If disabled, the scroller feature is eliminated and the content is displayed directly.
290
+ * @group Props
291
+ */
292
+ get disabled() {
293
+ return this._disabled;
294
+ }
295
+ set disabled(val) {
296
+ this._disabled = val;
297
+ }
298
+ /**
299
+ * Used to implement a custom loader instead of using the loader feature in the scroller.
300
+ * @group Props
301
+ */
302
+ get loaderDisabled() {
303
+ return this._loaderDisabled;
304
+ }
305
+ set loaderDisabled(val) {
306
+ this._loaderDisabled = val;
307
+ }
308
+ /**
309
+ * Columns to display.
310
+ * @group Props
311
+ */
312
+ get columns() {
313
+ return this._columns;
314
+ }
315
+ set columns(val) {
316
+ this._columns = val;
317
+ }
318
+ /**
319
+ * Used to implement a custom spacer instead of using the spacer feature in the scroller.
320
+ * @group Props
321
+ */
322
+ get showSpacer() {
323
+ return this._showSpacer;
324
+ }
325
+ set showSpacer(val) {
326
+ this._showSpacer = val;
327
+ }
328
+ /**
329
+ * Defines whether to show loader.
330
+ * @group Props
331
+ */
332
+ get showLoader() {
333
+ return this._showLoader;
334
+ }
335
+ set showLoader(val) {
336
+ this._showLoader = val;
337
+ }
338
+ /**
339
+ * 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.
340
+ * @group Props
341
+ */
342
+ get numToleratedItems() {
343
+ return this._numToleratedItems;
344
+ }
345
+ set numToleratedItems(val) {
346
+ this._numToleratedItems = val;
347
+ }
348
+ /**
349
+ * Defines whether the data is loaded.
350
+ * @group Props
351
+ */
352
+ get loading() {
353
+ return this._loading;
354
+ }
355
+ set loading(val) {
356
+ this._loading = val;
357
+ }
358
+ /**
359
+ * Defines whether to dynamically change the height or width of scrollable container.
360
+ * @group Props
361
+ */
362
+ get autoSize() {
363
+ return this._autoSize;
364
+ }
365
+ set autoSize(val) {
366
+ this._autoSize = val;
367
+ }
368
+ /**
369
+ * Function to optimize the dom operations by delegating to ngForTrackBy, default algoritm checks for object identity.
370
+ * @group Props
371
+ */
372
+ get trackBy() {
373
+ return this._trackBy;
374
+ }
375
+ set trackBy(val) {
376
+ this._trackBy = val;
377
+ }
378
+ /**
379
+ * Defines whether to use the scroller feature. The properties of scroller component can be used like an object in it.
380
+ * @group Props
381
+ */
382
+ get options() {
383
+ return this._options;
384
+ }
385
+ set options(val) {
386
+ this._options = val;
387
+ if (val && typeof val === 'object') {
388
+ Object.entries(val).forEach(([k, v]) => this[`_${k}`] !== v && (this[`_${k}`] = v));
389
+ Object.entries(val).forEach(([k, v]) => this[`${k}`] !== v && (this[`${k}`] = v));
390
+ }
391
+ }
392
+ /**
393
+ * Callback to invoke in lazy mode to load new data.
394
+ * @param {ScrollerLazyLoadEvent} event - Custom lazy load event.
395
+ * @group Emits
396
+ */
397
+ onLazyLoad = new EventEmitter();
398
+ /**
399
+ * Callback to invoke when scroll position changes.
400
+ * @param {ScrollerScrollEvent} event - Custom scroll event.
401
+ * @group Emits
402
+ */
403
+ onScroll = new EventEmitter();
404
+ /**
405
+ * Callback to invoke when scroll position and item's range in view changes.
406
+ * @param {ScrollerScrollEvent} event - Custom scroll index change event.
407
+ * @group Emits
408
+ */
409
+ onScrollIndexChange = new EventEmitter();
410
+ elementViewChild;
411
+ contentViewChild;
412
+ height;
413
+ _id;
414
+ _style;
415
+ _styleClass;
416
+ _tabindex = 0;
417
+ _items;
418
+ _itemSize = 0;
419
+ _scrollHeight;
420
+ _scrollWidth;
421
+ _orientation = 'vertical';
422
+ _step = 0;
423
+ _delay = 0;
424
+ _resizeDelay = 10;
425
+ _appendOnly = false;
426
+ _inline = false;
427
+ _lazy = false;
428
+ _disabled = false;
429
+ _loaderDisabled = false;
430
+ _columns;
431
+ _showSpacer = true;
432
+ _showLoader = false;
433
+ _numToleratedItems;
434
+ _loading;
435
+ _autoSize = false;
436
+ _trackBy;
437
+ _options;
438
+ d_loading = false;
439
+ d_numToleratedItems;
440
+ contentEl;
441
+ /**
442
+ * Content template of the component.
443
+ * @group Templates
444
+ */
445
+ contentTemplate;
446
+ /**
447
+ * Item template of the component.
448
+ * @group Templates
449
+ */
450
+ itemTemplate;
451
+ /**
452
+ * Loader template of the component.
453
+ * @group Templates
454
+ */
455
+ loaderTemplate;
456
+ /**
457
+ * Loader icon template of the component.
458
+ * @group Templates
459
+ */
460
+ loaderIconTemplate;
461
+ templates;
462
+ _contentTemplate;
463
+ _itemTemplate;
464
+ _loaderTemplate;
465
+ _loaderIconTemplate;
466
+ first = 0;
467
+ last = 0;
468
+ page = 0;
469
+ isRangeChanged = false;
470
+ numItemsInViewport = 0;
471
+ lastScrollPos = 0;
472
+ lazyLoadState = {};
473
+ loaderArr = [];
474
+ spacerStyle = {};
475
+ contentStyle = {};
476
+ scrollTimeout;
477
+ resizeTimeout;
478
+ initialized = false;
479
+ windowResizeListener;
480
+ defaultWidth;
481
+ defaultHeight;
482
+ defaultContentWidth;
483
+ defaultContentHeight;
484
+ _contentStyleClass;
485
+ get contentStyleClass() {
486
+ return this._contentStyleClass;
487
+ }
488
+ set contentStyleClass(val) {
489
+ this._contentStyleClass = val;
490
+ }
491
+ get vertical() {
492
+ return this._orientation === 'vertical';
493
+ }
494
+ get horizontal() {
495
+ return this._orientation === 'horizontal';
496
+ }
497
+ get both() {
498
+ return this._orientation === 'both';
499
+ }
500
+ get loadedItems() {
501
+ if (this._items && !this.d_loading) {
502
+ if (this.both) {
503
+ return this._items.slice(this._appendOnly ? 0 : this.first.rows, this.last.rows).map((item) => {
504
+ if (this._columns) {
505
+ return item;
506
+ }
507
+ else if (Array.isArray(item)) {
508
+ return item.slice(this._appendOnly ? 0 : this.first.cols, this.last.cols);
509
+ }
510
+ else {
511
+ return item;
512
+ }
513
+ });
514
+ }
515
+ else if (this.horizontal && this._columns)
516
+ return this._items;
517
+ else
518
+ return this._items.slice(this._appendOnly ? 0 : this.first, this.last);
519
+ }
520
+ return [];
521
+ }
522
+ get loadedRows() {
523
+ return this.d_loading ? (this._loaderDisabled ? this.loaderArr : []) : this.loadedItems;
524
+ }
525
+ get loadedColumns() {
526
+ if (this._columns && (this.both || this.horizontal)) {
527
+ return this.d_loading && this._loaderDisabled ? (this.both ? this.loaderArr[0] : this.loaderArr) : this._columns.slice(this.both ? this.first.cols : this.first, this.both ? this.last.cols : this.last);
528
+ }
529
+ return this._columns;
530
+ }
531
+ _componentStyle = inject(ScrollerStyle);
532
+ constructor(zone) {
533
+ super();
534
+ this.zone = zone;
535
+ }
536
+ ngOnInit() {
537
+ super.ngOnInit();
538
+ this.setInitialState();
539
+ }
540
+ ngOnChanges(simpleChanges) {
541
+ super.ngOnChanges(simpleChanges);
542
+ let isLoadingChanged = false;
543
+ if (this.scrollHeight == '100%') {
544
+ this.height = '100%';
545
+ }
546
+ if (simpleChanges.loading) {
547
+ const { previousValue, currentValue } = simpleChanges.loading;
548
+ if (this.lazy && previousValue !== currentValue && currentValue !== this.d_loading) {
549
+ this.d_loading = currentValue;
550
+ isLoadingChanged = true;
551
+ }
552
+ }
553
+ if (simpleChanges.orientation) {
554
+ this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;
555
+ }
556
+ if (simpleChanges.numToleratedItems) {
557
+ const { previousValue, currentValue } = simpleChanges.numToleratedItems;
558
+ if (previousValue !== currentValue && currentValue !== this.d_numToleratedItems) {
559
+ this.d_numToleratedItems = currentValue;
560
+ }
561
+ }
562
+ if (simpleChanges.options) {
563
+ const { previousValue, currentValue } = simpleChanges.options;
564
+ if (this.lazy && previousValue?.loading !== currentValue?.loading && currentValue?.loading !== this.d_loading) {
565
+ this.d_loading = currentValue.loading;
566
+ isLoadingChanged = true;
567
+ }
568
+ if (previousValue?.numToleratedItems !== currentValue?.numToleratedItems && currentValue?.numToleratedItems !== this.d_numToleratedItems) {
569
+ this.d_numToleratedItems = currentValue.numToleratedItems;
570
+ }
571
+ }
572
+ if (this.initialized) {
573
+ const isChanged = !isLoadingChanged && (simpleChanges.items?.previousValue?.length !== simpleChanges.items?.currentValue?.length || simpleChanges.itemSize || simpleChanges.scrollHeight || simpleChanges.scrollWidth);
574
+ if (isChanged) {
575
+ this.init();
576
+ this.calculateAutoSize();
577
+ }
578
+ }
579
+ }
580
+ ngAfterContentInit() {
581
+ this.templates.forEach((item) => {
582
+ switch (item.getType()) {
583
+ case 'content':
584
+ this._contentTemplate = item.template;
585
+ break;
586
+ case 'item':
587
+ this._itemTemplate = item.template;
588
+ break;
589
+ case 'loader':
590
+ this._loaderTemplate = item.template;
591
+ break;
592
+ case 'loadericon':
593
+ this._loaderIconTemplate = item.template;
594
+ break;
595
+ default:
596
+ this._itemTemplate = item.template;
597
+ break;
598
+ }
599
+ });
600
+ }
601
+ ngAfterViewInit() {
602
+ super.ngAfterViewInit();
603
+ Promise.resolve().then(() => {
604
+ this.viewInit();
605
+ });
606
+ }
607
+ ngAfterViewChecked() {
608
+ if (!this.initialized) {
609
+ this.viewInit();
610
+ }
611
+ }
612
+ ngOnDestroy() {
613
+ this.unbindResizeListener();
614
+ this.contentEl = null;
615
+ this.initialized = false;
616
+ super.ngOnDestroy();
617
+ }
618
+ viewInit() {
619
+ if (isPlatformBrowser(this.platformId) && !this.initialized) {
620
+ if (isVisible(this.elementViewChild?.nativeElement)) {
621
+ this.setInitialState();
622
+ this.setContentEl(this.contentEl);
623
+ this.init();
624
+ this.defaultWidth = getWidth(this.elementViewChild?.nativeElement);
625
+ this.defaultHeight = getHeight(this.elementViewChild?.nativeElement);
626
+ this.defaultContentWidth = getWidth(this.contentEl);
627
+ this.defaultContentHeight = getHeight(this.contentEl);
628
+ this.initialized = true;
629
+ }
630
+ }
631
+ }
632
+ init() {
633
+ if (!this._disabled) {
634
+ this.setSpacerSize();
635
+ // wait for the next tick
636
+ setTimeout(() => {
637
+ this.setSize();
638
+ }, 1);
639
+ this.calculateOptions();
640
+ this.bindResizeListener();
641
+ this.cd.detectChanges();
642
+ }
643
+ }
644
+ setContentEl(el) {
645
+ this.contentEl = el || this.contentViewChild?.nativeElement || findSingle(this.elementViewChild?.nativeElement, '.p-virtualscroller-content');
646
+ }
647
+ setInitialState() {
648
+ this.first = this.both ? { rows: 0, cols: 0 } : 0;
649
+ this.last = this.both ? { rows: 0, cols: 0 } : 0;
650
+ this.numItemsInViewport = this.both ? { rows: 0, cols: 0 } : 0;
651
+ this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;
652
+ if (this.d_loading === undefined || this.d_loading === false) {
653
+ this.d_loading = this._loading || false;
654
+ }
655
+ this.d_numToleratedItems = this._numToleratedItems;
656
+ this.loaderArr = this.loaderArr.length > 0 ? this.loaderArr : [];
657
+ }
658
+ getElementRef() {
659
+ return this.elementViewChild;
660
+ }
661
+ getPageByFirst(first) {
662
+ return Math.floor(((first ?? this.first) + this.d_numToleratedItems * 4) / (this._step || 1));
663
+ }
664
+ isPageChanged(first) {
665
+ return this._step ? this.page !== this.getPageByFirst(first ?? this.first) : true;
666
+ }
667
+ scrollTo(options) {
668
+ // this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;
669
+ this.elementViewChild?.nativeElement?.scrollTo(options);
670
+ }
671
+ scrollToIndex(index, behavior = 'auto') {
672
+ const valid = this.both ? index.every((i) => i > -1) : index > -1;
673
+ if (valid) {
674
+ const first = this.first;
675
+ const { scrollTop = 0, scrollLeft = 0 } = this.elementViewChild?.nativeElement;
676
+ const { numToleratedItems } = this.calculateNumItems();
677
+ const contentPos = this.getContentPosition();
678
+ const itemSize = this.itemSize;
679
+ const calculateFirst = (_index = 0, _numT) => (_index <= _numT ? 0 : _index);
680
+ const calculateCoord = (_first, _size, _cpos) => _first * _size + _cpos;
681
+ const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });
682
+ let newFirst = this.both ? { rows: 0, cols: 0 } : 0;
683
+ let isRangeChanged = false, isScrollChanged = false;
684
+ if (this.both) {
685
+ newFirst = {
686
+ rows: calculateFirst(index[0], numToleratedItems[0]),
687
+ cols: calculateFirst(index[1], numToleratedItems[1])
688
+ };
689
+ scrollTo(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));
690
+ isScrollChanged = this.lastScrollPos.top !== scrollTop || this.lastScrollPos.left !== scrollLeft;
691
+ isRangeChanged = newFirst.rows !== first.rows || newFirst.cols !== first.cols;
692
+ }
693
+ else {
694
+ newFirst = calculateFirst(index, numToleratedItems);
695
+ this.horizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPos.left), scrollTop) : scrollTo(scrollLeft, calculateCoord(newFirst, itemSize, contentPos.top));
696
+ isScrollChanged = this.lastScrollPos !== (this.horizontal ? scrollLeft : scrollTop);
697
+ isRangeChanged = newFirst !== first;
698
+ }
699
+ this.isRangeChanged = isRangeChanged;
700
+ isScrollChanged && (this.first = newFirst);
701
+ }
702
+ }
703
+ scrollInView(index, to, behavior = 'auto') {
704
+ if (to) {
705
+ const { first, viewport } = this.getRenderedRange();
706
+ const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });
707
+ const isToStart = to === 'to-start';
708
+ const isToEnd = to === 'to-end';
709
+ if (isToStart) {
710
+ if (this.both) {
711
+ if (viewport.first.rows - first.rows > index[0]) {
712
+ scrollTo(viewport.first.cols * this._itemSize[1], (viewport.first.rows - 1) * this._itemSize[0]);
713
+ }
714
+ else if (viewport.first.cols - first.cols > index[1]) {
715
+ scrollTo((viewport.first.cols - 1) * this._itemSize[1], viewport.first.rows * this._itemSize[0]);
716
+ }
717
+ }
718
+ else {
719
+ if (viewport.first - first > index) {
720
+ const pos = (viewport.first - 1) * this._itemSize;
721
+ this.horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);
722
+ }
723
+ }
724
+ }
725
+ else if (isToEnd) {
726
+ if (this.both) {
727
+ if (viewport.last.rows - first.rows <= index[0] + 1) {
728
+ scrollTo(viewport.first.cols * this._itemSize[1], (viewport.first.rows + 1) * this._itemSize[0]);
729
+ }
730
+ else if (viewport.last.cols - first.cols <= index[1] + 1) {
731
+ scrollTo((viewport.first.cols + 1) * this._itemSize[1], viewport.first.rows * this._itemSize[0]);
732
+ }
733
+ }
734
+ else {
735
+ if (viewport.last - first <= index + 1) {
736
+ const pos = (viewport.first + 1) * this._itemSize;
737
+ this.horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);
738
+ }
739
+ }
740
+ }
741
+ }
742
+ else {
743
+ this.scrollToIndex(index, behavior);
744
+ }
745
+ }
746
+ getRenderedRange() {
747
+ const calculateFirstInViewport = (_pos, _size) => (_size || _pos ? Math.floor(_pos / (_size || _pos)) : 0);
748
+ let firstInViewport = this.first;
749
+ let lastInViewport = 0;
750
+ if (this.elementViewChild?.nativeElement) {
751
+ const { scrollTop, scrollLeft } = this.elementViewChild.nativeElement;
752
+ if (this.both) {
753
+ firstInViewport = {
754
+ rows: calculateFirstInViewport(scrollTop, this._itemSize[0]),
755
+ cols: calculateFirstInViewport(scrollLeft, this._itemSize[1])
756
+ };
757
+ lastInViewport = {
758
+ rows: firstInViewport.rows + this.numItemsInViewport.rows,
759
+ cols: firstInViewport.cols + this.numItemsInViewport.cols
760
+ };
761
+ }
762
+ else {
763
+ const scrollPos = this.horizontal ? scrollLeft : scrollTop;
764
+ firstInViewport = calculateFirstInViewport(scrollPos, this._itemSize);
765
+ lastInViewport = firstInViewport + this.numItemsInViewport;
766
+ }
767
+ }
768
+ return {
769
+ first: this.first,
770
+ last: this.last,
771
+ viewport: {
772
+ first: firstInViewport,
773
+ last: lastInViewport
774
+ }
775
+ };
776
+ }
777
+ calculateNumItems() {
778
+ const contentPos = this.getContentPosition();
779
+ const contentWidth = (this.elementViewChild?.nativeElement ? this.elementViewChild.nativeElement.offsetWidth - contentPos.left : 0) || 0;
780
+ const contentHeight = (this.elementViewChild?.nativeElement ? this.elementViewChild.nativeElement.offsetHeight - contentPos.top : 0) || 0;
781
+ const calculateNumItemsInViewport = (_contentSize, _itemSize) => (_itemSize || _contentSize ? Math.ceil(_contentSize / (_itemSize || _contentSize)) : 0);
782
+ const calculateNumToleratedItems = (_numItems) => Math.ceil(_numItems / 2);
783
+ const numItemsInViewport = this.both
784
+ ? {
785
+ rows: calculateNumItemsInViewport(contentHeight, this._itemSize[0]),
786
+ cols: calculateNumItemsInViewport(contentWidth, this._itemSize[1])
787
+ }
788
+ : calculateNumItemsInViewport(this.horizontal ? contentWidth : contentHeight, this._itemSize);
789
+ const numToleratedItems = this.d_numToleratedItems || (this.both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));
790
+ return { numItemsInViewport, numToleratedItems };
791
+ }
792
+ calculateOptions() {
793
+ const { numItemsInViewport, numToleratedItems } = this.calculateNumItems();
794
+ const calculateLast = (_first, _num, _numT, _isCols = false) => this.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);
795
+ const first = this.first;
796
+ const last = this.both
797
+ ? {
798
+ rows: calculateLast(this.first.rows, numItemsInViewport.rows, numToleratedItems[0]),
799
+ cols: calculateLast(this.first.cols, numItemsInViewport.cols, numToleratedItems[1], true)
800
+ }
801
+ : calculateLast(this.first, numItemsInViewport, numToleratedItems);
802
+ this.last = last;
803
+ this.numItemsInViewport = numItemsInViewport;
804
+ this.d_numToleratedItems = numToleratedItems;
805
+ if (this._showLoader) {
806
+ this.loaderArr = this.both ? Array.from({ length: numItemsInViewport.rows }).map(() => Array.from({ length: numItemsInViewport.cols })) : Array.from({ length: numItemsInViewport });
807
+ }
808
+ if (this._lazy) {
809
+ Promise.resolve().then(() => {
810
+ this.lazyLoadState = {
811
+ first: this._step ? (this.both ? { rows: 0, cols: first.cols } : 0) : first,
812
+ last: Math.min(this._step ? this._step : this.last, this._items.length)
813
+ };
814
+ this.handleEvents('onLazyLoad', this.lazyLoadState);
815
+ });
816
+ }
817
+ }
818
+ calculateAutoSize() {
819
+ if (this._autoSize && !this.d_loading) {
820
+ Promise.resolve().then(() => {
821
+ if (this.contentEl) {
822
+ this.contentEl.style.minHeight = this.contentEl.style.minWidth = 'auto';
823
+ this.contentEl.style.position = 'relative';
824
+ this.elementViewChild.nativeElement.style.contain = 'none';
825
+ const [contentWidth, contentHeight] = [getWidth(this.contentEl), getHeight(this.contentEl)];
826
+ contentWidth !== this.defaultContentWidth && (this.elementViewChild.nativeElement.style.width = '');
827
+ contentHeight !== this.defaultContentHeight && (this.elementViewChild.nativeElement.style.height = '');
828
+ const [width, height] = [getWidth(this.elementViewChild.nativeElement), getHeight(this.elementViewChild.nativeElement)];
829
+ (this.both || this.horizontal) && (this.elementViewChild.nativeElement.style.width = width < this.defaultWidth ? width + 'px' : this._scrollWidth || this.defaultWidth + 'px');
830
+ (this.both || this.vertical) && (this.elementViewChild.nativeElement.style.height = height < this.defaultHeight ? height + 'px' : this._scrollHeight || this.defaultHeight + 'px');
831
+ this.contentEl.style.minHeight = this.contentEl.style.minWidth = '';
832
+ this.contentEl.style.position = '';
833
+ this.elementViewChild.nativeElement.style.contain = '';
834
+ }
835
+ });
836
+ }
837
+ }
838
+ getLast(last = 0, isCols = false) {
839
+ return this._items ? Math.min(isCols ? (this._columns || this._items[0]).length : this._items.length, last) : 0;
840
+ }
841
+ getContentPosition() {
842
+ if (this.contentEl) {
843
+ const style = getComputedStyle(this.contentEl);
844
+ const left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0);
845
+ const right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0);
846
+ const top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0);
847
+ const bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0);
848
+ return { left, right, top, bottom, x: left + right, y: top + bottom };
849
+ }
850
+ return { left: 0, right: 0, top: 0, bottom: 0, x: 0, y: 0 };
851
+ }
852
+ setSize() {
853
+ if (this.elementViewChild?.nativeElement) {
854
+ const parentElement = this.elementViewChild.nativeElement.parentElement.parentElement;
855
+ const width = this._scrollWidth || `${this.elementViewChild.nativeElement.offsetWidth || parentElement.offsetWidth}px`;
856
+ const height = this._scrollHeight || `${this.elementViewChild.nativeElement.offsetHeight || parentElement.offsetHeight}px`;
857
+ const setProp = (_name, _value) => (this.elementViewChild.nativeElement.style[_name] = _value);
858
+ if (this.both || this.horizontal) {
859
+ setProp('height', height);
860
+ setProp('width', width);
861
+ }
862
+ else {
863
+ setProp('height', height);
864
+ }
865
+ }
866
+ }
867
+ setSpacerSize() {
868
+ if (this._items) {
869
+ const contentPos = this.getContentPosition();
870
+ const setProp = (_name, _value, _size, _cpos = 0) => (this.spacerStyle = {
871
+ ...this.spacerStyle,
872
+ ...{ [`${_name}`]: (_value || []).length * _size + _cpos + 'px' }
873
+ });
874
+ if (this.both) {
875
+ setProp('height', this._items, this._itemSize[0], contentPos.y);
876
+ setProp('width', this._columns || this._items[1], this._itemSize[1], contentPos.x);
877
+ }
878
+ else {
879
+ this.horizontal ? setProp('width', this._columns || this._items, this._itemSize, contentPos.x) : setProp('height', this._items, this._itemSize, contentPos.y);
880
+ }
881
+ }
882
+ }
883
+ setContentPosition(pos) {
884
+ if (this.contentEl && !this._appendOnly) {
885
+ const first = pos ? pos.first : this.first;
886
+ const calculateTranslateVal = (_first, _size) => _first * _size;
887
+ const setTransform = (_x = 0, _y = 0) => (this.contentStyle = { ...this.contentStyle, ...{ transform: `translate3d(${_x}px, ${_y}px, 0)` } });
888
+ if (this.both) {
889
+ setTransform(calculateTranslateVal(first.cols, this._itemSize[1]), calculateTranslateVal(first.rows, this._itemSize[0]));
890
+ }
891
+ else {
892
+ const translateVal = calculateTranslateVal(first, this._itemSize);
893
+ this.horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);
894
+ }
895
+ }
896
+ }
897
+ onScrollPositionChange(event) {
898
+ const target = event.target;
899
+ if (!target) {
900
+ throw new Error('Event target is null');
901
+ }
902
+ const contentPos = this.getContentPosition();
903
+ const calculateScrollPos = (_pos, _cpos) => (_pos ? (_pos > _cpos ? _pos - _cpos : _pos) : 0);
904
+ const calculateCurrentIndex = (_pos, _size) => (_size || _pos ? Math.floor(_pos / (_size || _pos)) : 0);
905
+ const calculateTriggerIndex = (_currentIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {
906
+ return _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1;
907
+ };
908
+ const calculateFirst = (_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {
909
+ if (_currentIndex <= _numT)
910
+ return 0;
911
+ else
912
+ return Math.max(0, _isScrollDownOrRight ? (_currentIndex < _triggerIndex ? _first : _currentIndex - _numT) : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT);
913
+ };
914
+ const calculateLast = (_currentIndex, _first, _last, _num, _numT, _isCols = false) => {
915
+ let lastValue = _first + _num + 2 * _numT;
916
+ if (_currentIndex >= _numT) {
917
+ lastValue += _numT + 1;
918
+ }
919
+ return this.getLast(lastValue, _isCols);
920
+ };
921
+ const scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
922
+ const scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
923
+ let newFirst = this.both ? { rows: 0, cols: 0 } : 0;
924
+ let newLast = this.last;
925
+ let isRangeChanged = false;
926
+ let newScrollPos = this.lastScrollPos;
927
+ if (this.both) {
928
+ const isScrollDown = this.lastScrollPos.top <= scrollTop;
929
+ const isScrollRight = this.lastScrollPos.left <= scrollLeft;
930
+ if (!this._appendOnly || (this._appendOnly && (isScrollDown || isScrollRight))) {
931
+ const currentIndex = {
932
+ rows: calculateCurrentIndex(scrollTop, this._itemSize[0]),
933
+ cols: calculateCurrentIndex(scrollLeft, this._itemSize[1])
934
+ };
935
+ const triggerIndex = {
936
+ rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),
937
+ cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)
938
+ };
939
+ newFirst = {
940
+ rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),
941
+ cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)
942
+ };
943
+ newLast = {
944
+ rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]),
945
+ cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true)
946
+ };
947
+ isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols || this.isRangeChanged;
948
+ newScrollPos = { top: scrollTop, left: scrollLeft };
949
+ }
950
+ }
951
+ else {
952
+ const scrollPos = this.horizontal ? scrollLeft : scrollTop;
953
+ const isScrollDownOrRight = this.lastScrollPos <= scrollPos;
954
+ if (!this._appendOnly || (this._appendOnly && isScrollDownOrRight)) {
955
+ const currentIndex = calculateCurrentIndex(scrollPos, this._itemSize);
956
+ const triggerIndex = calculateTriggerIndex(currentIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);
957
+ newFirst = calculateFirst(currentIndex, triggerIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);
958
+ newLast = calculateLast(currentIndex, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems);
959
+ isRangeChanged = newFirst !== this.first || newLast !== this.last || this.isRangeChanged;
960
+ newScrollPos = scrollPos;
961
+ }
962
+ }
963
+ return {
964
+ first: newFirst,
965
+ last: newLast,
966
+ isRangeChanged,
967
+ scrollPos: newScrollPos
968
+ };
969
+ }
970
+ onScrollChange(event) {
971
+ const { first, last, isRangeChanged, scrollPos } = this.onScrollPositionChange(event);
972
+ if (isRangeChanged) {
973
+ const newState = { first, last };
974
+ this.setContentPosition(newState);
975
+ this.first = first;
976
+ this.last = last;
977
+ this.lastScrollPos = scrollPos;
978
+ this.handleEvents('onScrollIndexChange', newState);
979
+ if (this._lazy && this.isPageChanged(first)) {
980
+ const lazyLoadState = {
981
+ first: this._step ? Math.min(this.getPageByFirst(first) * this._step, this._items.length - this._step) : first,
982
+ last: Math.min(this._step ? (this.getPageByFirst(first) + 1) * this._step : last, this._items.length)
983
+ };
984
+ const isLazyStateChanged = this.lazyLoadState.first !== lazyLoadState.first || this.lazyLoadState.last !== lazyLoadState.last;
985
+ isLazyStateChanged && this.handleEvents('onLazyLoad', lazyLoadState);
986
+ this.lazyLoadState = lazyLoadState;
987
+ }
988
+ }
989
+ }
990
+ onContainerScroll(event) {
991
+ this.handleEvents('onScroll', { originalEvent: event });
992
+ if (this._delay) {
993
+ if (this.scrollTimeout) {
994
+ clearTimeout(this.scrollTimeout);
995
+ }
996
+ if (!this.d_loading && this._showLoader) {
997
+ const { isRangeChanged } = this.onScrollPositionChange(event);
998
+ const changed = isRangeChanged || (this._step ? this.isPageChanged() : false);
999
+ if (changed) {
1000
+ this.d_loading = true;
1001
+ this.cd.detectChanges();
1002
+ }
1003
+ }
1004
+ this.scrollTimeout = setTimeout(() => {
1005
+ this.onScrollChange(event);
1006
+ if (this.d_loading && this._showLoader && (!this._lazy || this._loading === undefined)) {
1007
+ this.d_loading = false;
1008
+ this.page = this.getPageByFirst();
1009
+ }
1010
+ this.cd.detectChanges();
1011
+ }, this._delay);
1012
+ }
1013
+ else {
1014
+ !this.d_loading && this.onScrollChange(event);
1015
+ }
1016
+ }
1017
+ bindResizeListener() {
1018
+ if (isPlatformBrowser(this.platformId)) {
1019
+ if (!this.windowResizeListener) {
1020
+ this.zone.runOutsideAngular(() => {
1021
+ const window = this.document.defaultView;
1022
+ const event = isTouchDevice() ? 'orientationchange' : 'resize';
1023
+ this.windowResizeListener = this.renderer.listen(window, event, this.onWindowResize.bind(this));
1024
+ });
1025
+ }
1026
+ }
1027
+ }
1028
+ unbindResizeListener() {
1029
+ if (this.windowResizeListener) {
1030
+ this.windowResizeListener();
1031
+ this.windowResizeListener = null;
1032
+ }
1033
+ }
1034
+ onWindowResize() {
1035
+ if (this.resizeTimeout) {
1036
+ clearTimeout(this.resizeTimeout);
1037
+ }
1038
+ this.resizeTimeout = setTimeout(() => {
1039
+ if (isVisible(this.elementViewChild?.nativeElement)) {
1040
+ const [width, height] = [getWidth(this.elementViewChild?.nativeElement), getHeight(this.elementViewChild?.nativeElement)];
1041
+ const [isDiffWidth, isDiffHeight] = [width !== this.defaultWidth, height !== this.defaultHeight];
1042
+ const reinit = this.both ? isDiffWidth || isDiffHeight : this.horizontal ? isDiffWidth : this.vertical ? isDiffHeight : false;
1043
+ reinit &&
1044
+ this.zone.run(() => {
1045
+ this.d_numToleratedItems = this._numToleratedItems;
1046
+ this.defaultWidth = width;
1047
+ this.defaultHeight = height;
1048
+ this.defaultContentWidth = getWidth(this.contentEl);
1049
+ this.defaultContentHeight = getHeight(this.contentEl);
1050
+ this.init();
1051
+ });
1052
+ }
1053
+ }, this._resizeDelay);
1054
+ }
1055
+ handleEvents(name, params) {
1056
+ //@ts-ignore
1057
+ return this.options && this.options[name] ? this.options[name](params) : this[name].emit(params);
1058
+ }
1059
+ getContentOptions() {
1060
+ return {
1061
+ contentStyleClass: `p-virtualscroller-content ${this.d_loading ? 'p-virtualscroller-loading' : ''}`,
1062
+ items: this.loadedItems,
1063
+ getItemOptions: (index) => this.getOptions(index),
1064
+ loading: this.d_loading,
1065
+ getLoaderOptions: (index, options) => this.getLoaderOptions(index, options),
1066
+ itemSize: this._itemSize,
1067
+ rows: this.loadedRows,
1068
+ columns: this.loadedColumns,
1069
+ spacerStyle: this.spacerStyle,
1070
+ contentStyle: this.contentStyle,
1071
+ vertical: this.vertical,
1072
+ horizontal: this.horizontal,
1073
+ both: this.both,
1074
+ scrollTo: this.scrollTo.bind(this),
1075
+ scrollToIndex: this.scrollToIndex.bind(this),
1076
+ orientation: this._orientation,
1077
+ scrollableElement: this.elementViewChild?.nativeElement
1078
+ };
1079
+ }
1080
+ getOptions(renderedIndex) {
1081
+ const count = (this._items || []).length;
1082
+ const index = this.both ? this.first.rows + renderedIndex : this.first + renderedIndex;
1083
+ return {
1084
+ index,
1085
+ count,
1086
+ first: index === 0,
1087
+ last: index === count - 1,
1088
+ even: index % 2 === 0,
1089
+ odd: index % 2 !== 0
1090
+ };
1091
+ }
1092
+ getLoaderOptions(index, extOptions) {
1093
+ const count = this.loaderArr.length;
1094
+ return {
1095
+ index,
1096
+ count,
1097
+ first: index === 0,
1098
+ last: index === count - 1,
1099
+ even: index % 2 === 0,
1100
+ odd: index % 2 !== 0,
1101
+ loading: this.d_loading,
1102
+ ...extOptions
1103
+ };
1104
+ }
1105
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: Scroller, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1106
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.4", type: Scroller, isStandalone: true, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: { id: "id", style: "style", styleClass: "styleClass", tabindex: "tabindex", items: "items", itemSize: "itemSize", scrollHeight: "scrollHeight", scrollWidth: "scrollWidth", orientation: "orientation", step: "step", delay: "delay", resizeDelay: "resizeDelay", appendOnly: "appendOnly", inline: "inline", lazy: "lazy", disabled: "disabled", loaderDisabled: "loaderDisabled", columns: "columns", showSpacer: "showSpacer", showLoader: "showLoader", numToleratedItems: "numToleratedItems", loading: "loading", autoSize: "autoSize", trackBy: "trackBy", options: "options" }, outputs: { onLazyLoad: "onLazyLoad", onScroll: "onScroll", onScrollIndexChange: "onScrollIndexChange" }, host: { properties: { "style.height": "this.height" } }, providers: [ScrollerStyle], queries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"] }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "loaderIconTemplate", first: true, predicate: ["loadericon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "elementViewChild", first: true, predicate: ["element"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1107
+ <ng-container *ngIf="!_disabled; else disabledContainer">
1108
+ <div #element [attr.id]="_id" [attr.tabindex]="tabindex" [ngStyle]="_style" [class]="cn(cx('root'), styleClass)" (scroll)="onContainerScroll($event)" [attr.data-pc-name]="'scroller'" [attr.data-pc-section]="'root'">
1109
+ <ng-container *ngIf="contentTemplate || _contentTemplate; else buildInContent">
1110
+ <ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate; context: { $implicit: loadedItems, options: getContentOptions() }"></ng-container>
1111
+ </ng-container>
1112
+ <ng-template #buildInContent>
1113
+ <div #content [class]="cn(cx('content'), contentStyleClass)" [style]="contentStyle" [attr.data-pc-section]="'content'">
1114
+ <ng-container *ngFor="let item of loadedItems; let index = index; trackBy: _trackBy">
1115
+ <ng-container *ngTemplateOutlet="itemTemplate || _itemTemplate; context: { $implicit: item, options: getOptions(index) }"></ng-container>
1116
+ </ng-container>
1117
+ </div>
1118
+ </ng-template>
1119
+ <div *ngIf="_showSpacer" [class]="cx('spacer')" [ngStyle]="spacerStyle" [attr.data-pc-section]="'spacer'"></div>
1120
+ <div *ngIf="!loaderDisabled && _showLoader && d_loading" [class]="cx('loader')" [attr.data-pc-section]="'loader'">
1121
+ <ng-container *ngIf="loaderTemplate || _loaderTemplate; else buildInLoader">
1122
+ <ng-container *ngFor="let item of loaderArr; let index = index">
1123
+ <ng-container
1124
+ *ngTemplateOutlet="
1125
+ loaderTemplate || _loaderTemplate;
1126
+ context: {
1127
+ options: getLoaderOptions(index, both && { numCols: numItemsInViewport.cols })
1128
+ }
1129
+ "
1130
+ ></ng-container>
1131
+ </ng-container>
1132
+ </ng-container>
1133
+ <ng-template #buildInLoader>
1134
+ <ng-container *ngIf="loaderIconTemplate || _loaderIconTemplate; else buildInLoaderIcon">
1135
+ <ng-container *ngTemplateOutlet="loaderIconTemplate || _loaderIconTemplate; context: { options: { styleClass: 'p-virtualscroller-loading-icon' } }"></ng-container>
1136
+ </ng-container>
1137
+ <ng-template #buildInLoaderIcon>
1138
+ <svg data-p-icon="spinner" [class]="cx('loadingIcon')" [spin]="true" [attr.data-pc-section]="'loadingIcon'" />
1139
+ </ng-template>
1140
+ </ng-template>
1141
+ </div>
1142
+ </div>
1143
+ </ng-container>
1144
+ <ng-template #disabledContainer>
1145
+ <ng-content></ng-content>
1146
+ <ng-container *ngIf="contentTemplate || _contentTemplate">
1147
+ <ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate; context: { $implicit: items, options: { rows: _items, columns: loadedColumns } }"></ng-container>
1148
+ </ng-container>
1149
+ </ng-template>
1150
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1151
+ }
1152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: Scroller, decorators: [{
1153
+ type: Component,
1154
+ args: [{
1155
+ selector: 'p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller',
1156
+ imports: [CommonModule, SpinnerIcon, SharedModule],
1157
+ standalone: true,
1158
+ template: `
1159
+ <ng-container *ngIf="!_disabled; else disabledContainer">
1160
+ <div #element [attr.id]="_id" [attr.tabindex]="tabindex" [ngStyle]="_style" [class]="cn(cx('root'), styleClass)" (scroll)="onContainerScroll($event)" [attr.data-pc-name]="'scroller'" [attr.data-pc-section]="'root'">
1161
+ <ng-container *ngIf="contentTemplate || _contentTemplate; else buildInContent">
1162
+ <ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate; context: { $implicit: loadedItems, options: getContentOptions() }"></ng-container>
1163
+ </ng-container>
1164
+ <ng-template #buildInContent>
1165
+ <div #content [class]="cn(cx('content'), contentStyleClass)" [style]="contentStyle" [attr.data-pc-section]="'content'">
1166
+ <ng-container *ngFor="let item of loadedItems; let index = index; trackBy: _trackBy">
1167
+ <ng-container *ngTemplateOutlet="itemTemplate || _itemTemplate; context: { $implicit: item, options: getOptions(index) }"></ng-container>
1168
+ </ng-container>
1169
+ </div>
1170
+ </ng-template>
1171
+ <div *ngIf="_showSpacer" [class]="cx('spacer')" [ngStyle]="spacerStyle" [attr.data-pc-section]="'spacer'"></div>
1172
+ <div *ngIf="!loaderDisabled && _showLoader && d_loading" [class]="cx('loader')" [attr.data-pc-section]="'loader'">
1173
+ <ng-container *ngIf="loaderTemplate || _loaderTemplate; else buildInLoader">
1174
+ <ng-container *ngFor="let item of loaderArr; let index = index">
1175
+ <ng-container
1176
+ *ngTemplateOutlet="
1177
+ loaderTemplate || _loaderTemplate;
1178
+ context: {
1179
+ options: getLoaderOptions(index, both && { numCols: numItemsInViewport.cols })
1180
+ }
1181
+ "
1182
+ ></ng-container>
1183
+ </ng-container>
1184
+ </ng-container>
1185
+ <ng-template #buildInLoader>
1186
+ <ng-container *ngIf="loaderIconTemplate || _loaderIconTemplate; else buildInLoaderIcon">
1187
+ <ng-container *ngTemplateOutlet="loaderIconTemplate || _loaderIconTemplate; context: { options: { styleClass: 'p-virtualscroller-loading-icon' } }"></ng-container>
1188
+ </ng-container>
1189
+ <ng-template #buildInLoaderIcon>
1190
+ <svg data-p-icon="spinner" [class]="cx('loadingIcon')" [spin]="true" [attr.data-pc-section]="'loadingIcon'" />
1191
+ </ng-template>
1192
+ </ng-template>
1193
+ </div>
1194
+ </div>
1195
+ </ng-container>
1196
+ <ng-template #disabledContainer>
1197
+ <ng-content></ng-content>
1198
+ <ng-container *ngIf="contentTemplate || _contentTemplate">
1199
+ <ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate; context: { $implicit: items, options: { rows: _items, columns: loadedColumns } }"></ng-container>
1200
+ </ng-container>
1201
+ </ng-template>
1202
+ `,
1203
+ changeDetection: ChangeDetectionStrategy.Default,
1204
+ encapsulation: ViewEncapsulation.None,
1205
+ providers: [ScrollerStyle]
1206
+ }]
1207
+ }], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { id: [{
1208
+ type: Input
1209
+ }], style: [{
1210
+ type: Input
1211
+ }], styleClass: [{
1212
+ type: Input
1213
+ }], tabindex: [{
1214
+ type: Input
1215
+ }], items: [{
1216
+ type: Input
1217
+ }], itemSize: [{
1218
+ type: Input
1219
+ }], scrollHeight: [{
1220
+ type: Input
1221
+ }], scrollWidth: [{
1222
+ type: Input
1223
+ }], orientation: [{
1224
+ type: Input
1225
+ }], step: [{
1226
+ type: Input
1227
+ }], delay: [{
1228
+ type: Input
1229
+ }], resizeDelay: [{
1230
+ type: Input
1231
+ }], appendOnly: [{
1232
+ type: Input
1233
+ }], inline: [{
1234
+ type: Input
1235
+ }], lazy: [{
1236
+ type: Input
1237
+ }], disabled: [{
1238
+ type: Input
1239
+ }], loaderDisabled: [{
1240
+ type: Input
1241
+ }], columns: [{
1242
+ type: Input
1243
+ }], showSpacer: [{
1244
+ type: Input
1245
+ }], showLoader: [{
1246
+ type: Input
1247
+ }], numToleratedItems: [{
1248
+ type: Input
1249
+ }], loading: [{
1250
+ type: Input
1251
+ }], autoSize: [{
1252
+ type: Input
1253
+ }], trackBy: [{
1254
+ type: Input
1255
+ }], options: [{
1256
+ type: Input
1257
+ }], onLazyLoad: [{
1258
+ type: Output
1259
+ }], onScroll: [{
1260
+ type: Output
1261
+ }], onScrollIndexChange: [{
1262
+ type: Output
1263
+ }], elementViewChild: [{
1264
+ type: ViewChild,
1265
+ args: ['element']
1266
+ }], contentViewChild: [{
1267
+ type: ViewChild,
1268
+ args: ['content']
1269
+ }], height: [{
1270
+ type: HostBinding,
1271
+ args: ['style.height']
1272
+ }], contentTemplate: [{
1273
+ type: ContentChild,
1274
+ args: ['content', { descendants: false }]
1275
+ }], itemTemplate: [{
1276
+ type: ContentChild,
1277
+ args: ['item', { descendants: false }]
1278
+ }], loaderTemplate: [{
1279
+ type: ContentChild,
1280
+ args: ['loader', { descendants: false }]
1281
+ }], loaderIconTemplate: [{
1282
+ type: ContentChild,
1283
+ args: ['loadericon', { descendants: false }]
1284
+ }], templates: [{
1285
+ type: ContentChildren,
1286
+ args: [PrimeTemplate]
1287
+ }] } });
1288
+ class ScrollerModule {
1289
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1290
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: ScrollerModule, imports: [Scroller, SharedModule], exports: [Scroller, SharedModule] });
1291
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ScrollerModule, imports: [Scroller, SharedModule, SharedModule] });
1292
+ }
1293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ScrollerModule, decorators: [{
1294
+ type: NgModule,
1295
+ args: [{
1296
+ imports: [Scroller, SharedModule],
1297
+ exports: [Scroller, SharedModule]
1298
+ }]
1299
+ }] });
1300
+
1301
+ /**
1302
+ * Generated bundle index. Do not edit.
1303
+ */
1304
+
1305
+ export { Scroller, ScrollerClasses, ScrollerModule, ScrollerStyle };
1306
+ //# sourceMappingURL=primeng-scroller.mjs.map