primereact 8.1.1 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (709) hide show
  1. package/README.md +6 -0
  2. package/accordion/accordion.cjs.js +10 -0
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.d.ts +4 -5
  5. package/accordion/accordion.esm.js +10 -0
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +10 -0
  8. package/accordion/accordion.min.js +1 -1
  9. package/api/api.cjs.js +2 -0
  10. package/api/api.cjs.min.js +1 -1
  11. package/api/api.d.ts +1 -0
  12. package/api/api.esm.js +2 -0
  13. package/api/api.esm.min.js +1 -1
  14. package/api/api.js +2 -0
  15. package/api/api.min.js +1 -1
  16. package/autocomplete/autocomplete.cjs.js +33 -11
  17. package/autocomplete/autocomplete.cjs.min.js +1 -1
  18. package/autocomplete/autocomplete.d.ts +5 -1
  19. package/autocomplete/autocomplete.esm.js +34 -12
  20. package/autocomplete/autocomplete.esm.min.js +1 -1
  21. package/autocomplete/autocomplete.js +33 -11
  22. package/autocomplete/autocomplete.min.js +1 -1
  23. package/avatar/avatar.cjs.js +18 -7
  24. package/avatar/avatar.cjs.min.js +1 -1
  25. package/avatar/avatar.d.ts +4 -4
  26. package/avatar/avatar.esm.js +18 -7
  27. package/avatar/avatar.esm.min.js +1 -1
  28. package/avatar/avatar.js +18 -7
  29. package/avatar/avatar.min.js +1 -1
  30. package/avatargroup/avatargroup.cjs.js +10 -0
  31. package/avatargroup/avatargroup.cjs.min.js +1 -1
  32. package/avatargroup/avatargroup.d.ts +4 -4
  33. package/avatargroup/avatargroup.esm.js +10 -0
  34. package/avatargroup/avatargroup.esm.min.js +1 -1
  35. package/avatargroup/avatargroup.js +10 -0
  36. package/avatargroup/avatargroup.min.js +1 -1
  37. package/badge/badge.cjs.js +12 -2
  38. package/badge/badge.cjs.min.js +1 -1
  39. package/badge/badge.d.ts +5 -5
  40. package/badge/badge.esm.js +12 -2
  41. package/badge/badge.esm.min.js +1 -1
  42. package/badge/badge.js +12 -2
  43. package/badge/badge.min.js +1 -1
  44. package/blockui/blockui.cjs.js +7 -1
  45. package/blockui/blockui.cjs.min.js +1 -1
  46. package/blockui/blockui.d.ts +2 -4
  47. package/blockui/blockui.esm.js +7 -1
  48. package/blockui/blockui.esm.min.js +1 -1
  49. package/blockui/blockui.js +7 -1
  50. package/blockui/blockui.min.js +1 -1
  51. package/breadcrumb/breadcrumb.cjs.js +11 -0
  52. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  53. package/breadcrumb/breadcrumb.d.ts +4 -5
  54. package/breadcrumb/breadcrumb.esm.js +11 -0
  55. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  56. package/breadcrumb/breadcrumb.js +11 -0
  57. package/breadcrumb/breadcrumb.min.js +1 -1
  58. package/button/button.d.ts +3 -1
  59. package/calendar/calendar.cjs.js +143 -32
  60. package/calendar/calendar.cjs.min.js +1 -1
  61. package/calendar/calendar.d.ts +4 -0
  62. package/calendar/calendar.esm.js +143 -32
  63. package/calendar/calendar.esm.min.js +1 -1
  64. package/calendar/calendar.js +143 -32
  65. package/calendar/calendar.min.js +1 -1
  66. package/captcha/captcha.cjs.js +5 -1
  67. package/captcha/captcha.cjs.min.js +1 -1
  68. package/captcha/captcha.d.ts +2 -3
  69. package/captcha/captcha.esm.js +5 -1
  70. package/captcha/captcha.esm.min.js +1 -1
  71. package/captcha/captcha.js +5 -1
  72. package/captcha/captcha.min.js +1 -1
  73. package/card/card.d.ts +1 -4
  74. package/carousel/carousel.cjs.js +9 -1
  75. package/carousel/carousel.cjs.min.js +1 -1
  76. package/carousel/carousel.d.ts +4 -5
  77. package/carousel/carousel.esm.js +9 -1
  78. package/carousel/carousel.esm.min.js +1 -1
  79. package/carousel/carousel.js +9 -1
  80. package/carousel/carousel.min.js +1 -1
  81. package/cascadeselect/cascadeselect.cjs.js +20 -3
  82. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  83. package/cascadeselect/cascadeselect.d.ts +7 -2
  84. package/cascadeselect/cascadeselect.esm.js +20 -3
  85. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  86. package/cascadeselect/cascadeselect.js +20 -3
  87. package/cascadeselect/cascadeselect.min.js +1 -1
  88. package/chart/chart.cjs.js +52 -23
  89. package/chart/chart.cjs.min.js +1 -1
  90. package/chart/chart.d.ts +1 -0
  91. package/chart/chart.esm.js +52 -23
  92. package/chart/chart.esm.min.js +1 -1
  93. package/chart/chart.js +52 -23
  94. package/chart/chart.min.js +1 -1
  95. package/checkbox/checkbox.cjs.js +31 -16
  96. package/checkbox/checkbox.cjs.min.js +1 -1
  97. package/checkbox/checkbox.d.ts +5 -2
  98. package/checkbox/checkbox.esm.js +32 -17
  99. package/checkbox/checkbox.esm.min.js +1 -1
  100. package/checkbox/checkbox.js +31 -16
  101. package/checkbox/checkbox.min.js +1 -1
  102. package/chip/chip.cjs.js +11 -0
  103. package/chip/chip.cjs.min.js +1 -1
  104. package/chip/chip.d.ts +4 -4
  105. package/chip/chip.esm.js +11 -0
  106. package/chip/chip.esm.min.js +1 -1
  107. package/chip/chip.js +11 -0
  108. package/chip/chip.min.js +1 -1
  109. package/chips/chips.cjs.js +39 -2
  110. package/chips/chips.cjs.min.js +1 -1
  111. package/chips/chips.d.ts +9 -5
  112. package/chips/chips.esm.js +40 -3
  113. package/chips/chips.esm.min.js +1 -1
  114. package/chips/chips.js +40 -4
  115. package/chips/chips.min.js +1 -1
  116. package/colorpicker/colorpicker.cjs.js +16 -0
  117. package/colorpicker/colorpicker.cjs.min.js +1 -1
  118. package/colorpicker/colorpicker.d.ts +7 -1
  119. package/colorpicker/colorpicker.esm.js +16 -0
  120. package/colorpicker/colorpicker.esm.min.js +1 -1
  121. package/colorpicker/colorpicker.js +16 -0
  122. package/colorpicker/colorpicker.min.js +1 -1
  123. package/column/column.d.ts +1 -0
  124. package/confirmdialog/confirmdialog.cjs.js +2 -1
  125. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  126. package/confirmdialog/confirmdialog.d.ts +1 -6
  127. package/confirmdialog/confirmdialog.esm.js +2 -1
  128. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  129. package/confirmdialog/confirmdialog.js +2 -1
  130. package/confirmdialog/confirmdialog.min.js +1 -1
  131. package/confirmpopup/confirmpopup.cjs.js +1 -0
  132. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  133. package/confirmpopup/confirmpopup.esm.js +1 -0
  134. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  135. package/confirmpopup/confirmpopup.js +1 -0
  136. package/confirmpopup/confirmpopup.min.js +1 -1
  137. package/contextmenu/contextmenu.cjs.js +6 -1
  138. package/contextmenu/contextmenu.cjs.min.js +1 -1
  139. package/contextmenu/contextmenu.d.ts +2 -4
  140. package/contextmenu/contextmenu.esm.js +6 -1
  141. package/contextmenu/contextmenu.esm.min.js +1 -1
  142. package/contextmenu/contextmenu.js +6 -1
  143. package/contextmenu/contextmenu.min.js +1 -1
  144. package/core/core.js +650 -195
  145. package/core/core.min.js +14 -14
  146. package/datascroller/datascroller.cjs.js +10 -1
  147. package/datascroller/datascroller.cjs.min.js +1 -1
  148. package/datascroller/datascroller.d.ts +2 -4
  149. package/datascroller/datascroller.esm.js +10 -1
  150. package/datascroller/datascroller.esm.min.js +1 -1
  151. package/datascroller/datascroller.js +10 -1
  152. package/datascroller/datascroller.min.js +1 -1
  153. package/datatable/datatable.cjs.js +92 -28
  154. package/datatable/datatable.cjs.min.js +1 -1
  155. package/datatable/datatable.d.ts +6 -2
  156. package/datatable/datatable.esm.js +93 -29
  157. package/datatable/datatable.esm.min.js +1 -1
  158. package/datatable/datatable.js +92 -28
  159. package/datatable/datatable.min.js +1 -1
  160. package/dataview/dataview.cjs.js +11 -1
  161. package/dataview/dataview.cjs.min.js +1 -1
  162. package/dataview/dataview.d.ts +4 -5
  163. package/dataview/dataview.esm.js +11 -1
  164. package/dataview/dataview.esm.min.js +1 -1
  165. package/dataview/dataview.js +11 -1
  166. package/dataview/dataview.min.js +1 -1
  167. package/deferredcontent/deferredcontent.cjs.js +8 -0
  168. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  169. package/deferredcontent/deferredcontent.d.ts +4 -2
  170. package/deferredcontent/deferredcontent.esm.js +8 -0
  171. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  172. package/deferredcontent/deferredcontent.js +8 -0
  173. package/deferredcontent/deferredcontent.min.js +1 -1
  174. package/dialog/dialog.cjs.js +23 -3
  175. package/dialog/dialog.cjs.min.js +1 -1
  176. package/dialog/dialog.d.ts +6 -0
  177. package/dialog/dialog.esm.js +23 -3
  178. package/dialog/dialog.esm.min.js +1 -1
  179. package/dialog/dialog.js +23 -3
  180. package/dialog/dialog.min.js +1 -1
  181. package/divider/divider.cjs.js +10 -0
  182. package/divider/divider.cjs.min.js +1 -1
  183. package/divider/divider.d.ts +4 -4
  184. package/divider/divider.esm.js +10 -0
  185. package/divider/divider.esm.min.js +1 -1
  186. package/divider/divider.js +10 -0
  187. package/divider/divider.min.js +1 -1
  188. package/dock/dock.cjs.js +11 -0
  189. package/dock/dock.cjs.min.js +1 -1
  190. package/dock/dock.d.ts +4 -5
  191. package/dock/dock.esm.js +11 -0
  192. package/dock/dock.esm.min.js +1 -1
  193. package/dock/dock.js +11 -0
  194. package/dock/dock.min.js +1 -1
  195. package/dropdown/dropdown.cjs.js +141 -30
  196. package/dropdown/dropdown.cjs.min.js +1 -1
  197. package/dropdown/dropdown.d.ts +15 -2
  198. package/dropdown/dropdown.esm.js +141 -30
  199. package/dropdown/dropdown.esm.min.js +1 -1
  200. package/dropdown/dropdown.js +141 -30
  201. package/dropdown/dropdown.min.js +1 -1
  202. package/editor/editor.cjs.js +103 -50
  203. package/editor/editor.cjs.min.js +1 -1
  204. package/editor/editor.d.ts +3 -0
  205. package/editor/editor.esm.js +103 -50
  206. package/editor/editor.esm.min.js +1 -1
  207. package/editor/editor.js +103 -50
  208. package/editor/editor.min.js +1 -1
  209. package/fieldset/fieldset.cjs.js +13 -0
  210. package/fieldset/fieldset.cjs.min.js +1 -1
  211. package/fieldset/fieldset.d.ts +5 -5
  212. package/fieldset/fieldset.esm.js +13 -0
  213. package/fieldset/fieldset.esm.min.js +1 -1
  214. package/fieldset/fieldset.js +13 -0
  215. package/fieldset/fieldset.min.js +1 -1
  216. package/fileupload/fileupload.cjs.js +15 -1
  217. package/fileupload/fileupload.cjs.min.js +1 -1
  218. package/fileupload/fileupload.d.ts +4 -0
  219. package/fileupload/fileupload.esm.js +15 -1
  220. package/fileupload/fileupload.esm.min.js +1 -1
  221. package/fileupload/fileupload.js +15 -1
  222. package/fileupload/fileupload.min.js +1 -1
  223. package/fullcalendar/fullcalendar.cjs.js +8 -0
  224. package/fullcalendar/fullcalendar.cjs.min.js +1 -1
  225. package/fullcalendar/fullcalendar.d.ts +3 -1
  226. package/fullcalendar/fullcalendar.esm.js +8 -0
  227. package/fullcalendar/fullcalendar.esm.min.js +1 -1
  228. package/fullcalendar/fullcalendar.js +8 -0
  229. package/fullcalendar/fullcalendar.min.js +1 -1
  230. package/galleria/galleria.cjs.js +9 -2
  231. package/galleria/galleria.cjs.min.js +1 -1
  232. package/galleria/galleria.d.ts +2 -4
  233. package/galleria/galleria.esm.js +9 -2
  234. package/galleria/galleria.esm.min.js +1 -1
  235. package/galleria/galleria.js +9 -2
  236. package/galleria/galleria.min.js +1 -1
  237. package/gmap/gmap.cjs.js +5 -1
  238. package/gmap/gmap.cjs.min.js +1 -1
  239. package/gmap/gmap.d.ts +5 -4
  240. package/gmap/gmap.esm.js +5 -1
  241. package/gmap/gmap.esm.min.js +1 -1
  242. package/gmap/gmap.js +5 -1
  243. package/gmap/gmap.min.js +1 -1
  244. package/image/image.cjs.js +18 -5
  245. package/image/image.cjs.min.js +1 -1
  246. package/image/image.d.ts +5 -4
  247. package/image/image.esm.js +18 -5
  248. package/image/image.esm.min.js +1 -1
  249. package/image/image.js +18 -5
  250. package/image/image.min.css +1 -1
  251. package/image/image.min.js +1 -1
  252. package/inplace/inplace.cjs.js +11 -1
  253. package/inplace/inplace.cjs.min.js +1 -1
  254. package/inplace/inplace.d.ts +4 -5
  255. package/inplace/inplace.esm.js +11 -1
  256. package/inplace/inplace.esm.min.js +1 -1
  257. package/inplace/inplace.js +11 -1
  258. package/inplace/inplace.min.js +1 -1
  259. package/inputmask/inputmask.cjs.js +15 -5
  260. package/inputmask/inputmask.cjs.min.js +1 -1
  261. package/inputmask/inputmask.d.ts +5 -13
  262. package/inputmask/inputmask.esm.js +15 -5
  263. package/inputmask/inputmask.esm.min.js +1 -1
  264. package/inputmask/inputmask.js +15 -5
  265. package/inputmask/inputmask.min.js +1 -1
  266. package/inputnumber/inputnumber.cjs.js +12 -4
  267. package/inputnumber/inputnumber.cjs.min.js +1 -1
  268. package/inputnumber/inputnumber.d.ts +4 -5
  269. package/inputnumber/inputnumber.esm.js +12 -4
  270. package/inputnumber/inputnumber.esm.min.js +1 -1
  271. package/inputnumber/inputnumber.js +12 -4
  272. package/inputnumber/inputnumber.min.js +1 -1
  273. package/inputswitch/inputswitch.cjs.js +12 -1
  274. package/inputswitch/inputswitch.cjs.min.js +1 -1
  275. package/inputswitch/inputswitch.d.ts +4 -1
  276. package/inputswitch/inputswitch.esm.js +13 -2
  277. package/inputswitch/inputswitch.esm.min.js +1 -1
  278. package/inputswitch/inputswitch.js +12 -1
  279. package/inputswitch/inputswitch.min.css +1 -1
  280. package/inputswitch/inputswitch.min.js +1 -1
  281. package/inputtext/inputtext.cjs.js +3 -2
  282. package/inputtext/inputtext.cjs.min.js +1 -1
  283. package/inputtext/inputtext.d.ts +4 -1
  284. package/inputtext/inputtext.esm.js +3 -2
  285. package/inputtext/inputtext.esm.min.js +1 -1
  286. package/inputtext/inputtext.js +3 -2
  287. package/inputtext/inputtext.min.css +1 -1
  288. package/inputtext/inputtext.min.js +1 -1
  289. package/inputtextarea/inputtextarea.cjs.js +3 -2
  290. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  291. package/inputtextarea/inputtextarea.d.ts +4 -1
  292. package/inputtextarea/inputtextarea.esm.js +3 -2
  293. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  294. package/inputtextarea/inputtextarea.js +3 -2
  295. package/inputtextarea/inputtextarea.min.js +1 -1
  296. package/keyfilter/keyfilter.cjs.js +4 -4
  297. package/keyfilter/keyfilter.cjs.min.js +1 -1
  298. package/keyfilter/keyfilter.esm.js +4 -4
  299. package/keyfilter/keyfilter.esm.min.js +1 -1
  300. package/keyfilter/keyfilter.js +4 -4
  301. package/keyfilter/keyfilter.min.js +1 -1
  302. package/knob/knob.cjs.js +8 -0
  303. package/knob/knob.cjs.min.js +1 -1
  304. package/knob/knob.d.ts +3 -1
  305. package/knob/knob.esm.js +8 -0
  306. package/knob/knob.esm.min.js +1 -1
  307. package/knob/knob.js +8 -0
  308. package/knob/knob.min.js +1 -1
  309. package/listbox/listbox.cjs.js +129 -20
  310. package/listbox/listbox.cjs.min.js +1 -1
  311. package/listbox/listbox.d.ts +14 -7
  312. package/listbox/listbox.esm.js +130 -21
  313. package/listbox/listbox.esm.min.js +1 -1
  314. package/listbox/listbox.js +130 -22
  315. package/listbox/listbox.min.js +1 -1
  316. package/megamenu/megamenu.cjs.js +40 -12
  317. package/megamenu/megamenu.cjs.min.js +1 -1
  318. package/megamenu/megamenu.d.ts +11 -5
  319. package/megamenu/megamenu.esm.js +40 -12
  320. package/megamenu/megamenu.esm.min.js +1 -1
  321. package/megamenu/megamenu.js +40 -12
  322. package/megamenu/megamenu.min.css +1 -1
  323. package/megamenu/megamenu.min.js +1 -1
  324. package/mention/mention.cjs.js +23 -5
  325. package/mention/mention.cjs.min.js +1 -1
  326. package/mention/mention.d.ts +7 -5
  327. package/mention/mention.esm.js +23 -5
  328. package/mention/mention.esm.min.js +1 -1
  329. package/mention/mention.js +23 -5
  330. package/mention/mention.min.js +1 -1
  331. package/menu/menu.cjs.js +8 -1
  332. package/menu/menu.cjs.min.js +1 -1
  333. package/menu/menu.d.ts +3 -4
  334. package/menu/menu.esm.js +8 -1
  335. package/menu/menu.esm.min.js +1 -1
  336. package/menu/menu.js +8 -1
  337. package/menu/menu.min.js +1 -1
  338. package/menubar/menubar.cjs.js +13 -1
  339. package/menubar/menubar.cjs.min.js +1 -1
  340. package/menubar/menubar.d.ts +6 -5
  341. package/menubar/menubar.esm.js +13 -1
  342. package/menubar/menubar.esm.min.js +1 -1
  343. package/menubar/menubar.js +13 -1
  344. package/menubar/menubar.min.js +1 -1
  345. package/menuitem/menuitem.d.ts +2 -0
  346. package/message/message.cjs.js +11 -0
  347. package/message/message.cjs.min.js +1 -1
  348. package/message/message.d.ts +5 -6
  349. package/message/message.esm.js +11 -0
  350. package/message/message.esm.min.js +1 -1
  351. package/message/message.js +11 -0
  352. package/message/message.min.js +1 -1
  353. package/messages/messages.cjs.js +11 -3
  354. package/messages/messages.cjs.min.js +1 -1
  355. package/messages/messages.d.ts +3 -5
  356. package/messages/messages.esm.js +11 -3
  357. package/messages/messages.esm.min.js +1 -1
  358. package/messages/messages.js +11 -3
  359. package/messages/messages.min.js +1 -1
  360. package/multiselect/multiselect.cjs.js +95 -27
  361. package/multiselect/multiselect.cjs.min.js +1 -1
  362. package/multiselect/multiselect.d.ts +16 -2
  363. package/multiselect/multiselect.esm.js +95 -27
  364. package/multiselect/multiselect.esm.min.js +1 -1
  365. package/multiselect/multiselect.js +95 -27
  366. package/multiselect/multiselect.min.js +1 -1
  367. package/multistatecheckbox/multistatecheckbox.cjs.js +8 -0
  368. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  369. package/multistatecheckbox/multistatecheckbox.d.ts +4 -6
  370. package/multistatecheckbox/multistatecheckbox.esm.js +8 -0
  371. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  372. package/multistatecheckbox/multistatecheckbox.js +8 -0
  373. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  374. package/orderlist/orderlist.cjs.js +128 -4
  375. package/orderlist/orderlist.cjs.min.js +1 -1
  376. package/orderlist/orderlist.d.ts +17 -6
  377. package/orderlist/orderlist.esm.js +128 -4
  378. package/orderlist/orderlist.esm.min.js +1 -1
  379. package/orderlist/orderlist.js +129 -6
  380. package/orderlist/orderlist.min.css +1 -1
  381. package/orderlist/orderlist.min.js +1 -1
  382. package/organizationchart/organizationchart.cjs.js +10 -0
  383. package/organizationchart/organizationchart.cjs.min.js +1 -1
  384. package/organizationchart/organizationchart.d.ts +4 -5
  385. package/organizationchart/organizationchart.esm.js +10 -0
  386. package/organizationchart/organizationchart.esm.min.js +1 -1
  387. package/organizationchart/organizationchart.js +10 -0
  388. package/organizationchart/organizationchart.min.js +1 -1
  389. package/overlaypanel/overlaypanel.cjs.js +7 -3
  390. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  391. package/overlaypanel/overlaypanel.d.ts +2 -4
  392. package/overlaypanel/overlaypanel.esm.js +7 -3
  393. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  394. package/overlaypanel/overlaypanel.js +7 -3
  395. package/overlaypanel/overlaypanel.min.js +1 -1
  396. package/package.json +1 -1
  397. package/paginator/paginator.cjs.js +10 -0
  398. package/paginator/paginator.cjs.min.js +1 -1
  399. package/paginator/paginator.d.ts +4 -4
  400. package/paginator/paginator.esm.js +10 -0
  401. package/paginator/paginator.esm.min.js +1 -1
  402. package/paginator/paginator.js +10 -0
  403. package/paginator/paginator.min.js +1 -1
  404. package/panel/panel.cjs.js +11 -0
  405. package/panel/panel.cjs.min.js +1 -1
  406. package/panel/panel.d.ts +5 -5
  407. package/panel/panel.esm.js +11 -0
  408. package/panel/panel.esm.min.js +1 -1
  409. package/panel/panel.js +11 -0
  410. package/panel/panel.min.js +1 -1
  411. package/panelmenu/panelmenu.cjs.js +11 -0
  412. package/panelmenu/panelmenu.cjs.min.js +1 -1
  413. package/panelmenu/panelmenu.d.ts +4 -5
  414. package/panelmenu/panelmenu.esm.js +11 -0
  415. package/panelmenu/panelmenu.esm.min.js +1 -1
  416. package/panelmenu/panelmenu.js +11 -0
  417. package/panelmenu/panelmenu.min.js +1 -1
  418. package/password/password.cjs.js +17 -2
  419. package/password/password.cjs.min.js +1 -1
  420. package/password/password.d.ts +6 -4
  421. package/password/password.esm.js +17 -2
  422. package/password/password.esm.min.js +1 -1
  423. package/password/password.js +17 -2
  424. package/password/password.min.js +1 -1
  425. package/picklist/picklist.cjs.js +199 -25
  426. package/picklist/picklist.cjs.min.js +1 -1
  427. package/picklist/picklist.d.ts +32 -1
  428. package/picklist/picklist.esm.js +199 -25
  429. package/picklist/picklist.esm.min.js +1 -1
  430. package/picklist/picklist.js +200 -27
  431. package/picklist/picklist.min.css +1 -1
  432. package/picklist/picklist.min.js +1 -1
  433. package/primereact.all.cjs.js +2536 -640
  434. package/primereact.all.cjs.min.js +1 -1
  435. package/primereact.all.esm.js +2536 -640
  436. package/primereact.all.esm.min.js +1 -1
  437. package/primereact.all.js +2536 -640
  438. package/primereact.all.min.js +1 -1
  439. package/progressbar/progressbar.cjs.js +12 -0
  440. package/progressbar/progressbar.cjs.min.js +1 -1
  441. package/progressbar/progressbar.d.ts +4 -5
  442. package/progressbar/progressbar.esm.js +12 -0
  443. package/progressbar/progressbar.esm.min.js +1 -1
  444. package/progressbar/progressbar.js +12 -0
  445. package/progressbar/progressbar.min.js +1 -1
  446. package/progressspinner/progressspinner.cjs.js +10 -0
  447. package/progressspinner/progressspinner.cjs.min.js +1 -1
  448. package/progressspinner/progressspinner.d.ts +4 -5
  449. package/progressspinner/progressspinner.esm.js +10 -0
  450. package/progressspinner/progressspinner.esm.min.js +1 -1
  451. package/progressspinner/progressspinner.js +10 -0
  452. package/progressspinner/progressspinner.min.js +1 -1
  453. package/radiobutton/radiobutton.cjs.js +30 -15
  454. package/radiobutton/radiobutton.cjs.min.js +1 -1
  455. package/radiobutton/radiobutton.d.ts +3 -4
  456. package/radiobutton/radiobutton.esm.js +31 -16
  457. package/radiobutton/radiobutton.esm.min.js +1 -1
  458. package/radiobutton/radiobutton.js +30 -15
  459. package/radiobutton/radiobutton.min.js +1 -1
  460. package/rating/rating.cjs.js +8 -0
  461. package/rating/rating.cjs.min.js +1 -1
  462. package/rating/rating.d.ts +3 -4
  463. package/rating/rating.esm.js +8 -0
  464. package/rating/rating.esm.min.js +1 -1
  465. package/rating/rating.js +8 -0
  466. package/rating/rating.min.js +1 -1
  467. package/resources/primereact.css +94 -26
  468. package/resources/primereact.min.css +1 -1
  469. package/resources/themes/arya-blue/theme.css +41 -7
  470. package/resources/themes/arya-green/theme.css +41 -7
  471. package/resources/themes/arya-orange/theme.css +41 -7
  472. package/resources/themes/arya-purple/theme.css +41 -7
  473. package/resources/themes/bootstrap4-dark-blue/theme.css +41 -7
  474. package/resources/themes/bootstrap4-dark-purple/theme.css +41 -7
  475. package/resources/themes/bootstrap4-light-blue/theme.css +40 -6
  476. package/resources/themes/bootstrap4-light-purple/theme.css +40 -6
  477. package/resources/themes/fluent-light/theme.css +41 -7
  478. package/resources/themes/lara-dark-blue/theme.css +41 -7
  479. package/resources/themes/lara-dark-indigo/theme.css +41 -7
  480. package/resources/themes/lara-dark-purple/theme.css +41 -7
  481. package/resources/themes/lara-dark-teal/theme.css +41 -7
  482. package/resources/themes/lara-light-blue/theme.css +41 -7
  483. package/resources/themes/lara-light-indigo/theme.css +41 -7
  484. package/resources/themes/lara-light-purple/theme.css +41 -7
  485. package/resources/themes/lara-light-teal/theme.css +41 -7
  486. package/resources/themes/luna-amber/theme.css +41 -7
  487. package/resources/themes/luna-blue/theme.css +41 -7
  488. package/resources/themes/luna-green/theme.css +41 -7
  489. package/resources/themes/luna-pink/theme.css +41 -7
  490. package/resources/themes/md-dark-deeppurple/theme.css +41 -7
  491. package/resources/themes/md-dark-indigo/theme.css +41 -7
  492. package/resources/themes/md-light-deeppurple/theme.css +41 -7
  493. package/resources/themes/md-light-indigo/theme.css +41 -7
  494. package/resources/themes/mdc-dark-deeppurple/theme.css +41 -7
  495. package/resources/themes/mdc-dark-indigo/theme.css +41 -7
  496. package/resources/themes/mdc-light-deeppurple/theme.css +41 -7
  497. package/resources/themes/mdc-light-indigo/theme.css +41 -7
  498. package/resources/themes/nova/theme.css +41 -7
  499. package/resources/themes/nova-accent/theme.css +41 -7
  500. package/resources/themes/nova-alt/theme.css +41 -7
  501. package/resources/themes/rhea/theme.css +41 -7
  502. package/resources/themes/saga-blue/theme.css +41 -7
  503. package/resources/themes/saga-green/theme.css +41 -7
  504. package/resources/themes/saga-orange/theme.css +41 -7
  505. package/resources/themes/saga-purple/theme.css +41 -7
  506. package/resources/themes/tailwind-light/theme.css +41 -7
  507. package/resources/themes/vela-blue/theme.css +41 -7
  508. package/resources/themes/vela-green/theme.css +41 -7
  509. package/resources/themes/vela-orange/theme.css +41 -7
  510. package/resources/themes/vela-purple/theme.css +41 -7
  511. package/scrollpanel/scrollpanel.cjs.js +14 -1
  512. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  513. package/scrollpanel/scrollpanel.d.ts +7 -5
  514. package/scrollpanel/scrollpanel.esm.js +14 -1
  515. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  516. package/scrollpanel/scrollpanel.js +14 -1
  517. package/scrollpanel/scrollpanel.min.js +1 -1
  518. package/scrolltop/scrolltop.cjs.js +8 -0
  519. package/scrolltop/scrolltop.cjs.min.js +1 -1
  520. package/scrolltop/scrolltop.d.ts +3 -1
  521. package/scrolltop/scrolltop.esm.js +8 -0
  522. package/scrolltop/scrolltop.esm.min.js +1 -1
  523. package/scrolltop/scrolltop.js +8 -0
  524. package/scrolltop/scrolltop.min.js +1 -1
  525. package/selectbutton/selectbutton.cjs.js +8 -0
  526. package/selectbutton/selectbutton.cjs.min.js +1 -1
  527. package/selectbutton/selectbutton.d.ts +4 -5
  528. package/selectbutton/selectbutton.esm.js +8 -0
  529. package/selectbutton/selectbutton.esm.min.js +1 -1
  530. package/selectbutton/selectbutton.js +8 -0
  531. package/selectbutton/selectbutton.min.js +1 -1
  532. package/sidebar/sidebar.cjs.js +40 -0
  533. package/sidebar/sidebar.cjs.min.js +1 -1
  534. package/sidebar/sidebar.d.ts +6 -5
  535. package/sidebar/sidebar.esm.js +40 -0
  536. package/sidebar/sidebar.esm.min.js +1 -1
  537. package/sidebar/sidebar.js +40 -0
  538. package/sidebar/sidebar.min.js +1 -1
  539. package/skeleton/skeleton.cjs.js +10 -0
  540. package/skeleton/skeleton.cjs.min.js +1 -1
  541. package/skeleton/skeleton.d.ts +4 -4
  542. package/skeleton/skeleton.esm.js +10 -0
  543. package/skeleton/skeleton.esm.min.js +1 -1
  544. package/skeleton/skeleton.js +10 -0
  545. package/skeleton/skeleton.min.js +1 -1
  546. package/slidemenu/slidemenu.cjs.js +6 -1
  547. package/slidemenu/slidemenu.cjs.min.js +1 -1
  548. package/slidemenu/slidemenu.d.ts +2 -4
  549. package/slidemenu/slidemenu.esm.js +6 -1
  550. package/slidemenu/slidemenu.esm.min.js +1 -1
  551. package/slidemenu/slidemenu.js +6 -1
  552. package/slidemenu/slidemenu.min.js +1 -1
  553. package/slider/slider.cjs.js +8 -0
  554. package/slider/slider.cjs.min.js +1 -1
  555. package/slider/slider.d.ts +4 -6
  556. package/slider/slider.esm.js +8 -0
  557. package/slider/slider.esm.min.js +1 -1
  558. package/slider/slider.js +8 -0
  559. package/slider/slider.min.js +1 -1
  560. package/speeddial/speeddial.cjs.js +5 -1
  561. package/speeddial/speeddial.cjs.min.js +1 -1
  562. package/speeddial/speeddial.d.ts +2 -4
  563. package/speeddial/speeddial.esm.js +5 -1
  564. package/speeddial/speeddial.esm.min.js +1 -1
  565. package/speeddial/speeddial.js +5 -1
  566. package/speeddial/speeddial.min.js +1 -1
  567. package/splitbutton/splitbutton.cjs.js +9 -1
  568. package/splitbutton/splitbutton.cjs.min.js +1 -1
  569. package/splitbutton/splitbutton.d.ts +4 -5
  570. package/splitbutton/splitbutton.esm.js +9 -1
  571. package/splitbutton/splitbutton.esm.min.js +1 -1
  572. package/splitbutton/splitbutton.js +9 -1
  573. package/splitbutton/splitbutton.min.js +1 -1
  574. package/splitter/splitter.cjs.js +17 -5
  575. package/splitter/splitter.cjs.min.js +1 -1
  576. package/splitter/splitter.d.ts +4 -5
  577. package/splitter/splitter.esm.js +18 -6
  578. package/splitter/splitter.esm.min.js +1 -1
  579. package/splitter/splitter.js +17 -5
  580. package/splitter/splitter.min.js +1 -1
  581. package/steps/steps.cjs.js +12 -0
  582. package/steps/steps.cjs.min.js +1 -1
  583. package/steps/steps.d.ts +4 -5
  584. package/steps/steps.esm.js +12 -0
  585. package/steps/steps.esm.min.js +1 -1
  586. package/steps/steps.js +12 -0
  587. package/steps/steps.min.js +1 -1
  588. package/styleclass/styleclass.cjs.js +12 -1
  589. package/styleclass/styleclass.cjs.min.js +1 -1
  590. package/styleclass/styleclass.d.ts +5 -2
  591. package/styleclass/styleclass.esm.js +12 -1
  592. package/styleclass/styleclass.esm.min.js +1 -1
  593. package/styleclass/styleclass.js +12 -1
  594. package/styleclass/styleclass.min.js +1 -1
  595. package/tabmenu/tabmenu.cjs.js +10 -0
  596. package/tabmenu/tabmenu.cjs.min.js +1 -1
  597. package/tabmenu/tabmenu.d.ts +4 -5
  598. package/tabmenu/tabmenu.esm.js +10 -0
  599. package/tabmenu/tabmenu.esm.min.js +1 -1
  600. package/tabmenu/tabmenu.js +10 -0
  601. package/tabmenu/tabmenu.min.js +1 -1
  602. package/tabview/tabview.cjs.js +7 -1
  603. package/tabview/tabview.cjs.min.js +1 -1
  604. package/tabview/tabview.d.ts +2 -4
  605. package/tabview/tabview.esm.js +7 -1
  606. package/tabview/tabview.esm.min.js +1 -1
  607. package/tabview/tabview.js +7 -1
  608. package/tabview/tabview.min.js +1 -1
  609. package/tag/tag.cjs.js +10 -0
  610. package/tag/tag.cjs.min.js +1 -1
  611. package/tag/tag.d.ts +5 -5
  612. package/tag/tag.esm.js +10 -0
  613. package/tag/tag.esm.min.js +1 -1
  614. package/tag/tag.js +10 -0
  615. package/tag/tag.min.js +1 -1
  616. package/terminal/terminal.cjs.js +9 -1
  617. package/terminal/terminal.cjs.min.js +1 -1
  618. package/terminal/terminal.d.ts +4 -5
  619. package/terminal/terminal.esm.js +10 -2
  620. package/terminal/terminal.esm.min.js +1 -1
  621. package/terminal/terminal.js +9 -1
  622. package/terminal/terminal.min.js +1 -1
  623. package/tieredmenu/tieredmenu.cjs.js +8 -2
  624. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  625. package/tieredmenu/tieredmenu.d.ts +2 -4
  626. package/tieredmenu/tieredmenu.esm.js +8 -2
  627. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  628. package/tieredmenu/tieredmenu.js +8 -2
  629. package/tieredmenu/tieredmenu.min.js +1 -1
  630. package/timeline/timeline.cjs.js +11 -0
  631. package/timeline/timeline.cjs.min.js +1 -1
  632. package/timeline/timeline.d.ts +4 -5
  633. package/timeline/timeline.esm.js +11 -0
  634. package/timeline/timeline.esm.min.js +1 -1
  635. package/timeline/timeline.js +11 -0
  636. package/timeline/timeline.min.js +1 -1
  637. package/toast/toast.cjs.js +35 -36
  638. package/toast/toast.cjs.min.js +1 -1
  639. package/toast/toast.d.ts +4 -5
  640. package/toast/toast.esm.js +35 -36
  641. package/toast/toast.esm.min.js +1 -1
  642. package/toast/toast.js +35 -36
  643. package/toast/toast.min.css +1 -1
  644. package/toast/toast.min.js +1 -1
  645. package/togglebutton/togglebutton.cjs.js +8 -0
  646. package/togglebutton/togglebutton.cjs.min.js +1 -1
  647. package/togglebutton/togglebutton.d.ts +4 -6
  648. package/togglebutton/togglebutton.esm.js +8 -0
  649. package/togglebutton/togglebutton.esm.min.js +1 -1
  650. package/togglebutton/togglebutton.js +8 -0
  651. package/togglebutton/togglebutton.min.js +1 -1
  652. package/toolbar/toolbar.cjs.js +10 -0
  653. package/toolbar/toolbar.cjs.min.js +1 -1
  654. package/toolbar/toolbar.d.ts +4 -5
  655. package/toolbar/toolbar.esm.js +10 -0
  656. package/toolbar/toolbar.esm.min.js +1 -1
  657. package/toolbar/toolbar.js +10 -0
  658. package/toolbar/toolbar.min.js +1 -1
  659. package/tooltip/tooltip.cjs.js +73 -52
  660. package/tooltip/tooltip.cjs.min.js +1 -1
  661. package/tooltip/tooltip.d.ts +2 -0
  662. package/tooltip/tooltip.esm.js +73 -52
  663. package/tooltip/tooltip.esm.min.js +1 -1
  664. package/tooltip/tooltip.js +73 -52
  665. package/tooltip/tooltip.min.js +1 -1
  666. package/tree/tree.cjs.js +50 -7
  667. package/tree/tree.cjs.min.js +1 -1
  668. package/tree/tree.d.ts +10 -1
  669. package/tree/tree.esm.js +50 -7
  670. package/tree/tree.esm.min.js +1 -1
  671. package/tree/tree.js +50 -7
  672. package/tree/tree.min.js +1 -1
  673. package/treeselect/treeselect.cjs.js +36 -6
  674. package/treeselect/treeselect.cjs.min.js +1 -1
  675. package/treeselect/treeselect.d.ts +14 -6
  676. package/treeselect/treeselect.esm.js +36 -6
  677. package/treeselect/treeselect.esm.min.js +1 -1
  678. package/treeselect/treeselect.js +36 -6
  679. package/treeselect/treeselect.min.js +1 -1
  680. package/treetable/treetable.cjs.js +7 -2
  681. package/treetable/treetable.cjs.min.js +1 -1
  682. package/treetable/treetable.d.ts +3 -2
  683. package/treetable/treetable.esm.js +7 -2
  684. package/treetable/treetable.esm.min.js +1 -1
  685. package/treetable/treetable.js +7 -2
  686. package/treetable/treetable.min.js +1 -1
  687. package/tristatecheckbox/tristatecheckbox.cjs.js +8 -0
  688. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  689. package/tristatecheckbox/tristatecheckbox.d.ts +3 -5
  690. package/tristatecheckbox/tristatecheckbox.esm.js +8 -0
  691. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  692. package/tristatecheckbox/tristatecheckbox.js +8 -0
  693. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  694. package/utils/utils.cjs.js +122 -8
  695. package/utils/utils.cjs.min.js +1 -1
  696. package/utils/utils.d.ts +1 -0
  697. package/utils/utils.esm.js +122 -8
  698. package/utils/utils.esm.min.js +1 -1
  699. package/utils/utils.js +122 -8
  700. package/utils/utils.min.js +1 -1
  701. package/virtualscroller/virtualscroller.cjs.js +156 -66
  702. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  703. package/virtualscroller/virtualscroller.d.ts +12 -0
  704. package/virtualscroller/virtualscroller.esm.js +158 -68
  705. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  706. package/virtualscroller/virtualscroller.js +156 -66
  707. package/virtualscroller/virtualscroller.min.css +1 -1
  708. package/virtualscroller/virtualscroller.min.js +1 -1
  709. package/web-types.json +304 -4
