primereact 8.0.1 → 8.2.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 (434) hide show
  1. package/api/api.cjs.js +22 -1
  2. package/api/api.cjs.min.js +1 -1
  3. package/api/api.esm.js +22 -2
  4. package/api/api.esm.min.js +1 -1
  5. package/api/api.js +22 -1
  6. package/api/api.min.js +1 -1
  7. package/autocomplete/autocomplete.cjs.js +42 -24
  8. package/autocomplete/autocomplete.cjs.min.js +1 -1
  9. package/autocomplete/autocomplete.d.ts +0 -1
  10. package/autocomplete/autocomplete.esm.js +43 -25
  11. package/autocomplete/autocomplete.esm.min.js +1 -1
  12. package/autocomplete/autocomplete.js +42 -24
  13. package/autocomplete/autocomplete.min.js +1 -1
  14. package/avatar/avatar.cjs.js +7 -7
  15. package/avatar/avatar.cjs.min.js +1 -1
  16. package/avatar/avatar.d.ts +1 -3
  17. package/avatar/avatar.esm.js +7 -7
  18. package/avatar/avatar.esm.min.js +1 -1
  19. package/avatar/avatar.js +7 -7
  20. package/avatar/avatar.min.js +1 -1
  21. package/badge/badge.cjs.js +2 -2
  22. package/badge/badge.cjs.min.js +1 -1
  23. package/badge/badge.d.ts +2 -4
  24. package/badge/badge.esm.js +2 -2
  25. package/badge/badge.esm.min.js +1 -1
  26. package/badge/badge.js +2 -2
  27. package/badge/badge.min.js +1 -1
  28. package/breadcrumb/breadcrumb.cjs.js +22 -6
  29. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  30. package/breadcrumb/breadcrumb.esm.js +22 -6
  31. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  32. package/breadcrumb/breadcrumb.js +22 -6
  33. package/breadcrumb/breadcrumb.min.js +1 -1
  34. package/button/button.cjs.js +1 -1
  35. package/button/button.cjs.min.js +1 -1
  36. package/button/button.esm.js +1 -1
  37. package/button/button.esm.min.js +1 -1
  38. package/button/button.js +1 -1
  39. package/button/button.min.js +1 -1
  40. package/calendar/calendar.cjs.js +80 -7
  41. package/calendar/calendar.cjs.min.js +1 -1
  42. package/calendar/calendar.d.ts +7 -5
  43. package/calendar/calendar.esm.js +80 -7
  44. package/calendar/calendar.esm.min.js +1 -1
  45. package/calendar/calendar.js +80 -7
  46. package/calendar/calendar.min.js +1 -1
  47. package/captcha/captcha.cjs.js +1 -0
  48. package/captcha/captcha.esm.js +1 -0
  49. package/captcha/captcha.js +1 -0
  50. package/card/card.d.ts +1 -4
  51. package/carousel/carousel.cjs.js +18 -17
  52. package/carousel/carousel.cjs.min.js +1 -1
  53. package/carousel/carousel.esm.js +19 -18
  54. package/carousel/carousel.esm.min.js +1 -1
  55. package/carousel/carousel.js +19 -18
  56. package/carousel/carousel.min.js +1 -1
  57. package/cascadeselect/cascadeselect.cjs.js +5 -4
  58. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  59. package/cascadeselect/cascadeselect.d.ts +1 -1
  60. package/cascadeselect/cascadeselect.esm.js +5 -4
  61. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  62. package/cascadeselect/cascadeselect.js +5 -4
  63. package/cascadeselect/cascadeselect.min.js +1 -1
  64. package/chart/chart.cjs.js +13 -7
  65. package/chart/chart.cjs.min.js +1 -1
  66. package/chart/chart.esm.js +13 -7
  67. package/chart/chart.esm.min.js +1 -1
  68. package/chart/chart.js +13 -7
  69. package/chart/chart.min.js +1 -1
  70. package/checkbox/checkbox.cjs.js +1 -2
  71. package/checkbox/checkbox.cjs.min.js +1 -1
  72. package/checkbox/checkbox.esm.js +2 -3
  73. package/checkbox/checkbox.esm.min.js +1 -1
  74. package/checkbox/checkbox.js +1 -2
  75. package/checkbox/checkbox.min.js +1 -1
  76. package/chip/chip.d.ts +1 -3
  77. package/chips/chips.cjs.js +18 -2
  78. package/chips/chips.cjs.min.js +1 -1
  79. package/chips/chips.d.ts +3 -0
  80. package/chips/chips.esm.js +19 -3
  81. package/chips/chips.esm.min.js +1 -1
  82. package/chips/chips.js +19 -4
  83. package/chips/chips.min.js +1 -1
  84. package/column/column.cjs.js +2 -1
  85. package/column/column.cjs.min.js +1 -1
  86. package/column/column.d.ts +2 -0
  87. package/column/column.esm.js +2 -1
  88. package/column/column.esm.min.js +1 -1
  89. package/column/column.js +2 -1
  90. package/column/column.min.js +1 -1
  91. package/confirmdialog/confirmdialog.d.ts +1 -6
  92. package/contextmenu/contextmenu.cjs.js +1 -0
  93. package/contextmenu/contextmenu.cjs.min.js +1 -1
  94. package/contextmenu/contextmenu.esm.js +1 -0
  95. package/contextmenu/contextmenu.esm.min.js +1 -1
  96. package/contextmenu/contextmenu.js +1 -0
  97. package/contextmenu/contextmenu.min.js +1 -1
  98. package/core/core.js +390 -160
  99. package/core/core.min.js +14 -14
  100. package/datatable/datatable.cjs.js +68 -27
  101. package/datatable/datatable.cjs.min.js +1 -1
  102. package/datatable/datatable.esm.js +69 -28
  103. package/datatable/datatable.esm.min.js +1 -1
  104. package/datatable/datatable.js +68 -27
  105. package/datatable/datatable.min.css +1 -1
  106. package/datatable/datatable.min.js +1 -1
  107. package/dialog/dialog.cjs.js +7 -3
  108. package/dialog/dialog.cjs.min.js +1 -1
  109. package/dialog/dialog.d.ts +2 -0
  110. package/dialog/dialog.esm.js +7 -3
  111. package/dialog/dialog.esm.min.js +1 -1
  112. package/dialog/dialog.js +7 -3
  113. package/dialog/dialog.min.js +1 -1
  114. package/dropdown/dropdown.cjs.js +32 -25
  115. package/dropdown/dropdown.cjs.min.js +1 -1
  116. package/dropdown/dropdown.d.ts +1 -1
  117. package/dropdown/dropdown.esm.js +32 -25
  118. package/dropdown/dropdown.esm.min.js +1 -1
  119. package/dropdown/dropdown.js +32 -25
  120. package/dropdown/dropdown.min.js +1 -1
  121. package/editor/editor.cjs.js +11 -3
  122. package/editor/editor.cjs.min.js +1 -1
  123. package/editor/editor.esm.js +11 -3
  124. package/editor/editor.esm.min.js +1 -1
  125. package/editor/editor.js +11 -3
  126. package/editor/editor.min.js +1 -1
  127. package/fileupload/fileupload.cjs.js +46 -19
  128. package/fileupload/fileupload.cjs.min.js +1 -1
  129. package/fileupload/fileupload.d.ts +1 -0
  130. package/fileupload/fileupload.esm.js +46 -19
  131. package/fileupload/fileupload.esm.min.js +1 -1
  132. package/fileupload/fileupload.js +46 -19
  133. package/fileupload/fileupload.min.js +1 -1
  134. package/fullcalendar/fullcalendar.cjs.js +1 -0
  135. package/fullcalendar/fullcalendar.esm.js +1 -0
  136. package/fullcalendar/fullcalendar.js +1 -0
  137. package/hooks/hooks.cjs.js +48 -2
  138. package/hooks/hooks.cjs.min.js +1 -1
  139. package/hooks/hooks.d.ts +3 -1
  140. package/hooks/hooks.esm.js +47 -3
  141. package/hooks/hooks.esm.min.js +1 -1
  142. package/hooks/hooks.js +48 -2
  143. package/hooks/hooks.min.js +1 -1
  144. package/image/image.cjs.js +5 -5
  145. package/image/image.cjs.min.js +1 -1
  146. package/image/image.d.ts +1 -3
  147. package/image/image.esm.js +5 -5
  148. package/image/image.esm.min.js +1 -1
  149. package/image/image.js +5 -5
  150. package/image/image.min.css +1 -1
  151. package/image/image.min.js +1 -1
  152. package/inplace/inplace.cjs.js +1 -1
  153. package/inplace/inplace.cjs.min.js +1 -1
  154. package/inplace/inplace.esm.js +1 -1
  155. package/inplace/inplace.esm.min.js +1 -1
  156. package/inplace/inplace.js +1 -1
  157. package/inplace/inplace.min.js +1 -1
  158. package/inputmask/inputmask.cjs.js +7 -5
  159. package/inputmask/inputmask.cjs.min.js +1 -1
  160. package/inputmask/inputmask.d.ts +0 -1
  161. package/inputmask/inputmask.esm.js +7 -5
  162. package/inputmask/inputmask.esm.min.js +1 -1
  163. package/inputmask/inputmask.js +7 -5
  164. package/inputmask/inputmask.min.js +1 -1
  165. package/inputnumber/inputnumber.cjs.js +37 -4
  166. package/inputnumber/inputnumber.cjs.min.js +1 -1
  167. package/inputnumber/inputnumber.esm.js +38 -5
  168. package/inputnumber/inputnumber.esm.min.js +1 -1
  169. package/inputnumber/inputnumber.js +37 -4
  170. package/inputnumber/inputnumber.min.js +1 -1
  171. package/inputswitch/inputswitch.cjs.js +1 -1
  172. package/inputswitch/inputswitch.cjs.min.js +1 -1
  173. package/inputswitch/inputswitch.d.ts +1 -1
  174. package/inputswitch/inputswitch.esm.js +2 -2
  175. package/inputswitch/inputswitch.esm.min.js +1 -1
  176. package/inputswitch/inputswitch.js +1 -1
  177. package/inputswitch/inputswitch.min.css +1 -1
  178. package/inputswitch/inputswitch.min.js +1 -1
  179. package/inputtext/inputtext.min.css +1 -1
  180. package/listbox/listbox.cjs.js +84 -15
  181. package/listbox/listbox.cjs.min.js +1 -1
  182. package/listbox/listbox.d.ts +2 -1
  183. package/listbox/listbox.esm.js +84 -15
  184. package/listbox/listbox.esm.min.js +1 -1
  185. package/listbox/listbox.js +85 -17
  186. package/listbox/listbox.min.js +1 -1
  187. package/megamenu/megamenu.cjs.js +32 -12
  188. package/megamenu/megamenu.cjs.min.js +1 -1
  189. package/megamenu/megamenu.d.ts +7 -0
  190. package/megamenu/megamenu.esm.js +32 -12
  191. package/megamenu/megamenu.esm.min.js +1 -1
  192. package/megamenu/megamenu.js +32 -12
  193. package/megamenu/megamenu.min.css +1 -1
  194. package/megamenu/megamenu.min.js +1 -1
  195. package/mention/mention.cjs.js +8 -4
  196. package/mention/mention.cjs.min.js +1 -1
  197. package/mention/mention.esm.js +8 -4
  198. package/mention/mention.esm.min.js +1 -1
  199. package/mention/mention.js +8 -4
  200. package/mention/mention.min.js +1 -1
  201. package/menubar/menubar.cjs.js +1 -0
  202. package/menubar/menubar.cjs.min.js +1 -1
  203. package/menubar/menubar.esm.js +1 -0
  204. package/menubar/menubar.esm.min.js +1 -1
  205. package/menubar/menubar.js +1 -0
  206. package/menubar/menubar.min.js +1 -1
  207. package/menuitem/menuitem.d.ts +2 -0
  208. package/message/message.d.ts +1 -1
  209. package/messages/messages.cjs.js +3 -2
  210. package/messages/messages.cjs.min.js +1 -1
  211. package/messages/messages.d.ts +1 -1
  212. package/messages/messages.esm.js +3 -2
  213. package/messages/messages.esm.min.js +1 -1
  214. package/messages/messages.js +3 -2
  215. package/messages/messages.min.js +1 -1
  216. package/multiselect/multiselect.cjs.js +22 -15
  217. package/multiselect/multiselect.cjs.min.js +1 -1
  218. package/multiselect/multiselect.d.ts +1 -1
  219. package/multiselect/multiselect.esm.js +22 -15
  220. package/multiselect/multiselect.esm.min.js +1 -1
  221. package/multiselect/multiselect.js +22 -15
  222. package/multiselect/multiselect.min.js +1 -1
  223. package/multistatecheckbox/multistatecheckbox.cjs.js +30 -24
  224. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  225. package/multistatecheckbox/multistatecheckbox.d.ts +2 -4
  226. package/multistatecheckbox/multistatecheckbox.esm.js +30 -24
  227. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  228. package/multistatecheckbox/multistatecheckbox.js +31 -26
  229. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  230. package/overlaypanel/overlaypanel.cjs.js +2 -2
  231. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  232. package/overlaypanel/overlaypanel.esm.js +2 -2
  233. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  234. package/overlaypanel/overlaypanel.js +2 -2
  235. package/overlaypanel/overlaypanel.min.js +1 -1
  236. package/package.json +4 -2
  237. package/paginator/paginator.cjs.js +26 -24
  238. package/paginator/paginator.cjs.min.js +1 -1
  239. package/paginator/paginator.esm.js +26 -24
  240. package/paginator/paginator.esm.min.js +1 -1
  241. package/paginator/paginator.js +26 -25
  242. package/paginator/paginator.min.js +1 -1
  243. package/panelmenu/panelmenu.cjs.js +16 -0
  244. package/panelmenu/panelmenu.cjs.min.js +1 -1
  245. package/panelmenu/panelmenu.esm.js +17 -1
  246. package/panelmenu/panelmenu.esm.min.js +1 -1
  247. package/panelmenu/panelmenu.js +16 -0
  248. package/panelmenu/panelmenu.min.js +1 -1
  249. package/picklist/picklist.cjs.js +175 -16
  250. package/picklist/picklist.cjs.min.js +1 -1
  251. package/picklist/picklist.d.ts +34 -1
  252. package/picklist/picklist.esm.js +175 -16
  253. package/picklist/picklist.esm.min.js +1 -1
  254. package/picklist/picklist.js +176 -18
  255. package/picklist/picklist.min.css +1 -1
  256. package/picklist/picklist.min.js +1 -1
  257. package/primereact.all.cjs.js +1262 -495
  258. package/primereact.all.cjs.min.js +1 -1
  259. package/primereact.all.esm.js +1260 -496
  260. package/primereact.all.esm.min.js +1 -1
  261. package/primereact.all.js +1262 -495
  262. package/primereact.all.min.js +1 -1
  263. package/progressbar/progressbar.cjs.js +1 -2
  264. package/progressbar/progressbar.cjs.min.js +1 -1
  265. package/progressbar/progressbar.esm.js +1 -2
  266. package/progressbar/progressbar.esm.min.js +1 -1
  267. package/progressbar/progressbar.js +1 -2
  268. package/progressbar/progressbar.min.js +1 -1
  269. package/radiobutton/radiobutton.cjs.js +6 -6
  270. package/radiobutton/radiobutton.cjs.min.js +1 -1
  271. package/radiobutton/radiobutton.d.ts +0 -1
  272. package/radiobutton/radiobutton.esm.js +7 -7
  273. package/radiobutton/radiobutton.esm.min.js +1 -1
  274. package/radiobutton/radiobutton.js +6 -6
  275. package/radiobutton/radiobutton.min.js +1 -1
  276. package/resources/primereact.css +266 -208
  277. package/resources/primereact.min.css +1 -1
  278. package/resources/themes/arya-blue/theme.css +20 -7
  279. package/resources/themes/arya-green/theme.css +20 -7
  280. package/resources/themes/arya-orange/theme.css +20 -7
  281. package/resources/themes/arya-purple/theme.css +20 -7
  282. package/resources/themes/bootstrap4-dark-blue/theme.css +20 -7
  283. package/resources/themes/bootstrap4-dark-purple/theme.css +20 -7
  284. package/resources/themes/bootstrap4-light-blue/theme.css +19 -6
  285. package/resources/themes/bootstrap4-light-purple/theme.css +19 -6
  286. package/resources/themes/fluent-light/theme.css +20 -7
  287. package/resources/themes/lara-dark-blue/theme.css +20 -7
  288. package/resources/themes/lara-dark-indigo/theme.css +20 -7
  289. package/resources/themes/lara-dark-purple/theme.css +20 -7
  290. package/resources/themes/lara-dark-teal/theme.css +20 -7
  291. package/resources/themes/lara-light-blue/theme.css +20 -7
  292. package/resources/themes/lara-light-indigo/theme.css +20 -7
  293. package/resources/themes/lara-light-purple/theme.css +20 -7
  294. package/resources/themes/lara-light-teal/theme.css +20 -7
  295. package/resources/themes/luna-amber/theme.css +20 -7
  296. package/resources/themes/luna-blue/theme.css +20 -7
  297. package/resources/themes/luna-green/theme.css +20 -7
  298. package/resources/themes/luna-pink/theme.css +20 -7
  299. package/resources/themes/md-dark-deeppurple/theme.css +20 -7
  300. package/resources/themes/md-dark-indigo/theme.css +20 -7
  301. package/resources/themes/md-light-deeppurple/theme.css +20 -7
  302. package/resources/themes/md-light-indigo/theme.css +20 -7
  303. package/resources/themes/mdc-dark-deeppurple/theme.css +20 -7
  304. package/resources/themes/mdc-dark-indigo/theme.css +20 -7
  305. package/resources/themes/mdc-light-deeppurple/theme.css +20 -7
  306. package/resources/themes/mdc-light-indigo/theme.css +20 -7
  307. package/resources/themes/nova/theme.css +20 -7
  308. package/resources/themes/nova-accent/theme.css +20 -7
  309. package/resources/themes/nova-alt/theme.css +20 -7
  310. package/resources/themes/rhea/theme.css +20 -7
  311. package/resources/themes/saga-blue/theme.css +20 -7
  312. package/resources/themes/saga-green/theme.css +20 -7
  313. package/resources/themes/saga-orange/theme.css +20 -7
  314. package/resources/themes/saga-purple/theme.css +20 -7
  315. package/resources/themes/tailwind-light/theme.css +20 -7
  316. package/resources/themes/vela-blue/theme.css +20 -7
  317. package/resources/themes/vela-green/theme.css +20 -7
  318. package/resources/themes/vela-orange/theme.css +20 -7
  319. package/resources/themes/vela-purple/theme.css +20 -7
  320. package/selectbutton/selectbutton.cjs.js +2 -6
  321. package/selectbutton/selectbutton.cjs.min.js +1 -1
  322. package/selectbutton/selectbutton.d.ts +1 -1
  323. package/selectbutton/selectbutton.esm.js +2 -6
  324. package/selectbutton/selectbutton.esm.min.js +1 -1
  325. package/selectbutton/selectbutton.js +2 -6
  326. package/selectbutton/selectbutton.min.js +1 -1
  327. package/slidemenu/slidemenu.cjs.js +39 -7
  328. package/slidemenu/slidemenu.cjs.min.js +1 -1
  329. package/slidemenu/slidemenu.esm.js +39 -7
  330. package/slidemenu/slidemenu.esm.min.js +1 -1
  331. package/slidemenu/slidemenu.js +39 -7
  332. package/slidemenu/slidemenu.min.js +1 -1
  333. package/slider/slider.cjs.js +6 -3
  334. package/slider/slider.cjs.min.js +1 -1
  335. package/slider/slider.d.ts +1 -1
  336. package/slider/slider.esm.js +6 -3
  337. package/slider/slider.esm.min.js +1 -1
  338. package/slider/slider.js +6 -3
  339. package/slider/slider.min.js +1 -1
  340. package/splitbutton/splitbutton.cjs.js +16 -9
  341. package/splitbutton/splitbutton.cjs.min.js +1 -1
  342. package/splitbutton/splitbutton.d.ts +4 -0
  343. package/splitbutton/splitbutton.esm.js +16 -9
  344. package/splitbutton/splitbutton.esm.min.js +1 -1
  345. package/splitbutton/splitbutton.js +16 -9
  346. package/splitbutton/splitbutton.min.js +1 -1
  347. package/splitter/splitter.cjs.js +15 -7
  348. package/splitter/splitter.cjs.min.js +1 -1
  349. package/splitter/splitter.esm.js +16 -8
  350. package/splitter/splitter.esm.min.js +1 -1
  351. package/splitter/splitter.js +15 -7
  352. package/splitter/splitter.min.js +1 -1
  353. package/steps/steps.cjs.js +1 -0
  354. package/steps/steps.cjs.min.js +1 -1
  355. package/steps/steps.esm.js +1 -0
  356. package/steps/steps.esm.min.js +1 -1
  357. package/steps/steps.js +1 -0
  358. package/steps/steps.min.js +1 -1
  359. package/styleclass/styleclass.cjs.js +26 -21
  360. package/styleclass/styleclass.cjs.min.js +1 -1
  361. package/styleclass/styleclass.d.ts +1 -1
  362. package/styleclass/styleclass.esm.js +26 -21
  363. package/styleclass/styleclass.esm.min.js +1 -1
  364. package/styleclass/styleclass.js +26 -21
  365. package/styleclass/styleclass.min.js +1 -1
  366. package/tag/tag.d.ts +1 -1
  367. package/terminal/terminal.cjs.js +1 -1
  368. package/terminal/terminal.cjs.min.js +1 -1
  369. package/terminal/terminal.esm.js +2 -2
  370. package/terminal/terminal.esm.min.js +1 -1
  371. package/terminal/terminal.js +1 -1
  372. package/terminal/terminal.min.js +1 -1
  373. package/tieredmenu/tieredmenu.cjs.js +3 -1
  374. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  375. package/tieredmenu/tieredmenu.esm.js +3 -1
  376. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  377. package/tieredmenu/tieredmenu.js +3 -1
  378. package/tieredmenu/tieredmenu.min.js +1 -1
  379. package/toast/toast.cjs.js +30 -35
  380. package/toast/toast.cjs.min.js +1 -1
  381. package/toast/toast.d.ts +2 -1
  382. package/toast/toast.esm.js +30 -35
  383. package/toast/toast.esm.min.js +1 -1
  384. package/toast/toast.js +30 -35
  385. package/toast/toast.min.css +1 -1
  386. package/toast/toast.min.js +1 -1
  387. package/tooltip/tooltip.cjs.js +28 -22
  388. package/tooltip/tooltip.cjs.min.js +1 -1
  389. package/tooltip/tooltip.esm.js +28 -22
  390. package/tooltip/tooltip.esm.min.js +1 -1
  391. package/tooltip/tooltip.js +28 -22
  392. package/tooltip/tooltip.min.js +1 -1
  393. package/tree/tree.cjs.js +9 -1
  394. package/tree/tree.cjs.min.js +1 -1
  395. package/tree/tree.esm.js +9 -1
  396. package/tree/tree.esm.min.js +1 -1
  397. package/tree/tree.js +9 -1
  398. package/tree/tree.min.js +1 -1
  399. package/treeselect/treeselect.cjs.js +2 -2
  400. package/treeselect/treeselect.cjs.min.js +1 -1
  401. package/treeselect/treeselect.esm.js +2 -2
  402. package/treeselect/treeselect.esm.min.js +1 -1
  403. package/treeselect/treeselect.js +2 -2
  404. package/treeselect/treeselect.min.js +1 -1
  405. package/treetable/treetable.cjs.js +11 -1
  406. package/treetable/treetable.cjs.min.js +1 -1
  407. package/treetable/treetable.d.ts +3 -3
  408. package/treetable/treetable.esm.js +11 -1
  409. package/treetable/treetable.esm.min.js +1 -1
  410. package/treetable/treetable.js +11 -1
  411. package/treetable/treetable.min.js +1 -1
  412. package/tristatecheckbox/tristatecheckbox.cjs.js +25 -23
  413. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  414. package/tristatecheckbox/tristatecheckbox.d.ts +2 -4
  415. package/tristatecheckbox/tristatecheckbox.esm.js +25 -23
  416. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  417. package/tristatecheckbox/tristatecheckbox.js +26 -25
  418. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  419. package/utils/utils.cjs.js +21 -5
  420. package/utils/utils.cjs.min.js +1 -1
  421. package/utils/utils.d.ts +1 -0
  422. package/utils/utils.esm.js +21 -5
  423. package/utils/utils.esm.min.js +1 -1
  424. package/utils/utils.js +21 -5
  425. package/utils/utils.min.js +1 -1
  426. package/virtualscroller/virtualscroller.cjs.js +154 -65
  427. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  428. package/virtualscroller/virtualscroller.d.ts +12 -0
  429. package/virtualscroller/virtualscroller.esm.js +156 -67
  430. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  431. package/virtualscroller/virtualscroller.js +154 -65
  432. package/virtualscroller/virtualscroller.min.css +1 -1
  433. package/virtualscroller/virtualscroller.min.js +1 -1
  434. package/web-types.json +252 -66
@@ -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 ? {
@@ -692,6 +770,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
692
770
  }, [props.orientation]);
693
771
  React.useImperativeHandle(ref, function () {
694
772
  return {
773
+ getElementRef: getElementRef,
695
774
  scrollTo: scrollTo,
696
775
  scrollToIndex: scrollToIndex,
697
776
  scrollInView: scrollInView,
@@ -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", {
@@ -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{getElementRef:$,scrollTo:q,scrollToIndex:G,scrollInView:Q,getRenderedRange:Z}}));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};