primereact 8.1.0 → 8.3.0

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 (691) hide show
  1. package/README.md +6 -0
  2. package/accordion/accordion.cjs.js +9 -0
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.d.ts +4 -5
  5. package/accordion/accordion.esm.js +9 -0
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +9 -0
  8. package/accordion/accordion.min.js +1 -1
  9. package/autocomplete/autocomplete.cjs.js +65 -36
  10. package/autocomplete/autocomplete.cjs.min.js +1 -1
  11. package/autocomplete/autocomplete.d.ts +5 -1
  12. package/autocomplete/autocomplete.esm.js +66 -37
  13. package/autocomplete/autocomplete.esm.min.js +1 -1
  14. package/autocomplete/autocomplete.js +65 -36
  15. package/autocomplete/autocomplete.min.js +1 -1
  16. package/avatar/avatar.cjs.js +35 -7
  17. package/avatar/avatar.cjs.min.js +1 -1
  18. package/avatar/avatar.d.ts +4 -4
  19. package/avatar/avatar.esm.js +35 -7
  20. package/avatar/avatar.esm.min.js +1 -1
  21. package/avatar/avatar.js +35 -7
  22. package/avatar/avatar.min.js +1 -1
  23. package/avatargroup/avatargroup.cjs.js +27 -0
  24. package/avatargroup/avatargroup.cjs.min.js +1 -1
  25. package/avatargroup/avatargroup.d.ts +4 -4
  26. package/avatargroup/avatargroup.esm.js +27 -0
  27. package/avatargroup/avatargroup.esm.min.js +1 -1
  28. package/avatargroup/avatargroup.js +27 -0
  29. package/avatargroup/avatargroup.min.js +1 -1
  30. package/badge/badge.cjs.js +14 -2
  31. package/badge/badge.cjs.min.js +1 -1
  32. package/badge/badge.d.ts +5 -5
  33. package/badge/badge.esm.js +14 -2
  34. package/badge/badge.esm.min.js +1 -1
  35. package/badge/badge.js +14 -2
  36. package/badge/badge.min.js +1 -1
  37. package/blockui/blockui.cjs.js +26 -3
  38. package/blockui/blockui.cjs.min.js +1 -1
  39. package/blockui/blockui.d.ts +2 -4
  40. package/blockui/blockui.esm.js +26 -3
  41. package/blockui/blockui.esm.min.js +1 -1
  42. package/blockui/blockui.js +26 -3
  43. package/blockui/blockui.min.js +1 -1
  44. package/breadcrumb/breadcrumb.cjs.js +28 -0
  45. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  46. package/breadcrumb/breadcrumb.d.ts +4 -5
  47. package/breadcrumb/breadcrumb.esm.js +28 -0
  48. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  49. package/breadcrumb/breadcrumb.js +28 -0
  50. package/breadcrumb/breadcrumb.min.js +1 -1
  51. package/button/button.d.ts +3 -1
  52. package/calendar/calendar.cjs.js +138 -46
  53. package/calendar/calendar.cjs.min.js +1 -1
  54. package/calendar/calendar.d.ts +4 -0
  55. package/calendar/calendar.esm.js +138 -46
  56. package/calendar/calendar.esm.min.js +1 -1
  57. package/calendar/calendar.js +138 -46
  58. package/calendar/calendar.min.js +1 -1
  59. package/captcha/captcha.cjs.js +24 -3
  60. package/captcha/captcha.cjs.min.js +1 -1
  61. package/captcha/captcha.d.ts +2 -3
  62. package/captcha/captcha.esm.js +24 -3
  63. package/captcha/captcha.esm.min.js +1 -1
  64. package/captcha/captcha.js +24 -3
  65. package/captcha/captcha.min.js +1 -1
  66. package/card/card.d.ts +1 -4
  67. package/carousel/carousel.cjs.js +25 -0
  68. package/carousel/carousel.cjs.min.js +1 -1
  69. package/carousel/carousel.d.ts +4 -5
  70. package/carousel/carousel.esm.js +25 -0
  71. package/carousel/carousel.esm.min.js +1 -1
  72. package/carousel/carousel.js +25 -0
  73. package/carousel/carousel.min.js +1 -1
  74. package/cascadeselect/cascadeselect.cjs.js +38 -3
  75. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  76. package/cascadeselect/cascadeselect.d.ts +7 -2
  77. package/cascadeselect/cascadeselect.esm.js +38 -3
  78. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  79. package/cascadeselect/cascadeselect.js +38 -3
  80. package/cascadeselect/cascadeselect.min.js +1 -1
  81. package/chart/chart.cjs.js +72 -25
  82. package/chart/chart.cjs.min.js +1 -1
  83. package/chart/chart.d.ts +1 -0
  84. package/chart/chart.esm.js +72 -25
  85. package/chart/chart.esm.min.js +1 -1
  86. package/chart/chart.js +72 -25
  87. package/chart/chart.min.js +1 -1
  88. package/checkbox/checkbox.cjs.js +30 -1
  89. package/checkbox/checkbox.cjs.min.js +1 -1
  90. package/checkbox/checkbox.d.ts +4 -1
  91. package/checkbox/checkbox.esm.js +31 -2
  92. package/checkbox/checkbox.esm.min.js +1 -1
  93. package/checkbox/checkbox.js +30 -1
  94. package/checkbox/checkbox.min.js +1 -1
  95. package/chip/chip.cjs.js +28 -0
  96. package/chip/chip.cjs.min.js +1 -1
  97. package/chip/chip.d.ts +4 -4
  98. package/chip/chip.esm.js +28 -0
  99. package/chip/chip.esm.min.js +1 -1
  100. package/chip/chip.js +28 -0
  101. package/chip/chip.min.js +1 -1
  102. package/chips/chips.cjs.js +56 -2
  103. package/chips/chips.cjs.min.js +1 -1
  104. package/chips/chips.d.ts +9 -5
  105. package/chips/chips.esm.js +57 -3
  106. package/chips/chips.esm.min.js +1 -1
  107. package/chips/chips.js +57 -4
  108. package/chips/chips.min.js +1 -1
  109. package/colorpicker/colorpicker.cjs.js +33 -0
  110. package/colorpicker/colorpicker.cjs.min.js +1 -1
  111. package/colorpicker/colorpicker.d.ts +7 -1
  112. package/colorpicker/colorpicker.esm.js +33 -0
  113. package/colorpicker/colorpicker.esm.min.js +1 -1
  114. package/colorpicker/colorpicker.js +33 -0
  115. package/colorpicker/colorpicker.min.js +1 -1
  116. package/column/column.d.ts +1 -0
  117. package/confirmdialog/confirmdialog.cjs.js +3 -3
  118. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  119. package/confirmdialog/confirmdialog.d.ts +1 -6
  120. package/confirmdialog/confirmdialog.esm.js +3 -3
  121. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  122. package/confirmdialog/confirmdialog.js +3 -3
  123. package/confirmdialog/confirmdialog.min.js +1 -1
  124. package/confirmpopup/confirmpopup.cjs.js +2 -2
  125. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  126. package/confirmpopup/confirmpopup.esm.js +2 -2
  127. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  128. package/confirmpopup/confirmpopup.js +2 -2
  129. package/confirmpopup/confirmpopup.min.js +1 -1
  130. package/contextmenu/contextmenu.cjs.js +25 -3
  131. package/contextmenu/contextmenu.cjs.min.js +1 -1
  132. package/contextmenu/contextmenu.d.ts +2 -4
  133. package/contextmenu/contextmenu.esm.js +25 -3
  134. package/contextmenu/contextmenu.esm.min.js +1 -1
  135. package/contextmenu/contextmenu.js +25 -3
  136. package/contextmenu/contextmenu.min.js +1 -1
  137. package/core/core.js +599 -180
  138. package/core/core.min.js +12 -12
  139. package/datascroller/datascroller.cjs.js +29 -3
  140. package/datascroller/datascroller.cjs.min.js +1 -1
  141. package/datascroller/datascroller.d.ts +2 -4
  142. package/datascroller/datascroller.esm.js +29 -3
  143. package/datascroller/datascroller.esm.min.js +1 -1
  144. package/datascroller/datascroller.js +29 -3
  145. package/datascroller/datascroller.min.js +1 -1
  146. package/datatable/datatable.cjs.js +92 -30
  147. package/datatable/datatable.cjs.min.js +1 -1
  148. package/datatable/datatable.d.ts +5 -1
  149. package/datatable/datatable.esm.js +93 -31
  150. package/datatable/datatable.esm.min.js +1 -1
  151. package/datatable/datatable.js +92 -30
  152. package/datatable/datatable.min.js +1 -1
  153. package/dataview/dataview.cjs.js +12 -0
  154. package/dataview/dataview.cjs.min.js +1 -1
  155. package/dataview/dataview.d.ts +4 -5
  156. package/dataview/dataview.esm.js +12 -0
  157. package/dataview/dataview.esm.min.js +1 -1
  158. package/dataview/dataview.js +12 -0
  159. package/dataview/dataview.min.js +1 -1
  160. package/deferredcontent/deferredcontent.cjs.js +25 -0
  161. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  162. package/deferredcontent/deferredcontent.d.ts +4 -2
  163. package/deferredcontent/deferredcontent.esm.js +25 -0
  164. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  165. package/deferredcontent/deferredcontent.js +25 -0
  166. package/deferredcontent/deferredcontent.min.js +1 -1
  167. package/dialog/dialog.cjs.js +46 -6
  168. package/dialog/dialog.cjs.min.js +1 -1
  169. package/dialog/dialog.d.ts +8 -0
  170. package/dialog/dialog.esm.js +46 -6
  171. package/dialog/dialog.esm.min.js +1 -1
  172. package/dialog/dialog.js +46 -6
  173. package/dialog/dialog.min.js +1 -1
  174. package/divider/divider.cjs.js +27 -0
  175. package/divider/divider.cjs.min.js +1 -1
  176. package/divider/divider.d.ts +4 -4
  177. package/divider/divider.esm.js +27 -0
  178. package/divider/divider.esm.min.js +1 -1
  179. package/divider/divider.js +27 -0
  180. package/divider/divider.min.js +1 -1
  181. package/dock/dock.cjs.js +28 -0
  182. package/dock/dock.cjs.min.js +1 -1
  183. package/dock/dock.d.ts +4 -5
  184. package/dock/dock.esm.js +28 -0
  185. package/dock/dock.esm.min.js +1 -1
  186. package/dock/dock.js +28 -0
  187. package/dock/dock.min.js +1 -1
  188. package/dropdown/dropdown.cjs.js +85 -23
  189. package/dropdown/dropdown.cjs.min.js +1 -1
  190. package/dropdown/dropdown.d.ts +15 -2
  191. package/dropdown/dropdown.esm.js +85 -23
  192. package/dropdown/dropdown.esm.min.js +1 -1
  193. package/dropdown/dropdown.js +85 -23
  194. package/dropdown/dropdown.min.js +1 -1
  195. package/editor/editor.cjs.js +27 -11
  196. package/editor/editor.cjs.min.js +1 -1
  197. package/editor/editor.d.ts +3 -0
  198. package/editor/editor.esm.js +27 -11
  199. package/editor/editor.esm.min.js +1 -1
  200. package/editor/editor.js +27 -11
  201. package/editor/editor.min.js +1 -1
  202. package/fieldset/fieldset.cjs.js +30 -0
  203. package/fieldset/fieldset.cjs.min.js +1 -1
  204. package/fieldset/fieldset.d.ts +5 -5
  205. package/fieldset/fieldset.esm.js +30 -0
  206. package/fieldset/fieldset.esm.min.js +1 -1
  207. package/fieldset/fieldset.js +30 -0
  208. package/fieldset/fieldset.min.js +1 -1
  209. package/fileupload/fileupload.cjs.js +28 -3
  210. package/fileupload/fileupload.cjs.min.js +1 -1
  211. package/fileupload/fileupload.d.ts +2 -0
  212. package/fileupload/fileupload.esm.js +28 -3
  213. package/fileupload/fileupload.esm.min.js +1 -1
  214. package/fileupload/fileupload.js +28 -3
  215. package/fileupload/fileupload.min.js +1 -1
  216. package/fullcalendar/fullcalendar.cjs.js +25 -0
  217. package/fullcalendar/fullcalendar.cjs.min.js +1 -1
  218. package/fullcalendar/fullcalendar.d.ts +3 -1
  219. package/fullcalendar/fullcalendar.esm.js +25 -0
  220. package/fullcalendar/fullcalendar.esm.min.js +1 -1
  221. package/fullcalendar/fullcalendar.js +25 -0
  222. package/fullcalendar/fullcalendar.min.js +1 -1
  223. package/galleria/galleria.cjs.js +27 -3
  224. package/galleria/galleria.cjs.min.js +1 -1
  225. package/galleria/galleria.d.ts +2 -4
  226. package/galleria/galleria.esm.js +27 -3
  227. package/galleria/galleria.esm.min.js +1 -1
  228. package/galleria/galleria.js +27 -3
  229. package/galleria/galleria.min.js +1 -1
  230. package/gmap/gmap.cjs.js +25 -3
  231. package/gmap/gmap.cjs.min.js +1 -1
  232. package/gmap/gmap.d.ts +5 -4
  233. package/gmap/gmap.esm.js +25 -3
  234. package/gmap/gmap.esm.min.js +1 -1
  235. package/gmap/gmap.js +25 -3
  236. package/gmap/gmap.min.js +1 -1
  237. package/hooks/hooks.cjs.js +48 -2
  238. package/hooks/hooks.cjs.min.js +1 -1
  239. package/hooks/hooks.d.ts +3 -1
  240. package/hooks/hooks.esm.js +47 -3
  241. package/hooks/hooks.esm.min.js +1 -1
  242. package/hooks/hooks.js +48 -2
  243. package/hooks/hooks.min.js +1 -1
  244. package/image/image.cjs.js +35 -5
  245. package/image/image.cjs.min.js +1 -1
  246. package/image/image.d.ts +5 -4
  247. package/image/image.esm.js +35 -5
  248. package/image/image.esm.min.js +1 -1
  249. package/image/image.js +35 -5
  250. package/image/image.min.css +1 -1
  251. package/image/image.min.js +1 -1
  252. package/inplace/inplace.cjs.js +28 -1
  253. package/inplace/inplace.cjs.min.js +1 -1
  254. package/inplace/inplace.d.ts +4 -5
  255. package/inplace/inplace.esm.js +28 -1
  256. package/inplace/inplace.esm.min.js +1 -1
  257. package/inplace/inplace.js +28 -1
  258. package/inplace/inplace.min.js +1 -1
  259. package/inputmask/inputmask.cjs.js +32 -5
  260. package/inputmask/inputmask.cjs.min.js +1 -1
  261. package/inputmask/inputmask.d.ts +5 -13
  262. package/inputmask/inputmask.esm.js +32 -5
  263. package/inputmask/inputmask.esm.min.js +1 -1
  264. package/inputmask/inputmask.js +32 -5
  265. package/inputmask/inputmask.min.js +1 -1
  266. package/inputnumber/inputnumber.cjs.js +11 -5
  267. package/inputnumber/inputnumber.cjs.min.js +1 -1
  268. package/inputnumber/inputnumber.d.ts +4 -4
  269. package/inputnumber/inputnumber.esm.js +11 -5
  270. package/inputnumber/inputnumber.esm.min.js +1 -1
  271. package/inputnumber/inputnumber.js +11 -5
  272. package/inputnumber/inputnumber.min.js +1 -1
  273. package/inputswitch/inputswitch.cjs.js +29 -1
  274. package/inputswitch/inputswitch.cjs.min.js +1 -1
  275. package/inputswitch/inputswitch.d.ts +4 -1
  276. package/inputswitch/inputswitch.esm.js +30 -2
  277. package/inputswitch/inputswitch.esm.min.js +1 -1
  278. package/inputswitch/inputswitch.js +29 -1
  279. package/inputswitch/inputswitch.min.css +1 -1
  280. package/inputswitch/inputswitch.min.js +1 -1
  281. package/inputtext/inputtext.d.ts +4 -1
  282. package/inputtext/inputtext.min.css +1 -1
  283. package/inputtextarea/inputtextarea.d.ts +4 -1
  284. package/knob/knob.cjs.js +25 -0
  285. package/knob/knob.cjs.min.js +1 -1
  286. package/knob/knob.d.ts +3 -1
  287. package/knob/knob.esm.js +25 -0
  288. package/knob/knob.esm.min.js +1 -1
  289. package/knob/knob.js +25 -0
  290. package/knob/knob.min.js +1 -1
  291. package/listbox/listbox.cjs.js +128 -20
  292. package/listbox/listbox.cjs.min.js +1 -1
  293. package/listbox/listbox.d.ts +14 -7
  294. package/listbox/listbox.esm.js +129 -21
  295. package/listbox/listbox.esm.min.js +1 -1
  296. package/listbox/listbox.js +129 -22
  297. package/listbox/listbox.min.js +1 -1
  298. package/megamenu/megamenu.cjs.js +57 -12
  299. package/megamenu/megamenu.cjs.min.js +1 -1
  300. package/megamenu/megamenu.d.ts +11 -5
  301. package/megamenu/megamenu.esm.js +57 -12
  302. package/megamenu/megamenu.esm.min.js +1 -1
  303. package/megamenu/megamenu.js +57 -12
  304. package/megamenu/megamenu.min.css +1 -1
  305. package/megamenu/megamenu.min.js +1 -1
  306. package/mention/mention.cjs.js +16 -1
  307. package/mention/mention.cjs.min.js +1 -1
  308. package/mention/mention.d.ts +7 -5
  309. package/mention/mention.esm.js +16 -1
  310. package/mention/mention.esm.min.js +1 -1
  311. package/mention/mention.js +16 -1
  312. package/mention/mention.min.js +1 -1
  313. package/menu/menu.cjs.js +27 -3
  314. package/menu/menu.cjs.min.js +1 -1
  315. package/menu/menu.d.ts +3 -4
  316. package/menu/menu.esm.js +27 -3
  317. package/menu/menu.esm.min.js +1 -1
  318. package/menu/menu.js +27 -3
  319. package/menu/menu.min.js +1 -1
  320. package/menubar/menubar.cjs.js +32 -3
  321. package/menubar/menubar.cjs.min.js +1 -1
  322. package/menubar/menubar.d.ts +6 -5
  323. package/menubar/menubar.esm.js +32 -3
  324. package/menubar/menubar.esm.min.js +1 -1
  325. package/menubar/menubar.js +32 -3
  326. package/menubar/menubar.min.js +1 -1
  327. package/menuitem/menuitem.d.ts +2 -0
  328. package/message/message.cjs.js +28 -0
  329. package/message/message.cjs.min.js +1 -1
  330. package/message/message.d.ts +5 -6
  331. package/message/message.esm.js +28 -0
  332. package/message/message.esm.min.js +1 -1
  333. package/message/message.js +28 -0
  334. package/message/message.min.js +1 -1
  335. package/messages/messages.cjs.js +30 -5
  336. package/messages/messages.cjs.min.js +1 -1
  337. package/messages/messages.d.ts +3 -5
  338. package/messages/messages.esm.js +30 -5
  339. package/messages/messages.esm.min.js +1 -1
  340. package/messages/messages.js +30 -5
  341. package/messages/messages.min.js +1 -1
  342. package/multiselect/multiselect.cjs.js +78 -12
  343. package/multiselect/multiselect.cjs.min.js +1 -1
  344. package/multiselect/multiselect.d.ts +16 -2
  345. package/multiselect/multiselect.esm.js +78 -12
  346. package/multiselect/multiselect.esm.min.js +1 -1
  347. package/multiselect/multiselect.js +78 -12
  348. package/multiselect/multiselect.min.js +1 -1
  349. package/multistatecheckbox/multistatecheckbox.cjs.js +10 -0
  350. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  351. package/multistatecheckbox/multistatecheckbox.d.ts +4 -6
  352. package/multistatecheckbox/multistatecheckbox.esm.js +10 -0
  353. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  354. package/multistatecheckbox/multistatecheckbox.js +10 -0
  355. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  356. package/orderlist/orderlist.cjs.js +145 -4
  357. package/orderlist/orderlist.cjs.min.js +1 -1
  358. package/orderlist/orderlist.d.ts +17 -6
  359. package/orderlist/orderlist.esm.js +145 -4
  360. package/orderlist/orderlist.esm.min.js +1 -1
  361. package/orderlist/orderlist.js +146 -6
  362. package/orderlist/orderlist.min.css +1 -1
  363. package/orderlist/orderlist.min.js +1 -1
  364. package/organizationchart/organizationchart.cjs.js +27 -0
  365. package/organizationchart/organizationchart.cjs.min.js +1 -1
  366. package/organizationchart/organizationchart.d.ts +4 -5
  367. package/organizationchart/organizationchart.esm.js +27 -0
  368. package/organizationchart/organizationchart.esm.min.js +1 -1
  369. package/organizationchart/organizationchart.js +27 -0
  370. package/organizationchart/organizationchart.min.js +1 -1
  371. package/overlaypanel/overlaypanel.cjs.js +25 -4
  372. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  373. package/overlaypanel/overlaypanel.d.ts +2 -4
  374. package/overlaypanel/overlaypanel.esm.js +25 -4
  375. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  376. package/overlaypanel/overlaypanel.js +25 -4
  377. package/overlaypanel/overlaypanel.min.js +1 -1
  378. package/package.json +1 -1
  379. package/paginator/paginator.cjs.js +15 -3
  380. package/paginator/paginator.cjs.min.js +1 -1
  381. package/paginator/paginator.d.ts +4 -4
  382. package/paginator/paginator.esm.js +15 -3
  383. package/paginator/paginator.esm.min.js +1 -1
  384. package/paginator/paginator.js +15 -3
  385. package/paginator/paginator.min.js +1 -1
  386. package/panel/panel.cjs.js +28 -0
  387. package/panel/panel.cjs.min.js +1 -1
  388. package/panel/panel.d.ts +5 -5
  389. package/panel/panel.esm.js +28 -0
  390. package/panel/panel.esm.min.js +1 -1
  391. package/panel/panel.js +28 -0
  392. package/panel/panel.min.js +1 -1
  393. package/panelmenu/panelmenu.cjs.js +28 -0
  394. package/panelmenu/panelmenu.cjs.min.js +1 -1
  395. package/panelmenu/panelmenu.d.ts +4 -5
  396. package/panelmenu/panelmenu.esm.js +28 -0
  397. package/panelmenu/panelmenu.esm.min.js +1 -1
  398. package/panelmenu/panelmenu.js +28 -0
  399. package/panelmenu/panelmenu.min.js +1 -1
  400. package/password/password.cjs.js +31 -0
  401. package/password/password.cjs.min.js +1 -1
  402. package/password/password.d.ts +6 -4
  403. package/password/password.esm.js +31 -0
  404. package/password/password.esm.min.js +1 -1
  405. package/password/password.js +31 -0
  406. package/password/password.min.js +1 -1
  407. package/picklist/picklist.cjs.js +196 -14
  408. package/picklist/picklist.cjs.min.js +1 -1
  409. package/picklist/picklist.d.ts +32 -1
  410. package/picklist/picklist.esm.js +196 -14
  411. package/picklist/picklist.esm.min.js +1 -1
  412. package/picklist/picklist.js +197 -16
  413. package/picklist/picklist.min.css +1 -1
  414. package/picklist/picklist.min.js +1 -1
  415. package/primereact.all.cjs.js +2483 -655
  416. package/primereact.all.cjs.min.js +1 -1
  417. package/primereact.all.esm.js +2481 -655
  418. package/primereact.all.esm.min.js +1 -1
  419. package/primereact.all.js +2483 -655
  420. package/primereact.all.min.js +1 -1
  421. package/progressbar/progressbar.cjs.js +29 -0
  422. package/progressbar/progressbar.cjs.min.js +1 -1
  423. package/progressbar/progressbar.d.ts +4 -5
  424. package/progressbar/progressbar.esm.js +29 -0
  425. package/progressbar/progressbar.esm.min.js +1 -1
  426. package/progressbar/progressbar.js +29 -0
  427. package/progressbar/progressbar.min.js +1 -1
  428. package/progressspinner/progressspinner.cjs.js +27 -0
  429. package/progressspinner/progressspinner.cjs.min.js +1 -1
  430. package/progressspinner/progressspinner.d.ts +4 -5
  431. package/progressspinner/progressspinner.esm.js +27 -0
  432. package/progressspinner/progressspinner.esm.min.js +1 -1
  433. package/progressspinner/progressspinner.js +27 -0
  434. package/progressspinner/progressspinner.min.js +1 -1
  435. package/radiobutton/radiobutton.cjs.js +29 -4
  436. package/radiobutton/radiobutton.cjs.min.js +1 -1
  437. package/radiobutton/radiobutton.d.ts +2 -4
  438. package/radiobutton/radiobutton.esm.js +30 -5
  439. package/radiobutton/radiobutton.esm.min.js +1 -1
  440. package/radiobutton/radiobutton.js +29 -4
  441. package/radiobutton/radiobutton.min.js +1 -1
  442. package/rating/rating.cjs.js +25 -0
  443. package/rating/rating.cjs.min.js +1 -1
  444. package/rating/rating.d.ts +3 -4
  445. package/rating/rating.esm.js +25 -0
  446. package/rating/rating.esm.min.js +1 -1
  447. package/rating/rating.js +25 -0
  448. package/rating/rating.min.js +1 -1
  449. package/resources/primereact.css +213 -145
  450. package/resources/primereact.min.css +1 -1
  451. package/resources/themes/arya-blue/theme.css +39 -6
  452. package/resources/themes/arya-green/theme.css +39 -6
  453. package/resources/themes/arya-orange/theme.css +39 -6
  454. package/resources/themes/arya-purple/theme.css +39 -6
  455. package/resources/themes/bootstrap4-dark-blue/theme.css +39 -6
  456. package/resources/themes/bootstrap4-dark-purple/theme.css +39 -6
  457. package/resources/themes/bootstrap4-light-blue/theme.css +38 -5
  458. package/resources/themes/bootstrap4-light-purple/theme.css +38 -5
  459. package/resources/themes/fluent-light/theme.css +39 -6
  460. package/resources/themes/lara-dark-blue/theme.css +39 -6
  461. package/resources/themes/lara-dark-indigo/theme.css +39 -6
  462. package/resources/themes/lara-dark-purple/theme.css +39 -6
  463. package/resources/themes/lara-dark-teal/theme.css +39 -6
  464. package/resources/themes/lara-light-blue/theme.css +39 -6
  465. package/resources/themes/lara-light-indigo/theme.css +39 -6
  466. package/resources/themes/lara-light-purple/theme.css +39 -6
  467. package/resources/themes/lara-light-teal/theme.css +39 -6
  468. package/resources/themes/luna-amber/theme.css +39 -6
  469. package/resources/themes/luna-blue/theme.css +39 -6
  470. package/resources/themes/luna-green/theme.css +39 -6
  471. package/resources/themes/luna-pink/theme.css +39 -6
  472. package/resources/themes/md-dark-deeppurple/theme.css +39 -6
  473. package/resources/themes/md-dark-indigo/theme.css +39 -6
  474. package/resources/themes/md-light-deeppurple/theme.css +39 -6
  475. package/resources/themes/md-light-indigo/theme.css +39 -6
  476. package/resources/themes/mdc-dark-deeppurple/theme.css +39 -6
  477. package/resources/themes/mdc-dark-indigo/theme.css +39 -6
  478. package/resources/themes/mdc-light-deeppurple/theme.css +39 -6
  479. package/resources/themes/mdc-light-indigo/theme.css +39 -6
  480. package/resources/themes/nova/theme.css +39 -6
  481. package/resources/themes/nova-accent/theme.css +39 -6
  482. package/resources/themes/nova-alt/theme.css +39 -6
  483. package/resources/themes/rhea/theme.css +39 -6
  484. package/resources/themes/saga-blue/theme.css +39 -6
  485. package/resources/themes/saga-green/theme.css +39 -6
  486. package/resources/themes/saga-orange/theme.css +39 -6
  487. package/resources/themes/saga-purple/theme.css +39 -6
  488. package/resources/themes/tailwind-light/theme.css +39 -6
  489. package/resources/themes/vela-blue/theme.css +39 -6
  490. package/resources/themes/vela-green/theme.css +39 -6
  491. package/resources/themes/vela-orange/theme.css +39 -6
  492. package/resources/themes/vela-purple/theme.css +39 -6
  493. package/scrollpanel/scrollpanel.cjs.js +33 -3
  494. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  495. package/scrollpanel/scrollpanel.d.ts +7 -5
  496. package/scrollpanel/scrollpanel.esm.js +33 -3
  497. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  498. package/scrollpanel/scrollpanel.js +33 -3
  499. package/scrollpanel/scrollpanel.min.js +1 -1
  500. package/scrolltop/scrolltop.cjs.js +25 -0
  501. package/scrolltop/scrolltop.cjs.min.js +1 -1
  502. package/scrolltop/scrolltop.d.ts +3 -1
  503. package/scrolltop/scrolltop.esm.js +25 -0
  504. package/scrolltop/scrolltop.esm.min.js +1 -1
  505. package/scrolltop/scrolltop.js +25 -0
  506. package/scrolltop/scrolltop.min.js +1 -1
  507. package/selectbutton/selectbutton.cjs.js +25 -0
  508. package/selectbutton/selectbutton.cjs.min.js +1 -1
  509. package/selectbutton/selectbutton.d.ts +4 -5
  510. package/selectbutton/selectbutton.esm.js +25 -0
  511. package/selectbutton/selectbutton.esm.min.js +1 -1
  512. package/selectbutton/selectbutton.js +25 -0
  513. package/selectbutton/selectbutton.min.js +1 -1
  514. package/sidebar/sidebar.cjs.js +31 -0
  515. package/sidebar/sidebar.cjs.min.js +1 -1
  516. package/sidebar/sidebar.d.ts +6 -5
  517. package/sidebar/sidebar.esm.js +31 -0
  518. package/sidebar/sidebar.esm.min.js +1 -1
  519. package/sidebar/sidebar.js +31 -0
  520. package/sidebar/sidebar.min.js +1 -1
  521. package/skeleton/skeleton.cjs.js +27 -0
  522. package/skeleton/skeleton.cjs.min.js +1 -1
  523. package/skeleton/skeleton.d.ts +4 -4
  524. package/skeleton/skeleton.esm.js +27 -0
  525. package/skeleton/skeleton.esm.min.js +1 -1
  526. package/skeleton/skeleton.js +27 -0
  527. package/skeleton/skeleton.min.js +1 -1
  528. package/slidemenu/slidemenu.cjs.js +28 -21
  529. package/slidemenu/slidemenu.cjs.min.js +1 -1
  530. package/slidemenu/slidemenu.d.ts +2 -4
  531. package/slidemenu/slidemenu.esm.js +28 -21
  532. package/slidemenu/slidemenu.esm.min.js +1 -1
  533. package/slidemenu/slidemenu.js +28 -21
  534. package/slidemenu/slidemenu.min.js +1 -1
  535. package/slider/slider.cjs.js +25 -0
  536. package/slider/slider.cjs.min.js +1 -1
  537. package/slider/slider.d.ts +4 -6
  538. package/slider/slider.esm.js +25 -0
  539. package/slider/slider.esm.min.js +1 -1
  540. package/slider/slider.js +25 -0
  541. package/slider/slider.min.js +1 -1
  542. package/speeddial/speeddial.cjs.js +6 -3
  543. package/speeddial/speeddial.cjs.min.js +1 -1
  544. package/speeddial/speeddial.d.ts +2 -4
  545. package/speeddial/speeddial.esm.js +6 -3
  546. package/speeddial/speeddial.esm.min.js +1 -1
  547. package/speeddial/speeddial.js +6 -3
  548. package/speeddial/speeddial.min.js +1 -1
  549. package/splitbutton/splitbutton.cjs.js +28 -3
  550. package/splitbutton/splitbutton.cjs.min.js +1 -1
  551. package/splitbutton/splitbutton.d.ts +4 -5
  552. package/splitbutton/splitbutton.esm.js +28 -3
  553. package/splitbutton/splitbutton.esm.min.js +1 -1
  554. package/splitbutton/splitbutton.js +28 -3
  555. package/splitbutton/splitbutton.min.js +1 -1
  556. package/splitter/splitter.cjs.js +34 -5
  557. package/splitter/splitter.cjs.min.js +1 -1
  558. package/splitter/splitter.d.ts +4 -5
  559. package/splitter/splitter.esm.js +35 -6
  560. package/splitter/splitter.esm.min.js +1 -1
  561. package/splitter/splitter.js +34 -5
  562. package/splitter/splitter.min.js +1 -1
  563. package/steps/steps.cjs.js +29 -0
  564. package/steps/steps.cjs.min.js +1 -1
  565. package/steps/steps.d.ts +4 -5
  566. package/steps/steps.esm.js +29 -0
  567. package/steps/steps.esm.min.js +1 -1
  568. package/steps/steps.js +29 -0
  569. package/steps/steps.min.js +1 -1
  570. package/styleclass/styleclass.cjs.js +40 -17
  571. package/styleclass/styleclass.cjs.min.js +1 -1
  572. package/styleclass/styleclass.d.ts +5 -2
  573. package/styleclass/styleclass.esm.js +40 -17
  574. package/styleclass/styleclass.esm.min.js +1 -1
  575. package/styleclass/styleclass.js +40 -17
  576. package/styleclass/styleclass.min.js +1 -1
  577. package/tabmenu/tabmenu.cjs.js +27 -0
  578. package/tabmenu/tabmenu.cjs.min.js +1 -1
  579. package/tabmenu/tabmenu.d.ts +4 -5
  580. package/tabmenu/tabmenu.esm.js +27 -0
  581. package/tabmenu/tabmenu.esm.min.js +1 -1
  582. package/tabmenu/tabmenu.js +27 -0
  583. package/tabmenu/tabmenu.min.js +1 -1
  584. package/tabview/tabview.cjs.js +8 -3
  585. package/tabview/tabview.cjs.min.js +1 -1
  586. package/tabview/tabview.d.ts +2 -4
  587. package/tabview/tabview.esm.js +8 -3
  588. package/tabview/tabview.esm.min.js +1 -1
  589. package/tabview/tabview.js +8 -3
  590. package/tabview/tabview.min.js +1 -1
  591. package/tag/tag.cjs.js +12 -0
  592. package/tag/tag.cjs.min.js +1 -1
  593. package/tag/tag.d.ts +5 -5
  594. package/tag/tag.esm.js +12 -0
  595. package/tag/tag.esm.min.js +1 -1
  596. package/tag/tag.js +12 -0
  597. package/tag/tag.min.js +1 -1
  598. package/terminal/terminal.cjs.js +26 -1
  599. package/terminal/terminal.cjs.min.js +1 -1
  600. package/terminal/terminal.d.ts +4 -5
  601. package/terminal/terminal.esm.js +27 -2
  602. package/terminal/terminal.esm.min.js +1 -1
  603. package/terminal/terminal.js +26 -1
  604. package/terminal/terminal.min.js +1 -1
  605. package/tieredmenu/tieredmenu.cjs.js +27 -4
  606. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  607. package/tieredmenu/tieredmenu.d.ts +2 -4
  608. package/tieredmenu/tieredmenu.esm.js +27 -4
  609. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  610. package/tieredmenu/tieredmenu.js +27 -4
  611. package/tieredmenu/tieredmenu.min.js +1 -1
  612. package/timeline/timeline.cjs.js +13 -0
  613. package/timeline/timeline.cjs.min.js +1 -1
  614. package/timeline/timeline.d.ts +4 -5
  615. package/timeline/timeline.esm.js +13 -0
  616. package/timeline/timeline.esm.min.js +1 -1
  617. package/timeline/timeline.js +13 -0
  618. package/timeline/timeline.min.js +1 -1
  619. package/toast/toast.cjs.js +18 -17
  620. package/toast/toast.cjs.min.js +1 -1
  621. package/toast/toast.d.ts +4 -5
  622. package/toast/toast.esm.js +18 -17
  623. package/toast/toast.esm.min.js +1 -1
  624. package/toast/toast.js +18 -17
  625. package/toast/toast.min.css +1 -1
  626. package/toast/toast.min.js +1 -1
  627. package/togglebutton/togglebutton.cjs.js +25 -0
  628. package/togglebutton/togglebutton.cjs.min.js +1 -1
  629. package/togglebutton/togglebutton.d.ts +4 -6
  630. package/togglebutton/togglebutton.esm.js +25 -0
  631. package/togglebutton/togglebutton.esm.min.js +1 -1
  632. package/togglebutton/togglebutton.js +25 -0
  633. package/togglebutton/togglebutton.min.js +1 -1
  634. package/toolbar/toolbar.cjs.js +27 -0
  635. package/toolbar/toolbar.cjs.min.js +1 -1
  636. package/toolbar/toolbar.d.ts +4 -5
  637. package/toolbar/toolbar.esm.js +27 -0
  638. package/toolbar/toolbar.esm.min.js +1 -1
  639. package/toolbar/toolbar.js +27 -0
  640. package/toolbar/toolbar.min.js +1 -1
  641. package/tooltip/tooltip.cjs.js +76 -53
  642. package/tooltip/tooltip.cjs.min.js +1 -1
  643. package/tooltip/tooltip.d.ts +2 -0
  644. package/tooltip/tooltip.esm.js +76 -53
  645. package/tooltip/tooltip.esm.min.js +1 -1
  646. package/tooltip/tooltip.js +76 -53
  647. package/tooltip/tooltip.min.js +1 -1
  648. package/tree/tree.cjs.js +51 -9
  649. package/tree/tree.cjs.min.js +1 -1
  650. package/tree/tree.d.ts +9 -0
  651. package/tree/tree.esm.js +51 -9
  652. package/tree/tree.esm.min.js +1 -1
  653. package/tree/tree.js +51 -9
  654. package/tree/tree.min.js +1 -1
  655. package/treeselect/treeselect.cjs.js +34 -5
  656. package/treeselect/treeselect.cjs.min.js +1 -1
  657. package/treeselect/treeselect.d.ts +11 -5
  658. package/treeselect/treeselect.esm.js +34 -5
  659. package/treeselect/treeselect.esm.min.js +1 -1
  660. package/treeselect/treeselect.js +34 -5
  661. package/treeselect/treeselect.min.js +1 -1
  662. package/treetable/treetable.cjs.js +12 -8
  663. package/treetable/treetable.cjs.min.js +1 -1
  664. package/treetable/treetable.d.ts +4 -3
  665. package/treetable/treetable.esm.js +12 -8
  666. package/treetable/treetable.esm.min.js +1 -1
  667. package/treetable/treetable.js +12 -8
  668. package/treetable/treetable.min.js +1 -1
  669. package/tristatecheckbox/tristatecheckbox.cjs.js +25 -0
  670. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  671. package/tristatecheckbox/tristatecheckbox.d.ts +3 -5
  672. package/tristatecheckbox/tristatecheckbox.esm.js +25 -0
  673. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  674. package/tristatecheckbox/tristatecheckbox.js +25 -0
  675. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  676. package/utils/utils.cjs.js +21 -5
  677. package/utils/utils.cjs.min.js +1 -1
  678. package/utils/utils.d.ts +1 -0
  679. package/utils/utils.esm.js +21 -5
  680. package/utils/utils.esm.min.js +1 -1
  681. package/utils/utils.js +21 -5
  682. package/utils/utils.min.js +1 -1
  683. package/virtualscroller/virtualscroller.cjs.js +157 -68
  684. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  685. package/virtualscroller/virtualscroller.d.ts +12 -0
  686. package/virtualscroller/virtualscroller.esm.js +159 -70
  687. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  688. package/virtualscroller/virtualscroller.js +157 -68
  689. package/virtualscroller/virtualscroller.min.css +1 -1
  690. package/virtualscroller/virtualscroller.min.js +1 -1
  691. package/web-types.json +301 -5
