primereact 8.1.1 → 8.4.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 (709) hide show
  1. package/README.md +6 -0
  2. package/accordion/accordion.cjs.js +10 -0
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.d.ts +4 -5
  5. package/accordion/accordion.esm.js +10 -0
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +10 -0
  8. package/accordion/accordion.min.js +1 -1
  9. package/api/api.cjs.js +2 -0
  10. package/api/api.cjs.min.js +1 -1
  11. package/api/api.d.ts +1 -0
  12. package/api/api.esm.js +2 -0
  13. package/api/api.esm.min.js +1 -1
  14. package/api/api.js +2 -0
  15. package/api/api.min.js +1 -1
  16. package/autocomplete/autocomplete.cjs.js +33 -11
  17. package/autocomplete/autocomplete.cjs.min.js +1 -1
  18. package/autocomplete/autocomplete.d.ts +5 -1
  19. package/autocomplete/autocomplete.esm.js +34 -12
  20. package/autocomplete/autocomplete.esm.min.js +1 -1
  21. package/autocomplete/autocomplete.js +33 -11
  22. package/autocomplete/autocomplete.min.js +1 -1
  23. package/avatar/avatar.cjs.js +18 -7
  24. package/avatar/avatar.cjs.min.js +1 -1
  25. package/avatar/avatar.d.ts +4 -4
  26. package/avatar/avatar.esm.js +18 -7
  27. package/avatar/avatar.esm.min.js +1 -1
  28. package/avatar/avatar.js +18 -7
  29. package/avatar/avatar.min.js +1 -1
  30. package/avatargroup/avatargroup.cjs.js +10 -0
  31. package/avatargroup/avatargroup.cjs.min.js +1 -1
  32. package/avatargroup/avatargroup.d.ts +4 -4
  33. package/avatargroup/avatargroup.esm.js +10 -0
  34. package/avatargroup/avatargroup.esm.min.js +1 -1
  35. package/avatargroup/avatargroup.js +10 -0
  36. package/avatargroup/avatargroup.min.js +1 -1
  37. package/badge/badge.cjs.js +12 -2
  38. package/badge/badge.cjs.min.js +1 -1
  39. package/badge/badge.d.ts +5 -5
  40. package/badge/badge.esm.js +12 -2
  41. package/badge/badge.esm.min.js +1 -1
  42. package/badge/badge.js +12 -2
  43. package/badge/badge.min.js +1 -1
  44. package/blockui/blockui.cjs.js +7 -1
  45. package/blockui/blockui.cjs.min.js +1 -1
  46. package/blockui/blockui.d.ts +2 -4
  47. package/blockui/blockui.esm.js +7 -1
  48. package/blockui/blockui.esm.min.js +1 -1
  49. package/blockui/blockui.js +7 -1
  50. package/blockui/blockui.min.js +1 -1
  51. package/breadcrumb/breadcrumb.cjs.js +11 -0
  52. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  53. package/breadcrumb/breadcrumb.d.ts +4 -5
  54. package/breadcrumb/breadcrumb.esm.js +11 -0
  55. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  56. package/breadcrumb/breadcrumb.js +11 -0
  57. package/breadcrumb/breadcrumb.min.js +1 -1
  58. package/button/button.d.ts +3 -1
  59. package/calendar/calendar.cjs.js +143 -32
  60. package/calendar/calendar.cjs.min.js +1 -1
  61. package/calendar/calendar.d.ts +4 -0
  62. package/calendar/calendar.esm.js +143 -32
  63. package/calendar/calendar.esm.min.js +1 -1
  64. package/calendar/calendar.js +143 -32
  65. package/calendar/calendar.min.js +1 -1
  66. package/captcha/captcha.cjs.js +5 -1
  67. package/captcha/captcha.cjs.min.js +1 -1
  68. package/captcha/captcha.d.ts +2 -3
  69. package/captcha/captcha.esm.js +5 -1
  70. package/captcha/captcha.esm.min.js +1 -1
  71. package/captcha/captcha.js +5 -1
  72. package/captcha/captcha.min.js +1 -1
  73. package/card/card.d.ts +1 -4
  74. package/carousel/carousel.cjs.js +9 -1
  75. package/carousel/carousel.cjs.min.js +1 -1
  76. package/carousel/carousel.d.ts +4 -5
  77. package/carousel/carousel.esm.js +9 -1
  78. package/carousel/carousel.esm.min.js +1 -1
  79. package/carousel/carousel.js +9 -1
  80. package/carousel/carousel.min.js +1 -1
  81. package/cascadeselect/cascadeselect.cjs.js +20 -3
  82. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  83. package/cascadeselect/cascadeselect.d.ts +7 -2
  84. package/cascadeselect/cascadeselect.esm.js +20 -3
  85. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  86. package/cascadeselect/cascadeselect.js +20 -3
  87. package/cascadeselect/cascadeselect.min.js +1 -1
  88. package/chart/chart.cjs.js +52 -23
  89. package/chart/chart.cjs.min.js +1 -1
  90. package/chart/chart.d.ts +1 -0
  91. package/chart/chart.esm.js +52 -23
  92. package/chart/chart.esm.min.js +1 -1
  93. package/chart/chart.js +52 -23
  94. package/chart/chart.min.js +1 -1
  95. package/checkbox/checkbox.cjs.js +31 -16
  96. package/checkbox/checkbox.cjs.min.js +1 -1
  97. package/checkbox/checkbox.d.ts +5 -2
  98. package/checkbox/checkbox.esm.js +32 -17
  99. package/checkbox/checkbox.esm.min.js +1 -1
  100. package/checkbox/checkbox.js +31 -16
  101. package/checkbox/checkbox.min.js +1 -1
  102. package/chip/chip.cjs.js +11 -0
  103. package/chip/chip.cjs.min.js +1 -1
  104. package/chip/chip.d.ts +4 -4
  105. package/chip/chip.esm.js +11 -0
  106. package/chip/chip.esm.min.js +1 -1
  107. package/chip/chip.js +11 -0
  108. package/chip/chip.min.js +1 -1
  109. package/chips/chips.cjs.js +39 -2
  110. package/chips/chips.cjs.min.js +1 -1
  111. package/chips/chips.d.ts +9 -5
  112. package/chips/chips.esm.js +40 -3
  113. package/chips/chips.esm.min.js +1 -1
  114. package/chips/chips.js +40 -4
  115. package/chips/chips.min.js +1 -1
  116. package/colorpicker/colorpicker.cjs.js +16 -0
  117. package/colorpicker/colorpicker.cjs.min.js +1 -1
  118. package/colorpicker/colorpicker.d.ts +7 -1
  119. package/colorpicker/colorpicker.esm.js +16 -0
  120. package/colorpicker/colorpicker.esm.min.js +1 -1
  121. package/colorpicker/colorpicker.js +16 -0
  122. package/colorpicker/colorpicker.min.js +1 -1
  123. package/column/column.d.ts +1 -0
  124. package/confirmdialog/confirmdialog.cjs.js +2 -1
  125. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  126. package/confirmdialog/confirmdialog.d.ts +1 -6
  127. package/confirmdialog/confirmdialog.esm.js +2 -1
  128. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  129. package/confirmdialog/confirmdialog.js +2 -1
  130. package/confirmdialog/confirmdialog.min.js +1 -1
  131. package/confirmpopup/confirmpopup.cjs.js +1 -0
  132. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  133. package/confirmpopup/confirmpopup.esm.js +1 -0
  134. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  135. package/confirmpopup/confirmpopup.js +1 -0
  136. package/confirmpopup/confirmpopup.min.js +1 -1
  137. package/contextmenu/contextmenu.cjs.js +6 -1
  138. package/contextmenu/contextmenu.cjs.min.js +1 -1
  139. package/contextmenu/contextmenu.d.ts +2 -4
  140. package/contextmenu/contextmenu.esm.js +6 -1
  141. package/contextmenu/contextmenu.esm.min.js +1 -1
  142. package/contextmenu/contextmenu.js +6 -1
  143. package/contextmenu/contextmenu.min.js +1 -1
  144. package/core/core.js +650 -195
  145. package/core/core.min.js +14 -14
  146. package/datascroller/datascroller.cjs.js +10 -1
  147. package/datascroller/datascroller.cjs.min.js +1 -1
  148. package/datascroller/datascroller.d.ts +2 -4
  149. package/datascroller/datascroller.esm.js +10 -1
  150. package/datascroller/datascroller.esm.min.js +1 -1
  151. package/datascroller/datascroller.js +10 -1
  152. package/datascroller/datascroller.min.js +1 -1
  153. package/datatable/datatable.cjs.js +92 -28
  154. package/datatable/datatable.cjs.min.js +1 -1
  155. package/datatable/datatable.d.ts +6 -2
  156. package/datatable/datatable.esm.js +93 -29
  157. package/datatable/datatable.esm.min.js +1 -1
  158. package/datatable/datatable.js +92 -28
  159. package/datatable/datatable.min.js +1 -1
  160. package/dataview/dataview.cjs.js +11 -1
  161. package/dataview/dataview.cjs.min.js +1 -1
  162. package/dataview/dataview.d.ts +4 -5
  163. package/dataview/dataview.esm.js +11 -1
  164. package/dataview/dataview.esm.min.js +1 -1
  165. package/dataview/dataview.js +11 -1
  166. package/dataview/dataview.min.js +1 -1
  167. package/deferredcontent/deferredcontent.cjs.js +8 -0
  168. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  169. package/deferredcontent/deferredcontent.d.ts +4 -2
  170. package/deferredcontent/deferredcontent.esm.js +8 -0
  171. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  172. package/deferredcontent/deferredcontent.js +8 -0
  173. package/deferredcontent/deferredcontent.min.js +1 -1
  174. package/dialog/dialog.cjs.js +23 -3
  175. package/dialog/dialog.cjs.min.js +1 -1
  176. package/dialog/dialog.d.ts +6 -0
  177. package/dialog/dialog.esm.js +23 -3
  178. package/dialog/dialog.esm.min.js +1 -1
  179. package/dialog/dialog.js +23 -3
  180. package/dialog/dialog.min.js +1 -1
  181. package/divider/divider.cjs.js +10 -0
  182. package/divider/divider.cjs.min.js +1 -1
  183. package/divider/divider.d.ts +4 -4
  184. package/divider/divider.esm.js +10 -0
  185. package/divider/divider.esm.min.js +1 -1
  186. package/divider/divider.js +10 -0
  187. package/divider/divider.min.js +1 -1
  188. package/dock/dock.cjs.js +11 -0
  189. package/dock/dock.cjs.min.js +1 -1
  190. package/dock/dock.d.ts +4 -5
  191. package/dock/dock.esm.js +11 -0
  192. package/dock/dock.esm.min.js +1 -1
  193. package/dock/dock.js +11 -0
  194. package/dock/dock.min.js +1 -1
  195. package/dropdown/dropdown.cjs.js +141 -30
  196. package/dropdown/dropdown.cjs.min.js +1 -1
  197. package/dropdown/dropdown.d.ts +15 -2
  198. package/dropdown/dropdown.esm.js +141 -30
  199. package/dropdown/dropdown.esm.min.js +1 -1
  200. package/dropdown/dropdown.js +141 -30
  201. package/dropdown/dropdown.min.js +1 -1
  202. package/editor/editor.cjs.js +103 -50
  203. package/editor/editor.cjs.min.js +1 -1
  204. package/editor/editor.d.ts +3 -0
  205. package/editor/editor.esm.js +103 -50
  206. package/editor/editor.esm.min.js +1 -1
  207. package/editor/editor.js +103 -50
  208. package/editor/editor.min.js +1 -1
  209. package/fieldset/fieldset.cjs.js +13 -0
  210. package/fieldset/fieldset.cjs.min.js +1 -1
  211. package/fieldset/fieldset.d.ts +5 -5
  212. package/fieldset/fieldset.esm.js +13 -0
  213. package/fieldset/fieldset.esm.min.js +1 -1
  214. package/fieldset/fieldset.js +13 -0
  215. package/fieldset/fieldset.min.js +1 -1
  216. package/fileupload/fileupload.cjs.js +15 -1
  217. package/fileupload/fileupload.cjs.min.js +1 -1
  218. package/fileupload/fileupload.d.ts +4 -0
  219. package/fileupload/fileupload.esm.js +15 -1
  220. package/fileupload/fileupload.esm.min.js +1 -1
  221. package/fileupload/fileupload.js +15 -1
  222. package/fileupload/fileupload.min.js +1 -1
  223. package/fullcalendar/fullcalendar.cjs.js +8 -0
  224. package/fullcalendar/fullcalendar.cjs.min.js +1 -1
  225. package/fullcalendar/fullcalendar.d.ts +3 -1
  226. package/fullcalendar/fullcalendar.esm.js +8 -0
  227. package/fullcalendar/fullcalendar.esm.min.js +1 -1
  228. package/fullcalendar/fullcalendar.js +8 -0
  229. package/fullcalendar/fullcalendar.min.js +1 -1
  230. package/galleria/galleria.cjs.js +9 -2
  231. package/galleria/galleria.cjs.min.js +1 -1
  232. package/galleria/galleria.d.ts +2 -4
  233. package/galleria/galleria.esm.js +9 -2
  234. package/galleria/galleria.esm.min.js +1 -1
  235. package/galleria/galleria.js +9 -2
  236. package/galleria/galleria.min.js +1 -1
  237. package/gmap/gmap.cjs.js +5 -1
  238. package/gmap/gmap.cjs.min.js +1 -1
  239. package/gmap/gmap.d.ts +5 -4
  240. package/gmap/gmap.esm.js +5 -1
  241. package/gmap/gmap.esm.min.js +1 -1
  242. package/gmap/gmap.js +5 -1
  243. package/gmap/gmap.min.js +1 -1
  244. package/image/image.cjs.js +18 -5
  245. package/image/image.cjs.min.js +1 -1
  246. package/image/image.d.ts +5 -4
  247. package/image/image.esm.js +18 -5
  248. package/image/image.esm.min.js +1 -1
  249. package/image/image.js +18 -5
  250. package/image/image.min.css +1 -1
  251. package/image/image.min.js +1 -1
  252. package/inplace/inplace.cjs.js +11 -1
  253. package/inplace/inplace.cjs.min.js +1 -1
  254. package/inplace/inplace.d.ts +4 -5
  255. package/inplace/inplace.esm.js +11 -1
  256. package/inplace/inplace.esm.min.js +1 -1
  257. package/inplace/inplace.js +11 -1
  258. package/inplace/inplace.min.js +1 -1
  259. package/inputmask/inputmask.cjs.js +15 -5
  260. package/inputmask/inputmask.cjs.min.js +1 -1
  261. package/inputmask/inputmask.d.ts +5 -13
  262. package/inputmask/inputmask.esm.js +15 -5
  263. package/inputmask/inputmask.esm.min.js +1 -1
  264. package/inputmask/inputmask.js +15 -5
  265. package/inputmask/inputmask.min.js +1 -1
  266. package/inputnumber/inputnumber.cjs.js +12 -4
  267. package/inputnumber/inputnumber.cjs.min.js +1 -1
  268. package/inputnumber/inputnumber.d.ts +4 -5
  269. package/inputnumber/inputnumber.esm.js +12 -4
  270. package/inputnumber/inputnumber.esm.min.js +1 -1
  271. package/inputnumber/inputnumber.js +12 -4
  272. package/inputnumber/inputnumber.min.js +1 -1
  273. package/inputswitch/inputswitch.cjs.js +12 -1
  274. package/inputswitch/inputswitch.cjs.min.js +1 -1
  275. package/inputswitch/inputswitch.d.ts +4 -1
  276. package/inputswitch/inputswitch.esm.js +13 -2
  277. package/inputswitch/inputswitch.esm.min.js +1 -1
  278. package/inputswitch/inputswitch.js +12 -1
  279. package/inputswitch/inputswitch.min.css +1 -1
  280. package/inputswitch/inputswitch.min.js +1 -1
  281. package/inputtext/inputtext.cjs.js +3 -2
  282. package/inputtext/inputtext.cjs.min.js +1 -1
  283. package/inputtext/inputtext.d.ts +4 -1
  284. package/inputtext/inputtext.esm.js +3 -2
  285. package/inputtext/inputtext.esm.min.js +1 -1
  286. package/inputtext/inputtext.js +3 -2
  287. package/inputtext/inputtext.min.css +1 -1
  288. package/inputtext/inputtext.min.js +1 -1
  289. package/inputtextarea/inputtextarea.cjs.js +3 -2
  290. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  291. package/inputtextarea/inputtextarea.d.ts +4 -1
  292. package/inputtextarea/inputtextarea.esm.js +3 -2
  293. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  294. package/inputtextarea/inputtextarea.js +3 -2
  295. package/inputtextarea/inputtextarea.min.js +1 -1
  296. package/keyfilter/keyfilter.cjs.js +4 -4
  297. package/keyfilter/keyfilter.cjs.min.js +1 -1
  298. package/keyfilter/keyfilter.esm.js +4 -4
  299. package/keyfilter/keyfilter.esm.min.js +1 -1
  300. package/keyfilter/keyfilter.js +4 -4
  301. package/keyfilter/keyfilter.min.js +1 -1
  302. package/knob/knob.cjs.js +8 -0
  303. package/knob/knob.cjs.min.js +1 -1
  304. package/knob/knob.d.ts +3 -1
  305. package/knob/knob.esm.js +8 -0
  306. package/knob/knob.esm.min.js +1 -1
  307. package/knob/knob.js +8 -0
  308. package/knob/knob.min.js +1 -1
  309. package/listbox/listbox.cjs.js +129 -20
  310. package/listbox/listbox.cjs.min.js +1 -1
  311. package/listbox/listbox.d.ts +14 -7
  312. package/listbox/listbox.esm.js +130 -21
  313. package/listbox/listbox.esm.min.js +1 -1
  314. package/listbox/listbox.js +130 -22
  315. package/listbox/listbox.min.js +1 -1
  316. package/megamenu/megamenu.cjs.js +40 -12
  317. package/megamenu/megamenu.cjs.min.js +1 -1
  318. package/megamenu/megamenu.d.ts +11 -5
  319. package/megamenu/megamenu.esm.js +40 -12
  320. package/megamenu/megamenu.esm.min.js +1 -1
  321. package/megamenu/megamenu.js +40 -12
  322. package/megamenu/megamenu.min.css +1 -1
  323. package/megamenu/megamenu.min.js +1 -1
  324. package/mention/mention.cjs.js +23 -5
  325. package/mention/mention.cjs.min.js +1 -1
  326. package/mention/mention.d.ts +7 -5
  327. package/mention/mention.esm.js +23 -5
  328. package/mention/mention.esm.min.js +1 -1
  329. package/mention/mention.js +23 -5
  330. package/mention/mention.min.js +1 -1
  331. package/menu/menu.cjs.js +8 -1
  332. package/menu/menu.cjs.min.js +1 -1
  333. package/menu/menu.d.ts +3 -4
  334. package/menu/menu.esm.js +8 -1
  335. package/menu/menu.esm.min.js +1 -1
  336. package/menu/menu.js +8 -1
  337. package/menu/menu.min.js +1 -1
  338. package/menubar/menubar.cjs.js +13 -1
  339. package/menubar/menubar.cjs.min.js +1 -1
  340. package/menubar/menubar.d.ts +6 -5
  341. package/menubar/menubar.esm.js +13 -1
  342. package/menubar/menubar.esm.min.js +1 -1
  343. package/menubar/menubar.js +13 -1
  344. package/menubar/menubar.min.js +1 -1
  345. package/menuitem/menuitem.d.ts +2 -0
  346. package/message/message.cjs.js +11 -0
  347. package/message/message.cjs.min.js +1 -1
  348. package/message/message.d.ts +5 -6
  349. package/message/message.esm.js +11 -0
  350. package/message/message.esm.min.js +1 -1
  351. package/message/message.js +11 -0
  352. package/message/message.min.js +1 -1
  353. package/messages/messages.cjs.js +11 -3
  354. package/messages/messages.cjs.min.js +1 -1
  355. package/messages/messages.d.ts +3 -5
  356. package/messages/messages.esm.js +11 -3
  357. package/messages/messages.esm.min.js +1 -1
  358. package/messages/messages.js +11 -3
  359. package/messages/messages.min.js +1 -1
  360. package/multiselect/multiselect.cjs.js +95 -27
  361. package/multiselect/multiselect.cjs.min.js +1 -1
  362. package/multiselect/multiselect.d.ts +16 -2
  363. package/multiselect/multiselect.esm.js +95 -27
  364. package/multiselect/multiselect.esm.min.js +1 -1
  365. package/multiselect/multiselect.js +95 -27
  366. package/multiselect/multiselect.min.js +1 -1
  367. package/multistatecheckbox/multistatecheckbox.cjs.js +8 -0
  368. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  369. package/multistatecheckbox/multistatecheckbox.d.ts +4 -6
  370. package/multistatecheckbox/multistatecheckbox.esm.js +8 -0
  371. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  372. package/multistatecheckbox/multistatecheckbox.js +8 -0
  373. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  374. package/orderlist/orderlist.cjs.js +128 -4
  375. package/orderlist/orderlist.cjs.min.js +1 -1
  376. package/orderlist/orderlist.d.ts +17 -6
  377. package/orderlist/orderlist.esm.js +128 -4
  378. package/orderlist/orderlist.esm.min.js +1 -1
  379. package/orderlist/orderlist.js +129 -6
  380. package/orderlist/orderlist.min.css +1 -1
  381. package/orderlist/orderlist.min.js +1 -1
  382. package/organizationchart/organizationchart.cjs.js +10 -0
  383. package/organizationchart/organizationchart.cjs.min.js +1 -1
  384. package/organizationchart/organizationchart.d.ts +4 -5
  385. package/organizationchart/organizationchart.esm.js +10 -0
  386. package/organizationchart/organizationchart.esm.min.js +1 -1
  387. package/organizationchart/organizationchart.js +10 -0
  388. package/organizationchart/organizationchart.min.js +1 -1
  389. package/overlaypanel/overlaypanel.cjs.js +7 -3
  390. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  391. package/overlaypanel/overlaypanel.d.ts +2 -4
  392. package/overlaypanel/overlaypanel.esm.js +7 -3
  393. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  394. package/overlaypanel/overlaypanel.js +7 -3
  395. package/overlaypanel/overlaypanel.min.js +1 -1
  396. package/package.json +1 -1
  397. package/paginator/paginator.cjs.js +10 -0
  398. package/paginator/paginator.cjs.min.js +1 -1
  399. package/paginator/paginator.d.ts +4 -4
  400. package/paginator/paginator.esm.js +10 -0
  401. package/paginator/paginator.esm.min.js +1 -1
  402. package/paginator/paginator.js +10 -0
  403. package/paginator/paginator.min.js +1 -1
  404. package/panel/panel.cjs.js +11 -0
  405. package/panel/panel.cjs.min.js +1 -1
  406. package/panel/panel.d.ts +5 -5
  407. package/panel/panel.esm.js +11 -0
  408. package/panel/panel.esm.min.js +1 -1
  409. package/panel/panel.js +11 -0
  410. package/panel/panel.min.js +1 -1
  411. package/panelmenu/panelmenu.cjs.js +11 -0
  412. package/panelmenu/panelmenu.cjs.min.js +1 -1
  413. package/panelmenu/panelmenu.d.ts +4 -5
  414. package/panelmenu/panelmenu.esm.js +11 -0
  415. package/panelmenu/panelmenu.esm.min.js +1 -1
  416. package/panelmenu/panelmenu.js +11 -0
  417. package/panelmenu/panelmenu.min.js +1 -1
  418. package/password/password.cjs.js +17 -2
  419. package/password/password.cjs.min.js +1 -1
  420. package/password/password.d.ts +6 -4
  421. package/password/password.esm.js +17 -2
  422. package/password/password.esm.min.js +1 -1
  423. package/password/password.js +17 -2
  424. package/password/password.min.js +1 -1
  425. package/picklist/picklist.cjs.js +199 -25
  426. package/picklist/picklist.cjs.min.js +1 -1
  427. package/picklist/picklist.d.ts +32 -1
  428. package/picklist/picklist.esm.js +199 -25
  429. package/picklist/picklist.esm.min.js +1 -1
  430. package/picklist/picklist.js +200 -27
  431. package/picklist/picklist.min.css +1 -1
  432. package/picklist/picklist.min.js +1 -1
  433. package/primereact.all.cjs.js +2536 -640
  434. package/primereact.all.cjs.min.js +1 -1
  435. package/primereact.all.esm.js +2536 -640
  436. package/primereact.all.esm.min.js +1 -1
  437. package/primereact.all.js +2536 -640
  438. package/primereact.all.min.js +1 -1
  439. package/progressbar/progressbar.cjs.js +12 -0
  440. package/progressbar/progressbar.cjs.min.js +1 -1
  441. package/progressbar/progressbar.d.ts +4 -5
  442. package/progressbar/progressbar.esm.js +12 -0
  443. package/progressbar/progressbar.esm.min.js +1 -1
  444. package/progressbar/progressbar.js +12 -0
  445. package/progressbar/progressbar.min.js +1 -1
  446. package/progressspinner/progressspinner.cjs.js +10 -0
  447. package/progressspinner/progressspinner.cjs.min.js +1 -1
  448. package/progressspinner/progressspinner.d.ts +4 -5
  449. package/progressspinner/progressspinner.esm.js +10 -0
  450. package/progressspinner/progressspinner.esm.min.js +1 -1
  451. package/progressspinner/progressspinner.js +10 -0
  452. package/progressspinner/progressspinner.min.js +1 -1
  453. package/radiobutton/radiobutton.cjs.js +30 -15
  454. package/radiobutton/radiobutton.cjs.min.js +1 -1
  455. package/radiobutton/radiobutton.d.ts +3 -4
  456. package/radiobutton/radiobutton.esm.js +31 -16
  457. package/radiobutton/radiobutton.esm.min.js +1 -1
  458. package/radiobutton/radiobutton.js +30 -15
  459. package/radiobutton/radiobutton.min.js +1 -1
  460. package/rating/rating.cjs.js +8 -0
  461. package/rating/rating.cjs.min.js +1 -1
  462. package/rating/rating.d.ts +3 -4
  463. package/rating/rating.esm.js +8 -0
  464. package/rating/rating.esm.min.js +1 -1
  465. package/rating/rating.js +8 -0
  466. package/rating/rating.min.js +1 -1
  467. package/resources/primereact.css +94 -26
  468. package/resources/primereact.min.css +1 -1
  469. package/resources/themes/arya-blue/theme.css +41 -7
  470. package/resources/themes/arya-green/theme.css +41 -7
  471. package/resources/themes/arya-orange/theme.css +41 -7
  472. package/resources/themes/arya-purple/theme.css +41 -7
  473. package/resources/themes/bootstrap4-dark-blue/theme.css +41 -7
  474. package/resources/themes/bootstrap4-dark-purple/theme.css +41 -7
  475. package/resources/themes/bootstrap4-light-blue/theme.css +40 -6
  476. package/resources/themes/bootstrap4-light-purple/theme.css +40 -6
  477. package/resources/themes/fluent-light/theme.css +41 -7
  478. package/resources/themes/lara-dark-blue/theme.css +41 -7
  479. package/resources/themes/lara-dark-indigo/theme.css +41 -7
  480. package/resources/themes/lara-dark-purple/theme.css +41 -7
  481. package/resources/themes/lara-dark-teal/theme.css +41 -7
  482. package/resources/themes/lara-light-blue/theme.css +41 -7
  483. package/resources/themes/lara-light-indigo/theme.css +41 -7
  484. package/resources/themes/lara-light-purple/theme.css +41 -7
  485. package/resources/themes/lara-light-teal/theme.css +41 -7
  486. package/resources/themes/luna-amber/theme.css +41 -7
  487. package/resources/themes/luna-blue/theme.css +41 -7
  488. package/resources/themes/luna-green/theme.css +41 -7
  489. package/resources/themes/luna-pink/theme.css +41 -7
  490. package/resources/themes/md-dark-deeppurple/theme.css +41 -7
  491. package/resources/themes/md-dark-indigo/theme.css +41 -7
  492. package/resources/themes/md-light-deeppurple/theme.css +41 -7
  493. package/resources/themes/md-light-indigo/theme.css +41 -7
  494. package/resources/themes/mdc-dark-deeppurple/theme.css +41 -7
  495. package/resources/themes/mdc-dark-indigo/theme.css +41 -7
  496. package/resources/themes/mdc-light-deeppurple/theme.css +41 -7
  497. package/resources/themes/mdc-light-indigo/theme.css +41 -7
  498. package/resources/themes/nova/theme.css +41 -7
  499. package/resources/themes/nova-accent/theme.css +41 -7
  500. package/resources/themes/nova-alt/theme.css +41 -7
  501. package/resources/themes/rhea/theme.css +41 -7
  502. package/resources/themes/saga-blue/theme.css +41 -7
  503. package/resources/themes/saga-green/theme.css +41 -7
  504. package/resources/themes/saga-orange/theme.css +41 -7
  505. package/resources/themes/saga-purple/theme.css +41 -7
  506. package/resources/themes/tailwind-light/theme.css +41 -7
  507. package/resources/themes/vela-blue/theme.css +41 -7
  508. package/resources/themes/vela-green/theme.css +41 -7
  509. package/resources/themes/vela-orange/theme.css +41 -7
  510. package/resources/themes/vela-purple/theme.css +41 -7
  511. package/scrollpanel/scrollpanel.cjs.js +14 -1
  512. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  513. package/scrollpanel/scrollpanel.d.ts +7 -5
  514. package/scrollpanel/scrollpanel.esm.js +14 -1
  515. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  516. package/scrollpanel/scrollpanel.js +14 -1
  517. package/scrollpanel/scrollpanel.min.js +1 -1
  518. package/scrolltop/scrolltop.cjs.js +8 -0
  519. package/scrolltop/scrolltop.cjs.min.js +1 -1
  520. package/scrolltop/scrolltop.d.ts +3 -1
  521. package/scrolltop/scrolltop.esm.js +8 -0
  522. package/scrolltop/scrolltop.esm.min.js +1 -1
  523. package/scrolltop/scrolltop.js +8 -0
  524. package/scrolltop/scrolltop.min.js +1 -1
  525. package/selectbutton/selectbutton.cjs.js +8 -0
  526. package/selectbutton/selectbutton.cjs.min.js +1 -1
  527. package/selectbutton/selectbutton.d.ts +4 -5
  528. package/selectbutton/selectbutton.esm.js +8 -0
  529. package/selectbutton/selectbutton.esm.min.js +1 -1
  530. package/selectbutton/selectbutton.js +8 -0
  531. package/selectbutton/selectbutton.min.js +1 -1
  532. package/sidebar/sidebar.cjs.js +40 -0
  533. package/sidebar/sidebar.cjs.min.js +1 -1
  534. package/sidebar/sidebar.d.ts +6 -5
  535. package/sidebar/sidebar.esm.js +40 -0
  536. package/sidebar/sidebar.esm.min.js +1 -1
  537. package/sidebar/sidebar.js +40 -0
  538. package/sidebar/sidebar.min.js +1 -1
  539. package/skeleton/skeleton.cjs.js +10 -0
  540. package/skeleton/skeleton.cjs.min.js +1 -1
  541. package/skeleton/skeleton.d.ts +4 -4
  542. package/skeleton/skeleton.esm.js +10 -0
  543. package/skeleton/skeleton.esm.min.js +1 -1
  544. package/skeleton/skeleton.js +10 -0
  545. package/skeleton/skeleton.min.js +1 -1
  546. package/slidemenu/slidemenu.cjs.js +6 -1
  547. package/slidemenu/slidemenu.cjs.min.js +1 -1
  548. package/slidemenu/slidemenu.d.ts +2 -4
  549. package/slidemenu/slidemenu.esm.js +6 -1
  550. package/slidemenu/slidemenu.esm.min.js +1 -1
  551. package/slidemenu/slidemenu.js +6 -1
  552. package/slidemenu/slidemenu.min.js +1 -1
  553. package/slider/slider.cjs.js +8 -0
  554. package/slider/slider.cjs.min.js +1 -1
  555. package/slider/slider.d.ts +4 -6
  556. package/slider/slider.esm.js +8 -0
  557. package/slider/slider.esm.min.js +1 -1
  558. package/slider/slider.js +8 -0
  559. package/slider/slider.min.js +1 -1
  560. package/speeddial/speeddial.cjs.js +5 -1
  561. package/speeddial/speeddial.cjs.min.js +1 -1
  562. package/speeddial/speeddial.d.ts +2 -4
  563. package/speeddial/speeddial.esm.js +5 -1
  564. package/speeddial/speeddial.esm.min.js +1 -1
  565. package/speeddial/speeddial.js +5 -1
  566. package/speeddial/speeddial.min.js +1 -1
  567. package/splitbutton/splitbutton.cjs.js +9 -1
  568. package/splitbutton/splitbutton.cjs.min.js +1 -1
  569. package/splitbutton/splitbutton.d.ts +4 -5
  570. package/splitbutton/splitbutton.esm.js +9 -1
  571. package/splitbutton/splitbutton.esm.min.js +1 -1
  572. package/splitbutton/splitbutton.js +9 -1
  573. package/splitbutton/splitbutton.min.js +1 -1
  574. package/splitter/splitter.cjs.js +17 -5
  575. package/splitter/splitter.cjs.min.js +1 -1
  576. package/splitter/splitter.d.ts +4 -5
  577. package/splitter/splitter.esm.js +18 -6
  578. package/splitter/splitter.esm.min.js +1 -1
  579. package/splitter/splitter.js +17 -5
  580. package/splitter/splitter.min.js +1 -1
  581. package/steps/steps.cjs.js +12 -0
  582. package/steps/steps.cjs.min.js +1 -1
  583. package/steps/steps.d.ts +4 -5
  584. package/steps/steps.esm.js +12 -0
  585. package/steps/steps.esm.min.js +1 -1
  586. package/steps/steps.js +12 -0
  587. package/steps/steps.min.js +1 -1
  588. package/styleclass/styleclass.cjs.js +12 -1
  589. package/styleclass/styleclass.cjs.min.js +1 -1
  590. package/styleclass/styleclass.d.ts +5 -2
  591. package/styleclass/styleclass.esm.js +12 -1
  592. package/styleclass/styleclass.esm.min.js +1 -1
  593. package/styleclass/styleclass.js +12 -1
  594. package/styleclass/styleclass.min.js +1 -1
  595. package/tabmenu/tabmenu.cjs.js +10 -0
  596. package/tabmenu/tabmenu.cjs.min.js +1 -1
  597. package/tabmenu/tabmenu.d.ts +4 -5
  598. package/tabmenu/tabmenu.esm.js +10 -0
  599. package/tabmenu/tabmenu.esm.min.js +1 -1
  600. package/tabmenu/tabmenu.js +10 -0
  601. package/tabmenu/tabmenu.min.js +1 -1
  602. package/tabview/tabview.cjs.js +7 -1
  603. package/tabview/tabview.cjs.min.js +1 -1
  604. package/tabview/tabview.d.ts +2 -4
  605. package/tabview/tabview.esm.js +7 -1
  606. package/tabview/tabview.esm.min.js +1 -1
  607. package/tabview/tabview.js +7 -1
  608. package/tabview/tabview.min.js +1 -1
  609. package/tag/tag.cjs.js +10 -0
  610. package/tag/tag.cjs.min.js +1 -1
  611. package/tag/tag.d.ts +5 -5
  612. package/tag/tag.esm.js +10 -0
  613. package/tag/tag.esm.min.js +1 -1
  614. package/tag/tag.js +10 -0
  615. package/tag/tag.min.js +1 -1
  616. package/terminal/terminal.cjs.js +9 -1
  617. package/terminal/terminal.cjs.min.js +1 -1
  618. package/terminal/terminal.d.ts +4 -5
  619. package/terminal/terminal.esm.js +10 -2
  620. package/terminal/terminal.esm.min.js +1 -1
  621. package/terminal/terminal.js +9 -1
  622. package/terminal/terminal.min.js +1 -1
  623. package/tieredmenu/tieredmenu.cjs.js +8 -2
  624. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  625. package/tieredmenu/tieredmenu.d.ts +2 -4
  626. package/tieredmenu/tieredmenu.esm.js +8 -2
  627. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  628. package/tieredmenu/tieredmenu.js +8 -2
  629. package/tieredmenu/tieredmenu.min.js +1 -1
  630. package/timeline/timeline.cjs.js +11 -0
  631. package/timeline/timeline.cjs.min.js +1 -1
  632. package/timeline/timeline.d.ts +4 -5
  633. package/timeline/timeline.esm.js +11 -0
  634. package/timeline/timeline.esm.min.js +1 -1
  635. package/timeline/timeline.js +11 -0
  636. package/timeline/timeline.min.js +1 -1
  637. package/toast/toast.cjs.js +35 -36
  638. package/toast/toast.cjs.min.js +1 -1
  639. package/toast/toast.d.ts +4 -5
  640. package/toast/toast.esm.js +35 -36
  641. package/toast/toast.esm.min.js +1 -1
  642. package/toast/toast.js +35 -36
  643. package/toast/toast.min.css +1 -1
  644. package/toast/toast.min.js +1 -1
  645. package/togglebutton/togglebutton.cjs.js +8 -0
  646. package/togglebutton/togglebutton.cjs.min.js +1 -1
  647. package/togglebutton/togglebutton.d.ts +4 -6
  648. package/togglebutton/togglebutton.esm.js +8 -0
  649. package/togglebutton/togglebutton.esm.min.js +1 -1
  650. package/togglebutton/togglebutton.js +8 -0
  651. package/togglebutton/togglebutton.min.js +1 -1
  652. package/toolbar/toolbar.cjs.js +10 -0
  653. package/toolbar/toolbar.cjs.min.js +1 -1
  654. package/toolbar/toolbar.d.ts +4 -5
  655. package/toolbar/toolbar.esm.js +10 -0
  656. package/toolbar/toolbar.esm.min.js +1 -1
  657. package/toolbar/toolbar.js +10 -0
  658. package/toolbar/toolbar.min.js +1 -1
  659. package/tooltip/tooltip.cjs.js +73 -52
  660. package/tooltip/tooltip.cjs.min.js +1 -1
  661. package/tooltip/tooltip.d.ts +2 -0
  662. package/tooltip/tooltip.esm.js +73 -52
  663. package/tooltip/tooltip.esm.min.js +1 -1
  664. package/tooltip/tooltip.js +73 -52
  665. package/tooltip/tooltip.min.js +1 -1
  666. package/tree/tree.cjs.js +50 -7
  667. package/tree/tree.cjs.min.js +1 -1
  668. package/tree/tree.d.ts +10 -1
  669. package/tree/tree.esm.js +50 -7
  670. package/tree/tree.esm.min.js +1 -1
  671. package/tree/tree.js +50 -7
  672. package/tree/tree.min.js +1 -1
  673. package/treeselect/treeselect.cjs.js +36 -6
  674. package/treeselect/treeselect.cjs.min.js +1 -1
  675. package/treeselect/treeselect.d.ts +14 -6
  676. package/treeselect/treeselect.esm.js +36 -6
  677. package/treeselect/treeselect.esm.min.js +1 -1
  678. package/treeselect/treeselect.js +36 -6
  679. package/treeselect/treeselect.min.js +1 -1
  680. package/treetable/treetable.cjs.js +7 -2
  681. package/treetable/treetable.cjs.min.js +1 -1
  682. package/treetable/treetable.d.ts +3 -2
  683. package/treetable/treetable.esm.js +7 -2
  684. package/treetable/treetable.esm.min.js +1 -1
  685. package/treetable/treetable.js +7 -2
  686. package/treetable/treetable.min.js +1 -1
  687. package/tristatecheckbox/tristatecheckbox.cjs.js +8 -0
  688. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  689. package/tristatecheckbox/tristatecheckbox.d.ts +3 -5
  690. package/tristatecheckbox/tristatecheckbox.esm.js +8 -0
  691. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  692. package/tristatecheckbox/tristatecheckbox.js +8 -0
  693. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  694. package/utils/utils.cjs.js +122 -8
  695. package/utils/utils.cjs.min.js +1 -1
  696. package/utils/utils.d.ts +1 -0
  697. package/utils/utils.esm.js +122 -8
  698. package/utils/utils.esm.min.js +1 -1
  699. package/utils/utils.js +122 -8
  700. package/utils/utils.min.js +1 -1
  701. package/virtualscroller/virtualscroller.cjs.js +156 -66
  702. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  703. package/virtualscroller/virtualscroller.d.ts +12 -0
  704. package/virtualscroller/virtualscroller.esm.js +158 -68
  705. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  706. package/virtualscroller/virtualscroller.js +156 -66
  707. package/virtualscroller/virtualscroller.min.css +1 -1
  708. package/virtualscroller/virtualscroller.min.js +1 -1
  709. package/web-types.json +304 -4
