primeng 16.0.0-rc.1 → 16.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (809) hide show
  1. package/accordion/accordion.d.ts +127 -30
  2. package/accordion/accordion.interface.d.ts +47 -0
  3. package/accordion/public_api.d.ts +1 -0
  4. package/animate/animate.d.ts +9 -3
  5. package/api/blockableui.d.ts +7 -0
  6. package/api/confirmation.d.ts +66 -0
  7. package/api/contextmenuservice.d.ts +3 -2
  8. package/api/filtermetadata.d.ts +12 -0
  9. package/api/filterservice.d.ts +1 -20
  10. package/api/lazyloadevent.d.ts +32 -1
  11. package/api/lazyloadmeta.d.ts +18 -0
  12. package/api/megamenuitem.d.ts +89 -0
  13. package/api/menuitem.d.ts +104 -0
  14. package/api/message.d.ts +3 -0
  15. package/api/overlayoptions.d.ts +126 -0
  16. package/api/public_api.d.ts +1 -0
  17. package/api/selectitem.d.ts +3 -0
  18. package/api/selectitemgroup.d.ts +3 -0
  19. package/api/shared.d.ts +2 -2
  20. package/api/sortevent.d.ts +3 -0
  21. package/api/sortmeta.d.ts +3 -0
  22. package/api/tablestate.d.ts +40 -1
  23. package/api/translation.d.ts +3 -0
  24. package/api/treenode.d.ts +3 -0
  25. package/api/treenodedragevent.d.ts +3 -0
  26. package/autocomplete/autocomplete.d.ts +369 -96
  27. package/autocomplete/autocomplete.interface.d.ts +131 -0
  28. package/autocomplete/public_api.d.ts +1 -0
  29. package/autofocus/autofocus.d.ts +5 -1
  30. package/avatar/avatar.d.ts +44 -9
  31. package/avatargroup/avatargroup.d.ts +11 -2
  32. package/badge/badge.d.ts +57 -14
  33. package/blockui/blockui.d.ts +30 -9
  34. package/blockui/blockui.interface.d.ts +11 -0
  35. package/blockui/public_api.d.ts +1 -0
  36. package/breadcrumb/breadcrumb.d.ts +40 -12
  37. package/breadcrumb/breadcrumb.interface.d.ts +26 -0
  38. package/breadcrumb/public_api.d.ts +1 -0
  39. package/button/button.d.ts +109 -23
  40. package/button/button.interface.d.ts +19 -0
  41. package/button/public_api.d.ts +1 -0
  42. package/calendar/calendar.d.ts +452 -152
  43. package/calendar/calendar.interface.d.ts +134 -0
  44. package/calendar/public_api.d.ts +1 -0
  45. package/card/card.d.ts +32 -14
  46. package/card/card.interface.d.ts +27 -0
  47. package/card/public_api.d.ts +1 -0
  48. package/carousel/carousel.d.ts +119 -31
  49. package/carousel/carousel.interface.d.ts +52 -0
  50. package/carousel/public_api.d.ts +1 -0
  51. package/cascadeselect/cascadeselect.d.ts +207 -70
  52. package/cascadeselect/cascadeselect.interface.d.ts +88 -0
  53. package/cascadeselect/public_api.d.ts +1 -0
  54. package/chart/chart.d.ts +39 -7
  55. package/checkbox/checkbox.d.ts +104 -22
  56. package/checkbox/checkbox.interface.d.ts +25 -0
  57. package/checkbox/public_api.d.ts +1 -0
  58. package/chip/chip.d.ts +55 -14
  59. package/chip/chip.interface.d.ts +15 -0
  60. package/chip/public_api.d.ts +1 -0
  61. package/chips/chips.d.ts +120 -23
  62. package/chips/chips.interface.d.ts +55 -0
  63. package/chips/public_api.d.ts +1 -0
  64. package/colorpicker/colorpicker.d.ts +134 -44
  65. package/colorpicker/colorpicker.interface.d.ts +14 -0
  66. package/colorpicker/public_api.d.ts +1 -0
  67. package/confirmdialog/confirmdialog.d.ts +172 -43
  68. package/confirmdialog/confirmdialog.interface.d.ts +23 -0
  69. package/confirmdialog/public_api.d.ts +1 -0
  70. package/confirmpopup/confirmpopup.d.ts +56 -17
  71. package/confirmpopup/confirmpopup.interface.d.ts +15 -0
  72. package/confirmpopup/public_api.d.ts +1 -0
  73. package/contextmenu/contextmenu.d.ts +83 -36
  74. package/dataview/dataview.d.ts +189 -52
  75. package/dataview/dataview.interface.d.ts +178 -0
  76. package/dataview/public_api.d.ts +1 -0
  77. package/defer/defer.d.ts +11 -5
  78. package/dialog/dialog.d.ts +242 -57
  79. package/dialog/dialog.interface.d.ts +31 -0
  80. package/dialog/public_api.d.ts +1 -0
  81. package/divider/divider.d.ts +28 -6
  82. package/dock/dock.d.ts +34 -11
  83. package/dock/dock.interface.d.ts +19 -0
  84. package/dock/public_api.d.ts +1 -0
  85. package/dragdrop/dragdrop.d.ts +69 -26
  86. package/dropdown/dropdown.d.ts +428 -135
  87. package/dropdown/dropdown.interface.d.ts +144 -0
  88. package/dropdown/public_api.d.ts +1 -0
  89. package/dynamicdialog/dynamicdialog.d.ts +22 -21
  90. package/editor/editor.d.ts +73 -17
  91. package/editor/editor.interface.d.ts +61 -0
  92. package/editor/public_api.d.ts +1 -0
  93. package/esm2022/accordion/accordion.interface.mjs +2 -0
  94. package/esm2022/accordion/accordion.mjs +130 -42
  95. package/esm2022/accordion/public_api.mjs +2 -1
  96. package/esm2022/animate/animate.mjs +14 -8
  97. package/esm2022/api/blockableui.mjs +1 -1
  98. package/esm2022/api/confirmation.mjs +1 -1
  99. package/esm2022/api/confirmationservice.mjs +4 -4
  100. package/esm2022/api/contextmenuservice.mjs +4 -4
  101. package/esm2022/api/filtermetadata.mjs +1 -1
  102. package/esm2022/api/filterservice.mjs +4 -4
  103. package/esm2022/api/lazyloadevent.mjs +1 -1
  104. package/esm2022/api/lazyloadmeta.mjs +2 -0
  105. package/esm2022/api/megamenuitem.mjs +1 -1
  106. package/esm2022/api/menuitem.mjs +1 -1
  107. package/esm2022/api/message.mjs +1 -1
  108. package/esm2022/api/messageservice.mjs +4 -4
  109. package/esm2022/api/overlayoptions.mjs +1 -1
  110. package/esm2022/api/overlayservice.mjs +4 -4
  111. package/esm2022/api/primengconfig.mjs +4 -4
  112. package/esm2022/api/public_api.mjs +2 -1
  113. package/esm2022/api/selectitem.mjs +1 -1
  114. package/esm2022/api/selectitemgroup.mjs +1 -1
  115. package/esm2022/api/shared.mjs +15 -16
  116. package/esm2022/api/sortevent.mjs +1 -1
  117. package/esm2022/api/sortmeta.mjs +1 -1
  118. package/esm2022/api/tablestate.mjs +1 -1
  119. package/esm2022/api/translation.mjs +1 -1
  120. package/esm2022/api/treedragdropservice.mjs +3 -3
  121. package/esm2022/api/treenode.mjs +1 -1
  122. package/esm2022/api/treenodedragevent.mjs +1 -1
  123. package/esm2022/autocomplete/autocomplete.interface.mjs +2 -0
  124. package/esm2022/autocomplete/autocomplete.mjs +341 -75
  125. package/esm2022/autocomplete/public_api.mjs +2 -1
  126. package/esm2022/autofocus/autofocus.mjs +12 -8
  127. package/esm2022/avatar/avatar.mjs +42 -9
  128. package/esm2022/avatargroup/avatargroup.mjs +15 -8
  129. package/esm2022/badge/badge.mjs +83 -39
  130. package/esm2022/baseicon/baseicon.mjs +3 -3
  131. package/esm2022/blockui/blockui.interface.mjs +2 -0
  132. package/esm2022/blockui/blockui.mjs +45 -24
  133. package/esm2022/blockui/public_api.mjs +2 -1
  134. package/esm2022/breadcrumb/breadcrumb.interface.mjs +2 -0
  135. package/esm2022/breadcrumb/breadcrumb.mjs +37 -12
  136. package/esm2022/breadcrumb/public_api.mjs +2 -1
  137. package/esm2022/button/button.interface.mjs +2 -0
  138. package/esm2022/button/button.mjs +119 -36
  139. package/esm2022/button/public_api.mjs +2 -1
  140. package/esm2022/calendar/calendar.interface.mjs +2 -0
  141. package/esm2022/calendar/calendar.mjs +471 -156
  142. package/esm2022/calendar/public_api.mjs +2 -1
  143. package/esm2022/card/card.interface.mjs +2 -0
  144. package/esm2022/card/card.mjs +26 -10
  145. package/esm2022/card/public_api.mjs +2 -1
  146. package/esm2022/carousel/carousel.interface.mjs +2 -0
  147. package/esm2022/carousel/carousel.mjs +93 -15
  148. package/esm2022/carousel/public_api.mjs +2 -1
  149. package/esm2022/cascadeselect/cascadeselect.interface.mjs +2 -0
  150. package/esm2022/cascadeselect/cascadeselect.mjs +169 -40
  151. package/esm2022/cascadeselect/public_api.mjs +2 -1
  152. package/esm2022/chart/chart.mjs +52 -20
  153. package/esm2022/checkbox/checkbox.interface.mjs +2 -0
  154. package/esm2022/checkbox/checkbox.mjs +89 -12
  155. package/esm2022/checkbox/public_api.mjs +2 -1
  156. package/esm2022/chip/chip.interface.mjs +2 -0
  157. package/esm2022/chip/chip.mjs +49 -11
  158. package/esm2022/chip/public_api.mjs +2 -1
  159. package/esm2022/chips/chips.interface.mjs +2 -0
  160. package/esm2022/chips/chips.mjs +102 -9
  161. package/esm2022/chips/public_api.mjs +2 -1
  162. package/esm2022/colorpicker/colorpicker.interface.mjs +2 -0
  163. package/esm2022/colorpicker/colorpicker.mjs +78 -17
  164. package/esm2022/colorpicker/public_api.mjs +2 -1
  165. package/esm2022/confirmdialog/confirmdialog.interface.mjs +2 -0
  166. package/esm2022/confirmdialog/confirmdialog.mjs +149 -20
  167. package/esm2022/confirmdialog/public_api.mjs +2 -1
  168. package/esm2022/confirmpopup/confirmpopup.interface.mjs +2 -0
  169. package/esm2022/confirmpopup/confirmpopup.mjs +68 -32
  170. package/esm2022/confirmpopup/public_api.mjs +2 -1
  171. package/esm2022/contextmenu/contextmenu.mjs +74 -30
  172. package/esm2022/dataview/dataview.interface.mjs +2 -0
  173. package/esm2022/dataview/dataview.mjs +159 -28
  174. package/esm2022/dataview/public_api.mjs +2 -1
  175. package/esm2022/defer/defer.mjs +15 -10
  176. package/esm2022/dialog/dialog.interface.mjs +2 -0
  177. package/esm2022/dialog/dialog.mjs +276 -92
  178. package/esm2022/dialog/public_api.mjs +2 -1
  179. package/esm2022/divider/divider.mjs +31 -11
  180. package/esm2022/dock/dock.interface.mjs +2 -0
  181. package/esm2022/dock/dock.mjs +31 -11
  182. package/esm2022/dock/public_api.mjs +2 -1
  183. package/esm2022/dragdrop/dragdrop.mjs +60 -18
  184. package/esm2022/dropdown/dropdown.interface.mjs +2 -0
  185. package/esm2022/dropdown/dropdown.mjs +390 -102
  186. package/esm2022/dropdown/public_api.mjs +2 -1
  187. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  188. package/esm2022/dynamicdialog/dynamicdialog.mjs +11 -11
  189. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  190. package/esm2022/editor/editor.interface.mjs +2 -0
  191. package/esm2022/editor/editor.mjs +87 -35
  192. package/esm2022/editor/public_api.mjs +2 -1
  193. package/esm2022/fieldset/fieldset.interface.mjs +2 -0
  194. package/esm2022/fieldset/fieldset.mjs +61 -21
  195. package/esm2022/fieldset/public_api.mjs +2 -1
  196. package/esm2022/fileupload/fileupload.interface.mjs +2 -0
  197. package/esm2022/fileupload/fileupload.mjs +219 -21
  198. package/esm2022/fileupload/public_api.mjs +2 -1
  199. package/esm2022/focustrap/focustrap.mjs +13 -9
  200. package/esm2022/galleria/galleria.interface.mjs +2 -0
  201. package/esm2022/galleria/galleria.mjs +151 -37
  202. package/esm2022/galleria/public_api.mjs +2 -1
  203. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  204. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  205. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  206. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  207. package/esm2022/icons/angledown/angledown.mjs +3 -3
  208. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  209. package/esm2022/icons/angleright/angleright.mjs +3 -3
  210. package/esm2022/icons/angleup/angleup.mjs +3 -3
  211. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  212. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  213. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  214. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  215. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  216. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  217. package/esm2022/icons/ban/ban.mjs +3 -3
  218. package/esm2022/icons/bars/bars.mjs +3 -3
  219. package/esm2022/icons/calendar/calendar.mjs +3 -3
  220. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  221. package/esm2022/icons/caretright/caretright.mjs +3 -3
  222. package/esm2022/icons/check/check.mjs +3 -3
  223. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  224. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  225. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  226. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  227. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  228. package/esm2022/icons/eye/eye.mjs +3 -3
  229. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  230. package/esm2022/icons/filter/filter.mjs +3 -3
  231. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  232. package/esm2022/icons/home/home.mjs +3 -3
  233. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  234. package/esm2022/icons/minus/minus.mjs +3 -3
  235. package/esm2022/icons/pencil/pencil.mjs +3 -3
  236. package/esm2022/icons/plus/plus.mjs +3 -3
  237. package/esm2022/icons/refresh/refresh.mjs +3 -3
  238. package/esm2022/icons/search/search.mjs +3 -3
  239. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  240. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  241. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  242. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  243. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  244. package/esm2022/icons/spinner/spinner.mjs +3 -3
  245. package/esm2022/icons/star/star.mjs +3 -3
  246. package/esm2022/icons/starfill/starfill.mjs +3 -3
  247. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  248. package/esm2022/icons/times/times.mjs +3 -3
  249. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  250. package/esm2022/icons/trash/trash.mjs +3 -3
  251. package/esm2022/icons/undo/undo.mjs +3 -3
  252. package/esm2022/icons/upload/upload.mjs +3 -3
  253. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  254. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  255. package/esm2022/image/image.interface.mjs +2 -0
  256. package/esm2022/image/image.mjs +77 -16
  257. package/esm2022/image/public_api.mjs +2 -1
  258. package/esm2022/inplace/inplace.interface.mjs +2 -0
  259. package/esm2022/inplace/inplace.mjs +72 -24
  260. package/esm2022/inplace/public_api.mjs +2 -1
  261. package/esm2022/inputmask/inputmask.interface.mjs +2 -0
  262. package/esm2022/inputmask/inputmask.mjs +165 -41
  263. package/esm2022/inputmask/public_api.mjs +2 -1
  264. package/esm2022/inputnumber/inputnumber.interface.mjs +2 -0
  265. package/esm2022/inputnumber/inputnumber.mjs +239 -43
  266. package/esm2022/inputnumber/public_api.mjs +2 -1
  267. package/esm2022/inputswitch/inputswitch.interface.mjs +2 -0
  268. package/esm2022/inputswitch/inputswitch.mjs +57 -8
  269. package/esm2022/inputswitch/public_api.mjs +2 -1
  270. package/esm2022/inputtext/inputtext.mjs +9 -9
  271. package/esm2022/inputtextarea/inputtextarea.mjs +17 -8
  272. package/esm2022/keyfilter/keyfilter.mjs +30 -17
  273. package/esm2022/knob/knob.mjs +86 -18
  274. package/esm2022/listbox/listbox.interface.mjs +2 -0
  275. package/esm2022/listbox/listbox.mjs +150 -27
  276. package/esm2022/listbox/public_api.mjs +2 -1
  277. package/esm2022/megamenu/megamenu.interface.mjs +2 -0
  278. package/esm2022/megamenu/megamenu.mjs +29 -13
  279. package/esm2022/megamenu/public_api.mjs +2 -1
  280. package/esm2022/menu/menu.mjs +62 -22
  281. package/esm2022/menubar/menubar.interface.mjs +2 -0
  282. package/esm2022/menubar/menubar.mjs +67 -34
  283. package/esm2022/menubar/public_api.mjs +2 -1
  284. package/esm2022/message/message.mjs +30 -10
  285. package/esm2022/messages/messages.interface.mjs +2 -0
  286. package/esm2022/messages/messages.mjs +64 -19
  287. package/esm2022/messages/public_api.mjs +2 -1
  288. package/esm2022/multiselect/multiselect.interface.mjs +2 -0
  289. package/esm2022/multiselect/multiselect.mjs +330 -63
  290. package/esm2022/multiselect/public_api.mjs +2 -1
  291. package/esm2022/orderlist/orderlist.interface.mjs +2 -0
  292. package/esm2022/orderlist/orderlist.mjs +138 -38
  293. package/esm2022/orderlist/public_api.mjs +2 -1
  294. package/esm2022/organizationchart/organizationchart.interface.mjs +2 -0
  295. package/esm2022/organizationchart/organizationchart.mjs +67 -14
  296. package/esm2022/organizationchart/public_api.mjs +2 -1
  297. package/esm2022/overlay/overlay.mjs +104 -9
  298. package/esm2022/overlaypanel/overlaypanel.mjs +81 -13
  299. package/esm2022/paginator/paginator.interface.mjs +2 -0
  300. package/esm2022/paginator/paginator.mjs +113 -22
  301. package/esm2022/paginator/public_api.mjs +2 -1
  302. package/esm2022/panel/panel.interface.mjs +2 -0
  303. package/esm2022/panel/panel.mjs +80 -16
  304. package/esm2022/panel/public_api.mjs +2 -1
  305. package/esm2022/panelmenu/panelmenu.interface.mjs +2 -0
  306. package/esm2022/panelmenu/panelmenu.mjs +34 -19
  307. package/esm2022/panelmenu/public_api.mjs +2 -1
  308. package/esm2022/password/password.mjs +156 -18
  309. package/esm2022/picklist/picklist.interface.mjs +2 -0
  310. package/esm2022/picklist/picklist.mjs +214 -16
  311. package/esm2022/picklist/public_api.mjs +2 -1
  312. package/esm2022/progressbar/progressbar.mjs +39 -11
  313. package/esm2022/progressspinner/progressspinner.mjs +32 -12
  314. package/esm2022/radiobutton/public_api.mjs +2 -1
  315. package/esm2022/radiobutton/radiobutton.interface.mjs +2 -0
  316. package/esm2022/radiobutton/radiobutton.mjs +78 -11
  317. package/esm2022/rating/public_api.mjs +2 -1
  318. package/esm2022/rating/rating.interface.mjs +2 -0
  319. package/esm2022/rating/rating.mjs +66 -22
  320. package/esm2022/ripple/ripple.mjs +12 -12
  321. package/esm2022/scroller/public_api.mjs +2 -1
  322. package/esm2022/scroller/scroller.interface.mjs +2 -0
  323. package/esm2022/scroller/scroller.mjs +137 -20
  324. package/esm2022/scrollpanel/public_api.mjs +2 -1
  325. package/esm2022/scrollpanel/scrollpanel.interface.mjs +2 -0
  326. package/esm2022/scrollpanel/scrollpanel.mjs +30 -13
  327. package/esm2022/scrolltop/public_api.mjs +2 -1
  328. package/esm2022/scrolltop/scrolltop.interface.mjs +2 -0
  329. package/esm2022/scrolltop/scrolltop.mjs +44 -12
  330. package/esm2022/selectbutton/public_api.mjs +2 -1
  331. package/esm2022/selectbutton/selectbutton.interface.mjs +2 -0
  332. package/esm2022/selectbutton/selectbutton.mjs +62 -8
  333. package/esm2022/sidebar/public_api.mjs +2 -1
  334. package/esm2022/sidebar/sidebar.interface.mjs +2 -0
  335. package/esm2022/sidebar/sidebar.mjs +123 -50
  336. package/esm2022/skeleton/skeleton.mjs +43 -11
  337. package/esm2022/slidemenu/public_api.mjs +2 -1
  338. package/esm2022/slidemenu/slidemenu.interface.mjs +2 -0
  339. package/esm2022/slidemenu/slidemenu.mjs +109 -31
  340. package/esm2022/slider/public_api.mjs +2 -1
  341. package/esm2022/slider/slider.interface.mjs +2 -0
  342. package/esm2022/slider/slider.mjs +70 -15
  343. package/esm2022/speeddial/public_api.mjs +2 -1
  344. package/esm2022/speeddial/speeddial.interface.mjs +2 -0
  345. package/esm2022/speeddial/speeddial.mjs +119 -18
  346. package/esm2022/spinner/spinner.mjs +7 -7
  347. package/esm2022/splitbutton/public_api.mjs +2 -1
  348. package/esm2022/splitbutton/splitbutton.interface.mjs +2 -0
  349. package/esm2022/splitbutton/splitbutton.mjs +88 -18
  350. package/esm2022/splitter/public_api.mjs +2 -1
  351. package/esm2022/splitter/splitter.interface.mjs +2 -0
  352. package/esm2022/splitter/splitter.mjs +74 -24
  353. package/esm2022/steps/steps.mjs +34 -9
  354. package/esm2022/styleclass/styleclass.mjs +50 -10
  355. package/esm2022/table/public_api.mjs +2 -1
  356. package/esm2022/table/table.interface.mjs +2 -0
  357. package/esm2022/table/table.mjs +686 -220
  358. package/esm2022/tabmenu/public_api.mjs +2 -1
  359. package/esm2022/tabmenu/tabmenu.interface.mjs +2 -0
  360. package/esm2022/tabmenu/tabmenu.mjs +48 -20
  361. package/esm2022/tabview/public_api.mjs +2 -1
  362. package/esm2022/tabview/tabview.interface.mjs +2 -0
  363. package/esm2022/tabview/tabview.mjs +191 -101
  364. package/esm2022/tag/public_api.mjs +2 -1
  365. package/esm2022/tag/tag.interface.mjs +2 -0
  366. package/esm2022/tag/tag.mjs +39 -15
  367. package/esm2022/terminal/terminal.mjs +24 -8
  368. package/esm2022/terminal/terminalservice.mjs +3 -3
  369. package/esm2022/tieredmenu/public_api.mjs +2 -1
  370. package/esm2022/tieredmenu/tieredmenu.interface.mjs +2 -0
  371. package/esm2022/tieredmenu/tieredmenu.mjs +90 -23
  372. package/esm2022/timeline/public_api.mjs +2 -1
  373. package/esm2022/timeline/timeline.interface.mjs +2 -0
  374. package/esm2022/timeline/timeline.mjs +28 -8
  375. package/esm2022/toast/public_api.mjs +2 -1
  376. package/esm2022/toast/toast.interface.mjs +2 -0
  377. package/esm2022/toast/toast.mjs +92 -36
  378. package/esm2022/togglebutton/public_api.mjs +2 -1
  379. package/esm2022/togglebutton/togglebutton.interface.mjs +2 -0
  380. package/esm2022/togglebutton/togglebutton.mjs +59 -10
  381. package/esm2022/toolbar/public_api.mjs +2 -1
  382. package/esm2022/toolbar/toolbar.interface.mjs +2 -0
  383. package/esm2022/toolbar/toolbar.mjs +16 -8
  384. package/esm2022/tooltip/public_api.mjs +2 -1
  385. package/esm2022/tooltip/tooltip.interface.mjs +2 -0
  386. package/esm2022/tooltip/tooltip.mjs +81 -9
  387. package/esm2022/tree/public_api.mjs +2 -1
  388. package/esm2022/tree/tree.interface.mjs +2 -0
  389. package/esm2022/tree/tree.mjs +241 -41
  390. package/esm2022/treeselect/public_api.mjs +2 -1
  391. package/esm2022/treeselect/treeselect.interface.mjs +2 -0
  392. package/esm2022/treeselect/treeselect.mjs +215 -53
  393. package/esm2022/treetable/public_api.mjs +2 -1
  394. package/esm2022/treetable/treetable.interface.mjs +2 -0
  395. package/esm2022/treetable/treetable.mjs +497 -155
  396. package/esm2022/tristatecheckbox/public_api.mjs +2 -1
  397. package/esm2022/tristatecheckbox/tristatecheckbox.interface.mjs +2 -0
  398. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +57 -8
  399. package/esm2022/ts-helpers/primeng-ts-helpers.mjs +5 -0
  400. package/esm2022/ts-helpers/public_api.mjs +2 -0
  401. package/esm2022/ts-helpers/ts-helpers.mjs +2 -0
  402. package/esm2022/virtualscroller/public_api.mjs +2 -1
  403. package/esm2022/virtualscroller/virtualscroller.interface.mjs +2 -0
  404. package/esm2022/virtualscroller/virtualscroller.mjs +48 -11
  405. package/fesm2022/primeng-accordion.mjs +128 -40
  406. package/fesm2022/primeng-accordion.mjs.map +1 -1
  407. package/fesm2022/primeng-animate.mjs +13 -7
  408. package/fesm2022/primeng-animate.mjs.map +1 -1
  409. package/fesm2022/primeng-api.mjs +34 -34
  410. package/fesm2022/primeng-api.mjs.map +1 -1
  411. package/fesm2022/primeng-autocomplete.mjs +341 -75
  412. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  413. package/fesm2022/primeng-autofocus.mjs +11 -7
  414. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  415. package/fesm2022/primeng-avatar.mjs +42 -9
  416. package/fesm2022/primeng-avatar.mjs.map +1 -1
  417. package/fesm2022/primeng-avatargroup.mjs +14 -7
  418. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  419. package/fesm2022/primeng-badge.mjs +82 -38
  420. package/fesm2022/primeng-badge.mjs.map +1 -1
  421. package/fesm2022/primeng-baseicon.mjs +3 -3
  422. package/fesm2022/primeng-blockui.mjs +45 -24
  423. package/fesm2022/primeng-blockui.mjs.map +1 -1
  424. package/fesm2022/primeng-breadcrumb.mjs +38 -13
  425. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  426. package/fesm2022/primeng-button.mjs +118 -35
  427. package/fesm2022/primeng-button.mjs.map +1 -1
  428. package/fesm2022/primeng-calendar.mjs +470 -155
  429. package/fesm2022/primeng-calendar.mjs.map +1 -1
  430. package/fesm2022/primeng-card.mjs +25 -9
  431. package/fesm2022/primeng-card.mjs.map +1 -1
  432. package/fesm2022/primeng-carousel.mjs +92 -14
  433. package/fesm2022/primeng-carousel.mjs.map +1 -1
  434. package/fesm2022/primeng-cascadeselect.mjs +168 -39
  435. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  436. package/fesm2022/primeng-chart.mjs +51 -19
  437. package/fesm2022/primeng-chart.mjs.map +1 -1
  438. package/fesm2022/primeng-checkbox.mjs +89 -12
  439. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  440. package/fesm2022/primeng-chip.mjs +49 -11
  441. package/fesm2022/primeng-chip.mjs.map +1 -1
  442. package/fesm2022/primeng-chips.mjs +101 -8
  443. package/fesm2022/primeng-chips.mjs.map +1 -1
  444. package/fesm2022/primeng-colorpicker.mjs +77 -16
  445. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  446. package/fesm2022/primeng-confirmdialog.mjs +147 -18
  447. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  448. package/fesm2022/primeng-confirmpopup.mjs +68 -32
  449. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  450. package/fesm2022/primeng-contextmenu.mjs +72 -28
  451. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  452. package/fesm2022/primeng-dataview.mjs +158 -27
  453. package/fesm2022/primeng-dataview.mjs.map +1 -1
  454. package/fesm2022/primeng-defer.mjs +14 -9
  455. package/fesm2022/primeng-defer.mjs.map +1 -1
  456. package/fesm2022/primeng-dialog.mjs +276 -92
  457. package/fesm2022/primeng-dialog.mjs.map +1 -1
  458. package/fesm2022/primeng-divider.mjs +30 -10
  459. package/fesm2022/primeng-divider.mjs.map +1 -1
  460. package/fesm2022/primeng-dock.mjs +31 -11
  461. package/fesm2022/primeng-dock.mjs.map +1 -1
  462. package/fesm2022/primeng-dragdrop.mjs +59 -17
  463. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  464. package/fesm2022/primeng-dropdown.mjs +390 -102
  465. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  466. package/fesm2022/primeng-dynamicdialog.mjs +14 -14
  467. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  468. package/fesm2022/primeng-editor.mjs +86 -35
  469. package/fesm2022/primeng-editor.mjs.map +1 -1
  470. package/fesm2022/primeng-fieldset.mjs +60 -20
  471. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  472. package/fesm2022/primeng-fileupload.mjs +218 -20
  473. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  474. package/fesm2022/primeng-focustrap.mjs +12 -8
  475. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  476. package/fesm2022/primeng-galleria.mjs +151 -37
  477. package/fesm2022/primeng-galleria.mjs.map +1 -1
  478. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  479. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  480. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  481. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  482. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  483. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  484. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  485. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  486. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  487. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  488. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  489. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  490. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  491. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  492. package/fesm2022/primeng-icons-ban.mjs +3 -3
  493. package/fesm2022/primeng-icons-bars.mjs +3 -3
  494. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  495. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  496. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  497. package/fesm2022/primeng-icons-check.mjs +3 -3
  498. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  499. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  500. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  501. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  502. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  503. package/fesm2022/primeng-icons-eye.mjs +3 -3
  504. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  505. package/fesm2022/primeng-icons-filter.mjs +3 -3
  506. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  507. package/fesm2022/primeng-icons-home.mjs +3 -3
  508. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  509. package/fesm2022/primeng-icons-minus.mjs +3 -3
  510. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  511. package/fesm2022/primeng-icons-plus.mjs +3 -3
  512. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  513. package/fesm2022/primeng-icons-search.mjs +3 -3
  514. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  515. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  516. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  517. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  518. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  519. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  520. package/fesm2022/primeng-icons-star.mjs +3 -3
  521. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  522. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  523. package/fesm2022/primeng-icons-times.mjs +3 -3
  524. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  525. package/fesm2022/primeng-icons-trash.mjs +3 -3
  526. package/fesm2022/primeng-icons-undo.mjs +3 -3
  527. package/fesm2022/primeng-icons-upload.mjs +3 -3
  528. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  529. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  530. package/fesm2022/primeng-image.mjs +76 -15
  531. package/fesm2022/primeng-image.mjs.map +1 -1
  532. package/fesm2022/primeng-inplace.mjs +72 -24
  533. package/fesm2022/primeng-inplace.mjs.map +1 -1
  534. package/fesm2022/primeng-inputmask.mjs +165 -41
  535. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  536. package/fesm2022/primeng-inputnumber.mjs +239 -43
  537. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  538. package/fesm2022/primeng-inputswitch.mjs +56 -7
  539. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  540. package/fesm2022/primeng-inputtext.mjs +8 -8
  541. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  542. package/fesm2022/primeng-inputtextarea.mjs +16 -7
  543. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  544. package/fesm2022/primeng-keyfilter.mjs +29 -16
  545. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  546. package/fesm2022/primeng-knob.mjs +85 -17
  547. package/fesm2022/primeng-knob.mjs.map +1 -1
  548. package/fesm2022/primeng-listbox.mjs +149 -26
  549. package/fesm2022/primeng-listbox.mjs.map +1 -1
  550. package/fesm2022/primeng-megamenu.mjs +29 -13
  551. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  552. package/fesm2022/primeng-menu.mjs +61 -21
  553. package/fesm2022/primeng-menu.mjs.map +1 -1
  554. package/fesm2022/primeng-menubar.mjs +68 -35
  555. package/fesm2022/primeng-menubar.mjs.map +1 -1
  556. package/fesm2022/primeng-message.mjs +30 -10
  557. package/fesm2022/primeng-message.mjs.map +1 -1
  558. package/fesm2022/primeng-messages.mjs +65 -20
  559. package/fesm2022/primeng-messages.mjs.map +1 -1
  560. package/fesm2022/primeng-multiselect.mjs +329 -62
  561. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  562. package/fesm2022/primeng-orderlist.mjs +137 -37
  563. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  564. package/fesm2022/primeng-organizationchart.mjs +66 -13
  565. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  566. package/fesm2022/primeng-overlay.mjs +103 -8
  567. package/fesm2022/primeng-overlay.mjs.map +1 -1
  568. package/fesm2022/primeng-overlaypanel.mjs +80 -12
  569. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  570. package/fesm2022/primeng-paginator.mjs +112 -21
  571. package/fesm2022/primeng-paginator.mjs.map +1 -1
  572. package/fesm2022/primeng-panel.mjs +79 -15
  573. package/fesm2022/primeng-panel.mjs.map +1 -1
  574. package/fesm2022/primeng-panelmenu.mjs +34 -19
  575. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  576. package/fesm2022/primeng-password.mjs +156 -18
  577. package/fesm2022/primeng-password.mjs.map +1 -1
  578. package/fesm2022/primeng-picklist.mjs +213 -15
  579. package/fesm2022/primeng-picklist.mjs.map +1 -1
  580. package/fesm2022/primeng-progressbar.mjs +38 -10
  581. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  582. package/fesm2022/primeng-progressspinner.mjs +32 -12
  583. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  584. package/fesm2022/primeng-radiobutton.mjs +77 -10
  585. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  586. package/fesm2022/primeng-rating.mjs +66 -22
  587. package/fesm2022/primeng-rating.mjs.map +1 -1
  588. package/fesm2022/primeng-ripple.mjs +11 -11
  589. package/fesm2022/primeng-ripple.mjs.map +1 -1
  590. package/fesm2022/primeng-scroller.mjs +137 -20
  591. package/fesm2022/primeng-scroller.mjs.map +1 -1
  592. package/fesm2022/primeng-scrollpanel.mjs +30 -13
  593. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  594. package/fesm2022/primeng-scrolltop.mjs +44 -12
  595. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  596. package/fesm2022/primeng-selectbutton.mjs +61 -7
  597. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  598. package/fesm2022/primeng-sidebar.mjs +122 -49
  599. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  600. package/fesm2022/primeng-skeleton.mjs +43 -11
  601. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  602. package/fesm2022/primeng-slidemenu.mjs +109 -31
  603. package/fesm2022/primeng-slidemenu.mjs.map +1 -1
  604. package/fesm2022/primeng-slider.mjs +69 -14
  605. package/fesm2022/primeng-slider.mjs.map +1 -1
  606. package/fesm2022/primeng-speeddial.mjs +119 -18
  607. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  608. package/fesm2022/primeng-spinner.mjs +7 -7
  609. package/fesm2022/primeng-splitbutton.mjs +88 -18
  610. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  611. package/fesm2022/primeng-splitter.mjs +73 -23
  612. package/fesm2022/primeng-splitter.mjs.map +1 -1
  613. package/fesm2022/primeng-steps.mjs +34 -9
  614. package/fesm2022/primeng-steps.mjs.map +1 -1
  615. package/fesm2022/primeng-styleclass.mjs +49 -9
  616. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  617. package/fesm2022/primeng-table.mjs +685 -219
  618. package/fesm2022/primeng-table.mjs.map +1 -1
  619. package/fesm2022/primeng-tabmenu.mjs +47 -19
  620. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  621. package/fesm2022/primeng-tabview.mjs +192 -102
  622. package/fesm2022/primeng-tabview.mjs.map +1 -1
  623. package/fesm2022/primeng-tag.mjs +38 -13
  624. package/fesm2022/primeng-tag.mjs.map +1 -1
  625. package/fesm2022/primeng-terminal.mjs +26 -10
  626. package/fesm2022/primeng-terminal.mjs.map +1 -1
  627. package/fesm2022/primeng-tieredmenu.mjs +91 -24
  628. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  629. package/fesm2022/primeng-timeline.mjs +27 -7
  630. package/fesm2022/primeng-timeline.mjs.map +1 -1
  631. package/fesm2022/primeng-toast.mjs +93 -36
  632. package/fesm2022/primeng-toast.mjs.map +1 -1
  633. package/fesm2022/primeng-togglebutton.mjs +58 -9
  634. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  635. package/fesm2022/primeng-toolbar.mjs +15 -7
  636. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  637. package/fesm2022/primeng-tooltip.mjs +80 -8
  638. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  639. package/fesm2022/primeng-tree.mjs +240 -40
  640. package/fesm2022/primeng-tree.mjs.map +1 -1
  641. package/fesm2022/primeng-treeselect.mjs +215 -53
  642. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  643. package/fesm2022/primeng-treetable.mjs +496 -154
  644. package/fesm2022/primeng-treetable.mjs.map +1 -1
  645. package/fesm2022/primeng-tristatecheckbox.mjs +56 -7
  646. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  647. package/fesm2022/primeng-ts-helpers.mjs +4 -0
  648. package/fesm2022/primeng-ts-helpers.mjs.map +1 -0
  649. package/fesm2022/primeng-virtualscroller.mjs +48 -11
  650. package/fesm2022/primeng-virtualscroller.mjs.map +1 -1
  651. package/fieldset/fieldset.d.ts +62 -17
  652. package/fieldset/fieldset.interface.d.ts +44 -0
  653. package/fieldset/public_api.d.ts +1 -0
  654. package/fileupload/fileupload.d.ts +260 -58
  655. package/fileupload/fileupload.interface.d.ts +125 -0
  656. package/fileupload/public_api.d.ts +1 -0
  657. package/focustrap/focustrap.d.ts +5 -1
  658. package/galleria/galleria.d.ts +185 -63
  659. package/galleria/galleria.interface.d.ts +96 -0
  660. package/galleria/public_api.d.ts +1 -0
  661. package/image/image.d.ts +89 -23
  662. package/image/image.interface.d.ts +31 -0
  663. package/image/public_api.d.ts +1 -0
  664. package/inplace/inplace.d.ts +67 -16
  665. package/inplace/inplace.interface.d.ts +19 -0
  666. package/inplace/public_api.d.ts +1 -0
  667. package/inputmask/inputmask.d.ts +188 -60
  668. package/inputmask/inputmask.interface.d.ts +18 -0
  669. package/inputmask/public_api.d.ts +1 -0
  670. package/inputnumber/inputnumber.d.ts +273 -84
  671. package/inputnumber/inputnumber.interface.d.ts +37 -0
  672. package/inputnumber/public_api.d.ts +1 -0
  673. package/inputswitch/inputswitch.d.ts +61 -13
  674. package/inputswitch/inputswitch.interface.d.ts +14 -0
  675. package/inputswitch/public_api.d.ts +1 -0
  676. package/inputtext/inputtext.d.ts +3 -2
  677. package/inputtextarea/inputtextarea.d.ts +18 -9
  678. package/keyfilter/keyfilter.d.ts +20 -7
  679. package/knob/knob.d.ts +90 -23
  680. package/listbox/listbox.d.ts +186 -61
  681. package/listbox/listbox.interface.d.ts +122 -0
  682. package/listbox/public_api.d.ts +1 -0
  683. package/megamenu/megamenu.d.ts +32 -13
  684. package/megamenu/megamenu.interface.d.ts +19 -0
  685. package/megamenu/public_api.d.ts +1 -0
  686. package/menu/menu.d.ts +64 -18
  687. package/menubar/menubar.d.ts +64 -29
  688. package/menubar/menubar.interface.d.ts +23 -0
  689. package/menubar/public_api.d.ts +1 -0
  690. package/message/message.d.ts +26 -4
  691. package/messages/messages.d.ts +59 -12
  692. package/messages/messages.interface.d.ts +11 -0
  693. package/messages/public_api.d.ts +1 -0
  694. package/multiselect/multiselect.d.ts +403 -128
  695. package/multiselect/multiselect.interface.d.ts +196 -0
  696. package/multiselect/public_api.d.ts +1 -0
  697. package/orderlist/orderlist.d.ts +151 -49
  698. package/orderlist/orderlist.interface.d.ts +107 -0
  699. package/orderlist/public_api.d.ts +1 -0
  700. package/organizationchart/organizationchart.d.ts +73 -19
  701. package/organizationchart/organizationchart.interface.d.ts +54 -0
  702. package/organizationchart/public_api.d.ts +1 -0
  703. package/overlay/overlay.d.ts +104 -9
  704. package/overlaypanel/overlaypanel.d.ts +91 -20
  705. package/package.json +154 -148
  706. package/paginator/paginator.d.ts +126 -30
  707. package/paginator/paginator.interface.d.ts +32 -0
  708. package/paginator/public_api.d.ts +1 -0
  709. package/panel/panel.d.ts +94 -27
  710. package/panel/panel.interface.d.ts +55 -0
  711. package/panel/public_api.d.ts +1 -0
  712. package/panelmenu/panelmenu.d.ts +36 -19
  713. package/panelmenu/panelmenu.interface.d.ts +11 -0
  714. package/panelmenu/public_api.d.ts +1 -0
  715. package/password/password.d.ts +196 -52
  716. package/picklist/picklist.d.ts +290 -92
  717. package/picklist/picklist.interface.d.ts +231 -0
  718. package/picklist/public_api.d.ts +1 -0
  719. package/progressbar/progressbar.d.ts +35 -5
  720. package/progressspinner/progressspinner.d.ts +25 -3
  721. package/radiobutton/public_api.d.ts +1 -0
  722. package/radiobutton/radiobutton.d.ts +93 -22
  723. package/radiobutton/radiobutton.interface.d.ts +14 -0
  724. package/rating/public_api.d.ts +1 -0
  725. package/rating/rating.d.ts +79 -22
  726. package/rating/rating.interface.d.ts +33 -0
  727. package/ripple/ripple.d.ts +3 -2
  728. package/scroller/public_api.d.ts +1 -0
  729. package/scroller/scroller.d.ts +193 -92
  730. package/scroller/scroller.interface.d.ts +166 -0
  731. package/scrollpanel/public_api.d.ts +1 -0
  732. package/scrollpanel/scrollpanel.d.ts +41 -21
  733. package/scrollpanel/scrollpanel.interface.d.ts +11 -0
  734. package/scrolltop/public_api.d.ts +1 -0
  735. package/scrolltop/scrolltop.d.ts +46 -12
  736. package/scrolltop/scrolltop.interface.d.ts +18 -0
  737. package/selectbutton/public_api.d.ts +1 -0
  738. package/selectbutton/selectbutton.d.ts +69 -14
  739. package/selectbutton/selectbutton.interface.d.ts +43 -0
  740. package/sidebar/public_api.d.ts +1 -0
  741. package/sidebar/sidebar.d.ts +97 -23
  742. package/sidebar/sidebar.interface.d.ts +23 -0
  743. package/skeleton/skeleton.d.ts +43 -5
  744. package/slidemenu/public_api.d.ts +1 -0
  745. package/slidemenu/slidemenu.d.ts +114 -33
  746. package/slidemenu/slidemenu.interface.d.ts +15 -0
  747. package/slider/public_api.d.ts +1 -0
  748. package/slider/slider.d.ts +95 -37
  749. package/slider/slider.interface.d.ts +36 -0
  750. package/speeddial/public_api.d.ts +1 -0
  751. package/speeddial/speeddial.d.ts +133 -28
  752. package/speeddial/speeddial.interface.d.ts +11 -0
  753. package/splitbutton/public_api.d.ts +1 -0
  754. package/splitbutton/splitbutton.d.ts +98 -24
  755. package/splitbutton/splitbutton.interface.d.ts +15 -0
  756. package/splitter/public_api.d.ts +1 -0
  757. package/splitter/splitter.d.ts +87 -30
  758. package/splitter/splitter.interface.d.ts +32 -0
  759. package/steps/steps.d.ts +34 -7
  760. package/styleclass/styleclass.d.ts +58 -17
  761. package/table/public_api.d.ts +1 -0
  762. package/table/table.d.ts +801 -320
  763. package/table/table.interface.d.ts +514 -0
  764. package/tabmenu/public_api.d.ts +1 -0
  765. package/tabmenu/tabmenu.d.ts +49 -18
  766. package/tabmenu/tabmenu.interface.d.ts +32 -0
  767. package/tabview/public_api.d.ts +1 -0
  768. package/tabview/tabview.d.ts +151 -54
  769. package/tabview/tabview.interface.d.ts +75 -0
  770. package/tag/public_api.d.ts +1 -0
  771. package/tag/tag.d.ts +38 -10
  772. package/tag/tag.interface.d.ts +11 -0
  773. package/terminal/terminal.d.ts +22 -4
  774. package/tieredmenu/public_api.d.ts +1 -0
  775. package/tieredmenu/tieredmenu.d.ts +99 -34
  776. package/tieredmenu/tieredmenu.interface.d.ts +11 -0
  777. package/timeline/public_api.d.ts +1 -0
  778. package/timeline/timeline.d.ts +31 -8
  779. package/timeline/timeline.interface.d.ts +43 -0
  780. package/toast/public_api.d.ts +1 -0
  781. package/toast/toast.d.ts +86 -27
  782. package/toast/toast.interface.d.ts +41 -0
  783. package/togglebutton/public_api.d.ts +1 -0
  784. package/togglebutton/togglebutton.d.ts +61 -11
  785. package/togglebutton/togglebutton.interface.d.ts +14 -0
  786. package/toolbar/public_api.d.ts +1 -0
  787. package/toolbar/toolbar.d.ts +17 -7
  788. package/toolbar/toolbar.interface.d.ts +19 -0
  789. package/tooltip/public_api.d.ts +1 -0
  790. package/tooltip/tooltip.d.ts +99 -43
  791. package/tooltip/tooltip.interface.d.ts +21 -0
  792. package/tree/public_api.d.ts +1 -0
  793. package/tree/tree.d.ts +294 -93
  794. package/tree/tree.interface.d.ts +183 -0
  795. package/treeselect/public_api.d.ts +1 -0
  796. package/treeselect/treeselect.d.ts +256 -74
  797. package/treeselect/treeselect.interface.d.ts +106 -0
  798. package/treetable/public_api.d.ts +1 -0
  799. package/treetable/treetable.d.ts +581 -229
  800. package/treetable/treetable.interface.d.ts +486 -0
  801. package/tristatecheckbox/public_api.d.ts +1 -0
  802. package/tristatecheckbox/tristatecheckbox.d.ts +71 -17
  803. package/tristatecheckbox/tristatecheckbox.interface.d.ts +29 -0
  804. package/ts-helpers/index.d.ts +5 -0
  805. package/ts-helpers/public_api.d.ts +1 -0
  806. package/ts-helpers/ts-helpers.d.ts +4 -0
  807. package/virtualscroller/public_api.d.ts +1 -0
  808. package/virtualscroller/virtualscroller.d.ts +60 -18
  809. package/virtualscroller/virtualscroller.interface.d.ts +72 -0
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-scroller.mjs","sources":["../../src/app/components/scroller/scroller.ts","../../src/app/components/scroller/primeng-scroller.ts"],"sourcesContent":["import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { SpinnerIcon } from 'primeng/icons/spinner';\n\nexport type ScrollerToType = 'to-start' | 'to-end' | undefined;\n\nexport type ScrollerOrientationType = 'vertical' | 'horizontal' | 'both';\n\nexport interface ScrollerOptions {\n id?: string | undefined;\n style?: any;\n styleClass?: string | undefined;\n tabindex?: number | undefined;\n items?: any[];\n itemSize?: any;\n scrollHeight?: string | undefined;\n scrollWidth?: string | undefined;\n orientation?: ScrollerOrientationType;\n step?: number | undefined;\n delay?: number | undefined;\n resizeDelay?: number | undefined;\n appendOnly?: boolean;\n inline?: boolean;\n lazy?: boolean;\n disabled?: boolean;\n loaderDisabled?: boolean;\n columns?: any[] | undefined;\n showSpacer?: boolean;\n showLoader?: boolean;\n numToleratedItems?: any;\n loading?: boolean;\n autoSize?: boolean;\n trackBy?: any;\n onLazyLoad?: Function | undefined;\n onScroll?: Function | undefined;\n onScrollIndexChange?: Function | undefined;\n}\n\n@Component({\n selector: 'p-scroller',\n template: `\n <ng-container *ngIf=\"!_disabled; else disabledContainer\">\n <div\n #element\n [attr.id]=\"_id\"\n [attr.tabindex]=\"tabindex\"\n [ngStyle]=\"_style\"\n [class]=\"_styleClass\"\n [ngClass]=\"{ 'p-scroller': true, 'p-scroller-inline': inline, 'p-both-scroll': both, 'p-horizontal-scroll': horizontal }\"\n (scroll)=\"onContainerScroll($event)\"\n >\n <ng-container *ngIf=\"contentTemplate; else buildInContent\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: loadedItems, options: getContentOptions() }\"></ng-container>\n </ng-container>\n <ng-template #buildInContent>\n <div #content class=\"p-scroller-content\" [ngClass]=\"{ 'p-scroller-loading': d_loading }\" [ngStyle]=\"contentStyle\">\n <ng-container *ngFor=\"let item of loadedItems; let index = index; trackBy: _trackBy || index\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, options: getOptions(index) }\"></ng-container>\n </ng-container>\n </div>\n </ng-template>\n <div *ngIf=\"_showSpacer\" class=\"p-scroller-spacer\" [ngStyle]=\"spacerStyle\"></div>\n <div *ngIf=\"!loaderDisabled && _showLoader && d_loading\" class=\"p-scroller-loader\" [ngClass]=\"{ 'p-component-overlay': !loaderTemplate }\">\n <ng-container *ngIf=\"loaderTemplate; else buildInLoader\">\n <ng-container *ngFor=\"let item of loaderArr; let index = index\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: getLoaderOptions(index, both && { numCols: _numItemsInViewport.cols }) }\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-template #buildInLoader>\n <ng-container *ngIf=\"loaderIconTemplate; else buildInLoaderIcon\">\n <ng-container *ngTemplateOutlet=\"loaderIconTemplate; context: { options: { styleClass: 'p-scroller-loading-icon' } }\"></ng-container>\n </ng-container>\n <ng-template #buildInLoaderIcon>\n <SpinnerIcon [styleClass]=\"'p-scroller-loading-icon'\" />\n </ng-template>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-template #disabledContainer>\n <ng-content></ng-content>\n <ng-container *ngIf=\"contentTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: items, options: { rows: _items, columns: loadedColumns } }\"></ng-container>\n </ng-container>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./scroller.css'],\n host: {\n class: 'p-scroller-viewport p-element'\n }\n})\nexport class Scroller implements OnInit, AfterContentInit, AfterViewChecked, OnDestroy {\n @Input() get id() {\n return this._id;\n }\n set id(val: string) {\n this._id = val;\n }\n\n @Input() get style() {\n return this._style;\n }\n set style(val: any) {\n this._style = val;\n }\n\n @Input() get styleClass() {\n return this._styleClass;\n }\n set styleClass(val: string) {\n this._styleClass = val;\n }\n\n @Input() get tabindex() {\n return this._tabindex;\n }\n set tabindex(val: number) {\n this._tabindex = val;\n }\n\n @Input() get items() {\n return this._items;\n }\n set items(val: any[]) {\n this._items = val;\n }\n\n @Input() get itemSize() {\n return this._itemSize;\n }\n set itemSize(val: any) {\n this._itemSize = val;\n }\n\n @Input() get scrollHeight() {\n return this._scrollHeight;\n }\n set scrollHeight(val: string) {\n this._scrollHeight = val;\n }\n\n @Input() get scrollWidth() {\n return this._scrollWidth;\n }\n set scrollWidth(val: string) {\n this._scrollWidth = val;\n }\n\n @Input() get orientation() {\n return this._orientation;\n }\n set orientation(val: string) {\n this._orientation = val;\n }\n\n @Input() get step() {\n return this._step;\n }\n set step(val: number) {\n this._step = val;\n }\n\n @Input() get delay() {\n return this._delay;\n }\n set delay(val: number) {\n this._delay = val;\n }\n\n @Input() get resizeDelay() {\n return this._resizeDelay;\n }\n set resizeDelay(val: number) {\n this._resizeDelay = val;\n }\n\n @Input() get appendOnly() {\n return this._appendOnly;\n }\n set appendOnly(val: boolean) {\n this._appendOnly = val;\n }\n\n @Input() get inline() {\n return this._inline;\n }\n set inline(val: boolean) {\n this._inline = val;\n }\n\n @Input() get lazy() {\n return this._lazy;\n }\n set lazy(val: boolean) {\n this._lazy = val;\n }\n\n @Input() get disabled() {\n return this._disabled;\n }\n set disabled(val: boolean) {\n this._disabled = val;\n }\n\n @Input() get loaderDisabled() {\n return this._loaderDisabled;\n }\n set loaderDisabled(val: boolean) {\n this._loaderDisabled = val;\n }\n\n @Input() get columns() {\n return this._columns;\n }\n set columns(val: any[]) {\n this._columns = val;\n }\n\n @Input() get showSpacer() {\n return this._showSpacer;\n }\n set showSpacer(val: boolean) {\n this._showSpacer = val;\n }\n\n @Input() get showLoader() {\n return this._showLoader;\n }\n set showLoader(val: boolean) {\n this._showLoader = val;\n }\n\n @Input() get numToleratedItems() {\n return this._numToleratedItems;\n }\n set numToleratedItems(val: number) {\n this._numToleratedItems = val;\n }\n\n @Input() get loading() {\n return this._loading;\n }\n set loading(val: boolean) {\n this._loading = val;\n }\n\n @Input() get autoSize() {\n return this._autoSize;\n }\n set autoSize(val: boolean) {\n this._autoSize = val;\n }\n\n @Input() get trackBy() {\n return this._trackBy;\n }\n set trackBy(val: any) {\n this._trackBy = val;\n }\n\n @Input() get options() {\n return this._options;\n }\n set options(val: ScrollerOptions) {\n this._options = val;\n\n if (val && typeof val === 'object') {\n Object.entries(val).forEach(([k, v]) => this[`_${k}`] !== v && (this[`_${k}`] = v));\n }\n }\n\n @ViewChild('element') elementViewChild: ElementRef;\n\n @ViewChild('content') contentViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @Output() onLazyLoad: EventEmitter<any> = new EventEmitter();\n\n @Output() onScroll: EventEmitter<any> = new EventEmitter();\n\n @Output() onScrollIndexChange: EventEmitter<any> = new EventEmitter();\n\n _id: string;\n\n _style: any;\n\n _styleClass: string;\n\n _tabindex: number = 0;\n\n _items: any[];\n\n _itemSize: any = 0;\n\n _scrollHeight: string;\n\n _scrollWidth: string;\n\n _orientation: string = 'vertical';\n\n _step: number = 0;\n\n _delay: number = 0;\n\n _resizeDelay: number = 10;\n\n _appendOnly: boolean = false;\n\n _inline: boolean = false;\n\n _lazy: boolean = false;\n\n _disabled: boolean = false;\n\n _loaderDisabled: boolean = false;\n\n _columns: any[];\n\n _showSpacer: boolean = true;\n\n _showLoader: boolean = false;\n\n _numToleratedItems: any;\n\n _loading: boolean;\n\n _autoSize: boolean = false;\n\n _trackBy: any;\n\n _options: ScrollerOptions;\n\n d_loading: boolean = false;\n\n d_numToleratedItems: any;\n\n contentEl: any;\n\n contentTemplate: TemplateRef<any>;\n\n itemTemplate: TemplateRef<any>;\n\n loaderTemplate: TemplateRef<any>;\n\n loaderIconTemplate: TemplateRef<any>;\n\n first: any = 0;\n\n last: any = 0;\n\n page: number = 0;\n\n isRangeChanged: boolean = false;\n\n numItemsInViewport: any = 0;\n\n lastScrollPos: any = 0;\n\n lazyLoadState: any = {};\n\n loaderArr: any[] = [];\n\n spacerStyle: any = {};\n\n contentStyle: any = {};\n\n scrollTimeout: any;\n\n resizeTimeout: any;\n\n initialized: boolean = false;\n\n windowResizeListener: VoidFunction | null;\n\n defaultWidth: number;\n\n defaultHeight: number;\n\n defaultContentWidth: number;\n\n defaultContentHeight: number;\n\n get vertical() {\n return this._orientation === 'vertical';\n }\n\n get horizontal() {\n return this._orientation === 'horizontal';\n }\n\n get both() {\n return this._orientation === 'both';\n }\n\n get loadedItems() {\n if (this._items && !this.d_loading) {\n if (this.both) return this._items.slice(this._appendOnly ? 0 : this.first.rows, this.last.rows).map((item) => (this._columns ? item : item.slice(this._appendOnly ? 0 : this.first.cols, this.last.cols)));\n else if (this.horizontal && this._columns) return this._items;\n else return this._items.slice(this._appendOnly ? 0 : this.first, this.last);\n }\n\n return [];\n }\n\n get loadedRows() {\n return this.d_loading ? (this._loaderDisabled ? this.loaderArr : []) : this.loadedItems;\n }\n\n get loadedColumns() {\n if (this._columns && (this.both || this.horizontal)) {\n 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);\n }\n\n return this._columns;\n }\n\n get isPageChanged() {\n return this._step ? this.page !== this.getPageByFirst() : true;\n }\n\n constructor(@Inject(DOCUMENT) private document: Document, @Inject(PLATFORM_ID) private platformId: any, private renderer: Renderer2, private cd: ChangeDetectorRef, private zone: NgZone) {}\n\n ngOnInit() {\n this.setInitialState();\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n let isLoadingChanged = false;\n\n if (simpleChanges.loading) {\n const { previousValue, currentValue } = simpleChanges.loading;\n\n if (this.lazy && previousValue !== currentValue && currentValue !== this.d_loading) {\n this.d_loading = currentValue;\n isLoadingChanged = true;\n }\n }\n\n if (simpleChanges.orientation) {\n this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;\n }\n\n if (simpleChanges.numToleratedItems) {\n const { previousValue, currentValue } = simpleChanges.numToleratedItems;\n\n if (previousValue !== currentValue && currentValue !== this.d_numToleratedItems) {\n this.d_numToleratedItems = currentValue;\n }\n }\n\n if (simpleChanges.options) {\n const { previousValue, currentValue } = simpleChanges.options;\n\n if (this.lazy && previousValue?.loading !== currentValue?.loading && currentValue?.loading !== this.d_loading) {\n this.d_loading = currentValue.loading;\n isLoadingChanged = true;\n }\n\n if (previousValue?.numToleratedItems !== currentValue?.numToleratedItems && currentValue?.numToleratedItems !== this.d_numToleratedItems) {\n this.d_numToleratedItems = currentValue.numToleratedItems;\n }\n }\n\n if (this.initialized) {\n const isChanged = !isLoadingChanged && (simpleChanges.items?.previousValue?.length !== simpleChanges.items?.currentValue?.length || simpleChanges.itemSize || simpleChanges.scrollHeight || simpleChanges.scrollWidth);\n\n if (isChanged) {\n this.init();\n this.calculateAutoSize();\n }\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'loader':\n this.loaderTemplate = item.template;\n break;\n\n case 'loadericon':\n this.loaderIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n Promise.resolve().then(() => {\n this.viewInit();\n });\n }\n\n ngAfterViewChecked() {\n if (!this.initialized) {\n this.viewInit();\n }\n }\n\n ngOnDestroy() {\n this.unbindResizeListener();\n\n this.contentEl = null;\n this.initialized = false;\n }\n\n viewInit() {\n if (isPlatformBrowser(this.platformId)) {\n if (DomHandler.isVisible(this.elementViewChild?.nativeElement)) {\n this.setInitialState();\n this.setContentEl(this.contentEl);\n this.init();\n\n this.defaultWidth = DomHandler.getWidth(this.elementViewChild.nativeElement);\n this.defaultHeight = DomHandler.getHeight(this.elementViewChild.nativeElement);\n this.defaultContentWidth = DomHandler.getWidth(this.contentEl);\n this.defaultContentHeight = DomHandler.getHeight(this.contentEl);\n this.initialized = true;\n }\n }\n }\n\n init() {\n if (!this._disabled) {\n this.setSize();\n this.calculateOptions();\n this.setSpacerSize();\n this.bindResizeListener();\n\n this.cd.detectChanges();\n }\n }\n\n setContentEl(el?: HTMLElement) {\n this.contentEl = el || this.contentViewChild?.nativeElement || DomHandler.findSingle(this.elementViewChild?.nativeElement, '.p-scroller-content');\n }\n\n setInitialState() {\n this.first = this.both ? { rows: 0, cols: 0 } : 0;\n this.last = this.both ? { rows: 0, cols: 0 } : 0;\n this.numItemsInViewport = this.both ? { rows: 0, cols: 0 } : 0;\n this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;\n this.d_loading = this._loading || false;\n this.d_numToleratedItems = this._numToleratedItems;\n this.loaderArr = [];\n this.spacerStyle = {};\n this.contentStyle = {};\n }\n\n getElementRef() {\n return this.elementViewChild;\n }\n\n getPageByFirst() {\n return Math.floor((this.first + this.d_numToleratedItems * 4) / (this._step || 1));\n }\n\n scrollTo(options: ScrollToOptions) {\n this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;\n this.elementViewChild?.nativeElement?.scrollTo(options);\n }\n\n scrollToIndex(index: number, behavior: ScrollBehavior = 'auto') {\n const { numToleratedItems } = this.calculateNumItems();\n const contentPos = this.getContentPosition();\n const calculateFirst = (_index = 0, _numT) => (_index <= _numT ? 0 : _index);\n const calculateCoord = (_first, _size, _cpos) => _first * _size + _cpos;\n const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });\n let newFirst: any = 0;\n\n if (this.both) {\n newFirst = { rows: calculateFirst(index[0], numToleratedItems[0]), cols: calculateFirst(index[1], numToleratedItems[1]) };\n scrollTo(calculateCoord(newFirst.cols, this._itemSize[1], contentPos.left), calculateCoord(newFirst.rows, this._itemSize[0], contentPos.top));\n } else {\n newFirst = calculateFirst(index, numToleratedItems);\n this.horizontal ? scrollTo(calculateCoord(newFirst, this._itemSize, contentPos.left), 0) : scrollTo(0, calculateCoord(newFirst, this._itemSize, contentPos.top));\n }\n\n this.isRangeChanged = this.first !== newFirst;\n this.first = newFirst;\n }\n\n scrollInView(index: number, to: ScrollerToType, behavior: ScrollBehavior = 'auto') {\n if (to) {\n const { first, viewport } = this.getRenderedRange();\n const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });\n const isToStart = to === 'to-start';\n const isToEnd = to === 'to-end';\n\n if (isToStart) {\n if (this.both) {\n if (viewport.first.rows - first.rows > index[0]) {\n scrollTo(viewport.first.cols * this._itemSize[1], (viewport.first.rows - 1) * this._itemSize[0]);\n } else if (viewport.first.cols - first.cols > index[1]) {\n scrollTo((viewport.first.cols - 1) * this._itemSize[1], viewport.first.rows * this._itemSize[0]);\n }\n } else {\n if (viewport.first - first > index) {\n const pos = (viewport.first - 1) * this._itemSize;\n this.horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);\n }\n }\n } else if (isToEnd) {\n if (this.both) {\n if (viewport.last.rows - first.rows <= index[0] + 1) {\n scrollTo(viewport.first.cols * this._itemSize[1], (viewport.first.rows + 1) * this._itemSize[0]);\n } else if (viewport.last.cols - first.cols <= index[1] + 1) {\n scrollTo((viewport.first.cols + 1) * this._itemSize[1], viewport.first.rows * this._itemSize[0]);\n }\n } else {\n if (viewport.last - first <= index + 1) {\n const pos = (viewport.first + 1) * this._itemSize;\n this.horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);\n }\n }\n }\n } else {\n this.scrollToIndex(index, behavior);\n }\n }\n\n getRenderedRange() {\n const calculateFirstInViewport = (_pos, _size) => Math.floor(_pos / (_size || _pos));\n\n let firstInViewport = this.first;\n let lastInViewport: any = 0;\n\n if (this.elementViewChild?.nativeElement) {\n const { scrollTop, scrollLeft } = this.elementViewChild.nativeElement;\n\n if (this.both) {\n firstInViewport = { rows: calculateFirstInViewport(scrollTop, this._itemSize[0]), cols: calculateFirstInViewport(scrollLeft, this._itemSize[1]) };\n lastInViewport = { rows: firstInViewport.rows + this.numItemsInViewport.rows, cols: firstInViewport.cols + this.numItemsInViewport.cols };\n } else {\n const scrollPos = this.horizontal ? scrollLeft : scrollTop;\n firstInViewport = calculateFirstInViewport(scrollPos, this._itemSize);\n lastInViewport = firstInViewport + this.numItemsInViewport;\n }\n }\n\n return {\n first: this.first,\n last: this.last,\n viewport: {\n first: firstInViewport,\n last: lastInViewport\n }\n };\n }\n\n calculateNumItems() {\n const contentPos = this.getContentPosition();\n const contentWidth = (this.elementViewChild?.nativeElement ? this.elementViewChild.nativeElement.offsetWidth - contentPos.left : 0) || 0;\n const contentHeight = (this.elementViewChild?.nativeElement ? this.elementViewChild.nativeElement.offsetHeight - contentPos.top : 0) || 0;\n const calculateNumItemsInViewport = (_contentSize, _itemSize) => Math.ceil(_contentSize / (_itemSize || _contentSize));\n const calculateNumToleratedItems = (_numItems) => Math.ceil(_numItems / 2);\n const numItemsInViewport: any = this.both\n ? { rows: calculateNumItemsInViewport(contentHeight, this._itemSize[0]), cols: calculateNumItemsInViewport(contentWidth, this._itemSize[1]) }\n : calculateNumItemsInViewport(this.horizontal ? contentWidth : contentHeight, this._itemSize);\n\n const numToleratedItems = this.d_numToleratedItems || (this.both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));\n\n return { numItemsInViewport, numToleratedItems };\n }\n\n calculateOptions() {\n const { numItemsInViewport, numToleratedItems } = this.calculateNumItems();\n const calculateLast = (_first, _num, _numT, _isCols = false) => this.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);\n const first = this.first;\n const last = this.both\n ? { rows: calculateLast(this.first.rows, numItemsInViewport.rows, numToleratedItems[0]), cols: calculateLast(this.first.cols, numItemsInViewport.cols, numToleratedItems[1], true) }\n : calculateLast(this.first, numItemsInViewport, numToleratedItems);\n\n this.last = last;\n this.numItemsInViewport = numItemsInViewport;\n this.d_numToleratedItems = numToleratedItems;\n\n if (this.showLoader) {\n this.loaderArr = this.both ? Array.from({ length: numItemsInViewport.rows }).map(() => Array.from({ length: numItemsInViewport.cols })) : Array.from({ length: numItemsInViewport });\n }\n\n if (this._lazy) {\n Promise.resolve().then(() => {\n this.lazyLoadState = {\n first: this._step ? (this.both ? { rows: 0, cols: first.cols } : 0) : first,\n last: Math.min(this._step ? this._step : this.last, this.items.length)\n };\n\n this.handleEvents('onLazyLoad', this.lazyLoadState);\n });\n }\n }\n\n calculateAutoSize() {\n if (this._autoSize && !this.d_loading) {\n Promise.resolve().then(() => {\n if (this.contentEl) {\n this.contentEl.style.minHeight = this.contentEl.style.minWidth = 'auto';\n this.contentEl.style.position = 'relative';\n this.elementViewChild.nativeElement.style.contain = 'none';\n\n const [contentWidth, contentHeight] = [DomHandler.getWidth(this.contentEl), DomHandler.getHeight(this.contentEl)];\n contentWidth !== this.defaultContentWidth && (this.elementViewChild.nativeElement.style.width = '');\n contentHeight !== this.defaultContentHeight && (this.elementViewChild.nativeElement.style.height = '');\n\n const [width, height] = [DomHandler.getWidth(this.elementViewChild.nativeElement), DomHandler.getHeight(this.elementViewChild.nativeElement)];\n (this.both || this.horizontal) && (this.elementViewChild.nativeElement.style.width = width < this.defaultWidth ? width + 'px' : this._scrollWidth || this.defaultWidth + 'px');\n (this.both || this.vertical) && (this.elementViewChild.nativeElement.style.height = height < this.defaultHeight ? height + 'px' : this._scrollHeight || this.defaultHeight + 'px');\n\n this.contentEl.style.minHeight = this.contentEl.style.minWidth = '';\n this.contentEl.style.position = '';\n this.elementViewChild.nativeElement.style.contain = '';\n }\n });\n }\n }\n\n getLast(last = 0, isCols = false) {\n return this._items ? Math.min(isCols ? (this._columns || this._items[0]).length : this._items.length, last) : 0;\n }\n\n getContentPosition() {\n if (this.contentEl) {\n const style = getComputedStyle(this.contentEl);\n const left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0);\n const right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0);\n const top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0);\n const bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0);\n\n return { left, right, top, bottom, x: left + right, y: top + bottom };\n }\n\n return { left: 0, right: 0, top: 0, bottom: 0, x: 0, y: 0 };\n }\n\n setSize() {\n if (this.elementViewChild?.nativeElement) {\n const parentElement = this.elementViewChild.nativeElement.parentElement.parentElement;\n const width = this._scrollWidth || `${this.elementViewChild.nativeElement.offsetWidth || parentElement.offsetWidth}px`;\n const height = this._scrollHeight || `${this.elementViewChild.nativeElement.offsetHeight || parentElement.offsetHeight}px`;\n const setProp = (_name, _value) => (this.elementViewChild.nativeElement.style[_name] = _value);\n\n if (this.both || this.horizontal) {\n setProp('height', height);\n setProp('width', width);\n } else {\n setProp('height', height);\n }\n }\n }\n\n setSpacerSize() {\n if (this._items) {\n const contentPos = this.getContentPosition();\n const setProp = (_name, _value, _size, _cpos = 0) => (this.spacerStyle = { ...this.spacerStyle, ...{ [`${_name}`]: (_value || []).length * _size + _cpos + 'px' } });\n\n if (this.both) {\n setProp('height', this._items, this._itemSize[0], contentPos.y);\n setProp('width', this._columns || this._items[1], this._itemSize[1], contentPos.x);\n } else {\n this.horizontal ? setProp('width', this._columns || this._items, this._itemSize, contentPos.x) : setProp('height', this._items, this._itemSize, contentPos.y);\n }\n }\n }\n\n setContentPosition(pos) {\n if (this.contentEl && !this._appendOnly) {\n const first = pos ? pos.first : this.first;\n const calculateTranslateVal = (_first, _size) => _first * _size;\n const setTransform = (_x = 0, _y = 0) => (this.contentStyle = { ...this.contentStyle, ...{ transform: `translate3d(${_x}px, ${_y}px, 0)` } });\n\n if (this.both) {\n setTransform(calculateTranslateVal(first.cols, this._itemSize[1]), calculateTranslateVal(first.rows, this._itemSize[0]));\n } else {\n const translateVal = calculateTranslateVal(first, this._itemSize);\n this.horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);\n }\n }\n }\n\n onScrollPositionChange(event) {\n const target = event.target;\n const contentPos = this.getContentPosition();\n const calculateScrollPos = (_pos, _cpos) => (_pos ? (_pos > _cpos ? _pos - _cpos : _pos) : 0);\n const calculateCurrentIndex = (_pos, _size) => Math.floor(_pos / (_size || _pos));\n const calculateTriggerIndex = (_currentIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {\n return _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1;\n };\n const calculateFirst = (_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {\n if (_currentIndex <= _numT) return 0;\n else return Math.max(0, _isScrollDownOrRight ? (_currentIndex < _triggerIndex ? _first : _currentIndex - _numT) : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT);\n };\n const calculateLast = (_currentIndex, _first, _last, _num, _numT, _isCols = false) => {\n let lastValue = _first + _num + 2 * _numT;\n\n if (_currentIndex >= _numT) {\n lastValue += _numT + 1;\n }\n\n return this.getLast(lastValue, _isCols);\n };\n\n const scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);\n const scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);\n\n let newFirst = this.both ? { rows: 0, cols: 0 } : 0;\n let newLast = this.last;\n let isRangeChanged = false;\n let newScrollPos = this.lastScrollPos;\n\n if (this.both) {\n const isScrollDown = this.lastScrollPos.top <= scrollTop;\n const isScrollRight = this.lastScrollPos.left <= scrollLeft;\n\n if (!this._appendOnly || (this._appendOnly && (isScrollDown || isScrollRight))) {\n const currentIndex = { rows: calculateCurrentIndex(scrollTop, this._itemSize[0]), cols: calculateCurrentIndex(scrollLeft, this._itemSize[1]) };\n const triggerIndex = {\n rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n\n newFirst = {\n rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n newLast = {\n rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]),\n cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true)\n };\n\n isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols || this.isRangeChanged;\n newScrollPos = { top: scrollTop, left: scrollLeft };\n }\n } else {\n const scrollPos = this.horizontal ? scrollLeft : scrollTop;\n const isScrollDownOrRight = this.lastScrollPos <= scrollPos;\n\n if (!this._appendOnly || (this._appendOnly && isScrollDownOrRight)) {\n const currentIndex = calculateCurrentIndex(scrollPos, this._itemSize);\n const triggerIndex = calculateTriggerIndex(currentIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n\n newFirst = calculateFirst(currentIndex, triggerIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n newLast = calculateLast(currentIndex, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems);\n isRangeChanged = newFirst !== this.first || newLast !== this.last || this.isRangeChanged;\n newScrollPos = scrollPos;\n }\n }\n\n return {\n first: newFirst,\n last: newLast,\n isRangeChanged,\n scrollPos: newScrollPos\n };\n }\n\n onScrollChange(event) {\n const { first, last, isRangeChanged, scrollPos } = this.onScrollPositionChange(event);\n\n if (isRangeChanged) {\n const newState = { first, last };\n\n this.setContentPosition(newState);\n\n this.first = first;\n this.last = last;\n this.lastScrollPos = scrollPos;\n\n this.handleEvents('onScrollIndexChange', newState);\n\n if (this._lazy && this.isPageChanged) {\n const lazyLoadState = {\n first: this._step ? Math.min(this.getPageByFirst() * this._step, this.items.length - this._step) : first,\n last: Math.min(this._step ? (this.getPageByFirst() + 1) * this._step : last, this.items.length)\n };\n const isLazyStateChanged = this.lazyLoadState.first !== lazyLoadState.first || this.lazyLoadState.last !== lazyLoadState.last;\n\n isLazyStateChanged && this.handleEvents('onLazyLoad', lazyLoadState);\n this.lazyLoadState = lazyLoadState;\n }\n }\n }\n\n onContainerScroll(event) {\n this.handleEvents('onScroll', { originalEvent: event });\n\n if (this._delay && this.isPageChanged) {\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n }\n\n if (!this.d_loading && this.showLoader) {\n const { isRangeChanged } = this.onScrollPositionChange(event);\n const changed = isRangeChanged || (this._step ? this.isPageChanged : false);\n\n if (changed) {\n this.d_loading = true;\n\n this.cd.detectChanges();\n }\n }\n\n this.scrollTimeout = setTimeout(() => {\n this.onScrollChange(event);\n\n if (this.d_loading && this.showLoader && (!this._lazy || this._loading === undefined)) {\n this.d_loading = false;\n this.page = this.getPageByFirst();\n this.cd.detectChanges();\n }\n }, this._delay);\n } else {\n !this.d_loading && this.onScrollChange(event);\n }\n }\n\n bindResizeListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.windowResizeListener) {\n this.zone.runOutsideAngular(() => {\n const window = this.document.defaultView as Window;\n const event = DomHandler.isTouchDevice() ? 'orientationchange' : 'resize';\n this.windowResizeListener = this.renderer.listen(window, event, this.onWindowResize.bind(this));\n });\n }\n }\n }\n\n unbindResizeListener() {\n if (this.windowResizeListener) {\n this.windowResizeListener();\n this.windowResizeListener = null;\n }\n }\n\n onWindowResize() {\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n\n this.resizeTimeout = setTimeout(() => {\n if (DomHandler.isVisible(this.elementViewChild?.nativeElement)) {\n const [width, height] = [DomHandler.getWidth(this.elementViewChild.nativeElement), DomHandler.getHeight(this.elementViewChild.nativeElement)];\n const [isDiffWidth, isDiffHeight] = [width !== this.defaultWidth, height !== this.defaultHeight];\n const reinit = this.both ? isDiffWidth || isDiffHeight : this.horizontal ? isDiffWidth : this.vertical ? isDiffHeight : false;\n\n reinit &&\n this.zone.run(() => {\n this.d_numToleratedItems = this._numToleratedItems;\n this.defaultWidth = width;\n this.defaultHeight = height;\n this.defaultContentWidth = DomHandler.getWidth(this.contentEl);\n this.defaultContentHeight = DomHandler.getHeight(this.contentEl);\n\n this.init();\n });\n }\n }, this._resizeDelay);\n }\n\n handleEvents(name, params) {\n return this.options && this.options[name] ? this.options[name](params) : this[name].emit(params);\n }\n\n getContentOptions() {\n return {\n contentStyleClass: `p-scroller-content ${this.d_loading ? 'p-scroller-loading' : ''}`,\n items: this.loadedItems,\n getItemOptions: (index) => this.getOptions(index),\n loading: this.d_loading,\n getLoaderOptions: (index, options?) => this.getLoaderOptions(index, options),\n itemSize: this._itemSize,\n rows: this.loadedRows,\n columns: this.loadedColumns,\n spacerStyle: this.spacerStyle,\n contentStyle: this.contentStyle,\n vertical: this.vertical,\n horizontal: this.horizontal,\n both: this.both\n };\n }\n\n getOptions(renderedIndex) {\n const count = (this._items || []).length;\n const index = this.both ? this.first.rows + renderedIndex : this.first + renderedIndex;\n\n return {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0\n };\n }\n\n getLoaderOptions(index, extOptions) {\n const count = this.loaderArr.length;\n\n return {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0,\n ...extOptions\n };\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, SpinnerIcon],\n exports: [Scroller, SharedModule],\n declarations: [Scroller]\n})\nexport class ScrollerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-scroller.mjs","sources":["../../src/app/components/scroller/scroller.ts","../../src/app/components/scroller/primeng-scroller.ts"],"sourcesContent":["import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { SpinnerIcon } from 'primeng/icons/spinner';\nimport { ScrollerLazyLoadEvent, ScrollerOptions, ScrollerScrollEvent, ScrollerScrollIndexChangeEvent, ScrollerToType } from './scroller.interface';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\n\n@Component({\n selector: 'p-scroller',\n template: `\n <ng-container *ngIf=\"!_disabled; else disabledContainer\">\n <div\n #element\n [attr.id]=\"_id\"\n [attr.tabindex]=\"tabindex\"\n [ngStyle]=\"_style\"\n [class]=\"_styleClass\"\n [ngClass]=\"{ 'p-scroller': true, 'p-scroller-inline': inline, 'p-both-scroll': both, 'p-horizontal-scroll': horizontal }\"\n (scroll)=\"onContainerScroll($event)\"\n >\n <ng-container *ngIf=\"contentTemplate; else buildInContent\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: loadedItems, options: getContentOptions() }\"></ng-container>\n </ng-container>\n <ng-template #buildInContent>\n <div #content class=\"p-scroller-content\" [ngClass]=\"{ 'p-scroller-loading': d_loading }\" [ngStyle]=\"contentStyle\">\n <ng-container *ngFor=\"let item of loadedItems; let index = index; trackBy: _trackBy || index\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, options: getOptions(index) }\"></ng-container>\n </ng-container>\n </div>\n </ng-template>\n <div *ngIf=\"_showSpacer\" class=\"p-scroller-spacer\" [ngStyle]=\"spacerStyle\"></div>\n <div *ngIf=\"!loaderDisabled && _showLoader && d_loading\" class=\"p-scroller-loader\" [ngClass]=\"{ 'p-component-overlay': !loaderTemplate }\">\n <ng-container *ngIf=\"loaderTemplate; else buildInLoader\">\n <ng-container *ngFor=\"let item of loaderArr; let index = index\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: getLoaderOptions(index, both && { numCols: _numItemsInViewport.cols }) }\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-template #buildInLoader>\n <ng-container *ngIf=\"loaderIconTemplate; else buildInLoaderIcon\">\n <ng-container *ngTemplateOutlet=\"loaderIconTemplate; context: { options: { styleClass: 'p-scroller-loading-icon' } }\"></ng-container>\n </ng-container>\n <ng-template #buildInLoaderIcon>\n <SpinnerIcon [styleClass]=\"'p-scroller-loading-icon'\" />\n </ng-template>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-template #disabledContainer>\n <ng-content></ng-content>\n <ng-container *ngIf=\"contentTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: items, options: { rows: _items, columns: loadedColumns } }\"></ng-container>\n </ng-container>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./scroller.css'],\n host: {\n class: 'p-scroller-viewport p-element'\n }\n})\nexport class Scroller implements OnInit, AfterContentInit, AfterViewChecked, OnDestroy {\n /**\n * Unique identifier of the element.\n * @group Props\n */\n @Input() get id(): string | undefined {\n return this._id;\n }\n set id(val: string | undefined) {\n this._id = val;\n }\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() get style(): { [klass: string]: any } | null | undefined {\n return this._style;\n }\n set style(val: { [klass: string]: any } | null | undefined) {\n this._style = val;\n }\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() get styleClass(): string | undefined {\n return this._styleClass;\n }\n set styleClass(val: string | undefined) {\n this._styleClass = val;\n }\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() get tabindex() {\n return this._tabindex;\n }\n set tabindex(val: number) {\n this._tabindex = val;\n }\n /**\n * An array of objects to display.\n * @group Props\n */\n @Input() get items(): any[] | undefined | null {\n return this._items;\n }\n set items(val: any[] | undefined | null) {\n this._items = val;\n }\n /**\n * The height/width of item according to orientation.\n * @group Props\n */\n @Input() get itemSize(): number[] | number {\n return this._itemSize;\n }\n set itemSize(val: number[] | number) {\n this._itemSize = val;\n }\n /**\n * Height of the scroll viewport.\n * @group Props\n */\n @Input() get scrollHeight(): string | undefined {\n return this._scrollHeight;\n }\n set scrollHeight(val: string | undefined) {\n this._scrollHeight = val;\n }\n /**\n * Width of the scroll viewport.\n * @group Props\n */\n @Input() get scrollWidth(): string | undefined {\n return this._scrollWidth;\n }\n set scrollWidth(val: string | undefined) {\n this._scrollWidth = val;\n }\n /**\n * The orientation of scrollbar.\n * @group Props\n */\n @Input() get orientation(): 'vertical' | 'horizontal' | 'both' {\n return this._orientation;\n }\n set orientation(val: 'vertical' | 'horizontal' | 'both') {\n this._orientation = val;\n }\n /**\n * Used to specify how many items to load in each load method in lazy mode.\n * @group Props\n */\n @Input() get step(): number {\n return this._step;\n }\n set step(val: number) {\n this._step = val;\n }\n /**\n * Delay in scroll before new data is loaded.\n * @group Props\n */\n @Input() get delay() {\n return this._delay;\n }\n set delay(val: number) {\n this._delay = val;\n }\n /**\n * Delay after window's resize finishes.\n * @group Props\n */\n @Input() get resizeDelay() {\n return this._resizeDelay;\n }\n set resizeDelay(val: number) {\n this._resizeDelay = val;\n }\n /**\n * 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.\n * @group Props\n */\n @Input() get appendOnly(): boolean {\n return this._appendOnly;\n }\n set appendOnly(val: boolean) {\n this._appendOnly = val;\n }\n /**\n * Specifies whether the scroller should be displayed inline or not.\n * @group Props\n */\n @Input() get inline() {\n return this._inline;\n }\n set inline(val: boolean) {\n this._inline = val;\n }\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n @Input() get lazy() {\n return this._lazy;\n }\n set lazy(val: boolean) {\n this._lazy = val;\n }\n /**\n * If disabled, the scroller feature is eliminated and the content is displayed directly.\n * @group Props\n */\n @Input() get disabled() {\n return this._disabled;\n }\n set disabled(val: boolean) {\n this._disabled = val;\n }\n /**\n * Used to implement a custom loader instead of using the loader feature in the scroller.\n * @group Props\n */\n @Input() get loaderDisabled() {\n return this._loaderDisabled;\n }\n set loaderDisabled(val: boolean) {\n this._loaderDisabled = val;\n }\n /**\n * Columns to display.\n * @group Props\n */\n @Input() get columns(): any[] | undefined | null {\n return this._columns;\n }\n set columns(val: any[] | undefined | null) {\n this._columns = val;\n }\n /**\n * Used to implement a custom spacer instead of using the spacer feature in the scroller.\n * @group Props\n */\n @Input() get showSpacer() {\n return this._showSpacer;\n }\n set showSpacer(val: boolean) {\n this._showSpacer = val;\n }\n /**\n * Defines whether to show loader.\n * @group Props\n */\n @Input() get showLoader() {\n return this._showLoader;\n }\n set showLoader(val: boolean) {\n this._showLoader = val;\n }\n /**\n * 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.\n * @group Props\n */\n @Input() get numToleratedItems() {\n return this._numToleratedItems;\n }\n set numToleratedItems(val: number) {\n this._numToleratedItems = val;\n }\n /**\n * Defines whether the data is loaded.\n * @group Props\n */\n @Input() get loading(): boolean | undefined {\n return this._loading;\n }\n set loading(val: boolean | undefined) {\n this._loading = val;\n }\n /**\n * Defines whether to dynamically change the height or width of scrollable container.\n * @group Props\n */\n @Input() get autoSize(): boolean {\n return this._autoSize;\n }\n set autoSize(val: boolean) {\n this._autoSize = val;\n }\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy, default algoritm checks for object identity.\n * @group Props\n */\n @Input() get trackBy() {\n return this._trackBy;\n }\n set trackBy(val: any) {\n this._trackBy = val;\n }\n /**\n * Defines whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n @Input() get options(): ScrollerOptions | undefined {\n return this._options;\n }\n set options(val: ScrollerOptions | undefined) {\n this._options = val;\n\n if (val && typeof val === 'object') {\n //@ts-ignore\n Object.entries(val).forEach(([k, v]) => this[`_${k}`] !== v && (this[`_${k}`] = v));\n }\n }\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {ScrollerLazyLoadEvent} event - custom lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<ScrollerLazyLoadEvent> = new EventEmitter<ScrollerLazyLoadEvent>();\n /**\n * Callback to invoke when scroll position changes.\n * @param {ScrollerScrollEvent} event - custom scroll event.\n * @group Emits\n */\n @Output() onScroll: EventEmitter<ScrollerScrollEvent> = new EventEmitter<ScrollerScrollEvent>();\n /**\n * Callback to invoke when scroll position and item's range in view changes.\n * @param {ScrollerScrollEvent} event - custom scroll index change event.\n * @group Emits\n */\n @Output() onScrollIndexChange: EventEmitter<ScrollerScrollIndexChangeEvent> = new EventEmitter<ScrollerScrollIndexChangeEvent>();\n\n @ViewChild('element') elementViewChild: Nullable<ElementRef>;\n\n @ViewChild('content') contentViewChild: Nullable<ElementRef>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n _id: string | undefined;\n\n _style: { [klass: string]: any } | null | undefined;\n\n _styleClass: string | undefined;\n\n _tabindex: number = 0;\n\n _items: any[] | undefined | null;\n\n _itemSize: number | number[] = 0;\n\n _scrollHeight: string | undefined;\n\n _scrollWidth: string | undefined;\n\n _orientation: 'vertical' | 'horizontal' | 'both' = 'vertical';\n\n _step: number = 0;\n\n _delay: number = 0;\n\n _resizeDelay: number = 10;\n\n _appendOnly: boolean = false;\n\n _inline: boolean = false;\n\n _lazy: boolean = false;\n\n _disabled: boolean = false;\n\n _loaderDisabled: boolean = false;\n\n _columns: any[] | undefined | null;\n\n _showSpacer: boolean = true;\n\n _showLoader: boolean = false;\n\n _numToleratedItems: any;\n\n _loading: boolean | undefined;\n\n _autoSize: boolean = false;\n\n _trackBy: any;\n\n _options: ScrollerOptions | undefined;\n\n d_loading: boolean = false;\n\n d_numToleratedItems: any;\n\n contentEl: any;\n\n contentTemplate: Nullable<TemplateRef<any>>;\n\n itemTemplate: Nullable<TemplateRef<any>>;\n\n loaderTemplate: Nullable<TemplateRef<any>>;\n\n loaderIconTemplate: Nullable<TemplateRef<any>>;\n\n first: any = 0;\n\n last: any = 0;\n\n page: number = 0;\n\n isRangeChanged: boolean = false;\n\n numItemsInViewport: any = 0;\n\n lastScrollPos: any = 0;\n\n lazyLoadState: any = {};\n\n loaderArr: any[] = [];\n\n spacerStyle: { [klass: string]: any } | null | undefined = {};\n\n contentStyle: { [klass: string]: any } | null | undefined = {};\n\n scrollTimeout: any;\n\n resizeTimeout: any;\n\n initialized: boolean = false;\n\n windowResizeListener: VoidListener;\n\n defaultWidth: number | undefined;\n\n defaultHeight: number | undefined;\n\n defaultContentWidth: number | undefined;\n\n defaultContentHeight: number | undefined;\n\n get vertical() {\n return this._orientation === 'vertical';\n }\n\n get horizontal() {\n return this._orientation === 'horizontal';\n }\n\n get both() {\n return this._orientation === 'both';\n }\n\n get loadedItems() {\n if (this._items && !this.d_loading) {\n if (this.both) return this._items.slice(this._appendOnly ? 0 : this.first.rows, this.last.rows).map((item) => (this._columns ? item : item.slice(this._appendOnly ? 0 : this.first.cols, this.last.cols)));\n else if (this.horizontal && this._columns) return this._items;\n else return this._items.slice(this._appendOnly ? 0 : this.first, this.last);\n }\n\n return [];\n }\n\n get loadedRows() {\n return this.d_loading ? (this._loaderDisabled ? this.loaderArr : []) : this.loadedItems;\n }\n\n get loadedColumns() {\n if (this._columns && (this.both || this.horizontal)) {\n 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);\n }\n\n return this._columns;\n }\n\n get isPageChanged() {\n return this._step ? this.page !== this.getPageByFirst() : true;\n }\n\n constructor(@Inject(DOCUMENT) private document: Document, @Inject(PLATFORM_ID) private platformId: any, private renderer: Renderer2, private cd: ChangeDetectorRef, private zone: NgZone) {}\n\n ngOnInit() {\n this.setInitialState();\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n let isLoadingChanged = false;\n\n if (simpleChanges.loading) {\n const { previousValue, currentValue } = simpleChanges.loading;\n\n if (this.lazy && previousValue !== currentValue && currentValue !== this.d_loading) {\n this.d_loading = currentValue;\n isLoadingChanged = true;\n }\n }\n\n if (simpleChanges.orientation) {\n this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;\n }\n\n if (simpleChanges.numToleratedItems) {\n const { previousValue, currentValue } = simpleChanges.numToleratedItems;\n\n if (previousValue !== currentValue && currentValue !== this.d_numToleratedItems) {\n this.d_numToleratedItems = currentValue;\n }\n }\n\n if (simpleChanges.options) {\n const { previousValue, currentValue } = simpleChanges.options;\n\n if (this.lazy && previousValue?.loading !== currentValue?.loading && currentValue?.loading !== this.d_loading) {\n this.d_loading = currentValue.loading;\n isLoadingChanged = true;\n }\n\n if (previousValue?.numToleratedItems !== currentValue?.numToleratedItems && currentValue?.numToleratedItems !== this.d_numToleratedItems) {\n this.d_numToleratedItems = currentValue.numToleratedItems;\n }\n }\n\n if (this.initialized) {\n const isChanged = !isLoadingChanged && (simpleChanges.items?.previousValue?.length !== simpleChanges.items?.currentValue?.length || simpleChanges.itemSize || simpleChanges.scrollHeight || simpleChanges.scrollWidth);\n\n if (isChanged) {\n this.init();\n this.calculateAutoSize();\n }\n }\n }\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'loader':\n this.loaderTemplate = item.template;\n break;\n\n case 'loadericon':\n this.loaderIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n Promise.resolve().then(() => {\n this.viewInit();\n });\n }\n\n ngAfterViewChecked() {\n if (!this.initialized) {\n this.viewInit();\n }\n }\n\n ngOnDestroy() {\n this.unbindResizeListener();\n\n this.contentEl = null;\n this.initialized = false;\n }\n\n viewInit() {\n if (isPlatformBrowser(this.platformId)) {\n if (DomHandler.isVisible(this.elementViewChild?.nativeElement)) {\n this.setInitialState();\n this.setContentEl(this.contentEl);\n this.init();\n\n this.defaultWidth = DomHandler.getWidth(this.elementViewChild?.nativeElement);\n this.defaultHeight = DomHandler.getHeight(this.elementViewChild?.nativeElement);\n this.defaultContentWidth = DomHandler.getWidth(this.contentEl);\n this.defaultContentHeight = DomHandler.getHeight(this.contentEl);\n this.initialized = true;\n }\n }\n }\n\n init() {\n if (!this._disabled) {\n this.setSize();\n this.calculateOptions();\n this.setSpacerSize();\n this.bindResizeListener();\n\n this.cd.detectChanges();\n }\n }\n\n setContentEl(el?: HTMLElement) {\n this.contentEl = el || this.contentViewChild?.nativeElement || DomHandler.findSingle(this.elementViewChild?.nativeElement, '.p-scroller-content');\n }\n\n setInitialState() {\n this.first = this.both ? { rows: 0, cols: 0 } : 0;\n this.last = this.both ? { rows: 0, cols: 0 } : 0;\n this.numItemsInViewport = this.both ? { rows: 0, cols: 0 } : 0;\n this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;\n this.d_loading = this._loading || false;\n this.d_numToleratedItems = this._numToleratedItems;\n this.loaderArr = [];\n this.spacerStyle = {};\n this.contentStyle = {};\n }\n\n getElementRef() {\n return this.elementViewChild;\n }\n\n getPageByFirst() {\n return Math.floor((this.first + this.d_numToleratedItems * 4) / (this._step || 1));\n }\n\n scrollTo(options: ScrollToOptions) {\n this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;\n this.elementViewChild?.nativeElement?.scrollTo(options);\n }\n\n scrollToIndex(index: number, behavior: ScrollBehavior = 'auto') {\n const { numToleratedItems } = this.calculateNumItems();\n const contentPos = this.getContentPosition();\n const calculateFirst = (_index = 0, _numT: number) => (_index <= _numT ? 0 : _index);\n const calculateCoord = (_first: number, _size: number, _cpos: number) => _first * _size + _cpos;\n const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });\n let newFirst: any = 0;\n\n if (this.both) {\n newFirst = { rows: calculateFirst((<any>index)[0], numToleratedItems[0]), cols: calculateFirst((<any>index)[1], numToleratedItems[1]) };\n scrollTo(calculateCoord(newFirst.cols, (<number[]>this._itemSize)[1], contentPos.left), calculateCoord(newFirst.rows, (<number[]>this._itemSize)[0], contentPos.top));\n } else {\n newFirst = calculateFirst(index, numToleratedItems);\n this.horizontal ? scrollTo(calculateCoord(newFirst, <number>this._itemSize, contentPos.left), 0) : scrollTo(0, calculateCoord(newFirst, <number>this._itemSize, contentPos.top));\n }\n\n this.isRangeChanged = this.first !== newFirst;\n this.first = newFirst;\n }\n\n scrollInView(index: number, to: ScrollerToType, behavior: ScrollBehavior = 'auto') {\n if (to) {\n const { first, viewport } = this.getRenderedRange();\n const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });\n const isToStart = to === 'to-start';\n const isToEnd = to === 'to-end';\n\n if (isToStart) {\n if (this.both) {\n if (viewport.first.rows - first.rows > (<any>index)[0]) {\n scrollTo(viewport.first.cols * (<number[]>this._itemSize)[1], (viewport.first.rows - 1) * (<number[]>this._itemSize)[0]);\n } else if (viewport.first.cols - first.cols > (<any>index)[1]) {\n scrollTo((viewport.first.cols - 1) * (<number[]>this._itemSize)[1], viewport.first.rows * (<number[]>this._itemSize)[0]);\n }\n } else {\n if (viewport.first - first > index) {\n const pos = (viewport.first - 1) * <number>this._itemSize;\n this.horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);\n }\n }\n } else if (isToEnd) {\n if (this.both) {\n if (viewport.last.rows - first.rows <= (<any>index)[0] + 1) {\n scrollTo(viewport.first.cols * (<number[]>this._itemSize)[1], (viewport.first.rows + 1) * (<number[]>this._itemSize)[0]);\n } else if (viewport.last.cols - first.cols <= (<any>index)[1] + 1) {\n scrollTo((viewport.first.cols + 1) * (<number[]>this._itemSize)[1], viewport.first.rows * (<number[]>this._itemSize)[0]);\n }\n } else {\n if (viewport.last - first <= index + 1) {\n const pos = (viewport.first + 1) * <number>this._itemSize;\n this.horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);\n }\n }\n }\n } else {\n this.scrollToIndex(index, behavior);\n }\n }\n\n getRenderedRange() {\n const calculateFirstInViewport = (_pos: number, _size: number) => Math.floor(_pos / (_size || _pos));\n\n let firstInViewport = this.first;\n let lastInViewport: any = 0;\n\n if (this.elementViewChild?.nativeElement) {\n const { scrollTop, scrollLeft } = this.elementViewChild.nativeElement;\n\n if (this.both) {\n firstInViewport = { rows: calculateFirstInViewport(scrollTop, (<number[]>this._itemSize)[0]), cols: calculateFirstInViewport(scrollLeft, (<number[]>this._itemSize)[1]) };\n lastInViewport = { rows: firstInViewport.rows + this.numItemsInViewport.rows, cols: firstInViewport.cols + this.numItemsInViewport.cols };\n } else {\n const scrollPos = this.horizontal ? scrollLeft : scrollTop;\n firstInViewport = calculateFirstInViewport(scrollPos, <number>this._itemSize);\n lastInViewport = firstInViewport + this.numItemsInViewport;\n }\n }\n\n return {\n first: this.first,\n last: this.last,\n viewport: {\n first: firstInViewport,\n last: lastInViewport\n }\n };\n }\n\n calculateNumItems() {\n const contentPos = this.getContentPosition();\n const contentWidth = (this.elementViewChild?.nativeElement ? this.elementViewChild.nativeElement.offsetWidth - contentPos.left : 0) || 0;\n const contentHeight = (this.elementViewChild?.nativeElement ? this.elementViewChild.nativeElement.offsetHeight - contentPos.top : 0) || 0;\n const calculateNumItemsInViewport = (_contentSize: number, _itemSize: number) => Math.ceil(_contentSize / (_itemSize || _contentSize));\n const calculateNumToleratedItems = (_numItems: number) => Math.ceil(_numItems / 2);\n const numItemsInViewport: any = this.both\n ? { rows: calculateNumItemsInViewport(contentHeight, (<number[]>this._itemSize)[0]), cols: calculateNumItemsInViewport(contentWidth, (<number[]>this._itemSize)[1]) }\n : calculateNumItemsInViewport(this.horizontal ? contentWidth : contentHeight, <number>this._itemSize);\n\n const numToleratedItems = this.d_numToleratedItems || (this.both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));\n\n return { numItemsInViewport, numToleratedItems };\n }\n\n calculateOptions() {\n const { numItemsInViewport, numToleratedItems } = this.calculateNumItems();\n const calculateLast = (_first: number, _num: number, _numT: number, _isCols: boolean = false) => this.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);\n const first = this.first;\n const last = this.both\n ? { rows: calculateLast(this.first.rows, numItemsInViewport.rows, numToleratedItems[0]), cols: calculateLast(this.first.cols, numItemsInViewport.cols, numToleratedItems[1], true) }\n : calculateLast(this.first, numItemsInViewport, numToleratedItems);\n\n this.last = last;\n this.numItemsInViewport = numItemsInViewport;\n this.d_numToleratedItems = numToleratedItems;\n\n if (this.showLoader) {\n this.loaderArr = this.both ? Array.from({ length: numItemsInViewport.rows }).map(() => Array.from({ length: numItemsInViewport.cols })) : Array.from({ length: numItemsInViewport });\n }\n\n if (this._lazy) {\n Promise.resolve().then(() => {\n this.lazyLoadState = {\n first: this._step ? (this.both ? { rows: 0, cols: first.cols } : 0) : first,\n last: Math.min(this._step ? this._step : this.last, (<any[]>this.items).length)\n };\n\n this.handleEvents('onLazyLoad', this.lazyLoadState);\n });\n }\n }\n\n calculateAutoSize() {\n if (this._autoSize && !this.d_loading) {\n Promise.resolve().then(() => {\n if (this.contentEl) {\n this.contentEl.style.minHeight = this.contentEl.style.minWidth = 'auto';\n this.contentEl.style.position = 'relative';\n (<ElementRef>this.elementViewChild).nativeElement.style.contain = 'none';\n\n const [contentWidth, contentHeight] = [DomHandler.getWidth(this.contentEl), DomHandler.getHeight(this.contentEl)];\n contentWidth !== this.defaultContentWidth && ((<ElementRef>this.elementViewChild).nativeElement.style.width = '');\n contentHeight !== this.defaultContentHeight && ((<ElementRef>this.elementViewChild).nativeElement.style.height = '');\n\n const [width, height] = [DomHandler.getWidth((<ElementRef>this.elementViewChild).nativeElement), DomHandler.getHeight((<ElementRef>this.elementViewChild).nativeElement)];\n (this.both || this.horizontal) && ((<ElementRef>this.elementViewChild).nativeElement.style.width = width < <number>this.defaultWidth ? width + 'px' : this._scrollWidth || this.defaultWidth + 'px');\n (this.both || this.vertical) && ((<ElementRef>this.elementViewChild).nativeElement.style.height = height < <number>this.defaultHeight ? height + 'px' : this._scrollHeight || this.defaultHeight + 'px');\n\n this.contentEl.style.minHeight = this.contentEl.style.minWidth = '';\n this.contentEl.style.position = '';\n (<ElementRef>this.elementViewChild).nativeElement.style.contain = '';\n }\n });\n }\n }\n\n getLast(last = 0, isCols = false) {\n return this._items ? Math.min(isCols ? (this._columns || this._items[0]).length : this._items.length, last) : 0;\n }\n\n getContentPosition() {\n if (this.contentEl) {\n const style = getComputedStyle(this.contentEl);\n const left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0);\n const right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0);\n const top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0);\n const bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0);\n\n return { left, right, top, bottom, x: left + right, y: top + bottom };\n }\n\n return { left: 0, right: 0, top: 0, bottom: 0, x: 0, y: 0 };\n }\n\n setSize() {\n if (this.elementViewChild?.nativeElement) {\n const parentElement = this.elementViewChild.nativeElement.parentElement.parentElement;\n const width = this._scrollWidth || `${this.elementViewChild.nativeElement.offsetWidth || parentElement.offsetWidth}px`;\n const height = this._scrollHeight || `${this.elementViewChild.nativeElement.offsetHeight || parentElement.offsetHeight}px`;\n const setProp = (_name: string, _value: any) => ((<ElementRef>this.elementViewChild).nativeElement.style[_name] = _value);\n\n if (this.both || this.horizontal) {\n setProp('height', height);\n setProp('width', width);\n } else {\n setProp('height', height);\n }\n }\n }\n\n setSpacerSize() {\n if (this._items) {\n const contentPos = this.getContentPosition();\n const setProp = (_name: string, _value: any, _size: number, _cpos: number = 0) => (this.spacerStyle = { ...this.spacerStyle, ...{ [`${_name}`]: (_value || []).length * _size + _cpos + 'px' } });\n\n if (this.both) {\n setProp('height', this._items, (<number[]>this._itemSize)[0], contentPos.y);\n setProp('width', this._columns || this._items[1], (<number[]>this._itemSize)[1], contentPos.x);\n } else {\n this.horizontal ? setProp('width', this._columns || this._items, <number>this._itemSize, contentPos.x) : setProp('height', this._items, <number>this._itemSize, contentPos.y);\n }\n }\n }\n\n setContentPosition(pos: any) {\n if (this.contentEl && !this._appendOnly) {\n const first = pos ? pos.first : this.first;\n const calculateTranslateVal = (_first: number, _size: number) => _first * _size;\n const setTransform = (_x = 0, _y = 0) => (this.contentStyle = { ...this.contentStyle, ...{ transform: `translate3d(${_x}px, ${_y}px, 0)` } });\n\n if (this.both) {\n setTransform(calculateTranslateVal(first.cols, (<number[]>this._itemSize)[1]), calculateTranslateVal(first.rows, (<number[]>this._itemSize)[0]));\n } else {\n const translateVal = calculateTranslateVal(first, <number>this._itemSize);\n this.horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);\n }\n }\n }\n\n onScrollPositionChange(event: Event) {\n const target = event.target;\n const contentPos = this.getContentPosition();\n const calculateScrollPos = (_pos: number, _cpos: number) => (_pos ? (_pos > _cpos ? _pos - _cpos : _pos) : 0);\n const calculateCurrentIndex = (_pos: number, _size: number) => Math.floor(_pos / (_size || _pos));\n const calculateTriggerIndex = (_currentIndex: number, _first: number, _last: number, _num: number, _numT: number, _isScrollDownOrRight: any) => {\n return _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1;\n };\n const calculateFirst = (_currentIndex: number, _triggerIndex: number, _first: number, _last: number, _num: number, _numT: number, _isScrollDownOrRight: any) => {\n if (_currentIndex <= _numT) return 0;\n else return Math.max(0, _isScrollDownOrRight ? (_currentIndex < _triggerIndex ? _first : _currentIndex - _numT) : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT);\n };\n const calculateLast = (_currentIndex: number, _first: number, _last: number, _num: number, _numT: number, _isCols = false) => {\n let lastValue = _first + _num + 2 * _numT;\n\n if (_currentIndex >= _numT) {\n lastValue += _numT + 1;\n }\n\n return this.getLast(lastValue, _isCols);\n };\n\n const scrollTop = calculateScrollPos((<HTMLElement>target).scrollTop, contentPos.top);\n const scrollLeft = calculateScrollPos((<HTMLElement>target).scrollLeft, contentPos.left);\n\n let newFirst = this.both ? { rows: 0, cols: 0 } : 0;\n let newLast = this.last;\n let isRangeChanged = false;\n let newScrollPos = this.lastScrollPos;\n\n if (this.both) {\n const isScrollDown = this.lastScrollPos.top <= scrollTop;\n const isScrollRight = this.lastScrollPos.left <= scrollLeft;\n\n if (!this._appendOnly || (this._appendOnly && (isScrollDown || isScrollRight))) {\n const currentIndex = { rows: calculateCurrentIndex(scrollTop, (<number[]>this._itemSize)[0]), cols: calculateCurrentIndex(scrollLeft, (<number[]>this._itemSize)[1]) };\n const triggerIndex = {\n rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n\n newFirst = {\n rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n newLast = {\n rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]),\n cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true)\n };\n\n isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols || this.isRangeChanged;\n newScrollPos = { top: scrollTop, left: scrollLeft };\n }\n } else {\n const scrollPos = this.horizontal ? scrollLeft : scrollTop;\n const isScrollDownOrRight = this.lastScrollPos <= scrollPos;\n\n if (!this._appendOnly || (this._appendOnly && isScrollDownOrRight)) {\n const currentIndex = calculateCurrentIndex(scrollPos, <number>this._itemSize);\n const triggerIndex = calculateTriggerIndex(currentIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n\n newFirst = calculateFirst(currentIndex, triggerIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n newLast = calculateLast(currentIndex, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems);\n isRangeChanged = newFirst !== this.first || newLast !== this.last || this.isRangeChanged;\n newScrollPos = scrollPos;\n }\n }\n\n return {\n first: newFirst,\n last: newLast,\n isRangeChanged,\n scrollPos: newScrollPos\n };\n }\n\n onScrollChange(event: Event) {\n const { first, last, isRangeChanged, scrollPos } = this.onScrollPositionChange(event);\n\n if (isRangeChanged) {\n const newState = { first, last };\n\n this.setContentPosition(newState);\n\n this.first = first;\n this.last = last;\n this.lastScrollPos = scrollPos;\n\n this.handleEvents('onScrollIndexChange', newState);\n\n if (this._lazy && this.isPageChanged) {\n const lazyLoadState = {\n first: this._step ? Math.min(this.getPageByFirst() * this._step, (<any[]>this.items).length - this._step) : first,\n last: Math.min(this._step ? (this.getPageByFirst() + 1) * this._step : last, (<any[]>this.items).length)\n };\n const isLazyStateChanged = this.lazyLoadState.first !== lazyLoadState.first || this.lazyLoadState.last !== lazyLoadState.last;\n\n isLazyStateChanged && this.handleEvents('onLazyLoad', lazyLoadState);\n this.lazyLoadState = lazyLoadState;\n }\n }\n }\n\n onContainerScroll(event: Event) {\n this.handleEvents('onScroll', { originalEvent: event });\n\n if (this._delay && this.isPageChanged) {\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n }\n\n if (!this.d_loading && this.showLoader) {\n const { isRangeChanged } = this.onScrollPositionChange(event);\n const changed = isRangeChanged || (this._step ? this.isPageChanged : false);\n\n if (changed) {\n this.d_loading = true;\n\n this.cd.detectChanges();\n }\n }\n\n this.scrollTimeout = setTimeout(() => {\n this.onScrollChange(event);\n\n if (this.d_loading && this.showLoader && (!this._lazy || this._loading === undefined)) {\n this.d_loading = false;\n this.page = this.getPageByFirst();\n this.cd.detectChanges();\n }\n }, this._delay);\n } else {\n !this.d_loading && this.onScrollChange(event);\n }\n }\n\n bindResizeListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.windowResizeListener) {\n this.zone.runOutsideAngular(() => {\n const window = this.document.defaultView as Window;\n const event = DomHandler.isTouchDevice() ? 'orientationchange' : 'resize';\n this.windowResizeListener = this.renderer.listen(window, event, this.onWindowResize.bind(this));\n });\n }\n }\n }\n\n unbindResizeListener() {\n if (this.windowResizeListener) {\n this.windowResizeListener();\n this.windowResizeListener = null;\n }\n }\n\n onWindowResize() {\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n\n this.resizeTimeout = setTimeout(() => {\n if (DomHandler.isVisible(this.elementViewChild?.nativeElement)) {\n const [width, height] = [DomHandler.getWidth(this.elementViewChild?.nativeElement), DomHandler.getHeight(this.elementViewChild?.nativeElement)];\n const [isDiffWidth, isDiffHeight] = [width !== this.defaultWidth, height !== this.defaultHeight];\n const reinit = this.both ? isDiffWidth || isDiffHeight : this.horizontal ? isDiffWidth : this.vertical ? isDiffHeight : false;\n\n reinit &&\n this.zone.run(() => {\n this.d_numToleratedItems = this._numToleratedItems;\n this.defaultWidth = width;\n this.defaultHeight = height;\n this.defaultContentWidth = DomHandler.getWidth(this.contentEl);\n this.defaultContentHeight = DomHandler.getHeight(this.contentEl);\n\n this.init();\n });\n }\n }, this._resizeDelay);\n }\n\n handleEvents(name: string, params: any) {\n //@ts-ignore\n return this.options && (<any>this.options)[name] ? (<any>this.options)[name](params) : this[name].emit(params);\n }\n\n getContentOptions() {\n return {\n contentStyleClass: `p-scroller-content ${this.d_loading ? 'p-scroller-loading' : ''}`,\n items: this.loadedItems,\n getItemOptions: (index: number) => this.getOptions(index),\n loading: this.d_loading,\n getLoaderOptions: (index: number, options?: any) => this.getLoaderOptions(index, options),\n itemSize: this._itemSize,\n rows: this.loadedRows,\n columns: this.loadedColumns,\n spacerStyle: this.spacerStyle,\n contentStyle: this.contentStyle,\n vertical: this.vertical,\n horizontal: this.horizontal,\n both: this.both\n };\n }\n\n getOptions(renderedIndex: number) {\n const count = (this._items || []).length;\n const index = this.both ? this.first.rows + renderedIndex : this.first + renderedIndex;\n\n return {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0\n };\n }\n\n getLoaderOptions(index: number, extOptions: any) {\n const count = this.loaderArr.length;\n\n return {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0,\n ...extOptions\n };\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, SpinnerIcon],\n exports: [Scroller, SharedModule],\n declarations: [Scroller]\n})\nexport class ScrollerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import * as i0 from '@angular/core';
2
- import { PLATFORM_ID, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, ViewChild, ContentChildren, NgModule } from '@angular/core';
3
1
  import * as i1 from '@angular/common';
4
2
  import { isPlatformBrowser, DOCUMENT, CommonModule } from '@angular/common';
5
- import { DomHandler } from 'primeng/dom';
3
+ import * as i0 from '@angular/core';
4
+ import { PLATFORM_ID, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, ViewChild, ContentChildren, NgModule } from '@angular/core';
6
5
  import { PrimeTemplate } from 'primeng/api';
6
+ import { DomHandler } from 'primeng/dom';
7
7
 
8
8
  class ScrollPanel {
9
9
  platformId;
@@ -12,7 +12,15 @@ class ScrollPanel {
12
12
  cd;
13
13
  document;
14
14
  renderer;
15
+ /**
16
+ * Inline style of the component.
17
+ * @group Props
18
+ */
15
19
  style;
20
+ /**
21
+ * Style class of the component.
22
+ * @group Props
23
+ */
16
24
  styleClass;
17
25
  containerViewChild;
18
26
  contentViewChild;
@@ -22,11 +30,11 @@ class ScrollPanel {
22
30
  scrollYRatio;
23
31
  scrollXRatio;
24
32
  timeoutFrame = (fn) => setTimeout(fn, 0);
25
- initialized;
33
+ initialized = false;
26
34
  lastPageY;
27
35
  lastPageX;
28
- isXBarClicked;
29
- isYBarClicked;
36
+ isXBarClicked = false;
37
+ isYBarClicked = false;
30
38
  contentTemplate;
31
39
  windowResizeListener;
32
40
  contentScrollListener;
@@ -182,6 +190,11 @@ class ScrollPanel {
182
190
  this.contentViewChild.nativeElement.scrollTop += deltaY / this.scrollYRatio;
183
191
  });
184
192
  }
193
+ /**
194
+ * Scrolls the top location to the given value.
195
+ * @param scrollTop
196
+ * @group Methods
197
+ */
185
198
  scrollTop(scrollTop) {
186
199
  let scrollableHeight = this.contentViewChild.nativeElement.scrollHeight - this.contentViewChild.nativeElement.clientHeight;
187
200
  scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;
@@ -226,11 +239,15 @@ class ScrollPanel {
226
239
  this.unbindListeners();
227
240
  }
228
241
  }
242
+ /**
243
+ * Refreshes the position and size of the scrollbar.
244
+ * @group Methods
245
+ */
229
246
  refresh() {
230
247
  this.moveBar();
231
248
  }
232
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ScrollPanel, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
233
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ScrollPanel, selector: "p-scrollPanel", inputs: { style: "style", styleClass: "styleClass" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }, { propertyName: "xBarViewChild", first: true, predicate: ["xBar"], descendants: true }, { propertyName: "yBarViewChild", first: true, predicate: ["yBar"], descendants: true }], ngImport: i0, template: `
249
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollPanel, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
250
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: ScrollPanel, selector: "p-scrollPanel", inputs: { style: "style", styleClass: "styleClass" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }, { propertyName: "xBarViewChild", first: true, predicate: ["xBar"], descendants: true }, { propertyName: "yBarViewChild", first: true, predicate: ["yBar"], descendants: true }], ngImport: i0, template: `
234
251
  <div #container [ngClass]="'p-scrollpanel p-component'" [ngStyle]="style" [class]="styleClass">
235
252
  <div class="p-scrollpanel-wrapper">
236
253
  <div #content class="p-scrollpanel-content">
@@ -243,7 +260,7 @@ class ScrollPanel {
243
260
  </div>
244
261
  `, isInline: true, styles: [".p-scrollpanel-wrapper{overflow:hidden;width:100%;height:100%;position:relative;float:left}.p-scrollpanel-content{height:calc(100% + 18px);width:calc(100% + 18px);padding:0 18px 18px 0;position:relative;overflow:auto;box-sizing:border-box}.p-scrollpanel-bar{position:relative;background:#c1c1c1;border-radius:3px;cursor:pointer;opacity:0;transition:opacity .25s linear}.p-scrollpanel-bar-y{width:9px;top:0}.p-scrollpanel-bar-x{height:9px;bottom:0}.p-scrollpanel-hidden{visibility:hidden}.p-scrollpanel:hover .p-scrollpanel-bar,.p-scrollpanel:active .p-scrollpanel-bar{opacity:1}.p-scrollpanel-grabbed{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
245
262
  }
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ScrollPanel, decorators: [{
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollPanel, decorators: [{
247
264
  type: Component,
248
265
  args: [{ selector: 'p-scrollPanel', template: `
249
266
  <div #container [ngClass]="'p-scrollpanel p-component'" [ngStyle]="style" [class]="styleClass">
@@ -286,11 +303,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
286
303
  args: [PrimeTemplate]
287
304
  }] } });
288
305
  class ScrollPanelModule {
289
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ScrollPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
290
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: ScrollPanelModule, declarations: [ScrollPanel], imports: [CommonModule], exports: [ScrollPanel] });
291
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ScrollPanelModule, imports: [CommonModule] });
306
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
307
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: ScrollPanelModule, declarations: [ScrollPanel], imports: [CommonModule], exports: [ScrollPanel] });
308
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollPanelModule, imports: [CommonModule] });
292
309
  }
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ScrollPanelModule, decorators: [{
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollPanelModule, decorators: [{
294
311
  type: NgModule,
295
312
  args: [{
296
313
  imports: [CommonModule],