@@ -157,7 +157,7 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
157
157
  numToleratedItemsState = _React$useState8[0],
158
158
  setNumToleratedItemsState = _React$useState8[1];
159
159
 
160
- var _React$useState9 = React__namespace.useState(props.loading),
160
+ var _React$useState9 = React__namespace.useState(props.loading || false),
161
161
  _React$useState10 = _slicedToArray(_React$useState9, 2),
162
162
  loadingState = _React$useState10[0],
163
163
  setLoadingState = _React$useState10[1];
@@ -180,10 +180,39 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
180
180
  left: 0
181
181
  } : 0);
182
182
  var scrollTimeout = React__namespace.useRef(null);
183
+ var resizeTimeout = React__namespace.useRef(null);
184
+ var defaultWidth = React__namespace.useRef(null);
185
+ var defaultHeight = React__namespace.useRef(null);
183
186
  var prevItems = hooks.usePrevious(props.items);
184
187
  var prevLoading = hooks.usePrevious(props.loading);
185
188
 
189
+ var _useResizeListener = hooks.useResizeListener({
190
+ listener: function listener(event) {
191
+ return onResize(event);
192
+ }
193
+ }),
194
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
195
+ bindWindowResizeListener = _useResizeListener2[0];
196
+
197
+ var _useEventListener = hooks.useEventListener({
198
+ target: 'window',
199
+ type: 'orientationchange',
200
+ listener: function listener(event) {
201
+ return onResize(event);
202
+ }
203
+ }),
204
+ _useEventListener2 = _slicedToArray(_useEventListener, 1),
205
+ bindOrientationChangeListener = _useEventListener2[0];
206
+
207
+ var getElementRef = function getElementRef() {
208
+ return elementRef;
209
+ };
210
+
186
211
  var scrollTo = function scrollTo(options) {
212
+ lastScrollPos.current = both ? {
213
+ top: 0,
214
+ left: 0
215
+ } : 0;
187
216
  elementRef.current && elementRef.current.scrollTo(options);
188
217
  };