@@ -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 ? {
@@ -716,6 +794,8 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
716
794
  }, [props.orientation]);
717
795
  React__namespace.useImperativeHandle(ref, function () {
718
796
  return {
797
+ props: props,
798
+ getElementRef: getElementRef,
719
799
  scrollTo: scrollTo,
720
800
  scrollToIndex: scrollToIndex,
721
801
  scrollInView: scrollInView,
@@ -747,6 +827,13 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
747
827
  numCols: numItemsInViewportState.cols
748
828
  });
749
829
  });
830
+ } else if (props.loaderIconTemplate) {
831
+ var defaultContentOptions = {
832
+ className: 'p-virtualscroller-loading-icon',
833
+ element: content,
834
+ props: props
835
+ };
836
+ content = utils.ObjectUtils.getJSXElement(props.loaderIconTemplate, defaultContentOptions);
750
837
  }
751
838
 
752
839
  return /*#__PURE__*/React__namespace.createElement("div", {
@@ -803,7 +890,7 @@ var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
803
890
  stickyRef: function stickyRef(el) {
804
891
  return _stickyRef.current = utils.ObjectUtils.getRefElement(el);
805
892
  },
806
- items: loadedItems,
893
+ items: loadedItems(),
807
894
  getItemOptions: function getItemOptions(index) {
808
895
  return getOptions(index);
809
896
  },
@@ -869,14 +956,17 @@ VirtualScroller.defaultProps = {
869
956
  orientation: 'vertical',
870
957
  numToleratedItems: null,
871
958
  delay: 0,
959
+ resizeDelay: 10,
872
960
  lazy: false,
873
961
  disabled: false,
874
962
  loaderDisabled: false,
875
963
  columns: null,
876
- loading: false,
964
+ loading: undefined,
965
+ autoSize: false,
877
966
  showSpacer: true,
878
967
  showLoader: false,
879
968
  loadingTemplate: null,
969
+ loaderIconTemplate: null,
880
970
  itemTemplate: null,
881
971
  contentTemplate: null,
882
972
  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{props:e,getElementRef:J,scrollTo:X,scrollToIndex:q,scrollInView:F,getRenderedRange:B}}));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;