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
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { usePrevious, useMountEffect, useUpdateEffect } from 'primereact/hooks';
3
- import { ObjectUtils, classNames } from 'primereact/utils';
2
+ import { usePrevious, useResizeListener, useEventListener, useMountEffect, useUpdateEffect } from 'primereact/hooks';
3
+ import { DomHandler, ObjectUtils, classNames } from 'primereact/utils';
4
4
 
5
5
  function _extends() {
6
6
  _extends = Object.assign || function (target) {
@@ -133,7 +133,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
133
133
  numToleratedItemsState = _React$useState8[0],
134
134
  setNumToleratedItemsState = _React$useState8[1];
135
135
 
136
- var _React$useState9 = React.useState(props.loading),
136
+ var _React$useState9 = React.useState(props.loading || false),
137
137
  _React$useState10 = _slicedToArray(_React$useState9, 2),
138
138
  loadingState = _React$useState10[0],
139
139
  setLoadingState = _React$useState10[1];
@@ -156,10 +156,39 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
156
156
  left: 0
157
157
  } : 0);
158
158
  var scrollTimeout = React.useRef(null);
159
+ var resizeTimeout = React.useRef(null);
160
+ var defaultWidth = React.useRef(null);
161
+ var defaultHeight = React.useRef(null);
159
162
  var prevItems = usePrevious(props.items);
160
163
  var prevLoading = usePrevious(props.loading);
161
164
 
165
+ var _useResizeListener = useResizeListener({
166
+ listener: function listener(event) {
167
+ return onResize(event);
168
+ }
169
+ }),
170
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
171
+ bindWindowResizeListener = _useResizeListener2[0];
172
+
173
+ var _useEventListener = useEventListener({
174
+ target: 'window',
175
+ type: 'orientationchange',
176
+ listener: function listener(event) {
177
+ return onResize(event);
178
+ }
179
+ }),
180
+ _useEventListener2 = _slicedToArray(_useEventListener, 1),
181
+ bindOrientationChangeListener = _useEventListener2[0];
182
+
183
+ var getElementRef = function getElementRef() {
184
+ return elementRef;
185
+ };
186
+
162
187
  var scrollTo = function scrollTo(options) {
188
+ lastScrollPos.current = both ? {
189
+ top: 0,
190
+ left: 0
191
+ } : 0;
163
192
  elementRef.current && elementRef.current.scrollTo(options);
164
193
  };
165
194
 
@@ -169,9 +198,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
169
198
  var _calculateNumItems = calculateNumItems(),
170
199
  numToleratedItems = _calculateNumItems.numToleratedItems;
171
200
 
172
- var itemSize = props.itemSize;
173
- var contentPos = getContentPosition();
174
-
175
201
  var calculateFirst = function calculateFirst() {
176
202
  var _index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
177
203
 
@@ -180,8 +206,8 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
180
206
  return _index <= _numT ? 0 : _index;
181
207
  };
182
208
 
183
- var calculateCoord = function calculateCoord(_first, _size, _cpos) {
184
- return _first * _size + _cpos;
209
+ var calculateCoord = function calculateCoord(_first, _size) {
210
+ return _first * _size;
185
211
  };
186
212
 
187
213
  var scrollToItem = function scrollToItem() {
@@ -201,15 +227,13 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
201
227
  };
202
228
 
203
229
  if (newFirst.rows !== firstState.rows || newFirst.cols !== firstState.cols) {
204
- scrollToItem(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));
205
- setFirstState(newFirst);
230
+ scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1]), calculateCoord(newFirst.rows, props.itemSize[0]));
206
231
  }
207
232
  } else {
208
233
  var _newFirst = calculateFirst(index, numToleratedItems);
209
234
 
210
235
  if (_newFirst !== firstState) {
211
- horizontal ? scrollToItem(calculateCoord(_newFirst, itemSize, contentPos.left), 0) : scrollToItem(0, calculateCoord(_newFirst, itemSize, contentPos.top));
212
- setFirstState(_newFirst);
236
+ horizontal ? scrollToItem(calculateCoord(_newFirst, props.itemSize), 0) : scrollToItem(0, calculateCoord(_newFirst, props.itemSize));
213
237
  }
214
238
  }
215
239
  };
@@ -222,8 +246,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
222
246
  first = _getRenderedRange.first,
223
247
  viewport = _getRenderedRange.viewport;
224
248
 