189
218
 
@@ -193,9 +222,6 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
193
222
  var _calculateNumItems = calculateNumItems(),
194
223
  numToleratedItems = _calculateNumItems.numToleratedItems;
195
224
 
196
- var itemSize = props.itemSize;
197
- var contentPos = getContentPosition();
198
-
199
225
  var calculateFirst = function calculateFirst() {
200
226
  var _index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
201
227
 
@@ -204,8 +230,8 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
204
230
  return _index <= _numT ? 0 : _index;
205
231
  };
206
232
 
207
- var calculateCoord = function calculateCoord(_first, _size, _cpos) {
208
- return _first * _size + _cpos;
233
+ var calculateCoord = function calculateCoord(_first, _size) {
234
+ return _first * _size;
209
235
  };
210
236
 
211
237
  var scrollToItem = function scrollToItem() {
@@ -225,15 +251,13 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
225
251
  };
226
252
 
227
253
  if (newFirst.rows !== firstState.rows || newFirst.cols !== firstState.cols) {
228
- scrollToItem(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));
229
- setFirstState(newFirst);
254
+ scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1]), calculateCoord(newFirst.rows, props.itemSize[0]));
230
255
  }
231
256
  } else {
232
257
  var _newFirst = calculateFirst(index, numToleratedItems);
233
258
 
234
259
  if (_newFirst !== firstState) {
235
- horizontal ? scrollToItem(calculateCoord(_newFirst, itemSize, contentPos.left), 0) : scrollToItem(0, calculateCoord(_newFirst, itemSize, contentPos.top));
236
- setFirstState(_newFirst);
260
+ horizontal ? scrollToItem(calculateCoord(_newFirst, props.itemSize), 0) : scrollToItem(0, calculateCoord(_newFirst, props.itemSize));
237
261
  }
238
262
  }