package/core/core.js CHANGED
@@ -377,6 +377,8 @@ this.primereact.utils = (function (exports, React) {
377
377
  if (element) {
378
378
  if (element.classList) return element.classList.contains(className);else return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);
379
379
  }
380
+
381
+ return false;
380
382
  }
381
383
  }, {
382
384
  key: "find",
@@ -950,7 +952,8 @@ this.primereact.utils = (function (exports, React) {
950
952
  }, {
951
953
  key: "isVisible",
952
954
  value: function isVisible(element) {
953
- return element && element.offsetParent != null;
955
+ // https://stackoverflow.com/a/59096915/502366 (in future use IntersectionObserver)
956
+ return element && (element.clientHeight !== 0 || element.getClientRects().length !== 0 || getComputedStyle(element).display !== 'none');
954
957
  }
955
958
  }, {
956
959
  key: "isExist",
@@ -997,6 +1000,21 @@ this.primereact.utils = (function (exports, React) {
997
1000
  var focusableElements = DomHandler.getFocusableElements(element, selector);
998
1001
  return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;
999
1002
  }
1003
+ /**
1004
+ * Focus an input element if it does not already have focus.
1005
+ *
1006
+ * @param {HTMLElement} el a HTML element
1007
+ * @param {boolean} scrollTo flag to control whether to scroll to the element, false by default
1008
+ */
1009
+
1010
+ }, {
1011
+ key: "focus",
1012
+ value: function focus(el, scrollTo) {
1013
+ var preventScroll = scrollTo === undefined ? true : !scrollTo;
1014
+ el && document.activeElement !== el && el.focus({
1015
+ preventScroll: preventScroll
1016
+ });
1017
+ }
1000
1018
  }, {
1001
1019
  key: "getCursorOffset",
1002
1020
  value: function getCursorOffset(el, prevText, nextText, currentText) {
@@ -1153,6 +1171,100 @@ this.primereact.utils = (function (exports, React) {
1153
1171
  return element && element.nodeType === 9 || this.isExist(element) ? element : null;
1154
1172
  }
1155
1173
  }
1174
+ /**
1175
+ * Get the attribute names for an element and sorts them alpha for comparison
1176
+ */
1177
+
1178
+ }, {
1179
+ key: "getAttributeNames",
1180
+ value: function getAttributeNames(node) {
1181
+ var index, rv, attrs;
1182
+ rv = [];
1183
+ attrs = node.attributes;
1184
+
1185
+ for (index = 0; index < attrs.length; ++index) {
1186
+ rv.push(attrs[index].nodeName);
1187
+ }
1188
+
1189
+ rv.sort();
1190
+ return rv;
1191
+ }
1192
+ /**
1193
+ * Compare two elements for equality. Even will compare if the style element
1194
+ * is out of order for example:
1195
+ *
1196
+ * elem1 = style="color: red; font-size: 28px"
1197
+ * elem2 = style="font-size: 28px; color: red"
1198
+ */
1199
+
1200
+ }, {
1201
+ key: "isEqualElement",
1202
+ value: function isEqualElement(elm1, elm2) {
1203
+ var attrs1, attrs2, name, node1, node2; // Compare attributes without order sensitivity
1204
+
1205
+ attrs1 = DomHandler.getAttributeNames(elm1);
1206
+ attrs2 = DomHandler.getAttributeNames(elm2);
1207
+
1208
+ if (attrs1.join(",") !== attrs2.join(",")) {
1209
+ // console.log("Found nodes with different sets of attributes; not equiv");
1210
+ return false;
1211
+ } // ...and values
1212
+ // unless you want to compare DOM0 event handlers
1213
+ // (onclick="...")
1214
+
1215
+
1216
+ for (var index = 0; index < attrs1.length; ++index) {
1217
+ name = attrs1[index];
1218
+
1219
+ if (name === 'style') {
1220
+ var astyle = elm1.style;
1221
+ var bstyle = elm2.style;
1222
+ var rexDigitsOnly = /^\d+$/;
1223
+
1224
+ for (var _i3 = 0, _Object$keys = Object.keys(astyle); _i3 < _Object$keys.length; _i3++) {
1225
+ var key = _Object$keys[_i3];
1226
+
1227
+ if (!rexDigitsOnly.test(key) && astyle[key] !== bstyle[key]) {
1228
+ // Not equivalent, stop
1229
+ //console.log("Found nodes with mis-matched values for attribute '" + name + "'; not equiv");
1230
+ return false;
1231
+ }
1232
+ }
1233
+ } else {
1234
+ if (elm1.getAttribute(name) !== elm2.getAttribute(name)) {
1235
+ // console.log("Found nodes with mis-matched values for attribute '" + name + "'; not equiv");
1236
+ return false;
1237
+ }
1238
+ }
1239
+ } // Walk the children
1240
+
1241
+
1242
+ for (node1 = elm1.firstChild, node2 = elm2.firstChild; node1 && node2; node1 = node1.nextSibling, node2 = node2.nextSibling) {
1243
+ if (node1.nodeType !== node2.nodeType) {
1244
+ // display("Found nodes of different types; not equiv");
1245
+ return false;
1246
+ }
1247
+
1248
+ if (node1.nodeType === 1) {
1249
+ // Element
1250
+ if (!DomHandler.isEqualElement(node1, node2)) {
1251
+ return false;
1252
+ }
1253
+ } else if (node1.nodeValue !== node2.nodeValue) {
1254
+ // console.log("Found nodes with mis-matched nodeValues; not equiv");
1255
+ return false;
1256
+ }
1257
+ }
1258
+
1259
+ if (node1 || node2) {
1260
+ // One of the elements had more nodes than the other
1261
+ // console.log("Found more children of one element than the other; not equivalent");
1262
+ return false;
1263
+ } // Seem the same
1264
+
1265
+
1266
+ return true;
1267
+ }
1156
1268
  }]);
1157
1269
 
1158
1270
  return DomHandler;
@@ -1407,12 +1519,9 @@ this.primereact.utils = (function (exports, React) {
1407
1519
 
1408
1520
  var onBlur = function onBlur(e) {
1409
1521
  checkVal();
1522
+ options.onBlur && options.onBlur(e);
1410
1523
  updateModel(e);
1411
1524
 
1412
- if (options.onBlur) {
1413
- options.onBlur(e);
1414
- }
1415
-
1416
1525
  if (el.value !== focusText) {
1417
1526
  var event = document.createEvent('HTMLEvents');
1418
1527
  event.initEvent('change', true, false);
@@ -1947,11 +2056,16 @@ this.primereact.utils = (function (exports, React) {
1947
2056
  value: function sort(value1, value2) {
1948
2057
  var order = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
1949
2058
  var locale = arguments.length > 3 ? arguments[3] : undefined;
2059
+ var nullSortOrder = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
1950
2060
  var result = null;
1951
- if (value1 == null && value2 != null) result = -1;else if (value1 != null && value2 == null) result = 1;else if (value1 == null && value2 == null) result = 0;else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, locale, {
2061
+ var emptyValue1 = this.isEmpty(value1);
2062
+ var emptyValue2 = this.isEmpty(value2);
2063
+ if (emptyValue1 && emptyValue2) result = 0;else if (emptyValue1) result = order;else if (emptyValue2) result = -order;else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, locale, {
1952
2064
  numeric: true
1953
- });else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
1954
- return order * result;
2065
+ });else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0; // nullSortOrder == 1 means Excel like sort nulls at bottom
2066
+
2067
+ var finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder;
2068
+ return finalSortOrder * result;
1955
2069
  }
1956
2070
  }]);
1957
2071
 
@@ -2194,6 +2308,8 @@ this.primereact.api = (function (exports, utils) {
2194
2308
 
2195
2309
  _defineProperty(PrimeReact, "nonce", null);
2196
2310
 
2311
+ _defineProperty(PrimeReact, "nullSortOrder", 1);
2312
+
2197
2313
  _defineProperty(PrimeReact, "zIndex", {
2198
2314
  modal: 1100,
2199
2315
  overlay: 1000,
@@ -3829,13 +3945,11 @@ this.primereact.keyfilter = (function (exports, utils) {
3829
3945
  return;
3830
3946
  }
3831
3947
 
3832
- var regex = this.getRegex(keyfilter);
3833
- var browser = utils.DomHandler.getBrowser();
3834
-
3835
3948
  if (e.ctrlKey || e.altKey) {
3836
3949
  return;
3837
3950
  }
3838
3951
 
3952
+ var browser = utils.DomHandler.getBrowser();
3839
3953
  var k = this.getKey(e);
3840
3954
 
3841
3955
  if (browser.mozilla && (this.isNavKeyPress(e) || k === KeyFilter.KEYS.BACKSPACE || k === KeyFilter.KEYS.DELETE && e.charCode === 0)) {
@@ -3849,7 +3963,9 @@ this.primereact.keyfilter = (function (exports, utils) {
3849
3963
  return;
3850
3964
  }
3851
3965
 
3852
- if (!regex.test(cc)) {
3966
+ var regex = this.getRegex(keyfilter);
3967
+
3968
+ if (!regex.test(e.key)) {
3853
3969
  e.preventDefault();
3854
3970
  }
3855
3971
  },
@@ -4036,12 +4152,18 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4036
4152
  positionState = _React$useState4[0],
4037
4153
  setPositionState = _React$useState4[1];
4038
4154
 
4155
+ var _React$useState5 = React__namespace.useState(''),
4156
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
4157
+ classNameState = _React$useState6[0],
4158
+ setClassNameState = _React$useState6[1];
4159
+
4039
4160
  var elementRef = React__namespace.useRef(null);
4040
4161
  var textRef = React__namespace.useRef(null);
4041
4162
  var currentTargetRef = React__namespace.useRef(null);
4042
4163
  var containerSize = React__namespace.useRef(null);
4043
4164
  var allowHide = React__namespace.useRef(true);
4044
4165
  var timeouts = React__namespace.useRef({});
4166
+ var currentMouseEvent = React__namespace.useRef(null);
4045
4167
 
4046
4168
  var _useResizeListener = hooks.useResizeListener({
4047
4169
  listener: function listener(event) {
@@ -4145,6 +4267,37 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4145
4267
  }
4146
4268
  };
4147
4269
 
4270
+ var updateTooltipState = function updateTooltipState(position) {
4271
+ updateText(currentTargetRef.current, function () {
4272
+ var _currentMouseEvent$cu = currentMouseEvent.current,
4273
+ x = _currentMouseEvent$cu.pageX,
4274
+ y = _currentMouseEvent$cu.pageY;
4275
+
4276
+ if (props.autoZIndex && !utils.ZIndexUtils.get(elementRef.current)) {
4277
+ utils.ZIndexUtils.set('tooltip', elementRef.current, PrimeReact__default["default"].autoZIndex, props.baseZIndex || PrimeReact__default["default"].zIndex['tooltip']);
4278
+ }
4279
+
4280
+ elementRef.current.style.left = '';
4281
+ elementRef.current.style.top = ''; // GitHub #2695 disable pointer events when autohiding
4282
+
4283
+ if (isAutoHide()) {
4284
+ elementRef.current.style.pointerEvents = 'none';
4285
+ }
4286
+
4287
+ if (isMouseTrack(currentTargetRef.current) && !containerSize.current) {
4288
+ containerSize.current = {
4289
+ width: utils.DomHandler.getOuterWidth(elementRef.current),
4290
+ height: utils.DomHandler.getOuterHeight(elementRef.current)
4291
+ };
4292
+ }
4293
+
4294
+ align(currentTargetRef.current, {
4295
+ x: x,
4296
+ y: y
4297
+ }, position);
4298
+ });
4299
+ };
4300
+
4148
4301
  var show = function show(e) {
4149
4302
  currentTargetRef.current = e.currentTarget;
4150
4303
  var disabled = isDisabled(currentTargetRef.current);
@@ -4154,32 +4307,7 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4154
4307
  return;
4155
4308
  }
4156
4309
 
4157
- var updateTooltipState = function updateTooltipState() {
4158
- updateText(currentTargetRef.current, function () {
4159
- if (props.autoZIndex && !utils.ZIndexUtils.get(elementRef.current)) {
4160
- utils.ZIndexUtils.set('tooltip', elementRef.current, PrimeReact__default["default"].autoZIndex, props.baseZIndex || PrimeReact__default["default"].zIndex['tooltip']);
4161
- }
4162
-
4163
- elementRef.current.style.left = '';
4164
- elementRef.current.style.top = ''; // GitHub #2695 disable pointer events when autohiding
4165
-
4166
- if (isAutoHide()) {
4167
- elementRef.current.style.pointerEvents = 'none';
4168
- }
4169
-
4170
- if (isMouseTrack(currentTargetRef.current) && !containerSize.current) {
4171
- containerSize.current = {
4172
- width: utils.DomHandler.getOuterWidth(elementRef.current),
4173
- height: utils.DomHandler.getOuterHeight(elementRef.current)
4174
- };
4175
- }
4176
-
4177
- align(currentTargetRef.current, {
4178
- x: e.pageX,
4179
- y: e.pageY
4180
- });
4181
- });
4182
- };
4310
+ currentMouseEvent.current = e;
4183
4311
 
4184
4312
  if (visibleState) {
4185
4313
  applyDelay('updateDelay', updateTooltipState);
@@ -4193,15 +4321,10 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4193
4321
  if (success) {
4194
4322
  applyDelay('showDelay', function () {
4195
4323
  setVisibleState(true);
4196
- setPositionState(getPosition(currentTargetRef.current));
4197
- setTimeout(function () {
4198
- return updateTooltipState();
4199
- }, 0);
4200
4324
  sendCallback(props.onShow, {
4201
4325
  originalEvent: e,
4202
4326
  target: currentTargetRef.current
4203
4327
  });
4204
- utils.DomHandler.addClass(currentTargetRef.current, getTargetOption(currentTargetRef.current, 'classname'));
4205
4328
  });
4206
4329
  }
4207
4330
  }
@@ -4211,7 +4334,6 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4211
4334
  clearTimeouts();
4212
4335
 
4213
4336
  if (visibleState) {
4214
- utils.DomHandler.removeClass(currentTargetRef.current, getTargetOption(currentTargetRef.current, 'classname'));
4215
4337
  var success = sendCallback(props.onBeforeHide, {
4216
4338
  originalEvent: e,
4217
4339
  target: currentTargetRef.current
@@ -4226,10 +4348,6 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4226
4348
  utils.ZIndexUtils.clear(elementRef.current);
4227
4349
  utils.DomHandler.removeClass(elementRef.current, 'p-tooltip-active');
4228
4350
  setVisibleState(false);
4229
- setPositionState(props.position);
4230
- currentTargetRef.current = null;
4231
- containerSize.current = null;
4232
- allowHide.current = true;
4233
4351
  sendCallback(props.onHide, {
4234
4352
  originalEvent: e,
4235
4353
  target: currentTargetRef.current
@@ -4239,9 +4357,10 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4239
4357
  }
4240
4358
  };
4241
4359
 
4242
- var align = function align(target, coordinate) {
4360
+ var align = function align(target, coordinate, position) {
4243
4361
  var left = 0,
4244
- top = 0;
4362
+ top = 0,
4363
+ currentPosition = position || positionState;
4245
4364
 
4246
4365
  if (isMouseTrack(target) && coordinate) {
4247
4366
  var _containerSize = {
@@ -4255,7 +4374,7 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4255
4374
  mouseTrackTop = _getMouseTrackPositio.top,
4256
4375
  mouseTrackLeft = _getMouseTrackPositio.left;
4257
4376
 
4258
- switch (positionState) {
4377
+ switch (currentPosition) {
4259
4378
  case 'left':
4260
4379
  left -= _containerSize.width + mouseTrackLeft;
4261
4380
  top -= _containerSize.height / 2 - mouseTrackTop;
@@ -4288,28 +4407,28 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4288
4407
  elementRef.current.style.top = top + 'px';
4289
4408
  utils.DomHandler.addClass(elementRef.current, 'p-tooltip-active');
4290
4409
  } else {
4291
- var pos = utils.DomHandler.findCollisionPosition(positionState);
4410
+ var pos = utils.DomHandler.findCollisionPosition(currentPosition);
4292
4411
  var my = getTargetOption(target, 'my') || props.my || pos.my;
4293
4412
  var at = getTargetOption(target, 'at') || props.at || pos.at;
4294
4413
  elementRef.current.style.padding = '0px';
4295
- utils.DomHandler.flipfitCollision(elementRef.current, target, my, at, function (currentPosition) {
4296
- var _currentPosition$at = currentPosition.at,
4297
- atX = _currentPosition$at.x,
4298
- atY = _currentPosition$at.y;
4299
- var myX = currentPosition.my.x;
4300
- var newPosition = props.at ? atX !== 'center' && atX !== myX ? atX : atY : currentPosition.at["".concat(pos.axis)];
4414
+ utils.DomHandler.flipfitCollision(elementRef.current, target, my, at, function (calculatedPosition) {
4415
+ var _calculatedPosition$a = calculatedPosition.at,
4416
+ atX = _calculatedPosition$a.x,
4417
+ atY = _calculatedPosition$a.y;
4418
+ var myX = calculatedPosition.my.x;
4419
+ var newPosition = props.at ? atX !== 'center' && atX !== myX ? atX : atY : calculatedPosition.at["".concat(pos.axis)];
4301
4420
  elementRef.current.style.padding = '';
4302
4421
  setPositionState(newPosition);
4303
- updateContainerPosition();
4422
+ updateContainerPosition(newPosition);
4304
4423
  utils.DomHandler.addClass(elementRef.current, 'p-tooltip-active');
4305
4424
  });
4306
4425
  }
4307
4426
  };
4308
4427
 
4309
- var updateContainerPosition = function updateContainerPosition() {
4428
+ var updateContainerPosition = function updateContainerPosition(position) {
4310
4429
  if (elementRef.current) {
4311
4430
  var style = getComputedStyle(elementRef.current);
4312
- if (positionState === 'left') elementRef.current.style.left = parseFloat(style.left) - parseFloat(style.paddingLeft) * 2 + 'px';else if (positionState === 'top') elementRef.current.style.top = parseFloat(style.top) - parseFloat(style.paddingTop) * 2 + 'px';
4431
+ if (position === 'left') elementRef.current.style.left = parseFloat(style.left) - parseFloat(style.paddingLeft) * 2 + 'px';else if (position === 'top') elementRef.current.style.top = parseFloat(style.top) - parseFloat(style.paddingTop) * 2 + 'px';
4313
4432
  }
4314
4433
  };
4315
4434
 
@@ -4377,7 +4496,7 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4377
4496
  };
4378
4497
 
4379
4498
  var clearTimeouts = function clearTimeouts() {
4380
- Object.keys(timeouts.current).forEach(function (t) {
4499
+ Object.values(timeouts.current).forEach(function (t) {
4381
4500
  return clearTimeout(t);
4382
4501
  });
4383
4502
  };
@@ -4462,8 +4581,19 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4462
4581
  }, [show, hide, props.target]);
4463
4582
  hooks.useUpdateEffect(function () {
4464
4583
  if (visibleState) {
4584
+ var position = getPosition(currentTargetRef.current);
4585
+ var classname = getTargetOption(currentTargetRef.current, 'classname');
4586
+ setPositionState(position);
4587
+ setClassNameState(classname);
4588
+ updateTooltipState(position);
4465
4589
  bindWindowResizeListener();
4466
4590
  bindOverlayScrollListener();
4591
+ } else {
4592
+ setPositionState(props.position);
4593
+ setClassNameState('');
4594
+ currentTargetRef.current = null;
4595
+ containerSize.current = null;
4596
+ allowHide.current = true;
4467
4597
  }
4468
4598
 
4469
4599
  return function () {
@@ -4487,15 +4617,22 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, hooks, portal,
4487
4617
  });
4488
4618
  React__namespace.useImperativeHandle(ref, function () {
4489
4619
  return {
4620
+ props: props,
4490
4621
  updateTargetEvents: updateTargetEvents,
4491
4622
  loadTargetEvents: loadTargetEvents,
4492
- unloadTargetEvents: unloadTargetEvents
4623
+ unloadTargetEvents: unloadTargetEvents,
4624
+ getElement: function getElement() {
4625
+ return elementRef.current;
4626
+ },
4627
+ getTarget: function getTarget() {
4628
+ return currentTargetRef.current;
4629
+ }
4493
4630
  };
4494
4631
  });
4495
4632
 
4496
4633
  var createElement = function createElement() {
4497
4634
  var otherProps = utils.ObjectUtils.findDiffKeys(props, Tooltip.defaultProps);
4498
- var tooltipClassName = utils.classNames('p-tooltip p-component', _defineProperty({}, "p-tooltip-".concat(positionState), true), props.className);
4635
+ var tooltipClassName = utils.classNames('p-tooltip p-component', _defineProperty({}, "p-tooltip-".concat(positionState), true), props.className, classNameState);
4499
4636
  var empty = isTargetContentEmpty(currentTargetRef.current);
4500
4637
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
4501
4638
  id: props.id,
@@ -4721,7 +4858,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4721
4858
  numToleratedItemsState = _React$useState8[0],
4722
4859
  setNumToleratedItemsState = _React$useState8[1];
4723
4860
 
4724
- var _React$useState9 = React__namespace.useState(props.loading),
4861
+ var _React$useState9 = React__namespace.useState(props.loading || false),
4725
4862
  _React$useState10 = _slicedToArray(_React$useState9, 2),
4726
4863
  loadingState = _React$useState10[0],
4727
4864
  setLoadingState = _React$useState10[1];
@@ -4744,10 +4881,39 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4744
4881
  left: 0
4745
4882
  } : 0);
4746
4883
  var scrollTimeout = React__namespace.useRef(null);
4884
+ var resizeTimeout = React__namespace.useRef(null);
4885
+ var defaultWidth = React__namespace.useRef(null);
4886
+ var defaultHeight = React__namespace.useRef(null);
4747
4887
  var prevItems = hooks.usePrevious(props.items);
4748
4888
  var prevLoading = hooks.usePrevious(props.loading);
4749
4889
 
4890
+ var _useResizeListener = hooks.useResizeListener({
4891
+ listener: function listener(event) {
4892
+ return onResize(event);
4893
+ }
4894
+ }),
4895
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
4896
+ bindWindowResizeListener = _useResizeListener2[0];
4897
+
4898
+ var _useEventListener = hooks.useEventListener({
4899
+ target: 'window',
4900
+ type: 'orientationchange',
4901
+ listener: function listener(event) {
4902
+ return onResize(event);
4903
+ }
4904
+ }),
4905
+ _useEventListener2 = _slicedToArray(_useEventListener, 1),
4906
+ bindOrientationChangeListener = _useEventListener2[0];
4907
+
4908
+ var getElementRef = function getElementRef() {
4909
+ return elementRef;
4910
+ };
4911
+
4750
4912
  var scrollTo = function scrollTo(options) {
4913
+ lastScrollPos.current = both ? {
4914
+ top: 0,
4915
+ left: 0
4916
+ } : 0;
4751
4917
  elementRef.current && elementRef.current.scrollTo(options);
4752
4918
  };
4753
4919
 
@@ -4757,9 +4923,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4757
4923
  var _calculateNumItems = calculateNumItems(),
4758
4924
  numToleratedItems = _calculateNumItems.numToleratedItems;
4759
4925
 
4760
- var itemSize = props.itemSize;
4761
- var contentPos = getContentPosition();
4762
-
4763
4926
  var calculateFirst = function calculateFirst() {
4764
4927
  var _index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4765
4928
 
@@ -4768,8 +4931,8 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4768
4931
  return _index <= _numT ? 0 : _index;
4769
4932
  };
4770
4933
 
4771
- var calculateCoord = function calculateCoord(_first, _size, _cpos) {
4772
- return _first * _size + _cpos;
4934
+ var calculateCoord = function calculateCoord(_first, _size) {
4935
+ return _first * _size;
4773
4936
  };
4774
4937
 
4775
4938
  var scrollToItem = function scrollToItem() {
@@ -4789,15 +4952,13 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4789
4952
  };
4790
4953
 
4791
4954
  if (newFirst.rows !== firstState.rows || newFirst.cols !== firstState.cols) {
4792
- scrollToItem(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));
4793
- setFirstState(newFirst);
4955
+ scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1]), calculateCoord(newFirst.rows, props.itemSize[0]));
4794
4956
  }
4795
4957
  } else {
4796
4958
  var _newFirst = calculateFirst(index, numToleratedItems);
4797
4959
 
4798
4960
  if (_newFirst !== firstState) {
4799
- horizontal ? scrollToItem(calculateCoord(_newFirst, itemSize, contentPos.left), 0) : scrollToItem(0, calculateCoord(_newFirst, itemSize, contentPos.top));
4800
- setFirstState(_newFirst);
4961
+ horizontal ? scrollToItem(calculateCoord(_newFirst, props.itemSize), 0) : scrollToItem(0, calculateCoord(_newFirst, props.itemSize));
4801
4962
  }
4802
4963
  }
4803
4964
  };
@@ -4810,8 +4971,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4810
4971
  first = _getRenderedRange.first,
4811
4972
  viewport = _getRenderedRange.viewport;
4812
4973
 
4813
- var itemSize = props.itemSize;
4814
-
4815
4974
  var scrollToItem = function scrollToItem() {
4816
4975
  var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4817
4976
  var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
@@ -4828,26 +4987,26 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4828
4987
  if (isToStart) {
4829
4988
  if (both) {
4830
4989
  if (viewport.first.rows - first.rows > index[0]) {
4831
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows - 1) * itemSize);
4990
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows - 1) * props.itemSize[0]);
4832
4991
  } else if (viewport.first.cols - first.cols > index[1]) {
4833
- scrollToItem((viewport.first.cols - 1) * itemSize, viewport.first.rows * itemSize);
4992
+ scrollToItem((viewport.first.cols - 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
4834
4993
  }
4835
4994
  } else {
4836
4995
  if (viewport.first - first > index) {
4837
- var pos = (viewport.first - 1) * itemSize;
4996
+ var pos = (viewport.first - 1) * props.itemSize;
4838
4997
  horizontal ? scrollToItem(pos, 0) : scrollToItem(0, pos);
4839
4998
  }
4840
4999
  }
4841
5000
  } else if (isToEnd) {
4842
5001
  if (both) {
4843
5002
  if (viewport.last.rows - first.rows <= index[0] + 1) {
4844
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows + 1) * itemSize);
5003
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows + 1) * props.itemSize[0]);
4845
5004
  } else if (viewport.last.cols - first.cols <= index[1] + 1) {
4846
- scrollToItem((viewport.first.cols + 1) * itemSize, viewport.first.rows * itemSize);
5005
+ scrollToItem((viewport.first.cols + 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
4847
5006
  }
4848
5007
  } else {
4849
5008
  if (viewport.last - first <= index + 1) {
4850
- var _pos2 = (viewport.first + 1) * itemSize;
5009
+ var _pos2 = (viewport.first + 1) * props.itemSize;
4851
5010
 
4852
5011
  horizontal ? scrollToItem(_pos2, 0) : scrollToItem(0, _pos2);
4853
5012
  }
@@ -4863,18 +5022,14 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4863
5022
  };
4864
5023
 
4865
5024
  var getColumns = function getColumns() {
4866
- if (props.columns) {
4867
- if (both || horizontal) {
4868
- return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
4869
- }
5025
+ if (props.columns && both || horizontal) {
5026
+ return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
4870
5027
  }
4871
5028
 
4872
5029
  return props.columns;
4873
5030
  };
4874
5031
 
4875
5032
  var getRenderedRange = function getRenderedRange() {
4876
- var itemSize = props.itemSize;
4877
-
4878
5033
  var calculateFirstInViewport = function calculateFirstInViewport(_pos, _size) {
4879
5034
  return Math.floor(_pos / (_size || _pos));
4880
5035
  };
@@ -4883,13 +5038,14 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4883
5038
  var lastInViewport = 0;
4884
5039
 
4885
5040
  if (elementRef.current) {
4886
- var scrollTop = elementRef.current.scrollTop;
4887
- var scrollLeft = elementRef.current.scrollLeft;
5041
+ var _elementRef$current = elementRef.current,
5042
+ scrollTop = _elementRef$current.scrollTop,
5043
+ scrollLeft = _elementRef$current.scrollLeft;
4888
5044
 
4889
5045
  if (both) {
4890
5046
  firstInViewport = {
4891
- rows: calculateFirstInViewport(scrollTop, itemSize[0]),
4892
- cols: calculateFirstInViewport(scrollLeft, itemSize[1])
5047
+ rows: calculateFirstInViewport(scrollTop, props.itemSize[0]),
5048
+ cols: calculateFirstInViewport(scrollLeft, props.itemSize[1])
4893
5049
  };
4894
5050
  lastInViewport = {
4895
5051
  rows: firstInViewport.rows + numItemsInViewportState.rows,
@@ -4897,7 +5053,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4897
5053
  };
4898
5054
  } else {
4899
5055
  var scrollPos = horizontal ? scrollLeft : scrollTop;
4900
- firstInViewport = calculateFirstInViewport(scrollPos, itemSize);
5056
+ firstInViewport = calculateFirstInViewport(scrollPos, props.itemSize);
4901
5057
  lastInViewport = firstInViewport + numItemsInViewportState;
4902
5058
  }
4903
5059
  }
@@ -4913,7 +5069,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4913
5069
  };
4914
5070
 
4915
5071
  var calculateNumItems = function calculateNumItems() {
4916
- var itemSize = props.itemSize;
4917
5072
  var contentPos = getContentPosition();
4918
5073
  var contentWidth = elementRef.current ? elementRef.current.offsetWidth - contentPos.left : 0;
4919
5074
  var contentHeight = elementRef.current ? elementRef.current.offsetHeight - contentPos.top : 0;
@@ -4927,9 +5082,9 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4927
5082
  };
4928
5083
 
4929
5084
  var numItemsInViewport = both ? {
4930
- rows: calculateNumItemsInViewport(contentHeight, itemSize[0]),
4931
- cols: calculateNumItemsInViewport(contentWidth, itemSize[1])
4932
- } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, itemSize);
5085
+ rows: calculateNumItemsInViewport(contentHeight, props.itemSize[0]),
5086
+ cols: calculateNumItemsInViewport(contentWidth, props.itemSize[1])
5087
+ } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, props.itemSize);
4933
5088
  var numToleratedItems = numToleratedItemsState || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));
4934
5089
  return {
4935
5090
  numItemsInViewport: numItemsInViewport,
@@ -4974,15 +5129,26 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
4974
5129
  }
4975
5130
  };
4976
5131
 
5132
+ var calculateAutoSize = function calculateAutoSize(loading) {
5133
+ if (props.autoSize && !loading) {
5134
+ Promise.resolve().then(function () {
5135
+ if (_contentRef.current) {
5136
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = 'auto';
5137
+ var _contentRef$current = _contentRef.current,
5138
+ offsetWidth = _contentRef$current.offsetWidth,
5139
+ offsetHeight = _contentRef$current.offsetHeight;
5140
+ (both || horizontal) && (elementRef.current.style.width = (offsetWidth < defaultWidth.current ? offsetWidth : defaultWidth.current) + 'px');
5141
+ (both || vertical) && (elementRef.current.style.height = (offsetHeight < defaultHeight.current ? offsetHeight : defaultHeight.current) + 'px');
5142
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = '';
5143
+ }
5144
+ });
5145
+ }
5146
+ };
5147
+
4977
5148
  var getLast = function getLast() {
4978
5149
  var last = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4979
5150
  var isCols = arguments.length > 1 ? arguments[1] : undefined;
4980
-
4981
- if (props.items) {
4982
- return Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last);
4983
- }
4984
-
4985
- return 0;
5151
+ return props.items ? Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last) : 0;
4986
5152
  };
4987
5153
 
4988
5154
  var getContentPosition = function getContentPosition() {
@@ -5035,7 +5201,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5035
5201
  var items = props.items;
5036
5202
 
5037
5203
  if (_spacerRef.current && items) {
5038
- var itemSize = props.itemSize;
5039
5204
  var contentPos = getContentPosition();
5040
5205
 
5041
5206
  var setProp = function setProp(_name, _value, _size) {
@@ -5045,10 +5210,10 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5045
5210
  };
5046
5211
 
5047
5212
  if (both) {
5048
- setProp('height', items, itemSize[0], contentPos.y);
5049
- setProp('width', props.columns || items[1], itemSize[1], contentPos.x);
5213
+ setProp('height', items, props.itemSize[0], contentPos.y);
5214
+ setProp('width', props.columns || items[1], props.itemSize[1], contentPos.x);
5050
5215
  } else {
5051
- horizontal ? setProp('width', props.columns || items, itemSize, contentPos.x) : setProp('height', items, itemSize, contentPos.y);
5216
+ horizontal ? setProp('width', props.columns || items, props.itemSize, contentPos.x) : setProp('height', items, props.itemSize, contentPos.y);
5052
5217
  }
5053
5218
  }
5054
5219
  };
@@ -5056,7 +5221,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5056
5221
  var setContentPosition = function setContentPosition(pos) {
5057
5222
  if (_contentRef.current) {
5058
5223
  var first = pos ? pos.first : firstState;
5059
- var itemSize = props.itemSize;
5060
5224
 
5061
5225
  var calculateTranslateVal = function calculateTranslateVal(_first, _size) {
5062
5226
  return _first * _size;
@@ -5072,9 +5236,9 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5072
5236
  };
5073
5237
 
5074
5238
  if (both) {
5075
- setTransform(calculateTranslateVal(first.cols, itemSize[1]), calculateTranslateVal(first.rows, itemSize[0]));
5239
+ setTransform(calculateTranslateVal(first.cols, props.itemSize[1]), calculateTranslateVal(first.rows, props.itemSize[0]));
5076
5240
  } else {
5077
- var translateVal = calculateTranslateVal(first, itemSize);
5241
+ var translateVal = calculateTranslateVal(first, props.itemSize);
5078
5242
  horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);
5079
5243
  }
5080
5244
  }
@@ -5082,7 +5246,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5082
5246
 
5083
5247
  var onScrollPositionChange = function onScrollPositionChange(event) {
5084
5248
  var target = event.target;
5085
- var itemSize = props.itemSize;
5086
5249
  var contentPos = getContentPosition();
5087
5250
 
5088
5251
  var calculateScrollPos = function calculateScrollPos(_pos, _cpos) {
@@ -5113,16 +5276,20 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5113
5276
 
5114
5277
  var scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
5115
5278
  var scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
5116
- var newFirst = 0;
5279
+ var newFirst = both ? {
5280
+ rows: 0,
5281
+ cols: 0
5282
+ } : 0;
5117
5283
  var newLast = lastState;
5118
5284
  var isRangeChanged = false;
5285
+ var newScrollPos = lastScrollPos.current;
5119
5286
 
5120
5287
  if (both) {
5121
5288
  var isScrollDown = lastScrollPos.current.top <= scrollTop;
5122
5289
  var isScrollRight = lastScrollPos.current.left <= scrollLeft;
5123
5290
  var currentIndex = {
5124
- rows: calculateCurrentIndex(scrollTop, itemSize[0]),
5125
- cols: calculateCurrentIndex(scrollLeft, itemSize[1])
5291
+ rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
5292
+ cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
5126
5293
  };
5127
5294
  var triggerIndex = {
5128
5295
  rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
@@ -5136,8 +5303,8 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5136
5303
  rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
5137
5304
  cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
5138
5305
  };
5139
- isRangeChanged = newFirst.rows !== firstState.rows && newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols && newLast.cols !== lastState.cols;
5140
- lastScrollPos.current = {
5306
+ isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols;
5307
+ newScrollPos = {
5141
5308
  top: scrollTop,
5142
5309
  left: scrollLeft
5143
5310
  };
@@ -5145,20 +5312,21 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5145
5312
  var scrollPos = horizontal ? scrollLeft : scrollTop;
5146
5313
  var isScrollDownOrRight = lastScrollPos.current <= scrollPos;
5147
5314
 
5148
- var _currentIndex2 = calculateCurrentIndex(scrollPos, itemSize);
5315
+ var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
5149
5316
 
5150
5317
  var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
5151
5318
 
5152
5319
  newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
5153
5320
  newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
5154
- isRangeChanged = newFirst !== firstState && newLast !== lastState;
5155
- lastScrollPos.current = scrollPos;
5321
+ isRangeChanged = newFirst !== firstState || newLast !== lastState;
5322
+ newScrollPos = scrollPos;
5156
5323
  }
5157
5324
 
5158
5325
  return {
5159
5326
  first: newFirst,
5160
5327
  last: newLast,
5161
- isRangeChanged: isRangeChanged
5328
+ isRangeChanged: isRangeChanged,
5329
+ scrollPos: newScrollPos
5162
5330
  };
5163
5331
  };
5164
5332
 
@@ -5166,7 +5334,8 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5166
5334
  var _onScrollPositionChan = onScrollPositionChange(event),
5167
5335
  first = _onScrollPositionChan.first,
5168
5336
  last = _onScrollPositionChan.last,
5169
- isRangeChanged = _onScrollPositionChan.isRangeChanged;
5337
+ isRangeChanged = _onScrollPositionChan.isRangeChanged,
5338
+ scrollPos = _onScrollPositionChan.scrollPos;
5170
5339
 
5171
5340
  if (isRangeChanged) {
5172
5341
  var newState = {
@@ -5176,6 +5345,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5176
5345
  setContentPosition(newState);
5177
5346
  setFirstState(first);
5178
5347
  setLastState(last);
5348
+ lastScrollPos.current = scrollPos;
5179
5349
  props.onScrollIndexChange && props.onScrollIndexChange(newState);
5180
5350
 
5181
5351
  if (props.lazy) {
@@ -5202,7 +5372,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5202
5372
  scrollTimeout.current = setTimeout(function () {
5203
5373
  onScrollChange(event);
5204
5374
 
5205
- if (loadingState && props.showLoader && !props.lazy) {
5375
+ if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
5206
5376
  setLoadingState(false);
5207
5377
  }
5208
5378
  }, props.delay);
@@ -5211,10 +5381,32 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5211
5381
  }
5212
5382
  };
5213
5383
 
5384
+ var onResize = function onResize() {
5385
+ if (resizeTimeout.current) {
5386
+ clearTimeout(resizeTimeout.current);
5387
+ }
5388
+
5389
+ resizeTimeout.current = setTimeout(function () {
5390
+ if (elementRef.current) {
5391
+ var _ref = [utils.DomHandler.getWidth(elementRef.current), utils.DomHandler.getHeight(elementRef.current)],
5392
+ width = _ref[0],
5393
+ height = _ref[1];
5394
+ var isDiffWidth = width !== defaultWidth.current,
5395
+ isDiffHeight = height !== defaultHeight.current;
5396
+ var reinit = both ? isDiffWidth || isDiffHeight : horizontal ? isDiffWidth : vertical ? isDiffHeight : false;
5397
+
5398
+ if (reinit) {
5399
+ setNumToleratedItemsState(props.numToleratedItems);
5400
+ defaultWidth.current = width;
5401
+ defaultHeight.current = height;
5402
+ }
5403
+ }
5404
+ }, props.resizeDelay);
5405
+ };
5406
+
5214
5407
  var getOptions = function getOptions(renderedIndex) {
5215
- var first = firstState;
5216
5408
  var count = (props.items || []).length;
5217
- var index = both ? first.rows + renderedIndex : first + renderedIndex;
5409
+ var index = both ? firstState.rows + renderedIndex : firstState + renderedIndex;
5218
5410
  return {
5219
5411
  index: index,
5220
5412
  count: count,
@@ -5252,25 +5444,48 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5252
5444
  };
5253
5445
 
5254
5446
  var init = function init() {
5255
- setSize();
5256
- calculateOptions();
5257
- setSpacerSize();
5447
+ if (!props.disabled) {
5448
+ setSize();
5449
+ calculateOptions();
5450
+ setSpacerSize();
5451
+ }
5258
5452
  };
5259
5453
 
5260
5454
  hooks.useMountEffect(function () {
5261
- init();
5455
+ if (!props.disabled) {
5456
+ init();
5457
+ bindWindowResizeListener();
5458
+ bindOrientationChangeListener();
5459
+ defaultWidth.current = utils.DomHandler.getWidth(elementRef.current);
5460
+ defaultHeight.current = utils.DomHandler.getHeight(elementRef.current);
5461
+ }
5262
5462
  });
5263
5463
  hooks.useUpdateEffect(function () {
5264
5464
  init();
5265
5465
  }, [props.itemSize, props.scrollHeight]);
5466
+ hooks.useUpdateEffect(function () {
5467
+ if (props.numToleratedItems !== numToleratedItemsState) {
5468
+ setNumToleratedItemsState(props.numToleratedItems);
5469
+ }
5470
+ }, [props.numToleratedItems]);
5471
+ hooks.useUpdateEffect(function () {
5472
+ if (props.numToleratedItems === numToleratedItemsState) {
5473
+ init(); // reinit after resizing
5474
+ }
5475
+ }, [numToleratedItemsState]);
5266
5476
  hooks.useUpdateEffect(function () {
5267
5477
  if (!prevItems || prevItems.length !== (props.items || []).length) {
5268
5478
  init();
5269
5479
  }
5270
5480
 
5481
+ var loading = loadingState;
5482
+
5271
5483
  if (props.lazy && prevLoading !== props.loading && props.loading !== loadingState) {
5272
5484
  setLoadingState(props.loading);
5485
+ loading = props.loading;
5273
5486
  }
5487
+
5488
+ calculateAutoSize(loading);
5274
5489
  });
5275
5490
  hooks.useUpdateEffect(function () {
5276
5491
  lastScrollPos.current = both ? {
@@ -5280,6 +5495,8 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5280
5495
  }, [props.orientation]);
5281
5496
  React__namespace.useImperativeHandle(ref, function () {
5282
5497
  return {
5498
+ props: props,
5499
+ getElementRef: getElementRef,
5283
5500
  scrollTo: scrollTo,
5284
5501
  scrollToIndex: scrollToIndex,
5285
5502
  scrollInView: scrollInView,
@@ -5311,6 +5528,13 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5311
5528
  numCols: numItemsInViewportState.cols
5312
5529
  });
5313
5530
  });
5531
+ } else if (props.loaderIconTemplate) {
5532
+ var defaultContentOptions = {
5533
+ className: 'p-virtualscroller-loading-icon',
5534
+ element: content,
5535
+ props: props
5536
+ };
5537
+ content = utils.ObjectUtils.getJSXElement(props.loaderIconTemplate, defaultContentOptions);
5314
5538
  }
5315
5539
 
5316
5540
  return /*#__PURE__*/React__namespace.createElement("div", {
@@ -5367,7 +5591,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5367
5591
  stickyRef: function stickyRef(el) {
5368
5592
  return _stickyRef.current = utils.ObjectUtils.getRefElement(el);
5369
5593
  },
5370
- items: loadedItems,
5594
+ items: loadedItems(),
5371
5595
  getItemOptions: function getItemOptions(index) {
5372
5596
  return getOptions(index);
5373
5597
  },
@@ -5433,14 +5657,17 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
5433
5657
  orientation: 'vertical',
5434
5658
  numToleratedItems: null,
5435
5659
  delay: 0,
5660
+ resizeDelay: 10,
5436
5661
  lazy: false,
5437
5662
  disabled: false,
5438
5663
  loaderDisabled: false,
5439
5664
  columns: null,
5440
- loading: false,
5665
+ loading: undefined,
5666
+ autoSize: false,
5441
5667
  showSpacer: true,
5442
5668
  showLoader: false,
5443
5669
  loadingTemplate: null,
5670
+ loaderIconTemplate: null,
5444
5671
  itemTemplate: null,
5445
5672
  contentTemplate: null,
5446
5673
  onScroll: null,
@@ -5600,23 +5827,27 @@ this.primereact.checkbox = (function (exports, React, hooks, tooltip, utils) {
5600
5827
  if (!props.disabled && !props.readOnly && props.onChange) {
5601
5828
  var _checked = isChecked();
5602
5829
 
5603
- var value = _checked ? props.falseValue : props.trueValue;
5604
- props.onChange({
5605
- originalEvent: event,
5606
- value: props.value,
5607
- checked: value,
5608
- stopPropagation: function stopPropagation() {},
5609
- preventDefault: function preventDefault() {},
5610
- target: {
5611
- type: 'checkbox',
5612
- name: props.name,
5613
- id: props.id,
5830
+ if (inputRef.current.checked === _checked) {
5831
+ var value = _checked ? props.falseValue : props.trueValue;
5832
+ props.onChange({
5833
+ originalEvent: event,
5614
5834
  value: props.value,
5615
- checked: value
5616
- }
5617
- });
5618
- inputRef.current.checked = !_checked;
5619
- inputRef.current.focus();
5835
+ checked: value,
5836
+ stopPropagation: function stopPropagation() {},
5837
+ preventDefault: function preventDefault() {},
5838
+ target: {
5839
+ type: 'checkbox',
5840
+ name: props.name,
5841
+ id: props.id,
5842
+ value: props.value,
5843
+ checked: value
5844
+ }
5845
+ });
5846
+ inputRef.current.checked = !_checked;
5847
+ }
5848
+
5849
+ utils.DomHandler.focus(inputRef.current);
5850
+ event.preventDefault();
5620
5851
  }
5621
5852
  };
5622
5853
 
@@ -5632,6 +5863,17 @@ this.primereact.checkbox = (function (exports, React, hooks, tooltip, utils) {
5632
5863
  return props.checked === props.trueValue;
5633
5864
  };
5634
5865
 
5866
+ React__namespace.useImperativeHandle(ref, function () {
5867
+ return {
5868
+ props: props,
5869
+ getElement: function getElement() {
5870
+ return elementRef.current;
5871
+ },
5872
+ getInput: function getInput() {
5873
+ return inputRef.current;
5874
+ }
5875
+ };
5876
+ });
5635
5877
  React__namespace.useEffect(function () {
5636
5878
  utils.ObjectUtils.combinedRefs(inputRef, props.inputRef);
5637
5879
  }, [inputRef, props.inputRef]);
@@ -5949,9 +6191,10 @@ this.primereact.inputtext = (function (exports, React, keyfilter, tooltip, utils
5949
6191
  }
5950
6192
  };
5951
6193
 
6194
+ var currentValue = elementRef.current && elementRef.current.value;
5952
6195
  var isFilled = React__namespace.useMemo(function () {
5953
- return utils.ObjectUtils.isNotEmpty(props.value) || utils.ObjectUtils.isNotEmpty(props.defaultValue) || elementRef.current && utils.ObjectUtils.isNotEmpty(elementRef.current.value);
5954
- }, [props.value, props.defaultValue]);
6196
+ return utils.ObjectUtils.isNotEmpty(props.value) || utils.ObjectUtils.isNotEmpty(props.defaultValue) || utils.ObjectUtils.isNotEmpty(currentValue);
6197
+ }, [props.value, props.defaultValue, currentValue]);
5955
6198
  React__namespace.useEffect(function () {
5956
6199
  utils.ObjectUtils.combinedRefs(elementRef, ref);
5957
6200
  }, [elementRef, ref]);
@@ -6347,7 +6590,7 @@ this.primereact.inputnumber = (function (exports, React, hooks, inputtext, rippl
6347
6590
 
6348
6591
  var onUpButtonMouseDown = function onUpButtonMouseDown(event) {
6349
6592
  if (!props.disabled && !props.readOnly) {
6350
- props.autoFocus && inputRef.current.focus();
6593
+ props.autoFocus && utils.DomHandler.focus(inputRef.current, props.autoFocus);
6351
6594
  repeat(event, null, 1);
6352
6595
  event.preventDefault();
6353
6596
  }
@@ -6400,7 +6643,7 @@ this.primereact.inputnumber = (function (exports, React, hooks, inputtext, rippl
6400
6643
 
6401
6644
  var onDownButtonMouseDown = function onDownButtonMouseDown(event) {
6402
6645
  if (!props.disabled && !props.readOnly) {
6403
- props.autoFocus && inputRef.current.focus();
6646
+ props.autoFocus && utils.DomHandler.focus(inputRef.current, props.autoFocus);
6404
6647
  repeat(event, null, -1);
6405
6648
  event.preventDefault();
6406
6649
  }
@@ -6491,9 +6734,10 @@ this.primereact.inputnumber = (function (exports, React, hooks, inputtext, rippl
6491
6734
  }
6492
6735
 
6493
6736
  break;
6494
- //enter
6737
+ //enter and tab
6495
6738
 
6496
6739
  case 13:
6740
+ case 9:
6497
6741
  newValueStr = validateValue(parseValue(inputValue));
6498
6742
  inputRef.current.value = formatValue(newValueStr);
6499
6743
  inputRef.current.setAttribute('aria-valuenow', newValueStr);
@@ -7071,7 +7315,14 @@ this.primereact.inputnumber = (function (exports, React, hooks, inputtext, rippl
7071
7315
 
7072
7316
  React__namespace.useImperativeHandle(ref, function () {
7073
7317
  return {
7074
- getFormatter: getFormatter
7318
+ props: props,
7319
+ getFormatter: getFormatter,
7320
+ getElement: function getElement() {
7321
+ return elementRef.current;
7322
+ },
7323
+ getInput: function getInput() {
7324
+ return inputRef.current;
7325
+ }
7075
7326
  };
7076
7327
  });
7077
7328
  React__namespace.useEffect(function () {
@@ -7473,9 +7724,11 @@ this.primereact.messages = (function (exports, React, reactTransitionGroup, csst
7473
7724
  messagesState = _React$useState2[0],
7474
7725
  setMessagesState = _React$useState2[1];
7475
7726
 
7727
+ var elementRef = React__namespace.useRef(null);
7728
+
7476
7729
  var show = function show(value) {
7477
7730
  if (value) {
7478
- var messages = [];
7731
+ var messages;
7479
7732
 
7480
7733
  if (Array.isArray(value)) {
7481
7734
  for (var i = 0; i < value.length; i++) {
@@ -7496,7 +7749,8 @@ this.primereact.messages = (function (exports, React, reactTransitionGroup, csst
7496
7749
  };
7497
7750
 
7498
7751
  var replace = function replace(value) {
7499
- setMessagesState(value);
7752
+ var replaced = Array.isArray(value) ? value : [value];
7753
+ setMessagesState(replaced);
7500
7754
  };
7501
7755
 
7502
7756
  var onClose = function onClose(message) {
@@ -7508,14 +7762,19 @@ this.primereact.messages = (function (exports, React, reactTransitionGroup, csst
7508
7762
 
7509
7763
  React__namespace.useImperativeHandle(ref, function () {
7510
7764
  return {
7765
+ props: props,
7511
7766
  show: show,
7512
7767
  replace: replace,
7513
- clear: clear
7768
+ clear: clear,
7769
+ getElement: function getElement() {
7770
+ return elementRef.current;
7771
+ }
7514
7772
  };
7515
7773
  });
7516
7774
  var otherProps = utils.ObjectUtils.findDiffKeys(props, Messages.defaultProps);
7517
7775
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
7518
7776
  id: props.id,
7777
+ ref: elementRef,
7519
7778
  className: props.className,
7520
7779
  style: props.style
7521
7780
  }, otherProps), /*#__PURE__*/React__namespace.createElement(reactTransitionGroup.TransitionGroup, null, messagesState.map(function (message) {
@@ -7600,6 +7859,8 @@ this.primereact.progressbar = (function (exports, React, utils) {
7600
7859
  }
7601
7860
 
7602
7861
  var ProgressBar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
7862
+ var elementRef = React__namespace.useRef(null);
7863
+
7603
7864
  var createLabel = function createLabel() {
7604
7865
  if (props.showValue && props.value != null) {
7605
7866
  var label = props.displayValueTemplate ? props.displayValueTemplate(props.value) : props.value + props.unit;
@@ -7618,6 +7879,7 @@ this.primereact.progressbar = (function (exports, React, utils) {
7618
7879
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
7619
7880
  role: "progressbar",
7620
7881
  id: props.id,
7882
+ ref: elementRef,
7621
7883
  className: className,
7622
7884
  style: props.style,
7623
7885
  "aria-valuemin": "0",
@@ -7639,6 +7901,7 @@ this.primereact.progressbar = (function (exports, React, utils) {
7639
7901
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
7640
7902
  role: "progressbar",
7641
7903
  id: props.id,
7904
+ ref: elementRef,
7642
7905
  className: className,
7643
7906
  style: props.style
7644
7907
  }, otherProps), /*#__PURE__*/React__namespace.createElement("div", {
@@ -7651,6 +7914,14 @@ this.primereact.progressbar = (function (exports, React, utils) {
7651
7914
  })));
7652
7915
  };
7653
7916
 
7917
+ React__namespace.useImperativeHandle(ref, function () {
7918
+ return {
7919
+ props: props,
7920
+ getElement: function getElement() {
7921
+ return elementRef.current;
7922
+ }
7923
+ };
7924
+ });
7654
7925
  if (props.mode === 'determinate') return createDeterminate();else if (props.mode === 'indeterminate') return createIndeterminate();else throw new Error(props.mode + " is not a valid mode for the ProgressBar. Valid values are 'determinate' and 'indeterminate'");
7655
7926
  }));
7656
7927
  ProgressBar.displayName = 'ProgressBar';
@@ -7720,6 +7991,22 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7720
7991
  return _extends.apply(this, arguments);
7721
7992
  }
7722
7993
 
7994
+ function _typeof(obj) {
7995
+ "@babel/helpers - typeof";
7996
+
7997
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
7998
+ _typeof = function _typeof(obj) {
7999
+ return typeof obj;
8000
+ };
8001
+ } else {
8002
+ _typeof = function _typeof(obj) {
8003
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
8004
+ };
8005
+ }
8006
+
8007
+ return _typeof(obj);
8008
+ }
8009
+
7723
8010
  function _defineProperty(obj, key, value) {
7724
8011
  if (key in obj) {
7725
8012
  Object.defineProperty(obj, key, {
@@ -7814,6 +8101,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7814
8101
  var content = props.template ? utils.ObjectUtils.getJSXElement(props.template, props.option) : props.label;
7815
8102
  return /*#__PURE__*/React__namespace.createElement("li", {
7816
8103
  className: className,
8104
+ style: props.style,
7817
8105
  onClick: onClick,
7818
8106
  "aria-label": props.label,
7819
8107
  key: props.label,
@@ -7830,6 +8118,14 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7830
8118
  var virtualScrollerRef = React__namespace.useRef(null);
7831
8119
  var filterInputRef = React__namespace.useRef(null);
7832
8120
  var isEmptyFilter = !(props.visibleOptions && props.visibleOptions.length) && props.hasFilter;
8121
+ var filterOptions = {
8122
+ filter: function filter(e) {
8123
+ return onFilterInputChange(e);
8124
+ },
8125
+ reset: function reset() {
8126
+ return props.resetFilter();
8127
+ }
8128
+ };
7833
8129
 
7834
8130
  var onEnter = function onEnter() {
7835
8131
  props.onEnter(function () {
@@ -7848,7 +8144,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7848
8144
  var onEntered = function onEntered() {
7849
8145
  props.onEntered(function () {
7850
8146
  if (props.filter && props.filterInputAutoFocus) {
7851
- filterInputRef.current.focus();
8147
+ utils.DomHandler.focus(filterInputRef.current, false);
7852
8148
  }
7853
8149
  });
7854
8150
  };
@@ -7858,7 +8154,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7858
8154
  props.onFilterInputChange && props.onFilterInputChange(event);
7859
8155
  };
7860
8156
 
7861
- var createGroupChildren = function createGroupChildren(optionGroup) {
8157
+ var createGroupChildren = function createGroupChildren(optionGroup, style) {
7862
8158
  var groupChildren = props.getOptionGroupChildren(optionGroup);
7863
8159
  return groupChildren.map(function (option, j) {
7864
8160
  var optionLabel = props.getOptionLabel(option);
@@ -7868,6 +8164,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7868
8164
  key: optionKey,
7869
8165
  label: optionLabel,
7870
8166
  option: option,
8167
+ style: style,
7871
8168
  template: props.itemTemplate,
7872
8169
  selected: props.isSelected(option),
7873
8170
  disabled: disabled,
@@ -7884,14 +8181,20 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7884
8181
  };
7885
8182
 
7886
8183
  var createItem = function createItem(option, index) {
8184
+ var scrollerOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
8185
+ var style = {
8186
+ height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
8187
+ };
8188
+
7887
8189
  if (props.optionGroupLabel) {
7888
8190
  var groupContent = props.optionGroupTemplate ? utils.ObjectUtils.getJSXElement(props.optionGroupTemplate, option, index) : props.getOptionGroupLabel(option);
7889
- var groupChildrenContent = createGroupChildren(option);
8191
+ var groupChildrenContent = createGroupChildren(option, style);
7890
8192
  var key = index + '_' + props.getOptionGroupRenderKey(option);
7891
8193
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, {
7892
8194
  key: key
7893
8195
  }, /*#__PURE__*/React__namespace.createElement("li", {
7894
- className: "p-dropdown-item-group"
8196
+ className: "p-dropdown-item-group",
8197
+ style: style
7895
8198
  }, groupContent), groupChildrenContent);
7896
8199
  } else {
7897
8200
  var optionLabel = props.getOptionLabel(option);
@@ -7901,6 +8204,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7901
8204
  key: optionKey,
7902
8205
  label: optionLabel,
7903
8206
  option: option,
8207
+ style: style,
7904
8208
  template: props.itemTemplate,
7905
8209
  selected: props.isSelected(option),
7906
8210
  disabled: disabled,
@@ -7925,7 +8229,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7925
8229
  className: "p-dropdown-filter-clear-icon pi pi-times",
7926
8230
  onClick: function onClick() {
7927
8231
  return props.onFilterClearIconClick(function () {
7928
- return filterInputRef.current.focus();
8232
+ return utils.DomHandler.focus(filterInputRef.current);
7929
8233
  });
7930
8234
  }
7931
8235
  });
@@ -7940,9 +8244,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7940
8244
  var containerClassName = utils.classNames('p-dropdown-filter-container', {
7941
8245
  'p-dropdown-clearable-filter': !!clearIcon
7942
8246
  });
7943
- return /*#__PURE__*/React__namespace.createElement("div", {
7944
- className: "p-dropdown-header"
7945
- }, /*#__PURE__*/React__namespace.createElement("div", {
8247
+ var content = /*#__PURE__*/React__namespace.createElement("div", {
7946
8248
  className: containerClassName
7947
8249
  }, /*#__PURE__*/React__namespace.createElement("input", {
7948
8250
  ref: filterInputRef,
@@ -7955,7 +8257,25 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7955
8257
  value: props.filterValue
7956
8258
  }), clearIcon, /*#__PURE__*/React__namespace.createElement("i", {
7957
8259
  className: "p-dropdown-filter-icon pi pi-search"
7958
- })));
8260
+ }));
8261
+
8262
+ if (props.filterTemplate) {
8263
+ var defaultContentOptions = {
8264
+ className: containerClassName,
8265
+ element: content,
8266
+ filterOptions: filterOptions,
8267
+ filterInputKeyDown: props.onFilterInputKeyDown,
8268
+ filterInputChange: onFilterInputChange,
8269
+ filterIconClassName: 'p-dropdown-filter-icon pi pi-search',
8270
+ clearIcon: clearIcon,
8271
+ props: props
8272
+ };
8273
+ content = utils.ObjectUtils.getJSXElement(props.filterTemplate, defaultContentOptions);
8274
+ }
8275
+
8276
+ return /*#__PURE__*/React__namespace.createElement("div", {
8277
+ className: "p-dropdown-header"
8278
+ }, content);
7959
8279
  }
7960
8280
 
7961
8281
  return null;
@@ -7969,13 +8289,14 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
7969
8289
  }),
7970
8290
  className: utils.classNames('p-dropdown-items-wrapper', props.virtualScrollerOptions.className),
7971
8291
  items: props.visibleOptions,
8292
+ autoSize: true,
7972
8293
  onLazyLoad: function onLazyLoad(event) {
7973
8294
  return props.virtualScrollerOptions.onLazyLoad(_objectSpread$1(_objectSpread$1({}, event), {
7974
8295
  filter: props.filterValue
7975
8296
  }));
7976
8297
  },
7977
8298
  itemTemplate: function itemTemplate(item, options) {
7978
- return item && createItem(item, options.index);
8299
+ return item && createItem(item, options.index, options);
7979
8300
  },
7980
8301
  contentTemplate: function contentTemplate(options) {
7981
8302
  var className = utils.classNames('p-dropdown-items', options.className);
@@ -8142,7 +8463,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8142
8463
  if (utils.DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') || event.target.tagName === 'INPUT') {
8143
8464
  return;
8144
8465
  } else if (!overlayRef.current || !(overlayRef.current && overlayRef.current.contains(event.target))) {
8145
- focusInputRef.current.focus();
8466
+ utils.DomHandler.focus(focusInputRef.current);
8146
8467
  overlayVisibleState ? hide() : show();
8147
8468
  }
8148
8469
  };
@@ -8158,7 +8479,22 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8158
8479
 
8159
8480
  var onInputBlur = function onInputBlur(event) {
8160
8481
  setFocusedState(false);
8161
- props.onBlur && props.onBlur(event);
8482
+
8483
+ if (props.onBlur) {
8484
+ setTimeout(function () {
8485
+ props.onBlur({
8486
+ originalEvent: event.originalEvent,
8487
+ value: inputRef.current.value,
8488
+ stopPropagation: function stopPropagation() {},
8489
+ preventDefault: function preventDefault() {},
8490
+ target: {
8491
+ name: props.name,
8492
+ id: props.id,
8493
+ value: inputRef.current.value
8494
+ }
8495
+ });
8496
+ }, 200);
8497
+ }
8162
8498
  };
8163
8499
 
8164
8500
  var onPanelClick = function onPanelClick(event) {
@@ -8314,6 +8650,11 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8314
8650
  }
8315
8651
 
8316
8652
  var _char = event.key;
8653
+
8654
+ if (_char === 'Shift' || _char === 'Control' || _char === 'Alt') {
8655
+ return;
8656
+ }
8657
+
8317
8658
  if (currentSearchChar.current === _char) searchValue.current = _char;else searchValue.current = searchValue.current ? searchValue.current + _char : _char;
8318
8659
  currentSearchChar.current = _char;
8319
8660
 
@@ -8384,7 +8725,13 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8384
8725
  };
8385
8726
 
8386
8727
  var matchesSearchValue = function matchesSearchValue(option) {
8387
- var label = getOptionLabel(option).toLocaleLowerCase(props.filterLocale);
8728
+ var label = getOptionLabel(option);
8729
+
8730
+ if (!label) {
8731
+ return false;
8732
+ }
8733
+
8734
+ label = label.toLocaleLowerCase(props.filterLocale);
8388
8735
  return label.startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale));
8389
8736
  };
8390
8737
 
@@ -8415,7 +8762,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8415
8762
 
8416
8763
  if (!option.disabled) {
8417
8764
  selectItem(event);
8418
- focusInputRef.current.focus();
8765
+ utils.DomHandler.focus(focusInputRef.current);
8419
8766
  }
8420
8767
 
8421
8768
  hide();
@@ -8484,11 +8831,13 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8484
8831
  }
8485
8832
  };
8486
8833
 
8487
- var getSelectedOptionIndex = function getSelectedOptionIndex() {
8488
- if (props.value != null && visibleOptions) {
8834
+ var getSelectedOptionIndex = function getSelectedOptionIndex(options) {
8835
+ options = options || visibleOptions;
8836
+
8837
+ if (props.value != null && options) {
8489
8838
  if (props.optionGroupLabel) {
8490
- for (var i = 0; i < visibleOptions.length; i++) {
8491
- var selectedOptionIndex = findOptionIndexInList(props.value, getOptionGroupChildren(visibleOptions[i]));
8839
+ for (var i = 0; i < options.length; i++) {
8840
+ var selectedOptionIndex = findOptionIndexInList(props.value, getOptionGroupChildren(options[i]));
8492
8841
 
8493
8842
  if (selectedOptionIndex !== -1) {
8494
8843
  return {
@@ -8498,7 +8847,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8498
8847
  }
8499
8848
  }
8500
8849
  } else {
8501
- return findOptionIndexInList(props.value, visibleOptions);
8850
+ return findOptionIndexInList(props.value, options);
8502
8851
  }
8503
8852
  }
8504
8853
 
@@ -8615,16 +8964,35 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8615
8964
  };
8616
8965
 
8617
8966
  var getSelectedOption = function getSelectedOption() {
8618
- var index = getSelectedOptionIndex();
8619
- return index !== -1 ? props.optionGroupLabel ? getOptionGroupChildren(visibleOptions[index.group])[index.option] : visibleOptions[index] : null;
8967
+ var index = getSelectedOptionIndex(props.options);
8968
+ return index !== -1 ? props.optionGroupLabel ? getOptionGroupChildren(props.options[index.group])[index.option] : props.options[index] : null;
8620
8969
  };
8621
8970
 
8971
+ React__namespace.useImperativeHandle(ref, function () {
8972
+ return {
8973
+ props: props,
8974
+ show: show,
8975
+ hide: hide,
8976
+ getElement: function getElement() {
8977
+ return elementRef.current;
8978
+ },
8979
+ getOverlay: function getOverlay() {
8980
+ return overlayRef.current;
8981
+ },
8982
+ getInput: function getInput() {
8983
+ return inputRef.current;
8984
+ },
8985
+ getFocusInput: function getFocusInput() {
8986
+ return focusInputRef.current;
8987
+ }
8988
+ };
8989
+ });
8622
8990
  React__namespace.useEffect(function () {
8623
8991
  utils.ObjectUtils.combinedRefs(inputRef, props.inputRef);
8624
8992
  }, [inputRef, props.inputRef]);
8625
8993
  hooks.useMountEffect(function () {
8626
- if (props.autoFocus && focusInputRef.current) {
8627
- focusInputRef.current.focus();
8994
+ if (props.autoFocus) {
8995
+ utils.DomHandler.focus(focusInputRef.current, props.autoFocus);
8628
8996
  }
8629
8997
  });
8630
8998
  hooks.useUpdateEffect(function () {
@@ -8653,21 +9021,33 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8653
9021
  });
8654
9022
 
8655
9023
  var createHiddenSelect = function createHiddenSelect() {
8656
- var placeHolderOption = /*#__PURE__*/React__namespace.createElement("option", {
8657
- value: ""
8658
- }, props.placeholder);
8659
- var option = selectedOption ? /*#__PURE__*/React__namespace.createElement("option", {
8660
- value: selectedOption.value
8661
- }, getOptionLabel(selectedOption)) : null;
9024
+ var option = {
9025
+ value: '',
9026
+ label: props.placeholder
9027
+ };
9028
+
9029
+ if (selectedOption) {
9030
+ var optionValue = getOptionValue(selectedOption);
9031
+ option = {
9032
+ value: _typeof(optionValue) === 'object' ? props.options.findIndex(function (o) {
9033
+ return o === optionValue;
9034
+ }) : optionValue,
9035
+ label: getOptionLabel(selectedOption)
9036
+ };
9037
+ }
9038
+
8662
9039
  return /*#__PURE__*/React__namespace.createElement("div", {
8663
9040
  className: "p-hidden-accessible p-dropdown-hidden-select"
8664
9041
  }, /*#__PURE__*/React__namespace.createElement("select", {
8665
9042
  ref: inputRef,
8666
9043
  required: props.required,
9044
+ defaultValue: option.value,
8667
9045
  name: props.name,
8668
9046
  tabIndex: -1,
8669
9047
  "aria-hidden": "true"
8670
- }, placeHolderOption, option));
9048
+ }, /*#__PURE__*/React__namespace.createElement("option", {
9049
+ value: option.value
9050
+ }, option.label), ";"));
8671
9051
  };
8672
9052
 
8673
9053
  var createKeyboardHelper = function createKeyboardHelper() {
@@ -8781,6 +9161,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8781
9161
  filterValue: filterState,
8782
9162
  hasFilter: hasFilter,
8783
9163
  onFilterClearIconClick: onFilterClearIconClick,
9164
+ resetFilter: resetFilter,
8784
9165
  onFilterInputKeyDown: onFilterInputKeyDown,
8785
9166
  onFilterInputChange: onFilterInputChange,
8786
9167
  getOptionLabel: getOptionLabel,
@@ -8815,6 +9196,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, hooks, overlay
8815
9196
  optionGroupLabel: null,
8816
9197
  optionGroupChildren: null,
8817
9198
  optionGroupTemplate: null,
9199
+ filterTemplate: null,
8818
9200
  valueTemplate: null,
8819
9201
  itemTemplate: null,
8820
9202
  style: null,
@@ -9089,6 +9471,7 @@ this.primereact.dialog = (function (exports, React, PrimeReact, csstransition, h
9089
9471
  unbindDocumentDragEndListener = _useEventListener10[1];
9090
9472
 
9091
9473
  var onClose = function onClose(event) {
9474
+ utils.DomHandler.removeClass(document.body, 'p-overflow-hidden');
9092
9475
  props.onHide();
9093
9476
  event.preventDefault();
9094
9477
  };
@@ -9338,7 +9721,7 @@ this.primereact.dialog = (function (exports, React, PrimeReact, csstransition, h
9338
9721
  return param.hasBlockScroll;
9339
9722
  });
9340
9723
 
9341
- if (!hasBlockScroll) {
9724
+ if (hasBlockScroll) {
9342
9725
  utils.DomHandler.removeClass(document.body, 'p-overflow-hidden');
9343
9726
  }
9344
9727
  } else if (props.blockScroll || props.maximizable && maximized) {
@@ -9438,7 +9821,26 @@ this.primereact.dialog = (function (exports, React, PrimeReact, csstransition, h
9438
9821
  });
9439
9822
  React__namespace.useImperativeHandle(ref, function () {
9440
9823
  return {
9441
- resetPosition: resetPosition
9824
+ props: props,
9825
+ resetPosition: resetPosition,
9826
+ getElement: function getElement() {
9827
+ return dialogRef.current;
9828
+ },
9829
+ getMask: function getMask() {
9830
+ return maskRef.current;
9831
+ },
9832
+ getContent: function getContent() {
9833
+ return contentRef.current;
9834
+ },
9835
+ getHeader: function getHeader() {
9836
+ return headerRef.current;
9837
+ },
9838
+ getFooter: function getFooter() {
9839
+ return footerRef.current;
9840
+ },
9841
+ getCloseButton: function getCloseButton() {
9842
+ return closeRef.current;
9843
+ }
9442
9844
  };
9443
9845
  });
9444
9846
 
@@ -9522,7 +9924,7 @@ this.primereact.dialog = (function (exports, React, PrimeReact, csstransition, h
9522
9924
 
9523
9925
  var createResizer = function createResizer() {
9524
9926
  if (props.resizable) {
9525
- return /*#__PURE__*/React__namespace.createElement("div", {
9927
+ return /*#__PURE__*/React__namespace.createElement("span", {
9526
9928
  className: "p-resizable-handle",
9527
9929
  style: {
9528
9930
  zIndex: 90
@@ -10135,6 +10537,7 @@ this.primereact.paginator = (function (exports, React, hooks, utils, api, button
10135
10537
  };
10136
10538
 
10137
10539
  var Paginator = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
10540
+ var elementRef = React__namespace.useRef(null);
10138
10541
  var rppChanged = React__namespace.useRef(false);
10139
10542
  var page = Math.floor(props.first / props.rows);
10140
10543
  var pageCount = Math.ceil(props.totalRecords / props.rows);
@@ -10215,6 +10618,14 @@ this.primereact.paginator = (function (exports, React, hooks, utils, api, button
10215
10618
  changePage(0, rows);
10216
10619
  };
10217
10620
 
10621
+ React__namespace.useImperativeHandle(ref, function () {
10622
+ return {
10623
+ props: props,
10624
+ getElement: function getElement() {
10625
+ return elementRef.current;
10626
+ }
10627
+ };
10628
+ });
10218
10629
  hooks.useUpdateEffect(function () {
10219
10630
  if (!rppChanged.current) {
10220
10631
  changePage(0, props.rows);
@@ -10368,6 +10779,7 @@ this.primereact.paginator = (function (exports, React, hooks, utils, api, button
10368
10779
  className: "p-paginator-right-content"
10369
10780
  }, rightContent);
10370
10781
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
10782
+ ref: elementRef,
10371
10783
  className: className,
10372
10784
  style: props.style
10373
10785
  }, otherProps), leftElement, elements, rightElement);
@@ -10619,6 +11031,14 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
10619
11031
  } else {
10620
11032
  var nextNodeElement = nodeElement.nextElementSibling;
10621
11033
 
11034
+ while (nextNodeElement) {
11035
+ if (!utils.DomHandler.hasClass(nextNodeElement, 'p-treenode-droppoint')) {
11036
+ break;
11037
+ }
11038
+
11039
+ nextNodeElement = nextNodeElement.nextElementSibling;
11040
+ }
11041
+
10622
11042
  if (nextNodeElement) {
10623
11043
  focusNode(nextNodeElement);
10624
11044
  } else {
@@ -10690,7 +11110,7 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
10690
11110
  };
10691
11111
 
10692
11112
  var focusNode = function focusNode(element) {
10693
- element.children[0].focus();
11113
+ element && element.children[0] && element.children[0].focus();
10694
11114
  };
10695
11115
 
10696
11116
  var onClick = function onClick(event) {
@@ -11289,11 +11709,20 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
11289
11709
  expandedKeysState = _React$useState4[0],
11290
11710
  setExpandedKeysState = _React$useState4[1];
11291
11711
 
11712
+ var elementRef = React__namespace.useRef(null);
11292
11713
  var filteredNodes = React__namespace.useRef([]);
11293
11714
  var dragState = React__namespace.useRef(null);
11294
11715
  var filterChanged = React__namespace.useRef(false);
11295
11716
  var filteredValue = props.onFilterValueChange ? props.filterValue : filterValueState;
11296
11717
  var expandedKeys = props.onToggle ? props.expandedKeys : expandedKeysState;
11718
+ var filterOptions = {
11719
+ filter: function filter(e) {
11720
+ return onFilterInputChange(e);
11721
+ },
11722
+ reset: function reset() {
11723
+ return resetFilter();
11724
+ }
11725
+ };
11297
11726
 
11298
11727
  var getRootNode = function getRootNode() {
11299
11728
  return props.filter && filteredNodes.current ? filteredNodes.current : props.value;
@@ -11586,9 +12015,17 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
11586
12015
  return matched;
11587
12016
  };
11588
12017
 
12018
+ var resetFilter = function resetFilter() {
12019
+ setFilterValueState('');
12020
+ };
12021
+
11589
12022
  React__namespace.useImperativeHandle(ref, function () {
11590
12023
  return {
11591
- filter: filter
12024
+ props: props,
12025
+ filter: filter,
12026
+ getElement: function getElement() {
12027
+ return elementRef.current;
12028
+ }
11592
12029
  };
11593
12030
  });
11594
12031
 
@@ -11673,7 +12110,8 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
11673
12110
  var createFilter = function createFilter() {
11674
12111
  if (props.filter) {
11675
12112
  var value = utils.ObjectUtils.isNotEmpty(filteredValue) ? filteredValue : '';
11676
- return /*#__PURE__*/React__namespace.createElement("div", {
12113
+
12114
+ var _content = /*#__PURE__*/React__namespace.createElement("div", {
11677
12115
  className: "p-tree-filter-container"
11678
12116
  }, /*#__PURE__*/React__namespace.createElement("input", {
11679
12117
  type: "text",
@@ -11687,6 +12125,21 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
11687
12125
  }), /*#__PURE__*/React__namespace.createElement("span", {
11688
12126
  className: "p-tree-filter-icon pi pi-search"
11689
12127
  }));
12128
+
12129
+ if (props.filterTemplate) {
12130
+ var defaultContentOptions = {
12131
+ className: 'p-tree-filter-container',
12132
+ element: _content,
12133
+ filterOptions: filterOptions,
12134
+ filterInputKeyDown: onFilterInputKeyDown,
12135
+ filterInputChange: onFilterInputChange,
12136
+ filterIconClassName: 'p-dropdown-filter-icon pi pi-search',
12137
+ props: props
12138
+ };
12139
+ _content = utils.ObjectUtils.getJSXElement(props.filterTemplate, defaultContentOptions);
12140
+ }
12141
+
12142
+ return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, _content);
11690
12143
  }
11691
12144
 
11692
12145
  return null;
@@ -11695,7 +12148,7 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
11695
12148
  var createHeader = function createHeader() {
11696
12149
  if (props.showHeader) {
11697
12150
  var filterElement = createFilter();
11698
- var _content = filterElement;
12151
+ var _content2 = filterElement;
11699
12152
 
11700
12153
  if (props.header) {
11701
12154
  var defaultContentOptions = {
@@ -11707,15 +12160,15 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
11707
12160
  onChange: onFilterInputChange
11708
12161
  },
11709
12162
  filterElement: filterElement,
11710
- element: _content,
12163
+ element: _content2,
11711
12164
  props: props
11712
12165
  };
11713
- _content = utils.ObjectUtils.getJSXElement(props.header, defaultContentOptions);
12166
+ _content2 = utils.ObjectUtils.getJSXElement(props.header, defaultContentOptions);
11714
12167
  }
11715
12168
 
11716
12169
  return /*#__PURE__*/React__namespace.createElement("div", {
11717
12170
  className: "p-tree-header"
11718
- }, _content);
12171
+ }, _content2);
11719
12172
  }
11720
12173
 
11721
12174
  return null;
@@ -11740,6 +12193,7 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
11740
12193
  var footer = createFooter();
11741
12194
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
11742
12195
  id: props.id,
12196
+ ref: elementRef,
11743
12197
  className: className,
11744
12198
  style: props.style
11745
12199
  }, otherProps), loader, header, content, footer);
@@ -11775,6 +12229,7 @@ this.primereact.tree = (function (exports, React, utils, ripple) {
11775
12229
  filterMode: 'lenient',
11776
12230
  filterPlaceholder: null,
11777
12231
  filterLocale: undefined,
12232
+ filterTemplate: null,
11778
12233
  nodeTemplate: null,
11779
12234
  togglerTemplate: null,
11780
12235
  onSelect: null,