225
- var itemSize = props.itemSize;
226
-
227
249
  var scrollToItem = function scrollToItem() {
228
250
  var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
229
251
  var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
@@ -240,26 +262,26 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
240
262
  if (isToStart) {
241
263
  if (both) {
242
264
  if (viewport.first.rows - first.rows > index[0]) {
243
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows - 1) * itemSize);
265
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows - 1) * props.itemSize[0]);
244
266
  } else if (viewport.first.cols - first.cols > index[1]) {
245
- scrollToItem((viewport.first.cols - 1) * itemSize, viewport.first.rows * itemSize);
267
+ scrollToItem((viewport.first.cols - 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
246
268
  }
247
269
  } else {
248
270
  if (viewport.first - first > index) {
249
- var pos = (viewport.first - 1) * itemSize;
271
+ var pos = (viewport.first - 1) * props.itemSize;
250
272
  horizontal ? scrollToItem(pos, 0) : scrollToItem(0, pos);
251
273
  }
252
274
  }
253
275
  } else if (isToEnd) {
254
276
  if (both) {
255
277
  if (viewport.last.rows - first.rows <= index[0] + 1) {
256
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows + 1) * itemSize);
278
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows + 1) * props.itemSize[0]);
257
279
  } else if (viewport.last.cols - first.cols <= index[1] + 1) {
258
- scrollToItem((viewport.first.cols + 1) * itemSize, viewport.first.rows * itemSize);
280
+ scrollToItem((viewport.first.cols + 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
259
281
  }
260
282
  } else {
261
283
  if (viewport.last - first <= index + 1) {
262
- var _pos2 = (viewport.first + 1) * itemSize;
284
+ var _pos2 = (viewport.first + 1) * props.itemSize;
263
285
 
264
286
  horizontal ? scrollToItem(_pos2, 0) : scrollToItem(0, _pos2);
265
287
  }
@@ -275,18 +297,14 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
275
297
  };
276
298
 
277
299
  var getColumns = function getColumns() {
278
- if (props.columns) {
279
- if (both || horizontal) {
280
- return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
281
- }
300
+ if (props.columns && both || horizontal) {
301
+ return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
282
302
  }
283
303
 
284
304
  return props.columns;
285
305
  };
286
306
 
287
307
  var getRenderedRange = function getRenderedRange() {
288
- var itemSize = props.itemSize;
289
-
290
308
  var calculateFirstInViewport = function calculateFirstInViewport(_pos, _size) {
291
309
  return Math.floor(_pos / (_size || _pos));
292
310
  };
@@ -295,13 +313,14 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
295
313
  var lastInViewport = 0;
296
314
 
297
315
  if (elementRef.current) {
298
- var scrollTop = elementRef.current.scrollTop;
299
- var scrollLeft = elementRef.current.scrollLeft;
316
+ var _elementRef$current = elementRef.current,
317
+ scrollTop = _elementRef$current.scrollTop,
318
+ scrollLeft = _elementRef$current.scrollLeft;
300
319
 
301
320
  if (both) {
302
321
  firstInViewport = {
303
- rows: calculateFirstInViewport(scrollTop, itemSize[0]),
304
- cols: calculateFirstInViewport(scrollLeft, itemSize[1])
322
+ rows: calculateFirstInViewport(scrollTop, props.itemSize[0]),
323
+ cols: calculateFirstInViewport(scrollLeft, props.itemSize[1])
305
324
  };
306
325
  lastInViewport = {
307
326
  rows: firstInViewport.rows + numItemsInViewportState.rows,
@@ -309,7 +328,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
309
328
  };
310
329
  } else {
311
330
  var scrollPos = horizontal ? scrollLeft : scrollTop;
312
- firstInViewport = calculateFirstInViewport(scrollPos, itemSize);
331
+ firstInViewport = calculateFirstInViewport(scrollPos, props.itemSize);
313
332
  lastInViewport = firstInViewport + numItemsInViewportState;
314
333
  }
315
334
  }
@@ -325,7 +344,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
325
344
  };
326
345
 
327
346
  var calculateNumItems = function calculateNumItems() {
328
- var itemSize = props.itemSize;
329
347
  var contentPos = getContentPosition();
330
348
  var contentWidth = elementRef.current ? elementRef.current.offsetWidth - contentPos.left : 0;
331
349
  var contentHeight = elementRef.current ? elementRef.current.offsetHeight - contentPos.top : 0;
@@ -339,9 +357,9 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
339
357
  };
340
358
 
341
359
  var numItemsInViewport = both ? {
342
- rows: calculateNumItemsInViewport(contentHeight, itemSize[0]),
343
- cols: calculateNumItemsInViewport(contentWidth, itemSize[1])
344
- } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, itemSize);
360
+ rows: calculateNumItemsInViewport(contentHeight, props.itemSize[0]),
361
+ cols: calculateNumItemsInViewport(contentWidth, props.itemSize[1])
362
+ } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, props.itemSize);
345
363
  var numToleratedItems = numToleratedItemsState || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));
346
364
  return {
347
365
  numItemsInViewport: numItemsInViewport,
@@ -386,15 +404,26 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
386
404
  }
387
405
  };
388
406
 
407
+ var calculateAutoSize = function calculateAutoSize(loading) {
408
+ if (props.autoSize && !loading) {
409
+ Promise.resolve().then(function () {
410
+ if (_contentRef.current) {
411
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = 'auto';
412
+ var _contentRef$current = _contentRef.current,
413
+ offsetWidth = _contentRef$current.offsetWidth,
414
+ offsetHeight = _contentRef$current.offsetHeight;
415
+ (both || horizontal) && (elementRef.current.style.width = (offsetWidth < defaultWidth.current ? offsetWidth : defaultWidth.current) + 'px');
416
+ (both || vertical) && (elementRef.current.style.height = (offsetHeight < defaultHeight.current ? offsetHeight : defaultHeight.current) + 'px');
417
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = '';
418
+ }
419
+ });
420
+ }
421
+ };
422
+
389
423
  var getLast = function getLast() {
390
424
  var last = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
391
425
  var isCols = arguments.length > 1 ? arguments[1] : undefined;
392
-
393
- if (props.items) {
394
- return Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last);
395
- }
396
-
397
- return 0;
426
+ return props.items ? Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last) : 0;
398
427
  };
399
428
 
400
429
  var getContentPosition = function getContentPosition() {
@@ -447,7 +476,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
447
476
  var items = props.items;
448
477
 
449
478
  if (_spacerRef.current && items) {
450
- var itemSize = props.itemSize;
451
479
  var contentPos = getContentPosition();
452
480
 
453
481
  var setProp = function setProp(_name, _value, _size) {
@@ -457,10 +485,10 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
457
485
  };
458
486
 
459
487
  if (both) {
460
- setProp('height', items, itemSize[0], contentPos.y);
461
- setProp('width', props.columns || items[1], itemSize[1], contentPos.x);
488
+ setProp('height', items, props.itemSize[0], contentPos.y);
489
+ setProp('width', props.columns || items[1], props.itemSize[1], contentPos.x);
462
490
  } else {
463
- horizontal ? setProp('width', props.columns || items, itemSize, contentPos.x) : setProp('height', items, itemSize, contentPos.y);
491
+ horizontal ? setProp('width', props.columns || items, props.itemSize, contentPos.x) : setProp('height', items, props.itemSize, contentPos.y);
464
492
  }
465
493
  }
466
494
  };