239
263
  };
@@ -246,8 +270,6 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
246
270
  first = _getRenderedRange.first,
247
271
  viewport = _getRenderedRange.viewport;
248
272
 
249
- var itemSize = props.itemSize;
250
-
251
273
  var scrollToItem = function scrollToItem() {
252
274
  var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
253
275
  var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
@@ -264,26 +286,26 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
264
286
  if (isToStart) {
265
287
  if (both) {
266
288
  if (viewport.first.rows - first.rows > index[0]) {
267
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows - 1) * itemSize);
289
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows - 1) * props.itemSize[0]);
268
290
  } else if (viewport.first.cols - first.cols > index[1]) {
269
- scrollToItem((viewport.first.cols - 1) * itemSize, viewport.first.rows * itemSize);
291
+ scrollToItem((viewport.first.cols - 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
270
292
  }
271
293
  } else {
272
294
  if (viewport.first - first > index) {
273
- var pos = (viewport.first - 1) * itemSize;
295
+ var pos = (viewport.first - 1) * props.itemSize;
274
296
  horizontal ? scrollToItem(pos, 0) : scrollToItem(0, pos);
275
297
  }
276
298
  }
277
299
  } else if (isToEnd) {
278
300
  if (both) {
279
301
  if (viewport.last.rows - first.rows <= index[0] + 1) {
280
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows + 1) * itemSize);
302
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows + 1) * props.itemSize[0]);
281
303
  } else if (viewport.last.cols - first.cols <= index[1] + 1) {
282
- scrollToItem((viewport.first.cols + 1) * itemSize, viewport.first.rows * itemSize);
304
+ scrollToItem((viewport.first.cols + 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
283
305
  }
284
306
  } else {
285
307
  if (viewport.last - first <= index + 1) {
286
- var _pos2 = (viewport.first + 1) * itemSize;
308
+ var _pos2 = (viewport.first + 1) * props.itemSize;
287
309
 
288
310
  horizontal ? scrollToItem(_pos2, 0) : scrollToItem(0, _pos2);
289
311
  }
@@ -299,18 +321,14 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
299
321
  };
300
322
 
301
323
  var getColumns = function getColumns() {
302
- if (props.columns) {
303
- if (both || horizontal) {
304
- return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
305
- }
324
+ if (props.columns && both || horizontal) {
325
+ return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
306
326
  }
307
327
 
308
328
  return props.columns;
309
329
  };
310
330
 
311
331
  var getRenderedRange = function getRenderedRange() {
312
- var itemSize = props.itemSize;
313
-
314
332
  var calculateFirstInViewport = function calculateFirstInViewport(_pos, _size) {
315
333
  return Math.floor(_pos / (_size || _pos));
316
334
  };
@@ -319,13 +337,14 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
319
337
  var lastInViewport = 0;
320
338
 
321
339
  if (elementRef.current) {
322
- var scrollTop = elementRef.current.scrollTop;
323
- var scrollLeft = elementRef.current.scrollLeft;
340
+ var _elementRef$current = elementRef.current,
341
+ scrollTop = _elementRef$current.scrollTop,
342
+ scrollLeft = _elementRef$current.scrollLeft;
324
343
 
325
344
  if (both) {
326
345
  firstInViewport = {
327
- rows: calculateFirstInViewport(scrollTop, itemSize[0]),
328
- cols: calculateFirstInViewport(scrollLeft, itemSize[1])
346
+ rows: calculateFirstInViewport(scrollTop, props.itemSize[0]),
347
+ cols: calculateFirstInViewport(scrollLeft, props.itemSize[1])
329
348
  };
330
349
  lastInViewport = {
331
350
  rows: firstInViewport.rows + numItemsInViewportState.rows,
@@ -333,7 +352,7 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
333
352
  };
334
353
  } else {
335
354
  var scrollPos = horizontal ? scrollLeft : scrollTop;
336
- firstInViewport = calculateFirstInViewport(scrollPos, itemSize);
355
+ firstInViewport = calculateFirstInViewport(scrollPos, props.itemSize);
337
356
  lastInViewport = firstInViewport + numItemsInViewportState;
338
357
  }
339
358
  }
@@ -349,7 +368,6 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
349
368
  };
350
369
 
351
370
  var calculateNumItems = function calculateNumItems() {
352
- var itemSize = props.itemSize;
353
371
  var contentPos = getContentPosition();
354
372
  var contentWidth = elementRef.current ? elementRef.current.offsetWidth - contentPos.left : 0;
355
373
  var contentHeight = elementRef.current ? elementRef.current.offsetHeight - contentPos.top : 0;
@@ -363,9 +381,9 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
363
381
  };
364
382
 
365
383
  var numItemsInViewport = both ? {
366
- rows: calculateNumItemsInViewport(contentHeight, itemSize[0]),
367
- cols: calculateNumItemsInViewport(contentWidth, itemSize[1])
368
- } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, itemSize);
384
+ rows: calculateNumItemsInViewport(contentHeight, props.itemSize[0]),
385
+ cols: calculateNumItemsInViewport(contentWidth, props.itemSize[1])
386
+ } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, props.itemSize);
369
387
  var numToleratedItems = numToleratedItemsState || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));
370
388
  return {
371
389
  numItemsInViewport: numItemsInViewport,
@@ -410,15 +428,26 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
410
428
  }
411
429
  };
412
430
 
431
+ var calculateAutoSize = function calculateAutoSize(loading) {
432
+ if (props.autoSize && !loading) {
433
+ Promise.resolve().then(function () {
434
+ if (_contentRef.current) {
435
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = 'auto';
436
+ var _contentRef$current = _contentRef.current,
437
+ offsetWidth = _contentRef$current.offsetWidth,
438
+ offsetHeight = _contentRef$current.offsetHeight;
439
+ (both || horizontal) && (elementRef.current.style.width = (offsetWidth < defaultWidth.current ? offsetWidth : defaultWidth.current) + 'px');
440
+ (both || vertical) && (elementRef.current.style.height = (offsetHeight < defaultHeight.current ? offsetHeight : defaultHeight.current) + 'px');
441
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = '';
442
+ }
443
+ });
444
+ }
445
+ };
446
+
413
447
  var getLast = function getLast() {
414
448
  var last = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
415
449
  var isCols = arguments.length > 1 ? arguments[1] : undefined;
416
-
417
- if (props.items) {
418
- return Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last);
419
- }
420
-
421
- return 0;
450
+ return props.items ? Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last) : 0;
422
451
  };
423
452
 
424
453
  var getContentPosition = function getContentPosition() {
@@ -471,7 +500,6 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
471
500
  var items = props.items;
472
501
 
473
502
  if (_spacerRef.current && items) {
474
- var itemSize = props.itemSize;
475
503
  var contentPos = getContentPosition();
476
504
 
477
505
  var setProp = function setProp(_name, _value, _size) {
@@ -481,10 +509,10 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
481
509
  };
482
510
 
483
511
  if (both) {
484
- setProp('height', items, itemSize[0], contentPos.y);
485
- setProp('width', props.columns || items[1], itemSize[1], contentPos.x);
512
+ setProp('height', items, props.itemSize[0], contentPos.y);
513
+ setProp('width', props.columns || items[1], props.itemSize[1], contentPos.x);
486
514
  } else {
487
- horizontal ? setProp('width', props.columns || items, itemSize, contentPos.x) : setProp('height', items, itemSize, contentPos.y);
515
+ horizontal ? setProp('width', props.columns || items, props.itemSize, contentPos.x) : setProp('height', items, props.itemSize, contentPos.y);
488
516
  }
489
517
  }
490
518
  };
@@ -492,7 +520,6 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
492
520
  var setContentPosition = function setContentPosition(pos) {
493
521
  if (_contentRef.current) {
494
522
  var first = pos ? pos.first : firstState;
495
- var itemSize = props.itemSize;
496
523
 
497
524
  var calculateTranslateVal = function calculateTranslateVal(_first, _size) {
498
525
  return _first * _size;
@@ -508,9 +535,9 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
508
535
  };
509
536
 
510
537
  if (both) {
511
- setTransform(calculateTranslateVal(first.cols, itemSize[1]), calculateTranslateVal(first.rows, itemSize[0]));
538
+ setTransform(calculateTranslateVal(first.cols, props.itemSize[1]), calculateTranslateVal(first.rows, props.itemSize[0]));
512
539
  } else {
513
- var translateVal = calculateTranslateVal(first, itemSize);
540
+ var translateVal = calculateTranslateVal(first, props.itemSize);
514
541
  horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);
515
542
  }
516
543
  }
@@ -518,7 +545,6 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
518
545
 
519
546
  var onScrollPositionChange = function onScrollPositionChange(event) {
520
547
  var target = event.target;
521
- var itemSize = props.itemSize;
522
548
  var contentPos = getContentPosition();
523
549
 
524
550
  var calculateScrollPos = function calculateScrollPos(_pos, _cpos) {
@@ -549,16 +575,20 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
549
575
 
550
576
  var scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
551
577
  var scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
552
- var newFirst = 0;
578
+ var newFirst = both ? {
579
+ rows: 0,
580
+ cols: 0
581
+ } : 0;
553
582
  var newLast = lastState;
554
583
  var isRangeChanged = false;
584
+ var newScrollPos = lastScrollPos.current;
555
585
 
556
586
  if (both) {
557
587
  var isScrollDown = lastScrollPos.current.top <= scrollTop;
558
588
  var isScrollRight = lastScrollPos.current.left <= scrollLeft;
559
589
  var currentIndex = {
560
- rows: calculateCurrentIndex(scrollTop, itemSize[0]),
561
- cols: calculateCurrentIndex(scrollLeft, itemSize[1])
590
+ rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
591
+ cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
562
592
  };
563
593
  var triggerIndex = {
564
594
  rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
@@ -572,8 +602,8 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
572
602
  rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
573
603
  cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
574
604
  };
575
- isRangeChanged = newFirst.rows !== firstState.rows && newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols && newLast.cols !== lastState.cols;
576
- lastScrollPos.current = {
605
+ isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols;
606
+ newScrollPos = {
577
607
  top: scrollTop,
578
608
  left: scrollLeft
579
609
  };
@@ -581,20 +611,21 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
581
611
  var scrollPos = horizontal ? scrollLeft : scrollTop;
582
612
  var isScrollDownOrRight = lastScrollPos.current <= scrollPos;
583
613
 
584
- var _currentIndex2 = calculateCurrentIndex(scrollPos, itemSize);
614
+ var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
585
615
 
586
616
  var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
587
617
 
588
618
  newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
589
619
  newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
590
- isRangeChanged = newFirst !== firstState && newLast !== lastState;
591
- lastScrollPos.current = scrollPos;
620
+ isRangeChanged = newFirst !== firstState || newLast !== lastState;
621
+ newScrollPos = scrollPos;
592
622
  }
593
623
 
594
624
  return {
595
625
  first: newFirst,
596
626
  last: newLast,
597
- isRangeChanged: isRangeChanged
627
+ isRangeChanged: isRangeChanged,
628
+ scrollPos: newScrollPos
598
629
  };
599
630
  };
600
631
 
@@ -602,7 +633,8 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
602
633
  var _onScrollPositionChan = onScrollPositionChange(event),
603
634
  first = _onScrollPositionChan.first,
604
635
  last = _onScrollPositionChan.last,
605
- isRangeChanged = _onScrollPositionChan.isRangeChanged;
636
+ isRangeChanged = _onScrollPositionChan.isRangeChanged,
637
+ scrollPos = _onScrollPositionChan.scrollPos;
606
638
 
607
639
  if (isRangeChanged) {
608
640
  var newState = {
@@ -612,6 +644,7 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
612
644
  setContentPosition(newState);
613
645
  setFirstState(first);
614
646
  setLastState(last);
647
+ lastScrollPos.current = scrollPos;
615
648
  props.onScrollIndexChange && props.onScrollIndexChange(newState);
616
649
 
617
650
  if (props.lazy) {
@@ -638,7 +671,7 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
638
671
  scrollTimeout.current = setTimeout(function () {
639
672
  onScrollChange(event);
640
673
 
641
- if (loadingState && props.showLoader && !props.lazy) {
674
+ if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
642
675
  setLoadingState(false);
643
676
  }
644
677
  }, props.delay);
@@ -647,10 +680,32 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
647
680
  }
648
681
  };
649
682
 
683
+ var onResize = function onResize() {
684
+ if (resizeTimeout.current) {
685
+ clearTimeout(resizeTimeout.current);
686
+ }
687
+
688
+ resizeTimeout.current = setTimeout(function () {
689
+ if (elementRef.current) {
690
+ var _ref = [utils.DomHandler.getWidth(elementRef.current), utils.DomHandler.getHeight(elementRef.current)],
691
+ width = _ref[0],
692
+ height = _ref[1];
693
+ var isDiffWidth = width !== defaultWidth.current,
694
+ isDiffHeight = height !== defaultHeight.current;
695
+ var reinit = both ? isDiffWidth || isDiffHeight : horizontal ? isDiffWidth : vertical ? isDiffHeight : false;
696
+
697
+ if (reinit) {
698
+ setNumToleratedItemsState(props.numToleratedItems);
699
+ defaultWidth.current = width;
700
+ defaultHeight.current = height;
701
+ }
702
+ }
703
+ }, props.resizeDelay);
704
+ };
705
+
650
706
  var getOptions = function getOptions(renderedIndex) {
651
- var first = firstState;
652
707
  var count = (props.items || []).length;
653
- var index = both ? first.rows + renderedIndex : first + renderedIndex;
708
+ var index = both ? firstState.rows + renderedIndex : firstState + renderedIndex;
654
709
  return {
655
710
  index: index,
656
711
  count: count,
@@ -688,25 +743,48 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
688
743
  };
689
744
 
690
745
  var init = function init() {
691
- setSize();
692
- calculateOptions();
693
- setSpacerSize();
746
+ if (!props.disabled) {
747
+ setSize();
748
+ calculateOptions();
749
+ setSpacerSize();
750
+ }
694
751
  };
695
752
 
696
753
  hooks.useMountEffect(function () {
697
- init();
754
+ if (!props.disabled) {
755
+ init();
756
+ bindWindowResizeListener();
757
+ bindOrientationChangeListener();
758
+ defaultWidth.current = utils.DomHandler.getWidth(elementRef.current);
759
+ defaultHeight.current = utils.DomHandler.getHeight(elementRef.current);
760
+ }
698
761
  });
699
762
  hooks.useUpdateEffect(function () {
700
763
  init();
701
764
  }, [props.itemSize, props.scrollHeight]);
765
+ hooks.useUpdateEffect(function () {
766
+ if (props.numToleratedItems !== numToleratedItemsState) {
767
+ setNumToleratedItemsState(props.numToleratedItems);
768
+ }
769
+ }, [props.numToleratedItems]);
770
+ hooks.useUpdateEffect(function () {
771
+ if (props.numToleratedItems === numToleratedItemsState) {
772
+ init(); // reinit after resizing
773
+ }
774
+ }, [numToleratedItemsState]);
702
775
  hooks.useUpdateEffect(function () {
703
776
  if (!prevItems || prevItems.length !== (props.items || []).length) {
704
777
  init();
705
778
  }
706
779
 
780
+ var loading = loadingState;
781
+
707
782
  if (props.lazy && prevLoading !== props.loading && props.loading !== loadingState) {
708
783
  setLoadingState(props.loading);
784
+ loading = props.loading;
709
785
  }
786
+
787
+ calculateAutoSize(loading);
710
788
  });
711
789
  hooks.useUpdateEffect(function () {
712
790
  lastScrollPos.current = both ? {
@@ -715,12 +793,13 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
715
793
  } : 0;
716
794
  }, [props.orientation]);
717
795
  React__namespace.useImperativeHandle(ref, function () {
718
- return {
796
+ return _objectSpread({
797
+ getElementRef: getElementRef,
719
798
  scrollTo: scrollTo,
720
799
  scrollToIndex: scrollToIndex,
721
800
  scrollInView: scrollInView,
722
801
  getRenderedRange: getRenderedRange
723
- };
802
+ }, props);
724
803
  });
725
804
 
726
805
  var createLoaderItem = function createLoaderItem(index) {
@@ -747,6 +826,13 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
747
826
  numCols: numItemsInViewportState.cols
748
827
  });
749
828
  });
829
+ } else if (props.loaderIconTemplate) {
830
+ var defaultContentOptions = {
831
+ className: 'p-virtualscroller-loading-icon',
832
+ element: content,
833
+ props: props
834
+ };
835
+ content = utils.ObjectUtils.getJSXElement(props.loaderIconTemplate, defaultContentOptions);
750
836
  }