@@ -468,7 +496,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
468
496
  var setContentPosition = function setContentPosition(pos) {
469
497
  if (_contentRef.current) {
470
498
  var first = pos ? pos.first : firstState;
471
- var itemSize = props.itemSize;
472
499
 
473
500
  var calculateTranslateVal = function calculateTranslateVal(_first, _size) {
474
501
  return _first * _size;
@@ -484,9 +511,9 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
484
511
  };
485
512
 
486
513
  if (both) {
487
- setTransform(calculateTranslateVal(first.cols, itemSize[1]), calculateTranslateVal(first.rows, itemSize[0]));
514
+ setTransform(calculateTranslateVal(first.cols, props.itemSize[1]), calculateTranslateVal(first.rows, props.itemSize[0]));
488
515
  } else {
489
- var translateVal = calculateTranslateVal(first, itemSize);
516
+ var translateVal = calculateTranslateVal(first, props.itemSize);
490
517
  horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);
491
518
  }
492
519
  }
@@ -494,7 +521,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
494
521
 
495
522
  var onScrollPositionChange = function onScrollPositionChange(event) {
496
523
  var target = event.target;
497
- var itemSize = props.itemSize;
498
524
  var contentPos = getContentPosition();
499
525
 
500
526
  var calculateScrollPos = function calculateScrollPos(_pos, _cpos) {
@@ -525,16 +551,20 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
525
551
 
526
552
  var scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
527
553
  var scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
528
- var newFirst = 0;
554
+ var newFirst = both ? {
555
+ rows: 0,
556
+ cols: 0
557
+ } : 0;
529
558
  var newLast = lastState;
530
559
  var isRangeChanged = false;
560
+ var newScrollPos = lastScrollPos.current;
531
561
 
532
562
  if (both) {
533
563
  var isScrollDown = lastScrollPos.current.top <= scrollTop;
534
564
  var isScrollRight = lastScrollPos.current.left <= scrollLeft;
535
565
  var currentIndex = {
536
- rows: calculateCurrentIndex(scrollTop, itemSize[0]),
537
- cols: calculateCurrentIndex(scrollLeft, itemSize[1])
566
+ rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
567
+ cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
538
568
  };
539
569
  var triggerIndex = {
540
570
  rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
@@ -548,8 +578,8 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
548
578
  rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
549
579
  cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
550
580
  };
551
- isRangeChanged = newFirst.rows !== firstState.rows && newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols && newLast.cols !== lastState.cols;
552
- lastScrollPos.current = {
581
+ isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols;
582
+ newScrollPos = {
553
583
  top: scrollTop,
554
584
  left: scrollLeft
555
585
  };
@@ -557,20 +587,21 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
557
587
  var scrollPos = horizontal ? scrollLeft : scrollTop;
558
588
  var isScrollDownOrRight = lastScrollPos.current <= scrollPos;
559
589
 
560
- var _currentIndex2 = calculateCurrentIndex(scrollPos, itemSize);
590
+ var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
561
591
 
562
592
  var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
563
593
 
564
594
  newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
565
595
  newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
566
- isRangeChanged = newFirst !== firstState && newLast !== lastState;
567
- lastScrollPos.current = scrollPos;
596
+ isRangeChanged = newFirst !== firstState || newLast !== lastState;
597
+ newScrollPos = scrollPos;
568
598
  }
569
599
 
570
600
  return {
571
601
  first: newFirst,
572
602
  last: newLast,
573
- isRangeChanged: isRangeChanged
603
+ isRangeChanged: isRangeChanged,
604
+ scrollPos: newScrollPos
574
605
  };
575
606
  };
576
607
 
@@ -578,7 +609,8 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
578
609
  var _onScrollPositionChan = onScrollPositionChange(event),
579
610
  first = _onScrollPositionChan.first,
580
611
  last = _onScrollPositionChan.last,
581
- isRangeChanged = _onScrollPositionChan.isRangeChanged;
612
+ isRangeChanged = _onScrollPositionChan.isRangeChanged,
613
+ scrollPos = _onScrollPositionChan.scrollPos;
582
614
 
583
615
  if (isRangeChanged) {
584
616
  var newState = {
@@ -588,6 +620,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
588
620
  setContentPosition(newState);
589
621
  setFirstState(first);
590
622
  setLastState(last);
623
+ lastScrollPos.current = scrollPos;
591
624
  props.onScrollIndexChange && props.onScrollIndexChange(newState);
592
625
 
593
626
  if (props.lazy) {
@@ -614,7 +647,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
614
647
  scrollTimeout.current = setTimeout(function () {
615
648
  onScrollChange(event);
616
649
 
617
- if (loadingState && props.showLoader && !props.lazy) {
650
+ if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
618
651
  setLoadingState(false);
619
652
  }
620
653
  }, props.delay);
@@ -623,10 +656,32 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
623
656
  }
624
657
  };
625
658
 
659
+ var onResize = function onResize() {
660
+ if (resizeTimeout.current) {
661
+ clearTimeout(resizeTimeout.current);
662
+ }
663
+
664
+ resizeTimeout.current = setTimeout(function () {
665
+ if (elementRef.current) {
666
+ var _ref = [DomHandler.getWidth(elementRef.current), DomHandler.getHeight(elementRef.current)],
667
+ width = _ref[0],
668
+ height = _ref[1];
669
+ var isDiffWidth = width !== defaultWidth.current,
670
+ isDiffHeight = height !== defaultHeight.current;
671
+ var reinit = both ? isDiffWidth || isDiffHeight : horizontal ? isDiffWidth : vertical ? isDiffHeight : false;
672
+
673
+ if (reinit) {
674
+ setNumToleratedItemsState(props.numToleratedItems);
675
+ defaultWidth.current = width;
676
+ defaultHeight.current = height;
677
+ }
678
+ }
679
+ }, props.resizeDelay);
680
+ };
681
+
626
682
  var getOptions = function getOptions(renderedIndex) {
627
- var first = firstState;
628
683
  var count = (props.items || []).length;
629
- var index = both ? first.rows + renderedIndex : first + renderedIndex;
684
+ var index = both ? firstState.rows + renderedIndex : firstState + renderedIndex;
630
685
  return {
631
686
  index: index,
632
687
  count: count,
@@ -664,25 +719,48 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
664
719
  };
665
720
 
666
721
  var init = function init() {
667
- setSize();
668
- calculateOptions();
669
- setSpacerSize();
722
+ if (!props.disabled) {
723
+ setSize();
724
+ calculateOptions();
725
+ setSpacerSize();
726
+ }
670
727
  };
671
728
 
672
729
  useMountEffect(function () {
673
- init();
730
+ if (!props.disabled) {
731
+ init();
732
+ bindWindowResizeListener();
733
+ bindOrientationChangeListener();
734
+ defaultWidth.current = DomHandler.getWidth(elementRef.current);
735
+ defaultHeight.current = DomHandler.getHeight(elementRef.current);
736
+ }
674
737
  });
675
738
  useUpdateEffect(function () {
676
739
  init();
677
740
  }, [props.itemSize, props.scrollHeight]);
741
+ useUpdateEffect(function () {
742
+ if (props.numToleratedItems !== numToleratedItemsState) {
743
+ setNumToleratedItemsState(props.numToleratedItems);
744
+ }
745
+ }, [props.numToleratedItems]);
746
+ useUpdateEffect(function () {
747
+ if (props.numToleratedItems === numToleratedItemsState) {
748
+ init(); // reinit after resizing
749
+ }
750
+ }, [numToleratedItemsState]);
678
751
  useUpdateEffect(function () {
679
752
  if (!prevItems || prevItems.length !== (props.items || []).length) {
680
753
  init();
681
754
  }
682
755
 
756
+ var loading = loadingState;
757
+
683
758
  if (props.lazy && prevLoading !== props.loading && props.loading !== loadingState) {
684
759
  setLoadingState(props.loading);
760
+ loading = props.loading;
685
761
  }
762
+
763
+ calculateAutoSize(loading);
686
764
  });
687
765
  useUpdateEffect(function () {
688
766
  lastScrollPos.current = both ? {
@@ -691,12 +769,13 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
691
769
  } : 0;
692
770
  }, [props.orientation]);
693
771
  React.useImperativeHandle(ref, function () {
694
- return {
772
+ return _objectSpread({
773
+ getElementRef: getElementRef,
695
774
  scrollTo: scrollTo,
696
775
  scrollToIndex: scrollToIndex,
697
776
  scrollInView: scrollInView,
698
777
  getRenderedRange: getRenderedRange
699
- };
778
+ }, props);
700
779
  });
701
780
 
702
781
  var createLoaderItem = function createLoaderItem(index) {
@@ -723,6 +802,13 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
723
802
  numCols: numItemsInViewportState.cols
724
803
  });
725
804
  });
805
+ } else if (props.loaderIconTemplate) {
806
+ var defaultContentOptions = {
807
+ className: 'p-virtualscroller-loading-icon',
808
+ element: content,
809
+ props: props
810
+ };
811
+ content = ObjectUtils.getJSXElement(props.loaderIconTemplate, defaultContentOptions);
726
812
  }