751
837
 
752
838
  return /*#__PURE__*/React__namespace.createElement("div", {
@@ -803,7 +889,7 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
803
889
  stickyRef: function stickyRef(el) {
804
890
  return _stickyRef.current = utils.ObjectUtils.getRefElement(el);
805
891
  },
806
- items: loadedItems,
892
+ items: loadedItems(),
807
893
  getItemOptions: function getItemOptions(index) {
808
894
  return getOptions(index);
809
895
  },
@@ -869,14 +955,17 @@ VirtualScroller.defaultProps = {
869
955
  orientation: 'vertical',
870
956
  numToleratedItems: null,
871
957
  delay: 0,
958
+ resizeDelay: 10,
872
959
  lazy: false,
873
960
  disabled: false,
874
961
  loaderDisabled: false,
875
962
  columns: null,
876
- loading: false,
963
+ loading: undefined,
964
+ autoSize: false,
877
965
  showSpacer: true,
878
966
  showLoader: false,
879
967
  loadingTemplate: null,
968
+ loaderIconTemplate: null,
880
969
  itemTemplate: null,
881
970
  contentTemplate: null,
882
971
  onScroll: null,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/hooks"),r=require("primereact/utils");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=n(e);function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(this,arguments)}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){if(Array.isArray(e))return e}function a(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l=[],s=!0,i=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==r.return||r.return()}finally{if(i)throw o}}return l}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e,t){return i(e)||a(e,t)||u(e,t)||f()}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var g=o.memo(o.forwardRef((function(e,n){var s="vertical"===e.orientation,i="horizontal"===e.orientation,a="both"===e.orientation,c=m(o.useState(a?{rows:0,cols:0}:0),2),u=c[0],f=c[1],d=m(o.useState(a?{rows:0,cols:0}:0),2),h=d[0],v=d[1],w=m(o.useState(a?{rows:0,cols:0}:0),2),y=w[0],b=w[1],S=m(o.useState(e.numToleratedItems),2),O=S[0],j=S[1],I=m(o.useState(e.loading),2),T=I[0],x=I[1],z=m(o.useState([]),2),E=z[0],L=z[1],R=o.useRef(null),P=o.useRef(null),M=o.useRef(null),N=o.useRef(null),U=o.useRef(a?{top:0,left:0}:0),D=o.useRef(null),A=t.usePrevious(e.items),C=t.usePrevious(e.loading),H=function(e){R.current&&R.current.scrollTo(e)},k=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",n=W(),o=n.numToleratedItems,l=e.itemSize,s=X(),c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return e<=t?0:e},m=function(e,t,r){return e*t+r},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return H({left:e,top:t,behavior:r})};if(a){var p={rows:c(t[0],o[0]),cols:c(t[1],o[1])};p.rows===u.rows&&p.cols===u.cols||(d(m(p.cols,l[1],s.left),m(p.rows,l[0],s.top)),f(p))}else{var g=c(t,o);g!==u&&(i?d(m(g,l,s.left),0):d(0,m(g,l,s.top)),f(g))}},V=function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(r){var o=_(),l=o.first,s=o.viewport,c=e.itemSize,u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return H({left:e,top:t,behavior:n})},f="to-start"===r,m="to-end"===r;if(f){if(a)s.first.rows-l.rows>t[0]?u(s.first.cols*c,(s.first.rows-1)*c):s.first.cols-l.cols>t[1]&&u((s.first.cols-1)*c,s.first.rows*c);else if(s.first-l>t){var d=(s.first-1)*c;i?u(d,0):u(0,d)}}else if(m)if(a)s.last.rows-l.rows<=t[0]+1?u(s.first.cols*c,(s.first.rows+1)*c):s.last.cols-l.cols<=t[1]+1&&u((s.first.cols+1)*c,s.first.rows*c);else if(s.last-l<=t+1){var p=(s.first+1)*c;i?u(p,0):u(0,p)}}else k(t,n)},_=function(){var t=e.itemSize,r=function(e,t){return Math.floor(e/(t||e))},n=u,o=0;if(R.current){var l=R.current.scrollTop,s=R.current.scrollLeft;if(a)o={rows:(n={rows:r(l,t[0]),cols:r(s,t[1])}).rows+y.rows,cols:n.cols+y.cols};else o=(n=r(i?s:l,t))+y}return{first:u,last:h,viewport:{first:n,last:o}}},W=function(){var t=e.itemSize,r=X(),n=R.current?R.current.offsetWidth-r.left:0,o=R.current?R.current.offsetHeight-r.top:0,l=function(e,t){return Math.ceil(e/(t||e))},s=function(e){return Math.ceil(e/2)},c=a?{rows:l(o,t[0]),cols:l(n,t[1])}:l(i?n:o,t);return{numItemsInViewport:c,numToleratedItems:O||(a?[s(c.rows),s(c.cols)]:s(c))}},J=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1?arguments[1]:void 0;return e.items?Math.min(r?(e.columns||e.items[0]).length:e.items.length,t):0},X=function(){if(P.current){var e=getComputedStyle(P.current),t=parseInt(e.paddingLeft,10)+Math.max(parseInt(e.left,10),0),r=parseInt(e.paddingRight,10)+Math.max(parseInt(e.right,10),0),n=parseInt(e.paddingTop,10)+Math.max(parseInt(e.top,10),0),o=parseInt(e.paddingBottom,10)+Math.max(parseInt(e.bottom,10),0);return{left:t,right:r,top:n,bottom:o,x:t+r,y:n+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},q=function(){if(R.current){var t=R.current.parentElement,r=e.scrollWidth||"".concat(R.current.offsetWidth||t.offsetWidth,"px"),n=e.scrollHeight||"".concat(R.current.offsetHeight||t.offsetHeight,"px"),o=function(e,t){return R.current.style[e]=t};a||i?(o("height",n),o("width",r)):o("height",n)}},F=function(){var t=e.items;if(M.current&&t){var r=e.itemSize,n=X(),o=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return M.current.style[e]=(t||[]).length*r+n+"px"};a?(o("height",t,r[0],n.y),o("width",e.columns||t[1],r[1],n.x)):i?o("width",e.columns||t,r,n.x):o("height",t,r,n.y)}},B=function(t){if(P.current){var r=t?t.first:u,n=e.itemSize,o=function(e,t){return e*t},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;N.current&&(N.current.style.top="-".concat(t,"px")),P.current.style.transform="translate3d(".concat(e,"px, ").concat(t,"px, 0)")};if(a)l(o(r.cols,n[1]),o(r.rows,n[0]));else{var s=o(r,n);i?l(s,0):l(0,s)}}},K=function(t){var r=t.target,n=e.itemSize,o=X(),l=function(e,t){return e?e>t?e-t:e:0},s=function(e,t){return Math.floor(e/(t||e))},c=function(e,t,r,n,o,l){return e<=o?o:l?r-n-o:t+o-1},f=function(e,t,r,n,o,l,s){return e<=l?0:Math.max(0,s?e<t?r:e-l:e>t?r:e-2*l)},m=function(e,t,r,n,o,l){var s=t+n+2*o;return e>=o&&(s+=o+1),J(s,l)},d=l(r.scrollTop,o.top),p=l(r.scrollLeft,o.left),g=0,v=h,w=!1;if(a){var b=U.current.top<=d,S=U.current.left<=p,j={rows:s(d,n[0]),cols:s(p,n[1])},I={rows:c(j.rows,u.rows,h.rows,y.rows,O[0],b),cols:c(j.cols,u.cols,h.cols,y.cols,O[1],S)};g={rows:f(j.rows,I.rows,u.rows,0,0,O[0],b),cols:f(j.cols,I.cols,u.cols,0,0,O[1],S)},v={rows:m(j.rows,g.rows,0,y.rows,O[0]),cols:m(j.cols,g.cols,0,y.cols,O[1],!0)},w=g.rows!==u.rows&&v.rows!==h.rows||g.cols!==u.cols&&v.cols!==h.cols,U.current={top:d,left:p}}else{var T=i?p:d,x=U.current<=T,z=s(T,n);v=m(z,g=f(z,c(z,u,h,y,O,x),u,0,0,O,x),0,y,O),w=g!==u&&v!==h,U.current=T}return{first:g,last:v,isRangeChanged:w}},Y=function(t){var r=K(t),n=r.first,o=r.last;if(r.isRangeChanged){var l={first:n,last:o};B(l),f(n),v(o),e.onScrollIndexChange&&e.onScrollIndexChange(l),e.lazy&&e.onLazyLoad&&e.onLazyLoad(l)}},$=function(t){var r=(e.items||[]).length,n=a?u.rows+t:u+t;return{index:n,count:r,first:0===n,last:n===r-1,even:n%2==0,odd:n%2!=0,props:e}},G=function(t,r){var n=E.length;return p({index:t,count:n,first:0===t,last:t===n-1,even:t%2==0,odd:t%2!=0,props:e},r)},Q=function(){var t=e.items;return t&&!T?a?t.slice(u.rows,h.rows).map((function(t){return e.columns?t:t.slice(u.cols,h.cols)})):i&&e.columns?t:t.slice(u,h):[]},Z=function(){var t,r,n,o,l;q(),t=W(),r=t.numItemsInViewport,n=t.numToleratedItems,o=function(e,t,r,n){return J(e+t+(e<r?2:3)*r,n)},l=a?{rows:o(u.rows,r.rows,n[0]),cols:o(u.cols,r.cols,n[1],!0)}:o(u,r,n),b(r),j(n),v(l),e.showLoader&&L(a?Array.from({length:r.rows}).map((function(){return Array.from({length:r.cols})})):Array.from({length:r})),e.lazy&&e.onLazyLoad&&e.onLazyLoad({first:u,last:l}),F()};t.useMountEffect((function(){Z()})),t.useUpdateEffect((function(){Z()}),[e.itemSize,e.scrollHeight]),t.useUpdateEffect((function(){A&&A.length===(e.items||[]).length||Z(),e.lazy&&C!==e.loading&&e.loading!==T&&x(e.loading)})),t.useUpdateEffect((function(){U.current=a?{top:0,left:0}:0}),[e.orientation]),o.useImperativeHandle(n,(function(){return{scrollTo:H,scrollToIndex:k,scrollInView:V,getRenderedRange:_}}));var ee=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=G(t,n),s=r.ObjectUtils.getJSXElement(e.loadingTemplate,l);return o.createElement(o.Fragment,{key:t},s)},te=function(t,n){var l=$(n),s=r.ObjectUtils.getJSXElement(e.itemTemplate,t,l);return o.createElement(o.Fragment,{key:l.index},s)};if(e.disabled){var re=r.ObjectUtils.getJSXElement(e.contentTemplate,{items:e.items,rows:e.items,columns:e.columns});return o.createElement(o.Fragment,null,e.children,re)}var ne=r.ObjectUtils.findDiffKeys(e,g.defaultProps),oe=r.classNames("p-virtualscroller",{"p-both-scroll":a,"p-horizontal-scroll":i},e.className),le=function(){if(!e.loaderDisabled&&e.showLoader&&T){var t=r.classNames("p-virtualscroller-loader",{"p-component-overlay":!e.loadingTemplate}),n=o.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return e.loadingTemplate&&(n=E.map((function(e,t){return ee(t,a&&{numCols:y.cols})}))),o.createElement("div",{className:t},n)}return null}(),se=function(){var t=Q().map(te),n=r.classNames("p-virtualscroller-content",{"p-virtualscroller-loading":T}),l=o.createElement("div",{ref:P,className:n},t);if(e.contentTemplate){var c={className:n,contentRef:function(e){return P.current=r.ObjectUtils.getRefElement(e)},spacerRef:function(e){return M.current=r.ObjectUtils.getRefElement(e)},stickyRef:function(e){return N.current=r.ObjectUtils.getRefElement(e)},items:Q,getItemOptions:function(e){return $(e)},children:t,element:l,props:e,loading:T,getLoaderOptions:function(e,t){return G(e,t)},loadingTemplate:e.loadingTemplate,itemSize:e.itemSize,rows:T?e.loaderDisabled?E:[]:Q(),columns:e.columns&&(a||i)?T&&e.loaderDisabled?a?E[0]:E:e.columns.slice(a?u.cols:u,a?h.cols:h):e.columns,vertical:s,horizontal:i,both:a};return r.ObjectUtils.getJSXElement(e.contentTemplate,c)}return l}(),ie=e.showSpacer?o.createElement("div",{ref:M,className:"p-virtualscroller-spacer"}):null;return o.createElement("div",l({ref:R,className:oe,tabIndex:0,style:e.style},ne,{onScroll:function(t){e.onScroll&&e.onScroll(t),e.delay?(D.current&&clearTimeout(D.current),!T&&e.showLoader&&K(t).isRangeChanged&&x(!0),D.current=setTimeout((function(){Y(t),T&&e.showLoader&&!e.lazy&&x(!1)}),e.delay)):Y(t)}}),se,ie,le)})));g.displayName="VirtualScroller",g.defaultProps={__TYPE:"VirtualScroller",id:null,style:null,className:null,items:null,itemSize:0,scrollHeight:null,scrollWidth:null,orientation:"vertical",numToleratedItems:null,delay:0,lazy:!1,disabled:!1,loaderDisabled:!1,columns:null,loading:!1,showSpacer:!0,showLoader:!1,loadingTemplate:null,itemTemplate:null,contentTemplate:null,onScroll:null,onScrollIndexChange:null,onLazyLoad:null},exports.VirtualScroller=g;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/hooks"),r=require("primereact/utils");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=n(e);function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(this,arguments)}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){if(Array.isArray(e))return e}function c(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l=[],i=!0,s=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);i=!0);}catch(e){s=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw o}}return l}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t){if(e){if("string"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e,t){return s(e)||c(e,t)||u(e,t)||f()}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var g=o.memo(o.forwardRef((function(e,n){var i="vertical"===e.orientation,s="horizontal"===e.orientation,c="both"===e.orientation,a=m(o.useState(c?{rows:0,cols:0}:0),2),u=a[0],f=a[1],d=m(o.useState(c?{rows:0,cols:0}:0),2),h=d[0],v=d[1],w=m(o.useState(c?{rows:0,cols:0}:0),2),y=w[0],S=w[1],b=m(o.useState(e.numToleratedItems),2),z=b[0],O=b[1],T=m(o.useState(e.loading||!1),2),I=T[0],j=T[1],E=m(o.useState([]),2),x=E[0],R=E[1],L=o.useRef(null),P=o.useRef(null),D=o.useRef(null),H=o.useRef(null),U=o.useRef(c?{top:0,left:0}:0),M=o.useRef(null),N=o.useRef(null),W=o.useRef(null),A=o.useRef(null),C=t.usePrevious(e.items),k=t.usePrevious(e.loading),V=m(t.useResizeListener({listener:function(e){return ne(e)}}),1)[0],_=m(t.useEventListener({target:"window",type:"orientationchange",listener:function(e){return ne(e)}}),1)[0],J=function(){return L},X=function(e){U.current=c?{top:0,left:0}:0,L.current&&L.current.scrollTo(e)},q=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",n=K(),o=n.numToleratedItems,l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return e<=t?0:e},i=function(e,t){return e*t},a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return X({left:e,top:t,behavior:r})};if(c){var f={rows:l(t[0],o[0]),cols:l(t[1],o[1])};f.rows===u.rows&&f.cols===u.cols||a(i(f.cols,e.itemSize[1]),i(f.rows,e.itemSize[0]))}else{var m=l(t,o);m!==u&&(s?a(i(m,e.itemSize),0):a(0,i(m,e.itemSize)))}},F=function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(r){var o=B(),l=o.first,i=o.viewport,a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return X({left:e,top:t,behavior:n})},u="to-start"===r,f="to-end"===r;if(u){if(c)i.first.rows-l.rows>t[0]?a(i.first.cols*e.itemSize[1],(i.first.rows-1)*e.itemSize[0]):i.first.cols-l.cols>t[1]&&a((i.first.cols-1)*e.itemSize[1],i.first.rows*e.itemSize[0]);else if(i.first-l>t){var m=(i.first-1)*e.itemSize;s?a(m,0):a(0,m)}}else if(f)if(c)i.last.rows-l.rows<=t[0]+1?a(i.first.cols*e.itemSize[1],(i.first.rows+1)*e.itemSize[0]):i.last.cols-l.cols<=t[1]+1&&a((i.first.cols+1)*e.itemSize[1],i.first.rows*e.itemSize[0]);else if(i.last-l<=t+1){var d=(i.first+1)*e.itemSize;s?a(d,0):a(0,d)}}else q(t,n)},B=function(){var t=function(e,t){return Math.floor(e/(t||e))},r=u,n=0;if(L.current){var o=L.current,l=o.scrollTop,i=o.scrollLeft;if(c)n={rows:(r={rows:t(l,e.itemSize[0]),cols:t(i,e.itemSize[1])}).rows+y.rows,cols:r.cols+y.cols};else n=(r=t(s?i:l,e.itemSize))+y}return{first:u,last:h,viewport:{first:r,last:n}}},K=function(){var t=G(),r=L.current?L.current.offsetWidth-t.left:0,n=L.current?L.current.offsetHeight-t.top:0,o=function(e,t){return Math.ceil(e/(t||e))},l=function(e){return Math.ceil(e/2)},i=c?{rows:o(n,e.itemSize[0]),cols:o(r,e.itemSize[1])}:o(s?r:n,e.itemSize);return{numItemsInViewport:i,numToleratedItems:z||(c?[l(i.rows),l(i.cols)]:l(i))}},Y=function(t){e.autoSize&&!t&&Promise.resolve().then((function(){if(P.current){P.current.style.minHeight=P.current.style.minWidth="auto";var e=P.current,t=e.offsetWidth,r=e.offsetHeight;(c||s)&&(L.current.style.width=(t<W.current?t:W.current)+"px"),(c||i)&&(L.current.style.height=(r<A.current?r:A.current)+"px"),P.current.style.minHeight=P.current.style.minWidth=""}}))},$=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1?arguments[1]:void 0;return e.items?Math.min(r?(e.columns||e.items[0]).length:e.items.length,t):0},G=function(){if(P.current){var e=getComputedStyle(P.current),t=parseInt(e.paddingLeft,10)+Math.max(parseInt(e.left,10),0),r=parseInt(e.paddingRight,10)+Math.max(parseInt(e.right,10),0),n=parseInt(e.paddingTop,10)+Math.max(parseInt(e.top,10),0),o=parseInt(e.paddingBottom,10)+Math.max(parseInt(e.bottom,10),0);return{left:t,right:r,top:n,bottom:o,x:t+r,y:n+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},Q=function(){if(L.current){var t=L.current.parentElement,r=e.scrollWidth||"".concat(L.current.offsetWidth||t.offsetWidth,"px"),n=e.scrollHeight||"".concat(L.current.offsetHeight||t.offsetHeight,"px"),o=function(e,t){return L.current.style[e]=t};c||s?(o("height",n),o("width",r)):o("height",n)}},Z=function(){var t=e.items;if(D.current&&t){var r=G(),n=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return D.current.style[e]=(t||[]).length*r+n+"px"};c?(n("height",t,e.itemSize[0],r.y),n("width",e.columns||t[1],e.itemSize[1],r.x)):s?n("width",e.columns||t,e.itemSize,r.x):n("height",t,e.itemSize,r.y)}},ee=function(t){if(P.current){var r=t?t.first:u,n=function(e,t){return e*t},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;H.current&&(H.current.style.top="-".concat(t,"px")),P.current.style.transform="translate3d(".concat(e,"px, ").concat(t,"px, 0)")};if(c)o(n(r.cols,e.itemSize[1]),n(r.rows,e.itemSize[0]));else{var l=n(r,e.itemSize);s?o(l,0):o(0,l)}}},te=function(t){var r=t.target,n=G(),o=function(e,t){return e?e>t?e-t:e:0},l=function(e,t){return Math.floor(e/(t||e))},i=function(e,t,r,n,o,l){return e<=o?o:l?r-n-o:t+o-1},a=function(e,t,r,n,o,l,i){return e<=l?0:Math.max(0,i?e<t?r:e-l:e>t?r:e-2*l)},f=function(e,t,r,n,o,l){var i=t+n+2*o;return e>=o&&(i+=o+1),$(i,l)},m=o(r.scrollTop,n.top),d=o(r.scrollLeft,n.left),p=c?{rows:0,cols:0}:0,g=h,v=!1,w=U.current;if(c){var S=U.current.top<=m,b=U.current.left<=d,O={rows:l(m,e.itemSize[0]),cols:l(d,e.itemSize[1])},T={rows:i(O.rows,u.rows,h.rows,y.rows,z[0],S),cols:i(O.cols,u.cols,h.cols,y.cols,z[1],b)};p={rows:a(O.rows,T.rows,u.rows,0,0,z[0],S),cols:a(O.cols,T.cols,u.cols,0,0,z[1],b)},g={rows:f(O.rows,p.rows,0,y.rows,z[0]),cols:f(O.cols,p.cols,0,y.cols,z[1],!0)},v=p.rows!==u.rows||g.rows!==h.rows||p.cols!==u.cols||g.cols!==h.cols,w={top:m,left:d}}else{var I=s?d:m,j=U.current<=I,E=l(I,e.itemSize);g=f(E,p=a(E,i(E,u,h,y,z,j),u,0,0,z,j),0,y,z),v=p!==u||g!==h,w=I}return{first:p,last:g,isRangeChanged:v,scrollPos:w}},re=function(t){var r=te(t),n=r.first,o=r.last,l=r.scrollPos;if(r.isRangeChanged){var i={first:n,last:o};ee(i),f(n),v(o),U.current=l,e.onScrollIndexChange&&e.onScrollIndexChange(i),e.lazy&&e.onLazyLoad&&e.onLazyLoad(i)}},ne=function(){N.current&&clearTimeout(N.current),N.current=setTimeout((function(){if(L.current){var t=[r.DomHandler.getWidth(L.current),r.DomHandler.getHeight(L.current)],n=t[0],o=t[1],l=n!==W.current,a=o!==A.current;(c?l||a:s?l:!!i&&a)&&(O(e.numToleratedItems),W.current=n,A.current=o)}}),e.resizeDelay)},oe=function(t){var r=(e.items||[]).length,n=c?u.rows+t:u+t;return{index:n,count:r,first:0===n,last:n===r-1,even:n%2==0,odd:n%2!=0,props:e}},le=function(t,r){var n=x.length;return p({index:t,count:n,first:0===t,last:t===n-1,even:t%2==0,odd:t%2!=0,props:e},r)},ie=function(){var t=e.items;return t&&!I?c?t.slice(u.rows,h.rows).map((function(t){return e.columns?t:t.slice(u.cols,h.cols)})):s&&e.columns?t:t.slice(u,h):[]},se=function(){var t,r,n,o,l;e.disabled||(Q(),t=K(),r=t.numItemsInViewport,n=t.numToleratedItems,o=function(e,t,r,n){return $(e+t+(e<r?2:3)*r,n)},l=c?{rows:o(u.rows,r.rows,n[0]),cols:o(u.cols,r.cols,n[1],!0)}:o(u,r,n),S(r),O(n),v(l),e.showLoader&&R(c?Array.from({length:r.rows}).map((function(){return Array.from({length:r.cols})})):Array.from({length:r})),e.lazy&&e.onLazyLoad&&e.onLazyLoad({first:u,last:l}),Z())};t.useMountEffect((function(){e.disabled||(se(),V(),_(),W.current=r.DomHandler.getWidth(L.current),A.current=r.DomHandler.getHeight(L.current))})),t.useUpdateEffect((function(){se()}),[e.itemSize,e.scrollHeight]),t.useUpdateEffect((function(){e.numToleratedItems!==z&&O(e.numToleratedItems)}),[e.numToleratedItems]),t.useUpdateEffect((function(){e.numToleratedItems===z&&se()}),[z]),t.useUpdateEffect((function(){C&&C.length===(e.items||[]).length||se();var t=I;e.lazy&&k!==e.loading&&e.loading!==I&&(j(e.loading),t=e.loading),Y(t)})),t.useUpdateEffect((function(){U.current=c?{top:0,left:0}:0}),[e.orientation]),o.useImperativeHandle(n,(function(){return p({getElementRef:J,scrollTo:X,scrollToIndex:q,scrollInView:F,getRenderedRange:B},e)}));var ce=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=le(t,n),i=r.ObjectUtils.getJSXElement(e.loadingTemplate,l);return o.createElement(o.Fragment,{key:t},i)},ae=function(t,n){var l=oe(n),i=r.ObjectUtils.getJSXElement(e.itemTemplate,t,l);return o.createElement(o.Fragment,{key:l.index},i)};if(e.disabled){var ue=r.ObjectUtils.getJSXElement(e.contentTemplate,{items:e.items,rows:e.items,columns:e.columns});return o.createElement(o.Fragment,null,e.children,ue)}var fe=r.ObjectUtils.findDiffKeys(e,g.defaultProps),me=r.classNames("p-virtualscroller",{"p-both-scroll":c,"p-horizontal-scroll":s},e.className),de=function(){if(!e.loaderDisabled&&e.showLoader&&I){var t=r.classNames("p-virtualscroller-loader",{"p-component-overlay":!e.loadingTemplate}),n=o.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return e.loadingTemplate?n=x.map((function(e,t){return ce(t,c&&{numCols:y.cols})})):e.loaderIconTemplate&&(n=r.ObjectUtils.getJSXElement(e.loaderIconTemplate,{className:"p-virtualscroller-loading-icon",element:n,props:e})),o.createElement("div",{className:t},n)}return null}(),pe=function(){var t=ie().map(ae),n=r.classNames("p-virtualscroller-content",{"p-virtualscroller-loading":I}),l=o.createElement("div",{ref:P,className:n},t);if(e.contentTemplate){var a={className:n,contentRef:function(e){return P.current=r.ObjectUtils.getRefElement(e)},spacerRef:function(e){return D.current=r.ObjectUtils.getRefElement(e)},stickyRef:function(e){return H.current=r.ObjectUtils.getRefElement(e)},items:ie(),getItemOptions:function(e){return oe(e)},children:t,element:l,props:e,loading:I,getLoaderOptions:function(e,t){return le(e,t)},loadingTemplate:e.loadingTemplate,itemSize:e.itemSize,rows:I?e.loaderDisabled?x:[]:ie(),columns:e.columns&&c||s?I&&e.loaderDisabled?c?x[0]:x:e.columns.slice(c?u.cols:u,c?h.cols:h):e.columns,vertical:i,horizontal:s,both:c};return r.ObjectUtils.getJSXElement(e.contentTemplate,a)}return l}(),ge=e.showSpacer?o.createElement("div",{ref:D,className:"p-virtualscroller-spacer"}):null;return o.createElement("div",l({ref:L,className:me,tabIndex:0,style:e.style},fe,{onScroll:function(t){e.onScroll&&e.onScroll(t),e.delay?(M.current&&clearTimeout(M.current),!I&&e.showLoader&&te(t).isRangeChanged&&j(!0),M.current=setTimeout((function(){re(t),!I||!e.showLoader||e.lazy&&void 0!==e.loading||j(!1)}),e.delay)):re(t)}}),pe,ge,de)})));g.displayName="VirtualScroller",g.defaultProps={__TYPE:"VirtualScroller",id:null,style:null,className:null,items:null,itemSize:0,scrollHeight:null,scrollWidth:null,orientation:"vertical",numToleratedItems:null,delay:0,resizeDelay:10,lazy:!1,disabled:!1,loaderDisabled:!1,columns:null,loading:void 0,autoSize:!1,showSpacer:!0,showLoader:!1,loadingTemplate:null,loaderIconTemplate:null,itemTemplate:null,contentTemplate:null,onScroll:null,onScrollIndexChange:null,onLazyLoad:null},exports.VirtualScroller=g;