727
813
 
728
814
  return /*#__PURE__*/React.createElement("div", {
@@ -779,7 +865,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
779
865
  stickyRef: function stickyRef(el) {
780
866
  return _stickyRef.current = ObjectUtils.getRefElement(el);
781
867
  },
782
- items: loadedItems,
868
+ items: loadedItems(),
783
869
  getItemOptions: function getItemOptions(index) {
784
870
  return getOptions(index);
785
871
  },
@@ -845,14 +931,17 @@ VirtualScroller.defaultProps = {
845
931
  orientation: 'vertical',
846
932
  numToleratedItems: null,
847
933
  delay: 0,
934
+ resizeDelay: 10,
848
935
  lazy: false,
849
936
  disabled: false,
850
937
  loaderDisabled: false,
851
938
  columns: null,
852
- loading: false,
939
+ loading: undefined,
940
+ autoSize: false,
853
941
  showSpacer: true,
854
942
  showLoader: false,
855
943
  loadingTemplate: null,
944
+ loaderIconTemplate: null,
856
945
  itemTemplate: null,
857
946
  contentTemplate: null,
858
947
  onScroll: null,
@@ -1 +1 @@
1
- import*as t from"react";import{usePrevious as e,useMountEffect as r,useUpdateEffect as n}from"primereact/hooks";import{ObjectUtils as o,classNames as l}from"primereact/utils";function i(){return i=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},i.apply(this,arguments)}function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t){if(Array.isArray(t))return t}function c(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,l=[],i=!0,s=!1;try{for(r=r.call(t);!(i=(n=r.next()).done)&&(l.push(n.value),!e||l.length!==e);i=!0);}catch(t){s=!0,o=t}finally{try{i||null==r.return||r.return()}finally{if(s)throw o}}return l}}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function f(t,e){if(t){if("string"==typeof t)return u(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(t,e):void 0}}function m(){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 p(t,e){return a(t)||c(t,e)||f(t,e)||m()}function d(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function h(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?d(Object(r),!0).forEach((function(e){s(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var g=t.memo(t.forwardRef((function(s,a){var c="vertical"===s.orientation,u="horizontal"===s.orientation,f="both"===s.orientation,m=p(t.useState(f?{rows:0,cols:0}:0),2),d=m[0],v=m[1],w=p(t.useState(f?{rows:0,cols:0}:0),2),y=w[0],b=w[1],S=p(t.useState(f?{rows:0,cols:0}:0),2),I=S[0],T=S[1],x=p(t.useState(s.numToleratedItems),2),O=x[0],z=x[1],E=p(t.useState(s.loading),2),L=E[0],R=E[1],j=p(t.useState([]),2),P=j[0],M=j[1],A=t.useRef(null),C=t.useRef(null),D=t.useRef(null),N=t.useRef(null),H=t.useRef(f?{top:0,left:0}:0),k=t.useRef(null),V=e(s.items),W=e(s.loading),J=function(t){A.current&&A.current.scrollTo(t)},X=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",r=B(),n=r.numToleratedItems,o=s.itemSize,l=U(),i=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return t<=e?0:t},a=function(t,e,r){return t*e+r},c=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return J({left:t,top:r,behavior:e})};if(f){var m={rows:i(t[0],n[0]),cols:i(t[1],n[1])};m.rows===d.rows&&m.cols===d.cols||(c(a(m.cols,o[1],l.left),a(m.rows,o[0],l.top)),v(m))}else{var p=i(t,n);p!==d&&(u?c(a(p,o,l.left),0):c(0,a(p,o,l.top)),v(p))}},F=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(e){var n=_(),o=n.first,l=n.viewport,i=s.itemSize,a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return J({left:t,top:e,behavior:r})},c="to-start"===e,m="to-end"===e;if(c){if(f)l.first.rows-o.rows>t[0]?a(l.first.cols*i,(l.first.rows-1)*i):l.first.cols-o.cols>t[1]&&a((l.first.cols-1)*i,l.first.rows*i);else if(l.first-o>t){var p=(l.first-1)*i;u?a(p,0):a(0,p)}}else if(m)if(f)l.last.rows-o.rows<=t[0]+1?a(l.first.cols*i,(l.first.rows+1)*i):l.last.cols-o.cols<=t[1]+1&&a((l.first.cols+1)*i,l.first.rows*i);else if(l.last-o<=t+1){var d=(l.first+1)*i;u?a(d,0):a(0,d)}}else X(t,r)},_=function(){var t=s.itemSize,e=function(t,e){return Math.floor(t/(e||t))},r=d,n=0;if(A.current){var o=A.current.scrollTop,l=A.current.scrollLeft;if(f)n={rows:(r={rows:e(o,t[0]),cols:e(l,t[1])}).rows+I.rows,cols:r.cols+I.cols};else n=(r=e(u?l:o,t))+I}return{first:d,last:y,viewport:{first:r,last:n}}},B=function(){var t=s.itemSize,e=U(),r=A.current?A.current.offsetWidth-e.left:0,n=A.current?A.current.offsetHeight-e.top:0,o=function(t,e){return Math.ceil(t/(e||t))},l=function(t){return Math.ceil(t/2)},i=f?{rows:o(n,t[0]),cols:o(r,t[1])}:o(u?r:n,t);return{numItemsInViewport:i,numToleratedItems:O||(f?[l(i.rows),l(i.cols)]:l(i))}},K=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return s.items?Math.min(e?(s.columns||s.items[0]).length:s.items.length,t):0},U=function(){if(C.current){var t=getComputedStyle(C.current),e=parseInt(t.paddingLeft,10)+Math.max(parseInt(t.left,10),0),r=parseInt(t.paddingRight,10)+Math.max(parseInt(t.right,10),0),n=parseInt(t.paddingTop,10)+Math.max(parseInt(t.top,10),0),o=parseInt(t.paddingBottom,10)+Math.max(parseInt(t.bottom,10),0);return{left:e,right:r,top:n,bottom:o,x:e+r,y:n+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},Y=function(){if(A.current){var t=A.current.parentElement,e=s.scrollWidth||"".concat(A.current.offsetWidth||t.offsetWidth,"px"),r=s.scrollHeight||"".concat(A.current.offsetHeight||t.offsetHeight,"px"),n=function(t,e){return A.current.style[t]=e};f||u?(n("height",r),n("width",e)):n("height",r)}},$=function(){var t=s.items;if(D.current&&t){var e=s.itemSize,r=U(),n=function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return D.current.style[t]=(e||[]).length*r+n+"px"};f?(n("height",t,e[0],r.y),n("width",s.columns||t[1],e[1],r.x)):u?n("width",s.columns||t,e,r.x):n("height",t,e,r.y)}},q=function(t){if(C.current){var e=t?t.first:d,r=s.itemSize,n=function(t,e){return t*e},o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;N.current&&(N.current.style.top="-".concat(e,"px")),C.current.style.transform="translate3d(".concat(t,"px, ").concat(e,"px, 0)")};if(f)o(n(e.cols,r[1]),n(e.rows,r[0]));else{var l=n(e,r);u?o(l,0):o(0,l)}}},G=function(t){var e=t.target,r=s.itemSize,n=U(),o=function(t,e){return t?t>e?t-e:t:0},l=function(t,e){return Math.floor(t/(e||t))},i=function(t,e,r,n,o,l){return t<=o?o:l?r-n-o:e+o-1},a=function(t,e,r,n,o,l,i){return t<=l?0:Math.max(0,i?t<e?r:t-l:t>e?r:t-2*l)},c=function(t,e,r,n,o,l){var i=e+n+2*o;return t>=o&&(i+=o+1),K(i,l)},m=o(e.scrollTop,n.top),p=o(e.scrollLeft,n.left),h=0,g=y,v=!1;if(f){var w=H.current.top<=m,b=H.current.left<=p,S={rows:l(m,r[0]),cols:l(p,r[1])},T={rows:i(S.rows,d.rows,y.rows,I.rows,O[0],w),cols:i(S.cols,d.cols,y.cols,I.cols,O[1],b)};h={rows:a(S.rows,T.rows,d.rows,0,0,O[0],w),cols:a(S.cols,T.cols,d.cols,0,0,O[1],b)},g={rows:c(S.rows,h.rows,0,I.rows,O[0]),cols:c(S.cols,h.cols,0,I.cols,O[1],!0)},v=h.rows!==d.rows&&g.rows!==y.rows||h.cols!==d.cols&&g.cols!==y.cols,H.current={top:m,left:p}}else{var x=u?p:m,z=H.current<=x,E=l(x,r);g=c(E,h=a(E,i(E,d,y,I,O,z),d,0,0,O,z),0,I,O),v=h!==d&&g!==y,H.current=x}return{first:h,last:g,isRangeChanged:v}},Q=function(t){var e=G(t),r=e.first,n=e.last;if(e.isRangeChanged){var o={first:r,last:n};q(o),v(r),b(n),s.onScrollIndexChange&&s.onScrollIndexChange(o),s.lazy&&s.onLazyLoad&&s.onLazyLoad(o)}},Z=function(t){var e=(s.items||[]).length,r=f?d.rows+t:d+t;return{index:r,count:e,first:0===r,last:r===e-1,even:r%2==0,odd:r%2!=0,props:s}},tt=function(t,e){var r=P.length;return h({index:t,count:r,first:0===t,last:t===r-1,even:t%2==0,odd:t%2!=0,props:s},e)},et=function(){var t=s.items;return t&&!L?f?t.slice(d.rows,y.rows).map((function(t){return s.columns?t:t.slice(d.cols,y.cols)})):u&&s.columns?t:t.slice(d,y):[]},rt=function(){var t,e,r,n,o;Y(),t=B(),e=t.numItemsInViewport,r=t.numToleratedItems,n=function(t,e,r,n){return K(t+e+(t<r?2:3)*r,n)},o=f?{rows:n(d.rows,e.rows,r[0]),cols:n(d.cols,e.cols,r[1],!0)}:n(d,e,r),T(e),z(r),b(o),s.showLoader&&M(f?Array.from({length:e.rows}).map((function(){return Array.from({length:e.cols})})):Array.from({length:e})),s.lazy&&s.onLazyLoad&&s.onLazyLoad({first:d,last:o}),$()};r((function(){rt()})),n((function(){rt()}),[s.itemSize,s.scrollHeight]),n((function(){V&&V.length===(s.items||[]).length||rt(),s.lazy&&W!==s.loading&&s.loading!==L&&R(s.loading)})),n((function(){H.current=f?{top:0,left:0}:0}),[s.orientation]),t.useImperativeHandle(a,(function(){return{scrollTo:J,scrollToIndex:X,scrollInView:F,getRenderedRange:_}}));var nt=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=tt(e,r),l=o.getJSXElement(s.loadingTemplate,n);return t.createElement(t.Fragment,{key:e},l)},ot=function(e,r){var n=Z(r),l=o.getJSXElement(s.itemTemplate,e,n);return t.createElement(t.Fragment,{key:n.index},l)};if(s.disabled){var lt=o.getJSXElement(s.contentTemplate,{items:s.items,rows:s.items,columns:s.columns});return t.createElement(t.Fragment,null,s.children,lt)}var it=o.findDiffKeys(s,g.defaultProps),st=l("p-virtualscroller",{"p-both-scroll":f,"p-horizontal-scroll":u},s.className),at=function(){if(!s.loaderDisabled&&s.showLoader&&L){var e=l("p-virtualscroller-loader",{"p-component-overlay":!s.loadingTemplate}),r=t.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return s.loadingTemplate&&(r=P.map((function(t,e){return nt(e,f&&{numCols:I.cols})}))),t.createElement("div",{className:e},r)}return null}(),ct=function(){var e=et().map(ot),r=l("p-virtualscroller-content",{"p-virtualscroller-loading":L}),n=t.createElement("div",{ref:C,className:r},e);if(s.contentTemplate){var i={className:r,contentRef:function(t){return C.current=o.getRefElement(t)},spacerRef:function(t){return D.current=o.getRefElement(t)},stickyRef:function(t){return N.current=o.getRefElement(t)},items:et,getItemOptions:function(t){return Z(t)},children:e,element:n,props:s,loading:L,getLoaderOptions:function(t,e){return tt(t,e)},loadingTemplate:s.loadingTemplate,itemSize:s.itemSize,rows:L?s.loaderDisabled?P:[]:et(),columns:s.columns&&(f||u)?L&&s.loaderDisabled?f?P[0]:P:s.columns.slice(f?d.cols:d,f?y.cols:y):s.columns,vertical:c,horizontal:u,both:f};return o.getJSXElement(s.contentTemplate,i)}return n}(),ut=s.showSpacer?t.createElement("div",{ref:D,className:"p-virtualscroller-spacer"}):null;return t.createElement("div",i({ref:A,className:st,tabIndex:0,style:s.style},it,{onScroll:function(t){s.onScroll&&s.onScroll(t),s.delay?(k.current&&clearTimeout(k.current),!L&&s.showLoader&&G(t).isRangeChanged&&R(!0),k.current=setTimeout((function(){Q(t),L&&s.showLoader&&!s.lazy&&R(!1)}),s.delay)):Q(t)}}),ct,ut,at)})));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};export{g as VirtualScroller};
1
+ import*as e from"react";import{usePrevious as t,useResizeListener as r,useEventListener as n,useMountEffect as o,useUpdateEffect as l}from"primereact/hooks";import{DomHandler as i,ObjectUtils as s,classNames as c}from"primereact/utils";function a(){return a=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},a.apply(this,arguments)}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){if(Array.isArray(e))return e}function m(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 d(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 p(e,t){if(e){if("string"==typeof e)return d(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)?d(e,t):void 0}}function g(){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 h(e,t){return f(e)||m(e,t)||p(e,t)||g()}function v(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 w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var y=e.memo(e.forwardRef((function(u,f){var m="vertical"===u.orientation,d="horizontal"===u.orientation,p="both"===u.orientation,g=h(e.useState(p?{rows:0,cols:0}:0),2),v=g[0],S=g[1],z=h(e.useState(p?{rows:0,cols:0}:0),2),b=z[0],T=z[1],I=h(e.useState(p?{rows:0,cols:0}:0),2),x=I[0],O=I[1],R=h(e.useState(u.numToleratedItems),2),E=R[0],L=R[1],j=h(e.useState(u.loading||!1),2),P=j[0],H=j[1],D=h(e.useState([]),2),M=D[0],N=D[1],W=e.useRef(null),A=e.useRef(null),C=e.useRef(null),k=e.useRef(null),J=e.useRef(p?{top:0,left:0}:0),V=e.useRef(null),X=e.useRef(null),F=e.useRef(null),_=e.useRef(null),B=t(u.items),K=t(u.loading),U=h(r({listener:function(e){return ae(e)}}),1)[0],Y=h(n({target:"window",type:"orientationchange",listener:function(e){return ae(e)}}),1)[0],$=function(){return W},q=function(e){J.current=p?{top:0,left:0}:0,W.current&&W.current.scrollTo(e)},G=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",r=ee(),n=r.numToleratedItems,o=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},l=function(e,t){return e*t},i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return q({left:e,top:r,behavior:t})};if(p){var s={rows:o(e[0],n[0]),cols:o(e[1],n[1])};s.rows===v.rows&&s.cols===v.cols||i(l(s.cols,u.itemSize[1]),l(s.rows,u.itemSize[0]))}else{var c=o(e,n);c!==v&&(d?i(l(c,u.itemSize),0):i(0,l(c,u.itemSize)))}},Q=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(t){var n=Z(),o=n.first,l=n.viewport,i=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 q({left:e,top:t,behavior:r})},s="to-start"===t,c="to-end"===t;if(s){if(p)l.first.rows-o.rows>e[0]?i(l.first.cols*u.itemSize[1],(l.first.rows-1)*u.itemSize[0]):l.first.cols-o.cols>e[1]&&i((l.first.cols-1)*u.itemSize[1],l.first.rows*u.itemSize[0]);else if(l.first-o>e){var a=(l.first-1)*u.itemSize;d?i(a,0):i(0,a)}}else if(c)if(p)l.last.rows-o.rows<=e[0]+1?i(l.first.cols*u.itemSize[1],(l.first.rows+1)*u.itemSize[0]):l.last.cols-o.cols<=e[1]+1&&i((l.first.cols+1)*u.itemSize[1],l.first.rows*u.itemSize[0]);else if(l.last-o<=e+1){var f=(l.first+1)*u.itemSize;d?i(f,0):i(0,f)}}else G(e,r)},Z=function(){var e=function(e,t){return Math.floor(e/(t||e))},t=v,r=0;if(W.current){var n=W.current,o=n.scrollTop,l=n.scrollLeft;if(p)r={rows:(t={rows:e(o,u.itemSize[0]),cols:e(l,u.itemSize[1])}).rows+x.rows,cols:t.cols+x.cols};else r=(t=e(d?l:o,u.itemSize))+x}return{first:v,last:b,viewport:{first:t,last:r}}},ee=function(){var e=ne(),t=W.current?W.current.offsetWidth-e.left:0,r=W.current?W.current.offsetHeight-e.top:0,n=function(e,t){return Math.ceil(e/(t||e))},o=function(e){return Math.ceil(e/2)},l=p?{rows:n(r,u.itemSize[0]),cols:n(t,u.itemSize[1])}:n(d?t:r,u.itemSize);return{numItemsInViewport:l,numToleratedItems:E||(p?[o(l.rows),o(l.cols)]:o(l))}},te=function(e){u.autoSize&&!e&&Promise.resolve().then((function(){if(A.current){A.current.style.minHeight=A.current.style.minWidth="auto";var e=A.current,t=e.offsetWidth,r=e.offsetHeight;(p||d)&&(W.current.style.width=(t<F.current?t:F.current)+"px"),(p||m)&&(W.current.style.height=(r<_.current?r:_.current)+"px"),A.current.style.minHeight=A.current.style.minWidth=""}}))},re=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return u.items?Math.min(t?(u.columns||u.items[0]).length:u.items.length,e):0},ne=function(){if(A.current){var e=getComputedStyle(A.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}},oe=function(){if(W.current){var e=W.current.parentElement,t=u.scrollWidth||"".concat(W.current.offsetWidth||e.offsetWidth,"px"),r=u.scrollHeight||"".concat(W.current.offsetHeight||e.offsetHeight,"px"),n=function(e,t){return W.current.style[e]=t};p||d?(n("height",r),n("width",t)):n("height",r)}},le=function(){var e=u.items;if(C.current&&e){var t=ne(),r=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return C.current.style[e]=(t||[]).length*r+n+"px"};p?(r("height",e,u.itemSize[0],t.y),r("width",u.columns||e[1],u.itemSize[1],t.x)):d?r("width",u.columns||e,u.itemSize,t.x):r("height",e,u.itemSize,t.y)}},ie=function(e){if(A.current){var t=e?e.first:v,r=function(e,t){return e*t},n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;k.current&&(k.current.style.top="-".concat(t,"px")),A.current.style.transform="translate3d(".concat(e,"px, ").concat(t,"px, 0)")};if(p)n(r(t.cols,u.itemSize[1]),r(t.rows,u.itemSize[0]));else{var o=r(t,u.itemSize);d?n(o,0):n(0,o)}}},se=function(e){var t=e.target,r=ne(),n=function(e,t){return e?e>t?e-t:e:0},o=function(e,t){return Math.floor(e/(t||e))},l=function(e,t,r,n,o,l){return e<=o?o:l?r-n-o:t+o-1},i=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)},s=function(e,t,r,n,o,l){var i=t+n+2*o;return e>=o&&(i+=o+1),re(i,l)},c=n(t.scrollTop,r.top),a=n(t.scrollLeft,r.left),f=p?{rows:0,cols:0}:0,m=b,g=!1,h=J.current;if(p){var w=J.current.top<=c,y=J.current.left<=a,S={rows:o(c,u.itemSize[0]),cols:o(a,u.itemSize[1])},z={rows:l(S.rows,v.rows,b.rows,x.rows,E[0],w),cols:l(S.cols,v.cols,b.cols,x.cols,E[1],y)};f={rows:i(S.rows,z.rows,v.rows,0,0,E[0],w),cols:i(S.cols,z.cols,v.cols,0,0,E[1],y)},m={rows:s(S.rows,f.rows,0,x.rows,E[0]),cols:s(S.cols,f.cols,0,x.cols,E[1],!0)},g=f.rows!==v.rows||m.rows!==b.rows||f.cols!==v.cols||m.cols!==b.cols,h={top:c,left:a}}else{var T=d?a:c,I=J.current<=T,O=o(T,u.itemSize);m=s(O,f=i(O,l(O,v,b,x,E,I),v,0,0,E,I),0,x,E),g=f!==v||m!==b,h=T}return{first:f,last:m,isRangeChanged:g,scrollPos:h}},ce=function(e){var t=se(e),r=t.first,n=t.last,o=t.scrollPos;if(t.isRangeChanged){var l={first:r,last:n};ie(l),S(r),T(n),J.current=o,u.onScrollIndexChange&&u.onScrollIndexChange(l),u.lazy&&u.onLazyLoad&&u.onLazyLoad(l)}},ae=function(){X.current&&clearTimeout(X.current),X.current=setTimeout((function(){if(W.current){var e=[i.getWidth(W.current),i.getHeight(W.current)],t=e[0],r=e[1],n=t!==F.current,o=r!==_.current;(p?n||o:d?n:!!m&&o)&&(L(u.numToleratedItems),F.current=t,_.current=r)}}),u.resizeDelay)},ue=function(e){var t=(u.items||[]).length,r=p?v.rows+e:v+e;return{index:r,count:t,first:0===r,last:r===t-1,even:r%2==0,odd:r%2!=0,props:u}},fe=function(e,t){var r=M.length;return w({index:e,count:r,first:0===e,last:e===r-1,even:e%2==0,odd:e%2!=0,props:u},t)},me=function(){var e=u.items;return e&&!P?p?e.slice(v.rows,b.rows).map((function(e){return u.columns?e:e.slice(v.cols,b.cols)})):d&&u.columns?e:e.slice(v,b):[]},de=function(){var e,t,r,n,o;u.disabled||(oe(),e=ee(),t=e.numItemsInViewport,r=e.numToleratedItems,n=function(e,t,r,n){return re(e+t+(e<r?2:3)*r,n)},o=p?{rows:n(v.rows,t.rows,r[0]),cols:n(v.cols,t.cols,r[1],!0)}:n(v,t,r),O(t),L(r),T(o),u.showLoader&&N(p?Array.from({length:t.rows}).map((function(){return Array.from({length:t.cols})})):Array.from({length:t})),u.lazy&&u.onLazyLoad&&u.onLazyLoad({first:v,last:o}),le())};o((function(){u.disabled||(de(),U(),Y(),F.current=i.getWidth(W.current),_.current=i.getHeight(W.current))})),l((function(){de()}),[u.itemSize,u.scrollHeight]),l((function(){u.numToleratedItems!==E&&L(u.numToleratedItems)}),[u.numToleratedItems]),l((function(){u.numToleratedItems===E&&de()}),[E]),l((function(){B&&B.length===(u.items||[]).length||de();var e=P;u.lazy&&K!==u.loading&&u.loading!==P&&(H(u.loading),e=u.loading),te(e)})),l((function(){J.current=p?{top:0,left:0}:0}),[u.orientation]),e.useImperativeHandle(f,(function(){return w({getElementRef:$,scrollTo:q,scrollToIndex:G,scrollInView:Q,getRenderedRange:Z},u)}));var pe=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=fe(t,r),o=s.getJSXElement(u.loadingTemplate,n);return e.createElement(e.Fragment,{key:t},o)},ge=function(t,r){var n=ue(r),o=s.getJSXElement(u.itemTemplate,t,n);return e.createElement(e.Fragment,{key:n.index},o)};if(u.disabled){var he=s.getJSXElement(u.contentTemplate,{items:u.items,rows:u.items,columns:u.columns});return e.createElement(e.Fragment,null,u.children,he)}var ve=s.findDiffKeys(u,y.defaultProps),we=c("p-virtualscroller",{"p-both-scroll":p,"p-horizontal-scroll":d},u.className),ye=function(){if(!u.loaderDisabled&&u.showLoader&&P){var t=c("p-virtualscroller-loader",{"p-component-overlay":!u.loadingTemplate}),r=e.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return u.loadingTemplate?r=M.map((function(e,t){return pe(t,p&&{numCols:x.cols})})):u.loaderIconTemplate&&(r=s.getJSXElement(u.loaderIconTemplate,{className:"p-virtualscroller-loading-icon",element:r,props:u})),e.createElement("div",{className:t},r)}return null}(),Se=function(){var t=me().map(ge),r=c("p-virtualscroller-content",{"p-virtualscroller-loading":P}),n=e.createElement("div",{ref:A,className:r},t);if(u.contentTemplate){var o={className:r,contentRef:function(e){return A.current=s.getRefElement(e)},spacerRef:function(e){return C.current=s.getRefElement(e)},stickyRef:function(e){return k.current=s.getRefElement(e)},items:me(),getItemOptions:function(e){return ue(e)},children:t,element:n,props:u,loading:P,getLoaderOptions:function(e,t){return fe(e,t)},loadingTemplate:u.loadingTemplate,itemSize:u.itemSize,rows:P?u.loaderDisabled?M:[]:me(),columns:u.columns&&p||d?P&&u.loaderDisabled?p?M[0]:M:u.columns.slice(p?v.cols:v,p?b.cols:b):u.columns,vertical:m,horizontal:d,both:p};return s.getJSXElement(u.contentTemplate,o)}return n}(),ze=u.showSpacer?e.createElement("div",{ref:C,className:"p-virtualscroller-spacer"}):null;return e.createElement("div",a({ref:W,className:we,tabIndex:0,style:u.style},ve,{onScroll:function(e){u.onScroll&&u.onScroll(e),u.delay?(V.current&&clearTimeout(V.current),!P&&u.showLoader&&se(e).isRangeChanged&&H(!0),V.current=setTimeout((function(){ce(e),!P||!u.showLoader||u.lazy&&void 0!==u.loading||H(!1)}),u.delay)):ce(e)}}),Se,ze,ye)})));y.displayName="VirtualScroller",y.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};export{y as VirtualScroller};