@@ -12,6 +12,8 @@ type VirtualScrollerToType = 'to-start' | 'to-end';
12
12
 
13
13
  type VirtualScrollerLoadingTemplateType = React.ReactNode | ((options: VirtualScrollerLoadingTemplateOptions) => React.ReactNode);
14
14
 
15
+ type VirtualScrollerLoaderIconTemplateType = React.ReactNode | ((options: VirtualScrollerLoaderIconTemplateOptions) => React.ReactNode);
16
+
15
17
  type VirtualScrollerItemTemplateType = React.ReactNode | ((item: any, options: VirtualScrollerTemplateOptions) => React.ReactNode);
16
18
 
17
19
  type VirtualScrollerContentTemplateType = React.ReactNode | ((options: VirtualScrollerContentTemplateOptions) => React.ReactNode);
@@ -57,6 +59,12 @@ interface VirtualScrollerLoadingTemplateOptions extends VirtualScrollerTemplateO
57
59
  [key: string]: any;
58
60
  }
59
61
 
62
+ interface VirtualScrollerLoaderIconTemplateOptions {
63
+ className: string;
64
+ element: JSX.Element;
65
+ props: VirtualScrollerProps;
66
+ }
67
+
60
68
  interface VirtualScrollerContentTemplateOptions {
61
69
  className: string;
62
70
  contentRef: any;
@@ -96,14 +104,17 @@ export interface VirtualScrollerProps {
96
104
  orientation?: VirtualScrollerOrientationType;
97
105
  numToleratedItems?: number;
98
106
  delay?: number;
107
+ resizeDelay?: number;
99
108
  lazy?: boolean;
100
109
  disabled?: boolean;
101
110
  loaderDisabled?: boolean;
102
111
  columns?: any;
103
112
  loading?: boolean;
113
+ autoSize?: boolean;
104
114
  showSpacer?: boolean;
105
115
  showLoader?: boolean;
106
116
  loadingTemplate?: VirtualScrollerLoadingTemplateType;
117
+ loaderIconTemplate?: VirtualScrollerLoaderIconTemplateType;
107
118
  itemTemplate?: VirtualScrollerItemTemplateType;
108
119
  contentTemplate?: VirtualScrollerContentTemplateType;
109
120
  onScroll?(e: React.UIEvent<HTMLElement>): void;
@@ -113,6 +124,7 @@ export interface VirtualScrollerProps {
113
124
  }
114
125
 
115
126
  export declare class VirtualScroller extends React.Component<VirtualScrollerProps, any> {
127
+ public getElementRef(): React.Ref<HTMLDivElement>;
116
128
  public scrollTo(options: VirtualScrollerOptionsType): void;
117
129
  public scrollToIndex(index: VirtualScrollerToIndexType, behavior?: VirtualScrollerScrollBehavior): void;
118
130
  public scrollInView(index: VirtualScrollerToIndexType, to: VirtualScrollerToType, behavior?: VirtualScrollerScrollBehavior): void;