primereact 8.0.1 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/api/api.cjs.js +22 -1
  2. package/api/api.cjs.min.js +1 -1
  3. package/api/api.esm.js +22 -2
  4. package/api/api.esm.min.js +1 -1
  5. package/api/api.js +22 -1
  6. package/api/api.min.js +1 -1
  7. package/autocomplete/autocomplete.cjs.js +42 -24
  8. package/autocomplete/autocomplete.cjs.min.js +1 -1
  9. package/autocomplete/autocomplete.d.ts +0 -1
  10. package/autocomplete/autocomplete.esm.js +43 -25
  11. package/autocomplete/autocomplete.esm.min.js +1 -1
  12. package/autocomplete/autocomplete.js +42 -24
  13. package/autocomplete/autocomplete.min.js +1 -1
  14. package/avatar/avatar.cjs.js +7 -7
  15. package/avatar/avatar.cjs.min.js +1 -1
  16. package/avatar/avatar.d.ts +1 -3
  17. package/avatar/avatar.esm.js +7 -7
  18. package/avatar/avatar.esm.min.js +1 -1
  19. package/avatar/avatar.js +7 -7
  20. package/avatar/avatar.min.js +1 -1
  21. package/badge/badge.cjs.js +2 -2
  22. package/badge/badge.cjs.min.js +1 -1
  23. package/badge/badge.d.ts +2 -4
  24. package/badge/badge.esm.js +2 -2
  25. package/badge/badge.esm.min.js +1 -1
  26. package/badge/badge.js +2 -2
  27. package/badge/badge.min.js +1 -1
  28. package/breadcrumb/breadcrumb.cjs.js +22 -6
  29. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  30. package/breadcrumb/breadcrumb.esm.js +22 -6
  31. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  32. package/breadcrumb/breadcrumb.js +22 -6
  33. package/breadcrumb/breadcrumb.min.js +1 -1
  34. package/button/button.cjs.js +1 -1
  35. package/button/button.cjs.min.js +1 -1
  36. package/button/button.esm.js +1 -1
  37. package/button/button.esm.min.js +1 -1
  38. package/button/button.js +1 -1
  39. package/button/button.min.js +1 -1
  40. package/calendar/calendar.cjs.js +80 -7
  41. package/calendar/calendar.cjs.min.js +1 -1
  42. package/calendar/calendar.d.ts +7 -5
  43. package/calendar/calendar.esm.js +80 -7
  44. package/calendar/calendar.esm.min.js +1 -1
  45. package/calendar/calendar.js +80 -7
  46. package/calendar/calendar.min.js +1 -1
  47. package/captcha/captcha.cjs.js +1 -0
  48. package/captcha/captcha.esm.js +1 -0
  49. package/captcha/captcha.js +1 -0
  50. package/card/card.d.ts +1 -4
  51. package/carousel/carousel.cjs.js +18 -17
  52. package/carousel/carousel.cjs.min.js +1 -1
  53. package/carousel/carousel.esm.js +19 -18
  54. package/carousel/carousel.esm.min.js +1 -1
  55. package/carousel/carousel.js +19 -18
  56. package/carousel/carousel.min.js +1 -1
  57. package/cascadeselect/cascadeselect.cjs.js +5 -4
  58. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  59. package/cascadeselect/cascadeselect.d.ts +1 -1
  60. package/cascadeselect/cascadeselect.esm.js +5 -4
  61. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  62. package/cascadeselect/cascadeselect.js +5 -4
  63. package/cascadeselect/cascadeselect.min.js +1 -1
  64. package/chart/chart.cjs.js +13 -7
  65. package/chart/chart.cjs.min.js +1 -1
  66. package/chart/chart.esm.js +13 -7
  67. package/chart/chart.esm.min.js +1 -1
  68. package/chart/chart.js +13 -7
  69. package/chart/chart.min.js +1 -1
  70. package/checkbox/checkbox.cjs.js +1 -2
  71. package/checkbox/checkbox.cjs.min.js +1 -1
  72. package/checkbox/checkbox.esm.js +2 -3
  73. package/checkbox/checkbox.esm.min.js +1 -1
  74. package/checkbox/checkbox.js +1 -2
  75. package/checkbox/checkbox.min.js +1 -1
  76. package/chip/chip.d.ts +1 -3
  77. package/chips/chips.cjs.js +18 -2
  78. package/chips/chips.cjs.min.js +1 -1
  79. package/chips/chips.d.ts +3 -0
  80. package/chips/chips.esm.js +19 -3
  81. package/chips/chips.esm.min.js +1 -1
  82. package/chips/chips.js +19 -4
  83. package/chips/chips.min.js +1 -1
  84. package/column/column.cjs.js +2 -1
  85. package/column/column.cjs.min.js +1 -1
  86. package/column/column.d.ts +2 -0
  87. package/column/column.esm.js +2 -1
  88. package/column/column.esm.min.js +1 -1
  89. package/column/column.js +2 -1
  90. package/column/column.min.js +1 -1
  91. package/confirmdialog/confirmdialog.d.ts +1 -6
  92. package/contextmenu/contextmenu.cjs.js +1 -0
  93. package/contextmenu/contextmenu.cjs.min.js +1 -1
  94. package/contextmenu/contextmenu.esm.js +1 -0
  95. package/contextmenu/contextmenu.esm.min.js +1 -1
  96. package/contextmenu/contextmenu.js +1 -0
  97. package/contextmenu/contextmenu.min.js +1 -1
  98. package/core/core.js +390 -160
  99. package/core/core.min.js +14 -14
  100. package/datatable/datatable.cjs.js +68 -27
  101. package/datatable/datatable.cjs.min.js +1 -1
  102. package/datatable/datatable.esm.js +69 -28
  103. package/datatable/datatable.esm.min.js +1 -1
  104. package/datatable/datatable.js +68 -27
  105. package/datatable/datatable.min.css +1 -1
  106. package/datatable/datatable.min.js +1 -1
  107. package/dialog/dialog.cjs.js +7 -3
  108. package/dialog/dialog.cjs.min.js +1 -1
  109. package/dialog/dialog.d.ts +2 -0
  110. package/dialog/dialog.esm.js +7 -3
  111. package/dialog/dialog.esm.min.js +1 -1
  112. package/dialog/dialog.js +7 -3
  113. package/dialog/dialog.min.js +1 -1
  114. package/dropdown/dropdown.cjs.js +32 -25
  115. package/dropdown/dropdown.cjs.min.js +1 -1
  116. package/dropdown/dropdown.d.ts +1 -1
  117. package/dropdown/dropdown.esm.js +32 -25
  118. package/dropdown/dropdown.esm.min.js +1 -1
  119. package/dropdown/dropdown.js +32 -25
  120. package/dropdown/dropdown.min.js +1 -1
  121. package/editor/editor.cjs.js +11 -3
  122. package/editor/editor.cjs.min.js +1 -1
  123. package/editor/editor.esm.js +11 -3
  124. package/editor/editor.esm.min.js +1 -1
  125. package/editor/editor.js +11 -3
  126. package/editor/editor.min.js +1 -1
  127. package/fileupload/fileupload.cjs.js +46 -19
  128. package/fileupload/fileupload.cjs.min.js +1 -1
  129. package/fileupload/fileupload.d.ts +1 -0
  130. package/fileupload/fileupload.esm.js +46 -19
  131. package/fileupload/fileupload.esm.min.js +1 -1
  132. package/fileupload/fileupload.js +46 -19
  133. package/fileupload/fileupload.min.js +1 -1
  134. package/fullcalendar/fullcalendar.cjs.js +1 -0
  135. package/fullcalendar/fullcalendar.esm.js +1 -0
  136. package/fullcalendar/fullcalendar.js +1 -0
  137. package/hooks/hooks.cjs.js +48 -2
  138. package/hooks/hooks.cjs.min.js +1 -1
  139. package/hooks/hooks.d.ts +3 -1
  140. package/hooks/hooks.esm.js +47 -3
  141. package/hooks/hooks.esm.min.js +1 -1
  142. package/hooks/hooks.js +48 -2
  143. package/hooks/hooks.min.js +1 -1
  144. package/image/image.cjs.js +5 -5
  145. package/image/image.cjs.min.js +1 -1
  146. package/image/image.d.ts +1 -3
  147. package/image/image.esm.js +5 -5
  148. package/image/image.esm.min.js +1 -1
  149. package/image/image.js +5 -5
  150. package/image/image.min.css +1 -1
  151. package/image/image.min.js +1 -1
  152. package/inplace/inplace.cjs.js +1 -1
  153. package/inplace/inplace.cjs.min.js +1 -1
  154. package/inplace/inplace.esm.js +1 -1
  155. package/inplace/inplace.esm.min.js +1 -1
  156. package/inplace/inplace.js +1 -1
  157. package/inplace/inplace.min.js +1 -1
  158. package/inputmask/inputmask.cjs.js +7 -5
  159. package/inputmask/inputmask.cjs.min.js +1 -1
  160. package/inputmask/inputmask.d.ts +0 -1
  161. package/inputmask/inputmask.esm.js +7 -5
  162. package/inputmask/inputmask.esm.min.js +1 -1
  163. package/inputmask/inputmask.js +7 -5
  164. package/inputmask/inputmask.min.js +1 -1
  165. package/inputnumber/inputnumber.cjs.js +37 -4
  166. package/inputnumber/inputnumber.cjs.min.js +1 -1
  167. package/inputnumber/inputnumber.esm.js +38 -5
  168. package/inputnumber/inputnumber.esm.min.js +1 -1
  169. package/inputnumber/inputnumber.js +37 -4
  170. package/inputnumber/inputnumber.min.js +1 -1
  171. package/inputswitch/inputswitch.cjs.js +1 -1
  172. package/inputswitch/inputswitch.cjs.min.js +1 -1
  173. package/inputswitch/inputswitch.d.ts +1 -1
  174. package/inputswitch/inputswitch.esm.js +2 -2
  175. package/inputswitch/inputswitch.esm.min.js +1 -1
  176. package/inputswitch/inputswitch.js +1 -1
  177. package/inputswitch/inputswitch.min.css +1 -1
  178. package/inputswitch/inputswitch.min.js +1 -1
  179. package/inputtext/inputtext.min.css +1 -1
  180. package/listbox/listbox.cjs.js +84 -15
  181. package/listbox/listbox.cjs.min.js +1 -1
  182. package/listbox/listbox.d.ts +2 -1
  183. package/listbox/listbox.esm.js +84 -15
  184. package/listbox/listbox.esm.min.js +1 -1
  185. package/listbox/listbox.js +85 -17
  186. package/listbox/listbox.min.js +1 -1
  187. package/megamenu/megamenu.cjs.js +32 -12
  188. package/megamenu/megamenu.cjs.min.js +1 -1
  189. package/megamenu/megamenu.d.ts +7 -0
  190. package/megamenu/megamenu.esm.js +32 -12
  191. package/megamenu/megamenu.esm.min.js +1 -1
  192. package/megamenu/megamenu.js +32 -12
  193. package/megamenu/megamenu.min.css +1 -1
  194. package/megamenu/megamenu.min.js +1 -1
  195. package/mention/mention.cjs.js +8 -4
  196. package/mention/mention.cjs.min.js +1 -1
  197. package/mention/mention.esm.js +8 -4
  198. package/mention/mention.esm.min.js +1 -1
  199. package/mention/mention.js +8 -4
  200. package/mention/mention.min.js +1 -1
  201. package/menubar/menubar.cjs.js +1 -0
  202. package/menubar/menubar.cjs.min.js +1 -1
  203. package/menubar/menubar.esm.js +1 -0
  204. package/menubar/menubar.esm.min.js +1 -1
  205. package/menubar/menubar.js +1 -0
  206. package/menubar/menubar.min.js +1 -1
  207. package/menuitem/menuitem.d.ts +2 -0
  208. package/message/message.d.ts +1 -1
  209. package/messages/messages.cjs.js +3 -2
  210. package/messages/messages.cjs.min.js +1 -1
  211. package/messages/messages.d.ts +1 -1
  212. package/messages/messages.esm.js +3 -2
  213. package/messages/messages.esm.min.js +1 -1
  214. package/messages/messages.js +3 -2
  215. package/messages/messages.min.js +1 -1
  216. package/multiselect/multiselect.cjs.js +22 -15
  217. package/multiselect/multiselect.cjs.min.js +1 -1
  218. package/multiselect/multiselect.d.ts +1 -1
  219. package/multiselect/multiselect.esm.js +22 -15
  220. package/multiselect/multiselect.esm.min.js +1 -1
  221. package/multiselect/multiselect.js +22 -15
  222. package/multiselect/multiselect.min.js +1 -1
  223. package/multistatecheckbox/multistatecheckbox.cjs.js +30 -24
  224. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  225. package/multistatecheckbox/multistatecheckbox.d.ts +2 -4
  226. package/multistatecheckbox/multistatecheckbox.esm.js +30 -24
  227. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  228. package/multistatecheckbox/multistatecheckbox.js +31 -26
  229. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  230. package/overlaypanel/overlaypanel.cjs.js +2 -2
  231. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  232. package/overlaypanel/overlaypanel.esm.js +2 -2
  233. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  234. package/overlaypanel/overlaypanel.js +2 -2
  235. package/overlaypanel/overlaypanel.min.js +1 -1
  236. package/package.json +4 -2
  237. package/paginator/paginator.cjs.js +26 -24
  238. package/paginator/paginator.cjs.min.js +1 -1
  239. package/paginator/paginator.esm.js +26 -24
  240. package/paginator/paginator.esm.min.js +1 -1
  241. package/paginator/paginator.js +26 -25
  242. package/paginator/paginator.min.js +1 -1
  243. package/panelmenu/panelmenu.cjs.js +16 -0
  244. package/panelmenu/panelmenu.cjs.min.js +1 -1
  245. package/panelmenu/panelmenu.esm.js +17 -1
  246. package/panelmenu/panelmenu.esm.min.js +1 -1
  247. package/panelmenu/panelmenu.js +16 -0
  248. package/panelmenu/panelmenu.min.js +1 -1
  249. package/picklist/picklist.cjs.js +175 -16
  250. package/picklist/picklist.cjs.min.js +1 -1
  251. package/picklist/picklist.d.ts +34 -1
  252. package/picklist/picklist.esm.js +175 -16
  253. package/picklist/picklist.esm.min.js +1 -1
  254. package/picklist/picklist.js +176 -18
  255. package/picklist/picklist.min.css +1 -1
  256. package/picklist/picklist.min.js +1 -1
  257. package/primereact.all.cjs.js +1262 -495
  258. package/primereact.all.cjs.min.js +1 -1
  259. package/primereact.all.esm.js +1260 -496
  260. package/primereact.all.esm.min.js +1 -1
  261. package/primereact.all.js +1262 -495
  262. package/primereact.all.min.js +1 -1
  263. package/progressbar/progressbar.cjs.js +1 -2
  264. package/progressbar/progressbar.cjs.min.js +1 -1
  265. package/progressbar/progressbar.esm.js +1 -2
  266. package/progressbar/progressbar.esm.min.js +1 -1
  267. package/progressbar/progressbar.js +1 -2
  268. package/progressbar/progressbar.min.js +1 -1
  269. package/radiobutton/radiobutton.cjs.js +6 -6
  270. package/radiobutton/radiobutton.cjs.min.js +1 -1
  271. package/radiobutton/radiobutton.d.ts +0 -1
  272. package/radiobutton/radiobutton.esm.js +7 -7
  273. package/radiobutton/radiobutton.esm.min.js +1 -1
  274. package/radiobutton/radiobutton.js +6 -6
  275. package/radiobutton/radiobutton.min.js +1 -1
  276. package/resources/primereact.css +266 -208
  277. package/resources/primereact.min.css +1 -1
  278. package/resources/themes/arya-blue/theme.css +20 -7
  279. package/resources/themes/arya-green/theme.css +20 -7
  280. package/resources/themes/arya-orange/theme.css +20 -7
  281. package/resources/themes/arya-purple/theme.css +20 -7
  282. package/resources/themes/bootstrap4-dark-blue/theme.css +20 -7
  283. package/resources/themes/bootstrap4-dark-purple/theme.css +20 -7
  284. package/resources/themes/bootstrap4-light-blue/theme.css +19 -6
  285. package/resources/themes/bootstrap4-light-purple/theme.css +19 -6
  286. package/resources/themes/fluent-light/theme.css +20 -7
  287. package/resources/themes/lara-dark-blue/theme.css +20 -7
  288. package/resources/themes/lara-dark-indigo/theme.css +20 -7
  289. package/resources/themes/lara-dark-purple/theme.css +20 -7
  290. package/resources/themes/lara-dark-teal/theme.css +20 -7
  291. package/resources/themes/lara-light-blue/theme.css +20 -7
  292. package/resources/themes/lara-light-indigo/theme.css +20 -7
  293. package/resources/themes/lara-light-purple/theme.css +20 -7
  294. package/resources/themes/lara-light-teal/theme.css +20 -7
  295. package/resources/themes/luna-amber/theme.css +20 -7
  296. package/resources/themes/luna-blue/theme.css +20 -7
  297. package/resources/themes/luna-green/theme.css +20 -7
  298. package/resources/themes/luna-pink/theme.css +20 -7
  299. package/resources/themes/md-dark-deeppurple/theme.css +20 -7
  300. package/resources/themes/md-dark-indigo/theme.css +20 -7
  301. package/resources/themes/md-light-deeppurple/theme.css +20 -7
  302. package/resources/themes/md-light-indigo/theme.css +20 -7
  303. package/resources/themes/mdc-dark-deeppurple/theme.css +20 -7
  304. package/resources/themes/mdc-dark-indigo/theme.css +20 -7
  305. package/resources/themes/mdc-light-deeppurple/theme.css +20 -7
  306. package/resources/themes/mdc-light-indigo/theme.css +20 -7
  307. package/resources/themes/nova/theme.css +20 -7
  308. package/resources/themes/nova-accent/theme.css +20 -7
  309. package/resources/themes/nova-alt/theme.css +20 -7
  310. package/resources/themes/rhea/theme.css +20 -7
  311. package/resources/themes/saga-blue/theme.css +20 -7
  312. package/resources/themes/saga-green/theme.css +20 -7
  313. package/resources/themes/saga-orange/theme.css +20 -7
  314. package/resources/themes/saga-purple/theme.css +20 -7
  315. package/resources/themes/tailwind-light/theme.css +20 -7
  316. package/resources/themes/vela-blue/theme.css +20 -7
  317. package/resources/themes/vela-green/theme.css +20 -7
  318. package/resources/themes/vela-orange/theme.css +20 -7
  319. package/resources/themes/vela-purple/theme.css +20 -7
  320. package/selectbutton/selectbutton.cjs.js +2 -6
  321. package/selectbutton/selectbutton.cjs.min.js +1 -1
  322. package/selectbutton/selectbutton.d.ts +1 -1
  323. package/selectbutton/selectbutton.esm.js +2 -6
  324. package/selectbutton/selectbutton.esm.min.js +1 -1
  325. package/selectbutton/selectbutton.js +2 -6
  326. package/selectbutton/selectbutton.min.js +1 -1
  327. package/slidemenu/slidemenu.cjs.js +39 -7
  328. package/slidemenu/slidemenu.cjs.min.js +1 -1
  329. package/slidemenu/slidemenu.esm.js +39 -7
  330. package/slidemenu/slidemenu.esm.min.js +1 -1
  331. package/slidemenu/slidemenu.js +39 -7
  332. package/slidemenu/slidemenu.min.js +1 -1
  333. package/slider/slider.cjs.js +6 -3
  334. package/slider/slider.cjs.min.js +1 -1
  335. package/slider/slider.d.ts +1 -1
  336. package/slider/slider.esm.js +6 -3
  337. package/slider/slider.esm.min.js +1 -1
  338. package/slider/slider.js +6 -3
  339. package/slider/slider.min.js +1 -1
  340. package/splitbutton/splitbutton.cjs.js +16 -9
  341. package/splitbutton/splitbutton.cjs.min.js +1 -1
  342. package/splitbutton/splitbutton.d.ts +4 -0
  343. package/splitbutton/splitbutton.esm.js +16 -9
  344. package/splitbutton/splitbutton.esm.min.js +1 -1
  345. package/splitbutton/splitbutton.js +16 -9
  346. package/splitbutton/splitbutton.min.js +1 -1
  347. package/splitter/splitter.cjs.js +15 -7
  348. package/splitter/splitter.cjs.min.js +1 -1
  349. package/splitter/splitter.esm.js +16 -8
  350. package/splitter/splitter.esm.min.js +1 -1
  351. package/splitter/splitter.js +15 -7
  352. package/splitter/splitter.min.js +1 -1
  353. package/steps/steps.cjs.js +1 -0
  354. package/steps/steps.cjs.min.js +1 -1
  355. package/steps/steps.esm.js +1 -0
  356. package/steps/steps.esm.min.js +1 -1
  357. package/steps/steps.js +1 -0
  358. package/steps/steps.min.js +1 -1
  359. package/styleclass/styleclass.cjs.js +26 -21
  360. package/styleclass/styleclass.cjs.min.js +1 -1
  361. package/styleclass/styleclass.d.ts +1 -1
  362. package/styleclass/styleclass.esm.js +26 -21
  363. package/styleclass/styleclass.esm.min.js +1 -1
  364. package/styleclass/styleclass.js +26 -21
  365. package/styleclass/styleclass.min.js +1 -1
  366. package/tag/tag.d.ts +1 -1
  367. package/terminal/terminal.cjs.js +1 -1
  368. package/terminal/terminal.cjs.min.js +1 -1
  369. package/terminal/terminal.esm.js +2 -2
  370. package/terminal/terminal.esm.min.js +1 -1
  371. package/terminal/terminal.js +1 -1
  372. package/terminal/terminal.min.js +1 -1
  373. package/tieredmenu/tieredmenu.cjs.js +3 -1
  374. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  375. package/tieredmenu/tieredmenu.esm.js +3 -1
  376. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  377. package/tieredmenu/tieredmenu.js +3 -1
  378. package/tieredmenu/tieredmenu.min.js +1 -1
  379. package/toast/toast.cjs.js +30 -35
  380. package/toast/toast.cjs.min.js +1 -1
  381. package/toast/toast.d.ts +2 -1
  382. package/toast/toast.esm.js +30 -35
  383. package/toast/toast.esm.min.js +1 -1
  384. package/toast/toast.js +30 -35
  385. package/toast/toast.min.css +1 -1
  386. package/toast/toast.min.js +1 -1
  387. package/tooltip/tooltip.cjs.js +28 -22
  388. package/tooltip/tooltip.cjs.min.js +1 -1
  389. package/tooltip/tooltip.esm.js +28 -22
  390. package/tooltip/tooltip.esm.min.js +1 -1
  391. package/tooltip/tooltip.js +28 -22
  392. package/tooltip/tooltip.min.js +1 -1
  393. package/tree/tree.cjs.js +9 -1
  394. package/tree/tree.cjs.min.js +1 -1
  395. package/tree/tree.esm.js +9 -1
  396. package/tree/tree.esm.min.js +1 -1
  397. package/tree/tree.js +9 -1
  398. package/tree/tree.min.js +1 -1
  399. package/treeselect/treeselect.cjs.js +2 -2
  400. package/treeselect/treeselect.cjs.min.js +1 -1
  401. package/treeselect/treeselect.esm.js +2 -2
  402. package/treeselect/treeselect.esm.min.js +1 -1
  403. package/treeselect/treeselect.js +2 -2
  404. package/treeselect/treeselect.min.js +1 -1
  405. package/treetable/treetable.cjs.js +11 -1
  406. package/treetable/treetable.cjs.min.js +1 -1
  407. package/treetable/treetable.d.ts +3 -3
  408. package/treetable/treetable.esm.js +11 -1
  409. package/treetable/treetable.esm.min.js +1 -1
  410. package/treetable/treetable.js +11 -1
  411. package/treetable/treetable.min.js +1 -1
  412. package/tristatecheckbox/tristatecheckbox.cjs.js +25 -23
  413. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  414. package/tristatecheckbox/tristatecheckbox.d.ts +2 -4
  415. package/tristatecheckbox/tristatecheckbox.esm.js +25 -23
  416. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  417. package/tristatecheckbox/tristatecheckbox.js +26 -25
  418. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  419. package/utils/utils.cjs.js +21 -5
  420. package/utils/utils.cjs.min.js +1 -1
  421. package/utils/utils.d.ts +1 -0
  422. package/utils/utils.esm.js +21 -5
  423. package/utils/utils.esm.min.js +1 -1
  424. package/utils/utils.js +21 -5
  425. package/utils/utils.min.js +1 -1
  426. package/virtualscroller/virtualscroller.cjs.js +154 -65
  427. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  428. package/virtualscroller/virtualscroller.d.ts +12 -0
  429. package/virtualscroller/virtualscroller.esm.js +156 -67
  430. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  431. package/virtualscroller/virtualscroller.js +154 -65
  432. package/virtualscroller/virtualscroller.min.css +1 -1
  433. package/virtualscroller/virtualscroller.min.js +1 -1
  434. package/web-types.json +252 -66
@@ -232,7 +232,17 @@ var locales = {
232
232
  strong: 'Strong',
233
233
  passwordPrompt: 'Enter a password',
234
234
  emptyFilterMessage: 'No available options',
235
- emptyMessage: 'No results found'
235
+ emptyMessage: 'No results found',
236
+ aria: {
237
+ trueLabel: 'True',
238
+ falseLabel: 'False',
239
+ nullLabel: 'Not Selected',
240
+ pageLabel: 'Page',
241
+ firstPageLabel: 'First Page',
242
+ lastPageLabel: 'Last Page',
243
+ nextPageLabel: 'Next Page',
244
+ previousPageLabel: 'Previous Page'
245
+ }
236
246
  }
237
247
  };
238
248
 
@@ -268,6 +278,16 @@ function localeOption(key, locale) {
268
278
  }
269
279
  }
270
280
 
281
+ function ariaLabel(key) {
282
+ var _locale = PrimeReact.locale;
283
+
284
+ try {
285
+ return localeOptions(_locale)['aria'][key];
286
+ } catch (error) {
287
+ throw new Error("The ".concat(key, " option is not found in the current locale('").concat(_locale, "')."));
288
+ }
289
+ }
290
+
271
291
  function localeOptions(locale) {
272
292
  var _locale = locale || PrimeReact.locale;
273
293
 
@@ -1417,6 +1437,21 @@ var DomHandler = /*#__PURE__*/function () {
1417
1437
  var focusableElements = DomHandler.getFocusableElements(element, selector);
1418
1438
  return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;
1419
1439
  }
1440
+ /**
1441
+ * Focus an input element if it does not already have focus.
1442
+ *
1443
+ * @param {HTMLElement} el a HTML element
1444
+ * @param {boolean} scrollTo flag to control whether to scroll to the element, false by default
1445
+ */
1446
+
1447
+ }, {
1448
+ key: "focus",
1449
+ value: function focus(el, scrollTo) {
1450
+ var preventScroll = scrollTo === undefined ? true : !scrollTo;
1451
+ el && document.activeElement !== el && el.focus({
1452
+ preventScroll: preventScroll
1453
+ });
1454
+ }
1420
1455
  }, {
1421
1456
  key: "getCursorOffset",
1422
1457
  value: function getCursorOffset(el, prevText, nextText, currentText) {
@@ -1812,12 +1847,9 @@ function mask(el, options) {
1812
1847
 
1813
1848
  var onBlur = function onBlur(e) {
1814
1849
  checkVal();
1850
+ options.onBlur && options.onBlur(e);
1815
1851
  updateModel(e);
1816
1852
 
1817
- if (options.onBlur) {
1818
- options.onBlur(e);
1819
- }
1820
-
1821
1853
  if (el.value !== focusText) {
1822
1854
  var event = document.createEvent('HTMLEvents');
1823
1855
  event.initEvent('change', true, false);
@@ -2353,7 +2385,11 @@ var ObjectUtils = /*#__PURE__*/function () {
2353
2385
  var order = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
2354
2386
  var locale = arguments.length > 3 ? arguments[3] : undefined;
2355
2387
  var result = null;
2356
- 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, {
2388
+ var emptyValue1 = this.isEmpty(value1);
2389
+ var emptyValue2 = this.isEmpty(value2);
2390
+ if (emptyValue1 && emptyValue2) result = 0;else if (emptyValue1) result = order; // sort nulls at bottom like Excel
2391
+ else if (emptyValue2) result = -order; // sort nulls at bottom like Excel
2392
+ else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, locale, {
2357
2393
  numeric: true
2358
2394
  });else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
2359
2395
  return order * result;
@@ -3005,9 +3041,25 @@ var useInterval = function useInterval(fn) {
3005
3041
 
3006
3042
  var useStorage = function useStorage(initialValue, key) {
3007
3043
  var storage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'local';
3008
- // Since the local storage API isn't available in server-rendering environments,
3044
+ // Since the local storage API isn't available in server-rendering environments,
3009
3045
  // we check that typeof window !== 'undefined' to make SSR and SSG work properly.
3010
- var storageAvailable = typeof window !== 'undefined';
3046
+ var storageAvailable = typeof window !== 'undefined'; // subscribe to window storage event so changes in one tab to a stored value
3047
+ // are properly reflected in all tabs
3048
+
3049
+ var _useEventListener = useEventListener({
3050
+ target: 'window',
3051
+ type: 'storage',
3052
+ listener: function listener(event) {
3053
+ var area = storage === 'local' ? window.localStorage : window.sessionStorage;
3054
+
3055
+ if (event.storageArea === area && event.key === key) {
3056
+ setStoredValue(event.newValue || undefined);
3057
+ }
3058
+ }
3059
+ }),
3060
+ _useEventListener2 = _slicedToArray(_useEventListener, 2),
3061
+ bindWindowStorageListener = _useEventListener2[0],
3062
+ unbindWindowStorageListener = _useEventListener2[1];
3011
3063
 
3012
3064
  var _React$useState = React.useState(function () {
3013
3065
  if (!storageAvailable) {
@@ -3041,8 +3093,36 @@ var useStorage = function useStorage(initialValue, key) {
3041
3093
  }
3042
3094
  };
3043
3095
 
3096
+ React.useEffect(function () {
3097
+ bindWindowStorageListener();
3098
+ return function () {
3099
+ return unbindWindowStorageListener();
3100
+ };
3101
+ }, []);
3044
3102
  return [storedValue, setValue];
3045
3103
  };
3104
+ /**
3105
+ * Hook to wrap around useState that stores the value in the browser local storage.
3106
+ *
3107
+ * @param {any} initialValue the initial value to store
3108
+ * @param {string} key the key to store the value in local storage
3109
+ * @returns a stateful value, and a function to update it.
3110
+ */
3111
+
3112
+ var useLocalStorage = function useLocalStorage(initialValue, key) {
3113
+ return useStorage(initialValue, key, 'local');
3114
+ };
3115
+ /**
3116
+ * Hook to wrap around useState that stores the value in the browser session storage.
3117
+ *
3118
+ * @param {any} initialValue the initial value to store
3119
+ * @param {string} key the key to store the value in session storage
3120
+ * @returns a stateful value, and a function to update it.
3121
+ */
3122
+
3123
+ var useSessionStorage = function useSessionStorage(initialValue, key) {
3124
+ return useStorage(initialValue, key, 'session');
3125
+ };
3046
3126
  /* eslint-enable */
3047
3127
 
3048
3128
  /* eslint-disable */
@@ -3481,6 +3561,11 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3481
3561
  positionState = _React$useState4[0],
3482
3562
  setPositionState = _React$useState4[1];
3483
3563
 
3564
+ var _React$useState5 = React.useState(''),
3565
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
3566
+ classNameState = _React$useState6[0],
3567
+ setClassNameState = _React$useState6[1];
3568
+
3484
3569
  var elementRef = React.useRef(null);
3485
3570
  var textRef = React.useRef(null);
3486
3571
  var currentTargetRef = React.useRef(null);
@@ -3599,7 +3684,7 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3599
3684
  return;
3600
3685
  }
3601
3686
 
3602
- var updateTooltipState = function updateTooltipState() {
3687
+ var updateTooltipState = function updateTooltipState(position) {
3603
3688
  updateText(currentTargetRef.current, function () {
3604
3689
  if (props.autoZIndex && !ZIndexUtils.get(elementRef.current)) {
3605
3690
  ZIndexUtils.set('tooltip', elementRef.current, PrimeReact.autoZIndex, props.baseZIndex || PrimeReact.zIndex['tooltip']);
@@ -3622,7 +3707,7 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3622
3707
  align(currentTargetRef.current, {
3623
3708
  x: e.pageX,
3624
3709
  y: e.pageY
3625
- });
3710
+ }, position);
3626
3711
  });
3627
3712
  };
3628
3713
 
@@ -3637,16 +3722,16 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3637
3722
 
3638
3723
  if (success) {
3639
3724
  applyDelay('showDelay', function () {
3725
+ var position = getPosition(currentTargetRef.current);
3726
+ var classname = getTargetOption(currentTargetRef.current, 'classname');
3640
3727
  setVisibleState(true);
3641
- setPositionState(getPosition(currentTargetRef.current));
3642
- setTimeout(function () {
3643
- return updateTooltipState();
3644
- }, 0);
3728
+ setPositionState(position);
3729
+ setClassNameState(classname);
3730
+ updateTooltipState(position);
3645
3731
  sendCallback(props.onShow, {
3646
3732
  originalEvent: e,
3647
3733
  target: currentTargetRef.current
3648
3734
  });
3649
- DomHandler.addClass(currentTargetRef.current, getTargetOption(currentTargetRef.current, 'classname'));
3650
3735
  });
3651
3736
  }
3652
3737
  }
@@ -3656,7 +3741,6 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3656
3741
  clearTimeouts();
3657
3742
 
3658
3743
  if (visibleState) {
3659
- DomHandler.removeClass(currentTargetRef.current, getTargetOption(currentTargetRef.current, 'classname'));
3660
3744
  var success = sendCallback(props.onBeforeHide, {
3661
3745
  originalEvent: e,
3662
3746
  target: currentTargetRef.current
@@ -3672,6 +3756,7 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3672
3756
  DomHandler.removeClass(elementRef.current, 'p-tooltip-active');
3673
3757
  setVisibleState(false);
3674
3758
  setPositionState(props.position);
3759
+ setClassNameState('');
3675
3760
  currentTargetRef.current = null;
3676
3761
  containerSize.current = null;
3677
3762
  allowHide.current = true;
@@ -3684,9 +3769,10 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3684
3769
  }
3685
3770
  };
3686
3771
 
3687
- var align = function align(target, coordinate) {
3772
+ var align = function align(target, coordinate, position) {
3688
3773
  var left = 0,
3689
- top = 0;
3774
+ top = 0,
3775
+ currentPosition = position || positionState;
3690
3776
 
3691
3777
  if (isMouseTrack(target) && coordinate) {
3692
3778
  var _containerSize = {
@@ -3700,7 +3786,7 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3700
3786
  mouseTrackTop = _getMouseTrackPositio.top,
3701
3787
  mouseTrackLeft = _getMouseTrackPositio.left;
3702
3788
 
3703
- switch (positionState) {
3789
+ switch (currentPosition) {
3704
3790
  case 'left':
3705
3791
  left -= _containerSize.width + mouseTrackLeft;
3706
3792
  top -= _containerSize.height / 2 - mouseTrackTop;
@@ -3733,28 +3819,28 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3733
3819
  elementRef.current.style.top = top + 'px';
3734
3820
  DomHandler.addClass(elementRef.current, 'p-tooltip-active');
3735
3821
  } else {
3736
- var pos = DomHandler.findCollisionPosition(positionState);
3822
+ var pos = DomHandler.findCollisionPosition(currentPosition);
3737
3823
  var my = getTargetOption(target, 'my') || props.my || pos.my;
3738
3824
  var at = getTargetOption(target, 'at') || props.at || pos.at;
3739
3825
  elementRef.current.style.padding = '0px';
3740
- DomHandler.flipfitCollision(elementRef.current, target, my, at, function (currentPosition) {
3741
- var _currentPosition$at = currentPosition.at,
3742
- atX = _currentPosition$at.x,
3743
- atY = _currentPosition$at.y;
3744
- var myX = currentPosition.my.x;
3745
- var newPosition = props.at ? atX !== 'center' && atX !== myX ? atX : atY : currentPosition.at["".concat(pos.axis)];
3826
+ DomHandler.flipfitCollision(elementRef.current, target, my, at, function (calculatedPosition) {
3827
+ var _calculatedPosition$a = calculatedPosition.at,
3828
+ atX = _calculatedPosition$a.x,
3829
+ atY = _calculatedPosition$a.y;
3830
+ var myX = calculatedPosition.my.x;
3831
+ var newPosition = props.at ? atX !== 'center' && atX !== myX ? atX : atY : calculatedPosition.at["".concat(pos.axis)];
3746
3832
  elementRef.current.style.padding = '';
3747
3833
  setPositionState(newPosition);
3748
- updateContainerPosition();
3834
+ updateContainerPosition(newPosition);
3749
3835
  DomHandler.addClass(elementRef.current, 'p-tooltip-active');
3750
3836
  });
3751
3837
  }
3752
3838
  };
3753
3839
 
3754
- var updateContainerPosition = function updateContainerPosition() {
3840
+ var updateContainerPosition = function updateContainerPosition(position) {
3755
3841
  if (elementRef.current) {
3756
3842
  var style = getComputedStyle(elementRef.current);
3757
- 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';
3843
+ 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';
3758
3844
  }
3759
3845
  };
3760
3846
 
@@ -3940,7 +4026,7 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
3940
4026
 
3941
4027
  var createElement = function createElement() {
3942
4028
  var otherProps = ObjectUtils.findDiffKeys(props, Tooltip.defaultProps);
3943
- var tooltipClassName = classNames('p-tooltip p-component', _defineProperty({}, "p-tooltip-".concat(positionState), true), props.className);
4029
+ var tooltipClassName = classNames('p-tooltip p-component', _defineProperty({}, "p-tooltip-".concat(positionState), true), props.className, classNameState);
3944
4030
  var empty = isTargetContentEmpty(currentTargetRef.current);
3945
4031
  return /*#__PURE__*/React.createElement("div", _extends({
3946
4032
  id: props.id,
@@ -4060,7 +4146,7 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pr
4060
4146
  var icon = createIcon();
4061
4147
  var label = createLabel();
4062
4148
  var badge = createBadge();
4063
- var defaultAriaLabel = props.label ? props.label + (props.badge ? ' ' + props.badge : '') : '';
4149
+ var defaultAriaLabel = props.label ? props.label + (props.badge ? ' ' + props.badge : '') : props['aria-label'];
4064
4150
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", _extends({
4065
4151
  ref: elementRef,
4066
4152
  "aria-label": defaultAriaLabel
@@ -4313,7 +4399,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4313
4399
  numToleratedItemsState = _React$useState8[0],
4314
4400
  setNumToleratedItemsState = _React$useState8[1];
4315
4401
 
4316
- var _React$useState9 = React.useState(props.loading),
4402
+ var _React$useState9 = React.useState(props.loading || false),
4317
4403
  _React$useState10 = _slicedToArray(_React$useState9, 2),
4318
4404
  loadingState = _React$useState10[0],
4319
4405
  setLoadingState = _React$useState10[1];
@@ -4336,10 +4422,39 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4336
4422
  left: 0
4337
4423
  } : 0);
4338
4424
  var scrollTimeout = React.useRef(null);
4425
+ var resizeTimeout = React.useRef(null);
4426
+ var defaultWidth = React.useRef(null);
4427
+ var defaultHeight = React.useRef(null);
4339
4428
  var prevItems = usePrevious(props.items);
4340
4429
  var prevLoading = usePrevious(props.loading);
4341
4430
 
4431
+ var _useResizeListener = useResizeListener({
4432
+ listener: function listener(event) {
4433
+ return onResize(event);
4434
+ }
4435
+ }),
4436
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
4437
+ bindWindowResizeListener = _useResizeListener2[0];
4438
+
4439
+ var _useEventListener = useEventListener({
4440
+ target: 'window',
4441
+ type: 'orientationchange',
4442
+ listener: function listener(event) {
4443
+ return onResize(event);
4444
+ }
4445
+ }),
4446
+ _useEventListener2 = _slicedToArray(_useEventListener, 1),
4447
+ bindOrientationChangeListener = _useEventListener2[0];
4448
+
4449
+ var getElementRef = function getElementRef() {
4450
+ return elementRef;
4451
+ };
4452
+
4342
4453
  var scrollTo = function scrollTo(options) {
4454
+ lastScrollPos.current = both ? {
4455
+ top: 0,
4456
+ left: 0
4457
+ } : 0;
4343
4458
  elementRef.current && elementRef.current.scrollTo(options);
4344
4459
  };
4345
4460
 
@@ -4349,9 +4464,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4349
4464
  var _calculateNumItems = calculateNumItems(),
4350
4465
  numToleratedItems = _calculateNumItems.numToleratedItems;
4351
4466
 
4352
- var itemSize = props.itemSize;
4353
- var contentPos = getContentPosition();
4354
-
4355
4467
  var calculateFirst = function calculateFirst() {
4356
4468
  var _index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4357
4469
 
@@ -4360,8 +4472,8 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4360
4472
  return _index <= _numT ? 0 : _index;
4361
4473
  };
4362
4474
 
4363
- var calculateCoord = function calculateCoord(_first, _size, _cpos) {
4364
- return _first * _size + _cpos;
4475
+ var calculateCoord = function calculateCoord(_first, _size) {
4476
+ return _first * _size;
4365
4477
  };
4366
4478
 
4367
4479
  var scrollToItem = function scrollToItem() {
@@ -4381,15 +4493,13 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4381
4493
  };
4382
4494
 
4383
4495
  if (newFirst.rows !== firstState.rows || newFirst.cols !== firstState.cols) {
4384
- scrollToItem(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));
4385
- setFirstState(newFirst);
4496
+ scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1]), calculateCoord(newFirst.rows, props.itemSize[0]));
4386
4497
  }
4387
4498
  } else {
4388
4499
  var _newFirst = calculateFirst(index, numToleratedItems);
4389
4500
 
4390
4501
  if (_newFirst !== firstState) {
4391
- horizontal ? scrollToItem(calculateCoord(_newFirst, itemSize, contentPos.left), 0) : scrollToItem(0, calculateCoord(_newFirst, itemSize, contentPos.top));
4392
- setFirstState(_newFirst);
4502
+ horizontal ? scrollToItem(calculateCoord(_newFirst, props.itemSize), 0) : scrollToItem(0, calculateCoord(_newFirst, props.itemSize));
4393
4503
  }
4394
4504
  }
4395
4505
  };
@@ -4402,8 +4512,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4402
4512
  first = _getRenderedRange.first,
4403
4513
  viewport = _getRenderedRange.viewport;
4404
4514
 
4405
- var itemSize = props.itemSize;
4406
-
4407
4515
  var scrollToItem = function scrollToItem() {
4408
4516
  var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4409
4517
  var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
@@ -4420,26 +4528,26 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4420
4528
  if (isToStart) {
4421
4529
  if (both) {
4422
4530
  if (viewport.first.rows - first.rows > index[0]) {
4423
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows - 1) * itemSize);
4531
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows - 1) * props.itemSize[0]);
4424
4532
  } else if (viewport.first.cols - first.cols > index[1]) {
4425
- scrollToItem((viewport.first.cols - 1) * itemSize, viewport.first.rows * itemSize);
4533
+ scrollToItem((viewport.first.cols - 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
4426
4534
  }
4427
4535
  } else {
4428
4536
  if (viewport.first - first > index) {
4429
- var pos = (viewport.first - 1) * itemSize;
4537
+ var pos = (viewport.first - 1) * props.itemSize;
4430
4538
  horizontal ? scrollToItem(pos, 0) : scrollToItem(0, pos);
4431
4539
  }
4432
4540
  }
4433
4541
  } else if (isToEnd) {
4434
4542
  if (both) {
4435
4543
  if (viewport.last.rows - first.rows <= index[0] + 1) {
4436
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows + 1) * itemSize);
4544
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows + 1) * props.itemSize[0]);
4437
4545
  } else if (viewport.last.cols - first.cols <= index[1] + 1) {
4438
- scrollToItem((viewport.first.cols + 1) * itemSize, viewport.first.rows * itemSize);
4546
+ scrollToItem((viewport.first.cols + 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
4439
4547
  }
4440
4548
  } else {
4441
4549
  if (viewport.last - first <= index + 1) {
4442
- var _pos2 = (viewport.first + 1) * itemSize;
4550
+ var _pos2 = (viewport.first + 1) * props.itemSize;
4443
4551
 
4444
4552
  horizontal ? scrollToItem(_pos2, 0) : scrollToItem(0, _pos2);
4445
4553
  }
@@ -4455,18 +4563,14 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4455
4563
  };
4456
4564
 
4457
4565
  var getColumns = function getColumns() {
4458
- if (props.columns) {
4459
- if (both || horizontal) {
4460
- return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
4461
- }
4566
+ if (props.columns && both || horizontal) {
4567
+ return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
4462
4568
  }
4463
4569
 
4464
4570
  return props.columns;
4465
4571
  };
4466
4572
 
4467
4573
  var getRenderedRange = function getRenderedRange() {
4468
- var itemSize = props.itemSize;
4469
-
4470
4574
  var calculateFirstInViewport = function calculateFirstInViewport(_pos, _size) {
4471
4575
  return Math.floor(_pos / (_size || _pos));
4472
4576
  };
@@ -4475,13 +4579,14 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4475
4579
  var lastInViewport = 0;
4476
4580
 
4477
4581
  if (elementRef.current) {
4478
- var scrollTop = elementRef.current.scrollTop;
4479
- var scrollLeft = elementRef.current.scrollLeft;
4582
+ var _elementRef$current = elementRef.current,
4583
+ scrollTop = _elementRef$current.scrollTop,
4584
+ scrollLeft = _elementRef$current.scrollLeft;
4480
4585
 
4481
4586
  if (both) {
4482
4587
  firstInViewport = {
4483
- rows: calculateFirstInViewport(scrollTop, itemSize[0]),
4484
- cols: calculateFirstInViewport(scrollLeft, itemSize[1])
4588
+ rows: calculateFirstInViewport(scrollTop, props.itemSize[0]),
4589
+ cols: calculateFirstInViewport(scrollLeft, props.itemSize[1])
4485
4590
  };
4486
4591
  lastInViewport = {
4487
4592
  rows: firstInViewport.rows + numItemsInViewportState.rows,
@@ -4489,7 +4594,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4489
4594
  };
4490
4595
  } else {
4491
4596
  var scrollPos = horizontal ? scrollLeft : scrollTop;
4492
- firstInViewport = calculateFirstInViewport(scrollPos, itemSize);
4597
+ firstInViewport = calculateFirstInViewport(scrollPos, props.itemSize);
4493
4598
  lastInViewport = firstInViewport + numItemsInViewportState;
4494
4599
  }
4495
4600
  }
@@ -4505,7 +4610,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4505
4610
  };
4506
4611
 
4507
4612
  var calculateNumItems = function calculateNumItems() {
4508
- var itemSize = props.itemSize;
4509
4613
  var contentPos = getContentPosition();
4510
4614
  var contentWidth = elementRef.current ? elementRef.current.offsetWidth - contentPos.left : 0;
4511
4615
  var contentHeight = elementRef.current ? elementRef.current.offsetHeight - contentPos.top : 0;
@@ -4519,9 +4623,9 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4519
4623
  };
4520
4624
 
4521
4625
  var numItemsInViewport = both ? {
4522
- rows: calculateNumItemsInViewport(contentHeight, itemSize[0]),
4523
- cols: calculateNumItemsInViewport(contentWidth, itemSize[1])
4524
- } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, itemSize);
4626
+ rows: calculateNumItemsInViewport(contentHeight, props.itemSize[0]),
4627
+ cols: calculateNumItemsInViewport(contentWidth, props.itemSize[1])
4628
+ } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, props.itemSize);
4525
4629
  var numToleratedItems = numToleratedItemsState || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));
4526
4630
  return {
4527
4631
  numItemsInViewport: numItemsInViewport,
@@ -4566,15 +4670,26 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4566
4670
  }
4567
4671
  };
4568
4672
 
4673
+ var calculateAutoSize = function calculateAutoSize(loading) {
4674
+ if (props.autoSize && !loading) {
4675
+ Promise.resolve().then(function () {
4676
+ if (_contentRef.current) {
4677
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = 'auto';
4678
+ var _contentRef$current = _contentRef.current,
4679
+ offsetWidth = _contentRef$current.offsetWidth,
4680
+ offsetHeight = _contentRef$current.offsetHeight;
4681
+ (both || horizontal) && (elementRef.current.style.width = (offsetWidth < defaultWidth.current ? offsetWidth : defaultWidth.current) + 'px');
4682
+ (both || vertical) && (elementRef.current.style.height = (offsetHeight < defaultHeight.current ? offsetHeight : defaultHeight.current) + 'px');
4683
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = '';
4684
+ }
4685
+ });
4686
+ }
4687
+ };
4688
+
4569
4689
  var getLast = function getLast() {
4570
4690
  var last = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4571
4691
  var isCols = arguments.length > 1 ? arguments[1] : undefined;
4572
-
4573
- if (props.items) {
4574
- return Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last);
4575
- }
4576
-
4577
- return 0;
4692
+ return props.items ? Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last) : 0;
4578
4693
  };
4579
4694
 
4580
4695
  var getContentPosition = function getContentPosition() {
@@ -4627,7 +4742,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4627
4742
  var items = props.items;
4628
4743
 
4629
4744
  if (_spacerRef.current && items) {
4630
- var itemSize = props.itemSize;
4631
4745
  var contentPos = getContentPosition();
4632
4746
 
4633
4747
  var setProp = function setProp(_name, _value, _size) {
@@ -4637,10 +4751,10 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4637
4751
  };
4638
4752
 
4639
4753
  if (both) {
4640
- setProp('height', items, itemSize[0], contentPos.y);
4641
- setProp('width', props.columns || items[1], itemSize[1], contentPos.x);
4754
+ setProp('height', items, props.itemSize[0], contentPos.y);
4755
+ setProp('width', props.columns || items[1], props.itemSize[1], contentPos.x);
4642
4756
  } else {
4643
- horizontal ? setProp('width', props.columns || items, itemSize, contentPos.x) : setProp('height', items, itemSize, contentPos.y);
4757
+ horizontal ? setProp('width', props.columns || items, props.itemSize, contentPos.x) : setProp('height', items, props.itemSize, contentPos.y);
4644
4758
  }
4645
4759
  }
4646
4760
  };
@@ -4648,7 +4762,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4648
4762
  var setContentPosition = function setContentPosition(pos) {
4649
4763
  if (_contentRef.current) {
4650
4764
  var first = pos ? pos.first : firstState;
4651
- var itemSize = props.itemSize;
4652
4765
 
4653
4766
  var calculateTranslateVal = function calculateTranslateVal(_first, _size) {
4654
4767
  return _first * _size;
@@ -4664,9 +4777,9 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4664
4777
  };
4665
4778
 
4666
4779
  if (both) {
4667
- setTransform(calculateTranslateVal(first.cols, itemSize[1]), calculateTranslateVal(first.rows, itemSize[0]));
4780
+ setTransform(calculateTranslateVal(first.cols, props.itemSize[1]), calculateTranslateVal(first.rows, props.itemSize[0]));
4668
4781
  } else {
4669
- var translateVal = calculateTranslateVal(first, itemSize);
4782
+ var translateVal = calculateTranslateVal(first, props.itemSize);
4670
4783
  horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);
4671
4784
  }
4672
4785
  }
@@ -4674,7 +4787,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4674
4787
 
4675
4788
  var onScrollPositionChange = function onScrollPositionChange(event) {
4676
4789
  var target = event.target;
4677
- var itemSize = props.itemSize;
4678
4790
  var contentPos = getContentPosition();
4679
4791
 
4680
4792
  var calculateScrollPos = function calculateScrollPos(_pos, _cpos) {
@@ -4705,16 +4817,20 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4705
4817
 
4706
4818
  var scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
4707
4819
  var scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
4708
- var newFirst = 0;
4820
+ var newFirst = both ? {
4821
+ rows: 0,
4822
+ cols: 0
4823
+ } : 0;
4709
4824
  var newLast = lastState;
4710
4825
  var isRangeChanged = false;
4826
+ var newScrollPos = lastScrollPos.current;
4711
4827
 
4712
4828
  if (both) {
4713
4829
  var isScrollDown = lastScrollPos.current.top <= scrollTop;
4714
4830
  var isScrollRight = lastScrollPos.current.left <= scrollLeft;
4715
4831
  var currentIndex = {
4716
- rows: calculateCurrentIndex(scrollTop, itemSize[0]),
4717
- cols: calculateCurrentIndex(scrollLeft, itemSize[1])
4832
+ rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
4833
+ cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
4718
4834
  };
4719
4835
  var triggerIndex = {
4720
4836
  rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
@@ -4728,8 +4844,8 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4728
4844
  rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
4729
4845
  cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
4730
4846
  };
4731
- isRangeChanged = newFirst.rows !== firstState.rows && newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols && newLast.cols !== lastState.cols;
4732
- lastScrollPos.current = {
4847
+ isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols;
4848
+ newScrollPos = {
4733
4849
  top: scrollTop,
4734
4850
  left: scrollLeft
4735
4851
  };
@@ -4737,20 +4853,21 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4737
4853
  var scrollPos = horizontal ? scrollLeft : scrollTop;
4738
4854
  var isScrollDownOrRight = lastScrollPos.current <= scrollPos;
4739
4855
 
4740
- var _currentIndex2 = calculateCurrentIndex(scrollPos, itemSize);
4856
+ var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
4741
4857
 
4742
4858
  var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
4743
4859
 
4744
4860
  newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
4745
4861
  newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
4746
- isRangeChanged = newFirst !== firstState && newLast !== lastState;
4747
- lastScrollPos.current = scrollPos;
4862
+ isRangeChanged = newFirst !== firstState || newLast !== lastState;
4863
+ newScrollPos = scrollPos;
4748
4864
  }
4749
4865
 
4750
4866
  return {
4751
4867
  first: newFirst,
4752
4868
  last: newLast,
4753
- isRangeChanged: isRangeChanged
4869
+ isRangeChanged: isRangeChanged,
4870
+ scrollPos: newScrollPos
4754
4871
  };
4755
4872
  };
4756
4873
 
@@ -4758,7 +4875,8 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4758
4875
  var _onScrollPositionChan = onScrollPositionChange(event),
4759
4876
  first = _onScrollPositionChan.first,
4760
4877
  last = _onScrollPositionChan.last,
4761
- isRangeChanged = _onScrollPositionChan.isRangeChanged;
4878
+ isRangeChanged = _onScrollPositionChan.isRangeChanged,
4879
+ scrollPos = _onScrollPositionChan.scrollPos;
4762
4880
 
4763
4881
  if (isRangeChanged) {
4764
4882
  var newState = {
@@ -4768,6 +4886,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4768
4886
  setContentPosition(newState);
4769
4887
  setFirstState(first);
4770
4888
  setLastState(last);
4889
+ lastScrollPos.current = scrollPos;
4771
4890
  props.onScrollIndexChange && props.onScrollIndexChange(newState);
4772
4891
 
4773
4892
  if (props.lazy) {
@@ -4794,7 +4913,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4794
4913
  scrollTimeout.current = setTimeout(function () {
4795
4914
  onScrollChange(event);
4796
4915
 
4797
- if (loadingState && props.showLoader && !props.lazy) {
4916
+ if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
4798
4917
  setLoadingState(false);
4799
4918
  }
4800
4919
  }, props.delay);
@@ -4803,10 +4922,32 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4803
4922
  }
4804
4923
  };
4805
4924
 
4925
+ var onResize = function onResize() {
4926
+ if (resizeTimeout.current) {
4927
+ clearTimeout(resizeTimeout.current);
4928
+ }
4929
+
4930
+ resizeTimeout.current = setTimeout(function () {
4931
+ if (elementRef.current) {
4932
+ var _ref = [DomHandler.getWidth(elementRef.current), DomHandler.getHeight(elementRef.current)],
4933
+ width = _ref[0],
4934
+ height = _ref[1];
4935
+ var isDiffWidth = width !== defaultWidth.current,
4936
+ isDiffHeight = height !== defaultHeight.current;
4937
+ var reinit = both ? isDiffWidth || isDiffHeight : horizontal ? isDiffWidth : vertical ? isDiffHeight : false;
4938
+
4939
+ if (reinit) {
4940
+ setNumToleratedItemsState(props.numToleratedItems);
4941
+ defaultWidth.current = width;
4942
+ defaultHeight.current = height;
4943
+ }
4944
+ }
4945
+ }, props.resizeDelay);
4946
+ };
4947
+
4806
4948
  var getOptions = function getOptions(renderedIndex) {
4807
- var first = firstState;
4808
4949
  var count = (props.items || []).length;
4809
- var index = both ? first.rows + renderedIndex : first + renderedIndex;
4950
+ var index = both ? firstState.rows + renderedIndex : firstState + renderedIndex;
4810
4951
  return {
4811
4952
  index: index,
4812
4953
  count: count,
@@ -4844,25 +4985,48 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4844
4985
  };
4845
4986
 
4846
4987
  var init = function init() {
4847
- setSize();
4848
- calculateOptions();
4849
- setSpacerSize();
4988
+ if (!props.disabled) {
4989
+ setSize();
4990
+ calculateOptions();
4991
+ setSpacerSize();
4992
+ }
4850
4993
  };
4851
4994
 
4852
4995
  useMountEffect(function () {
4853
- init();
4996
+ if (!props.disabled) {
4997
+ init();
4998
+ bindWindowResizeListener();
4999
+ bindOrientationChangeListener();
5000
+ defaultWidth.current = DomHandler.getWidth(elementRef.current);
5001
+ defaultHeight.current = DomHandler.getHeight(elementRef.current);
5002
+ }
4854
5003
  });
4855
5004
  useUpdateEffect(function () {
4856
5005
  init();
4857
5006
  }, [props.itemSize, props.scrollHeight]);
5007
+ useUpdateEffect(function () {
5008
+ if (props.numToleratedItems !== numToleratedItemsState) {
5009
+ setNumToleratedItemsState(props.numToleratedItems);
5010
+ }
5011
+ }, [props.numToleratedItems]);
5012
+ useUpdateEffect(function () {
5013
+ if (props.numToleratedItems === numToleratedItemsState) {
5014
+ init(); // reinit after resizing
5015
+ }
5016
+ }, [numToleratedItemsState]);
4858
5017
  useUpdateEffect(function () {
4859
5018
  if (!prevItems || prevItems.length !== (props.items || []).length) {
4860
5019
  init();
4861
5020
  }
4862
5021
 
5022
+ var loading = loadingState;
5023
+
4863
5024
  if (props.lazy && prevLoading !== props.loading && props.loading !== loadingState) {
4864
5025
  setLoadingState(props.loading);
5026
+ loading = props.loading;
4865
5027
  }
5028
+
5029
+ calculateAutoSize(loading);
4866
5030
  });
4867
5031
  useUpdateEffect(function () {
4868
5032
  lastScrollPos.current = both ? {
@@ -4872,6 +5036,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4872
5036
  }, [props.orientation]);
4873
5037
  React.useImperativeHandle(ref, function () {
4874
5038
  return {
5039
+ getElementRef: getElementRef,
4875
5040
  scrollTo: scrollTo,
4876
5041
  scrollToIndex: scrollToIndex,
4877
5042
  scrollInView: scrollInView,
@@ -4903,6 +5068,13 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
4903
5068
  numCols: numItemsInViewportState.cols
4904
5069
  });
4905
5070
  });
5071
+ } else if (props.loaderIconTemplate) {
5072
+ var defaultContentOptions = {
5073
+ className: 'p-virtualscroller-loading-icon',
5074
+ element: content,
5075
+ props: props
5076
+ };
5077
+ content = ObjectUtils.getJSXElement(props.loaderIconTemplate, defaultContentOptions);
4906
5078
  }
4907
5079
 
4908
5080
  return /*#__PURE__*/React.createElement("div", {
@@ -5025,14 +5197,17 @@ VirtualScroller.defaultProps = {
5025
5197
  orientation: 'vertical',
5026
5198
  numToleratedItems: null,
5027
5199
  delay: 0,
5200
+ resizeDelay: 10,
5028
5201
  lazy: false,
5029
5202
  disabled: false,
5030
5203
  loaderDisabled: false,
5031
5204
  columns: null,
5032
- loading: false,
5205
+ loading: undefined,
5206
+ autoSize: false,
5033
5207
  showSpacer: true,
5034
5208
  showLoader: false,
5035
5209
  loadingTemplate: null,
5210
+ loaderIconTemplate: null,
5036
5211
  itemTemplate: null,
5037
5212
  contentTemplate: null,
5038
5213
  onScroll: null,
@@ -5048,7 +5223,7 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
5048
5223
  return ObjectUtils.resolveFieldData(optionGroup, props.optionGroupLabel);
5049
5224
  };
5050
5225
 
5051
- var createGroupChildren = function createGroupChildren(optionGroup, i) {
5226
+ var createGroupChildren = function createGroupChildren(optionGroup, i, style) {
5052
5227
  var groupChildren = props.getOptionGroupChildren(optionGroup);
5053
5228
  return groupChildren.map(function (item, j) {
5054
5229
  var key = i + '_' + j;
@@ -5059,6 +5234,7 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
5059
5234
  role: "option",
5060
5235
  "aria-selected": selected,
5061
5236
  className: "p-autocomplete-item",
5237
+ style: style,
5062
5238
  onClick: function onClick(e) {
5063
5239
  return props.onItemClick(e, item);
5064
5240
  },
@@ -5069,14 +5245,20 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
5069
5245
  };
5070
5246
 
5071
5247
  var createItem = function createItem(suggestion, index) {
5248
+ var scrollerOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
5249
+ var style = {
5250
+ height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
5251
+ };
5252
+
5072
5253
  if (props.optionGroupLabel) {
5073
5254
  var content = props.optionGroupTemplate ? ObjectUtils.getJSXElement(props.optionGroupTemplate, suggestion, index) : props.getOptionGroupLabel(suggestion);
5074
- var childrenContent = createGroupChildren(suggestion, index);
5255
+ var childrenContent = createGroupChildren(suggestion, index, style);
5075
5256
  var key = index + '_' + getOptionGroupRenderKey(suggestion);
5076
5257
  return /*#__PURE__*/React.createElement(React.Fragment, {
5077
5258
  key: key
5078
5259
  }, /*#__PURE__*/React.createElement("li", {
5079
- className: "p-autocomplete-item-group"
5260
+ className: "p-autocomplete-item-group",
5261
+ style: style
5080
5262
  }, content), childrenContent);
5081
5263
  } else {
5082
5264
  var _content = props.itemTemplate ? ObjectUtils.getJSXElement(props.itemTemplate, suggestion, index) : props.field ? ObjectUtils.resolveFieldData(suggestion, props.field) : suggestion;
@@ -5086,6 +5268,7 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
5086
5268
  role: "option",
5087
5269
  "aria-selected": props.selectedItem === suggestion,
5088
5270
  className: "p-autocomplete-item",
5271
+ style: style,
5089
5272
  onClick: function onClick(e) {
5090
5273
  return props.onItemClick(e, suggestion);
5091
5274
  }
@@ -5103,9 +5286,10 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
5103
5286
  style: _objectSpread$t(_objectSpread$t({}, props.virtualScrollerOptions.style), {
5104
5287
  height: props.scrollHeight
5105
5288
  }),
5289
+ autoSize: true,
5106
5290
  items: props.suggestions,
5107
5291
  itemTemplate: function itemTemplate(item, options) {
5108
- return item && createItem(item, options.index);
5292
+ return item && createItem(item, options.index, options);
5109
5293
  },
5110
5294
  contentTemplate: function contentTemplate(options) {
5111
5295
  var className = classNames('p-autocomplete-items', options.className);
@@ -5287,7 +5471,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5287
5471
  }
5288
5472
 
5289
5473
  if (!preventInputFocus) {
5290
- inputRef.current.focus();
5474
+ DomHandler.focus(inputRef.current);
5291
5475
  hide();
5292
5476
  }
5293
5477
  };
@@ -5352,7 +5536,8 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5352
5536
 
5353
5537
  var onOverlayEntering = function onOverlayEntering() {
5354
5538
  if (props.autoHighlight && props.suggestions && props.suggestions.length) {
5355
- DomHandler.addClass(overlayRef.current.firstChild.firstChild, 'p-highlight');
5539
+ var element = getScrollableElement().firstChild.firstChild;
5540
+ DomHandler.addClass(element, 'p-highlight');
5356
5541
  }
5357
5542
  };
5358
5543
 
@@ -5384,7 +5569,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5384
5569
 
5385
5570
  var onDropdownClick = function onDropdownClick(event) {
5386
5571
  if (props.dropdownAutoFocus) {
5387
- inputRef.current.focus();
5572
+ DomHandler.focus(inputRef.current, props.dropdownAutoFocus);
5388
5573
  }
5389
5574
 
5390
5575
  if (props.dropdownMode === 'blank') search(event, '', 'dropdown');else if (props.dropdownMode === 'current') search(event, inputRef.current.value, 'dropdown');
@@ -5425,7 +5610,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5425
5610
  if (nextElement) {
5426
5611
  DomHandler.addClass(nextElement, 'p-highlight');
5427
5612
  DomHandler.removeClass(highlightItem, 'p-highlight');
5428
- DomHandler.scrollInView(overlayRef.current, nextElement);
5613
+ DomHandler.scrollInView(getScrollableElement(), nextElement);
5429
5614
  }
5430
5615
  } else {
5431
5616
  highlightItem = DomHandler.findSingle(overlayRef.current, 'li');
@@ -5450,7 +5635,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5450
5635
  if (previousElement) {
5451
5636
  DomHandler.addClass(previousElement, 'p-highlight');
5452
5637
  DomHandler.removeClass(highlightItem, 'p-highlight');
5453
- DomHandler.scrollInView(overlayRef.current, previousElement);
5638
+ DomHandler.scrollInView(getScrollableElement(), previousElement);
5454
5639
  }
5455
5640
  }
5456
5641
 
@@ -5462,9 +5647,9 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5462
5647
  if (highlightItem) {
5463
5648
  selectHighlightItem(event, highlightItem);
5464
5649
  hide();
5650
+ event.preventDefault();
5465
5651
  }
5466
5652
 
5467
- event.preventDefault();
5468
5653
  break;
5469
5654
  //escape
5470
5655
 
@@ -5557,7 +5742,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5557
5742
  };
5558
5743
 
5559
5744
  var onMultiContainerClick = function onMultiContainerClick(event) {
5560
- inputRef.current.focus();
5745
+ DomHandler.focus(inputRef.current);
5561
5746
  props.onClick && props.onClick(event);
5562
5747
  };
5563
5748
 
@@ -5583,6 +5768,10 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5583
5768
  }) : -1;
5584
5769
  };
5585
5770
 
5771
+ var getScrollableElement = function getScrollableElement() {
5772
+ return virtualScrollerRef.current ? overlayRef.current.firstChild : overlayRef.current;
5773
+ };
5774
+
5586
5775
  var getOptionGroupLabel = function getOptionGroupLabel(optionGroup) {
5587
5776
  return props.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, props.optionGroupLabel) : optionGroup;
5588
5777
  };
@@ -5599,8 +5788,8 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5599
5788
  setIdState(UniqueComponentId());
5600
5789
  }
5601
5790
 
5602
- if (props.autoFocus && inputRef.current) {
5603
- inputRef.current.focus();
5791
+ if (props.autoFocus) {
5792
+ DomHandler.focus(inputRef.current, props.autoFocus);
5604
5793
  }
5605
5794
  });
5606
5795
  useUpdateEffect(function () {
@@ -5629,7 +5818,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5629
5818
 
5630
5819
  var createSimpleAutoComplete = function createSimpleAutoComplete() {
5631
5820
  var value = formatValue(props.value);
5632
- var ariaControls = idState + '_list';
5821
+ var ariaControls = overlayVisibleState ? idState + '_list' : null;
5633
5822
  var className = classNames('p-autocomplete-input', props.inputClassName, {
5634
5823
  'p-autocomplete-dd-input': props.dropdown
5635
5824
  });
@@ -5639,10 +5828,13 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5639
5828
  type: props.type,
5640
5829
  name: props.name,
5641
5830
  defaultValue: value,
5642
- role: "searchbox",
5831
+ role: "combobox",
5643
5832
  "aria-autocomplete": "list",
5644
5833
  "aria-controls": ariaControls,
5645
- "aria-labelledby": props.ariaLabelledBy,
5834
+ "aria-haspopup": "listbox",
5835
+ "aria-expanded": overlayVisibleState,
5836
+ "aria-labelledby": props['aria-labelledby'],
5837
+ "aria-label": props['aria-label'],
5646
5838
  className: className,
5647
5839
  style: props.inputStyle,
5648
5840
  autoComplete: "off",
@@ -5689,7 +5881,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5689
5881
  };
5690
5882
 
5691
5883
  var createMultiInput = function createMultiInput() {
5692
- var ariaControls = idState + '_list';
5884
+ var ariaControls = overlayVisibleState ? idState + '_list' : null;
5693
5885
  return /*#__PURE__*/React.createElement("li", {
5694
5886
  className: "p-autocomplete-input-token"
5695
5887
  }, /*#__PURE__*/React.createElement("input", {
@@ -5697,10 +5889,13 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5697
5889
  type: props.type,
5698
5890
  disabled: props.disabled,
5699
5891
  placeholder: props.placeholder,
5700
- role: "searchbox",
5892
+ role: "combobox",
5701
5893
  "aria-autocomplete": "list",
5702
5894
  "aria-controls": ariaControls,
5703
- "aria-labelledby": props.ariaLabelledBy,
5895
+ "aria-haspopup": "listbox",
5896
+ "aria-expanded": overlayVisibleState,
5897
+ "aria-labelledby": props['aria-labelledby'],
5898
+ "aria-label": props['aria-label'],
5704
5899
  autoComplete: "off",
5705
5900
  tabIndex: props.tabIndex,
5706
5901
  onChange: onInputChange,
@@ -5777,10 +5972,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5777
5972
  ref: elementRef,
5778
5973
  id: idState,
5779
5974
  style: props.style,
5780
- className: className,
5781
- "aria-haspopup": "listbox",
5782
- "aria-expanded": overlayVisibleState,
5783
- "aria-owns": listId
5975
+ className: className
5784
5976
  }, otherProps), input, loader, dropdown, /*#__PURE__*/React.createElement(AutoCompletePanel, _extends({
5785
5977
  ref: overlayRef,
5786
5978
  virtualScrollerRef: virtualScrollerRef
@@ -5842,13 +6034,14 @@ AutoComplete.defaultProps = {
5842
6034
  autoFocus: false,
5843
6035
  tooltip: null,
5844
6036
  tooltipOptions: null,
5845
- ariaLabelledBy: null,
5846
6037
  completeMethod: null,
5847
6038
  itemTemplate: null,
5848
6039
  selectedItemTemplate: null,
5849
6040
  transitionOptions: null,
5850
6041
  dropdownIcon: 'pi pi-chevron-down',
5851
6042
  removeIcon: 'pi pi-times-circle',
6043
+ 'aria-label': null,
6044
+ 'aria-labelledby': null,
5852
6045
  onChange: null,
5853
6046
  onFocus: null,
5854
6047
  onBlur: null,
@@ -5868,7 +6061,13 @@ AutoComplete.defaultProps = {
5868
6061
 
5869
6062
  var Avatar = /*#__PURE__*/React.forwardRef(function (props, ref) {
5870
6063
  var createContent = function createContent() {
5871
- if (props.label) {
6064
+ if (props.image) {
6065
+ return /*#__PURE__*/React.createElement("img", {
6066
+ src: props.image,
6067
+ alt: props.imageAlt,
6068
+ onError: props.onImageError
6069
+ });
6070
+ } else if (props.label) {
5872
6071
  return /*#__PURE__*/React.createElement("span", {
5873
6072
  className: "p-avatar-text"
5874
6073
  }, props.label);
@@ -5878,12 +6077,6 @@ var Avatar = /*#__PURE__*/React.forwardRef(function (props, ref) {
5878
6077
  }, {
5879
6078
  props: props
5880
6079
  });
5881
- } else if (props.image) {
5882
- return /*#__PURE__*/React.createElement("img", {
5883
- src: props.image,
5884
- alt: props.imageAlt,
5885
- onError: props.onImageError
5886
- });
5887
6080
  }
5888
6081
 
5889
6082
  return null;
@@ -5936,8 +6129,8 @@ AvatarGroup.defaultProps = {
5936
6129
  var Badge = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
5937
6130
  var otherProps = ObjectUtils.findDiffKeys(props, Badge.defaultProps);
5938
6131
  var className = classNames('p-badge p-component', _defineProperty({
5939
- 'p-badge-no-gutter': props.value && String(props.value).length === 1,
5940
- 'p-badge-dot': !props.value,
6132
+ 'p-badge-no-gutter': ObjectUtils.isNotEmpty(props.value) && String(props.value).length === 1,
6133
+ 'p-badge-dot': ObjectUtils.isEmpty(props.value),
5941
6134
  'p-badge-lg': props.size === 'large',
5942
6135
  'p-badge-xl': props.size === 'xlarge'
5943
6136
  }, "p-badge-".concat(props.severity), props.severity !== null), props.className);
@@ -6094,7 +6287,8 @@ var BreadCrumb = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
6094
6287
  url = home.url,
6095
6288
  disabled = home.disabled,
6096
6289
  style = home.style,
6097
- _className = home.className;
6290
+ _className = home.className,
6291
+ template = home.template;
6098
6292
 
6099
6293
  var _className2 = classNames('p-breadcrumb-home', {
6100
6294
  'p-disabled': disabled
@@ -6105,10 +6299,7 @@ var BreadCrumb = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
6105
6299
  }, {
6106
6300
  props: props
6107
6301
  });
6108
- return /*#__PURE__*/React.createElement("li", {
6109
- className: _className2,
6110
- style: style
6111
- }, /*#__PURE__*/React.createElement("a", {
6302
+ var content = /*#__PURE__*/React.createElement("a", {
6112
6303
  href: url || '#',
6113
6304
  className: "p-menuitem-link",
6114
6305
  "aria-disabled": disabled,
@@ -6116,7 +6307,25 @@ var BreadCrumb = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
6116
6307
  onClick: function onClick(event) {
6117
6308
  return itemClick(event, home);
6118
6309
  }
6119
- }, icon));
6310
+ }, icon);
6311
+
6312
+ if (template) {
6313
+ var defaultContentOptions = {
6314
+ onClick: function onClick(event) {
6315
+ return itemClick(event, home);
6316
+ },
6317
+ className: 'p-menuitem-link',
6318
+ labelClassName: 'p-menuitem-text',
6319
+ element: content,
6320
+ props: props
6321
+ };
6322
+ content = ObjectUtils.getJSXElement(template, home, defaultContentOptions);
6323
+ }
6324
+
6325
+ return /*#__PURE__*/React.createElement("li", {
6326
+ className: _className2,
6327
+ style: style
6328
+ }, content);
6120
6329
  }
6121
6330
 
6122
6331
  return null;
@@ -6271,6 +6480,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6271
6480
  var overlayEventListener = React.useRef(null);
6272
6481
  var touchUIMaskClickListener = React.useRef(null);
6273
6482
  var isOverlayClicked = React.useRef(false);
6483
+ var ignoreMaskChange = React.useRef(false);
6274
6484
 
6275
6485
  var _React$useState7 = React.useState('date'),
6276
6486
  _React$useState8 = _slicedToArray(_React$useState7, 2),
@@ -6390,7 +6600,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6390
6600
  var reFocusInputField = function reFocusInputField() {
6391
6601
  if (!props.inline && inputRef.current) {
6392
6602
  ignoreFocusFunctionality.current = true;
6393
- inputRef.current.focus();
6603
+ DomHandler.focus(inputRef.current);
6394
6604
  }
6395
6605
  };
6396
6606
 
@@ -6963,7 +7173,11 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6963
7173
  var currentTime = getCurrentDateTime();
6964
7174
  var currentHour = currentTime.getHours();
6965
7175
  var newHour = currentHour >= 12 ? currentHour - 12 : currentHour + 12;
6966
- updateTime(event, newHour, currentTime.getMinutes(), currentTime.getSeconds(), currentTime.getMilliseconds());
7176
+
7177
+ if (validateHour(convertTo24Hour(newHour, !(currentHour > 11)), currentTime)) {
7178
+ updateTime(event, newHour, currentTime.getMinutes(), currentTime.getSeconds(), currentTime.getMilliseconds());
7179
+ }
7180
+
6967
7181
  event.preventDefault();
6968
7182
  };
6969
7183
 
@@ -7000,6 +7214,14 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7000
7214
  return date instanceof Date && !isNaN(date);
7001
7215
  };
7002
7216
 
7217
+ var convertTo24Hour = function convertTo24Hour(hour, pm) {
7218
+ if (props.hourFormat == '12') {
7219
+ return hour === 12 ? pm ? 12 : 0 : pm ? hour + 12 : hour;
7220
+ }
7221
+
7222
+ return hour;
7223
+ };
7224
+
7003
7225
  var validateHour = function validateHour(hour, value) {
7004
7226
  var valid = true;
7005
7227
  var valueDateString = value ? value.toDateString() : null;
@@ -7164,6 +7386,56 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7164
7386
  viewStateChanged.current = true;
7165
7387
  setViewDateState(value);
7166
7388
  }
7389
+
7390
+ setCurrentMonth(value.getMonth());
7391
+ setCurrentYear(value.getFullYear());
7392
+ };
7393
+
7394
+ var setNavigationState = function setNavigationState(newViewDate) {
7395
+ if (!props.showMinMaxRange || props.view !== 'date' || !overlayRef.current) {
7396
+ return;
7397
+ }
7398
+
7399
+ var navPrev = DomHandler.findSingle(overlayRef.current, '.p-datepicker-prev');
7400
+ var navNext = DomHandler.findSingle(overlayRef.current, '.p-datepicker-next');
7401
+
7402
+ if (props.disabled) {
7403
+ DomHandler.addClass(navPrev, 'p-disabled');
7404
+ DomHandler.addClass(navNext, 'p-disabled');
7405
+ return;
7406
+ } // previous (check first day of month at 00:00:00)
7407
+
7408
+
7409
+ if (props.minDate) {
7410
+ var firstDayOfMonth = new Date(newViewDate.getTime());
7411
+ firstDayOfMonth.setDate(1);
7412
+ firstDayOfMonth.setHours(0);
7413
+ firstDayOfMonth.setMinutes(0);
7414
+ firstDayOfMonth.setSeconds(0);
7415
+
7416
+ if (props.minDate > firstDayOfMonth) {
7417
+ DomHandler.addClass(navPrev, 'p-disabled');
7418
+ } else {
7419
+ DomHandler.removeClass(navPrev, 'p-disabled');
7420
+ }
7421
+ } // next (check last day of month at 11:59:59)
7422
+
7423
+
7424
+ if (props.maxDate) {
7425
+ var lastDayOfMonth = new Date(newViewDate.getTime());
7426
+ lastDayOfMonth.setMonth(lastDayOfMonth.getMonth() + 1);
7427
+ lastDayOfMonth.setDate(1);
7428
+ lastDayOfMonth.setHours(0);
7429
+ lastDayOfMonth.setMinutes(0);
7430
+ lastDayOfMonth.setSeconds(0);
7431
+ lastDayOfMonth.setSeconds(-1);
7432
+
7433
+ if (props.maxDate < lastDayOfMonth) {
7434
+ DomHandler.addClass(navNext, 'p-disabled');
7435
+ } else {
7436
+ DomHandler.removeClass(navNext, 'p-disabled');
7437
+ }
7438
+ }
7167
7439
  };
7168
7440
 
7169
7441
  var onDateCellKeydown = function onDateCellKeydown(event, date, groupIndex) {
@@ -7491,6 +7763,8 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7491
7763
  setCurrentMonth(month);
7492
7764
  createMonthsMeta(month, currentYear);
7493
7765
  var currentDate = new Date(getCurrentDateTime().getTime());
7766
+ currentDate.setDate(1); // #2948 always set to 1st of month
7767
+
7494
7768
  currentDate.setMonth(month);
7495
7769
  currentDate.setYear(currentYear);
7496
7770
  setViewDateState(currentDate);
@@ -8601,7 +8875,11 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8601
8875
  mask: props.mask,
8602
8876
  readOnly: props.readOnlyInput || props.disabled,
8603
8877
  onChange: function onChange(e) {
8604
- return updateValueOnInput(e.originalEvent, e.value);
8878
+ !ignoreMaskChange.current && updateValueOnInput(e.originalEvent, e.value);
8879
+ ignoreMaskChange.current = false;
8880
+ },
8881
+ onBlur: function onBlur() {
8882
+ ignoreMaskChange.current = true;
8605
8883
  }
8606
8884
  });
8607
8885
  }
@@ -8641,7 +8919,10 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8641
8919
  updateInputfield(props.value);
8642
8920
  }, [props.dateFormat, props.hourFormat, props.timeOnly, props.showSeconds, props.showMillisec]);
8643
8921
  useUpdateEffect(function () {
8644
- overlayRef.current && updateFocus();
8922
+ if (overlayRef.current) {
8923
+ setNavigationState(viewDateState);
8924
+ updateFocus();
8925
+ }
8645
8926
  });
8646
8927
  useUnmountEffect(function () {
8647
8928
  if (touchUIMask.current) {
@@ -8699,7 +8980,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8699
8980
  }), /*#__PURE__*/React.createElement(Ripple, null));
8700
8981
  };
8701
8982
 
8702
- var createTitleMonthElement = function createTitleMonthElement() {
8983
+ var createTitleMonthElement = function createTitleMonthElement(month) {
8703
8984
  var monthNames = localeOption('monthNames', props.locale);
8704
8985
 
8705
8986
  if (props.monthNavigator && props.view !== 'month') {
@@ -8751,7 +9032,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8751
9032
  className: "p-datepicker-month p-link",
8752
9033
  onClick: switchToMonthView,
8753
9034
  disabled: switchViewButtonDisabled()
8754
- }, monthNames[currentMonth]);
9035
+ }, monthNames[month]);
8755
9036
  };
8756
9037
 
8757
9038
  var createTitleYearElement = function createTitleYearElement() {
@@ -9367,7 +9648,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9367
9648
  onExit: onOverlayExit,
9368
9649
  onExited: onOverlayExited,
9369
9650
  transitionOptions: props.transitionOptions
9370
- }, datePicker, timePicker, buttonBar, footer, monthPicker, yearPicker));
9651
+ }, datePicker, timePicker, monthPicker, yearPicker, buttonBar, footer));
9371
9652
  }));
9372
9653
  Calendar.displayName = 'Calendar';
9373
9654
  Calendar.defaultProps = {
@@ -9424,6 +9705,7 @@ Calendar.defaultProps = {
9424
9705
  minDate: null,
9425
9706
  maxDate: null,
9426
9707
  maxDateCount: null,
9708
+ showMinMaxRange: false,
9427
9709
  showOtherMonths: true,
9428
9710
  selectOtherMonths: false,
9429
9711
  showButtonBar: false,
@@ -9505,6 +9787,7 @@ var Captcha = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
9505
9787
 
9506
9788
  script.onload = function () {
9507
9789
  if (!window.grecaptcha) {
9790
+ // eslint-disable-next-line no-console
9508
9791
  console.warn('Recaptcha is not loaded');
9509
9792
  return;
9510
9793
  }
@@ -9667,10 +9950,10 @@ var Carousel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9667
9950
  var prevPage = usePrevious(props.page);
9668
9951
  var isVertical = props.orientation === 'vertical';
9669
9952
  var circular = props.circular || !!props.autoplayInterval;
9670
- var isCircular = circular && props.value.length >= numVisibleState;
9671
- var isAutoplay = props.autoplayInterval && allowAutoplay.current;
9953
+ var isCircular = circular && props.value && props.value.length >= numVisibleState;
9672
9954
  var currentPage = props.onPageChange ? props.page : pageState;
9673
- var totalIndicators = props.value ? Math.ceil((props.value.length - numVisibleState) / numScrollState) + 1 : 0;
9955
+ var totalIndicators = props.value ? Math.max(Math.ceil((props.value.length - numVisibleState) / numScrollState) + 1, 0) : 0;
9956
+ var isAutoplay = totalIndicators && props.autoplayInterval && allowAutoplay.current;
9674
9957
 
9675
9958
  var _useResizeListener = useResizeListener({
9676
9959
  listener: function listener() {
@@ -10104,14 +10387,14 @@ var Carousel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
10104
10387
  'pi-chevron-left': !isVertical,
10105
10388
  'pi-chevron-up': isVertical
10106
10389
  });
10107
- return /*#__PURE__*/React.createElement("button", {
10390
+ return /*#__PURE__*/React.createElement(Button, {
10108
10391
  type: "button",
10109
10392
  className: className,
10393
+ icon: iconClassName,
10110
10394
  onClick: navBackward,
10111
- disabled: isDisabled
10112
- }, /*#__PURE__*/React.createElement("span", {
10113
- className: iconClassName
10114
- }), /*#__PURE__*/React.createElement(Ripple, null));
10395
+ disabled: isDisabled,
10396
+ "aria-label": ariaLabel('previousPageLabel')
10397
+ });
10115
10398
  };
10116
10399
 
10117
10400
  var createForwardNavigator = function createForwardNavigator() {
@@ -10123,14 +10406,14 @@ var Carousel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
10123
10406
  'pi-chevron-right': !isVertical,
10124
10407
  'pi-chevron-down': isVertical
10125
10408
  });
10126
- return /*#__PURE__*/React.createElement("button", {
10409
+ return /*#__PURE__*/React.createElement(Button, {
10127
10410
  type: "button",
10128
10411
  className: className,
10412
+ icon: iconClassName,
10129
10413
  onClick: navForward,
10130
- disabled: isDisabled
10131
- }, /*#__PURE__*/React.createElement("span", {
10132
- className: iconClassName
10133
- }), /*#__PURE__*/React.createElement(Ripple, null));
10414
+ disabled: isDisabled,
10415
+ "aria-label": ariaLabel('nextPageLabel')
10416
+ });
10134
10417
  };
10135
10418
 
10136
10419
  var createIndicator = function createIndicator(index) {
@@ -10142,13 +10425,14 @@ var Carousel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
10142
10425
  return /*#__PURE__*/React.createElement("li", {
10143
10426
  key: key,
10144
10427
  className: className
10145
- }, /*#__PURE__*/React.createElement("button", {
10428
+ }, /*#__PURE__*/React.createElement(Button, {
10146
10429
  type: "button",
10147
10430
  className: "p-link",
10148
10431
  onClick: function onClick(e) {
10149
10432
  return onDotClick(e, index);
10150
- }
10151
- }, /*#__PURE__*/React.createElement(Ripple, null)));
10433
+ },
10434
+ "aria-label": "".concat(ariaLabel('pageLabel'), " ").concat(index + 1)
10435
+ }));
10152
10436
  };
10153
10437
 
10154
10438
  var createIndicators = function createIndicators() {
@@ -10488,7 +10772,7 @@ var CascadeSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
10488
10772
 
10489
10773
  updateSelectionPath();
10490
10774
  hide();
10491
- inputRef.current.focus();
10775
+ DomHandler.focus(inputRef.current);
10492
10776
  };
10493
10777
 
10494
10778
  var onOptionGroupSelect = function onOptionGroupSelect(event) {
@@ -10497,7 +10781,8 @@ var CascadeSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
10497
10781
  };
10498
10782
 
10499
10783
  var getOptionLabel = function getOptionLabel(option) {
10500
- return props.optionLabel ? ObjectUtils.resolveFieldData(option, props.optionLabel) : option;
10784
+ var label = props.optionLabel ? ObjectUtils.resolveFieldData(option, props.optionLabel) : option;
10785
+ return label || option;
10501
10786
  };
10502
10787
 
10503
10788
  var getOptionValue = function getOptionValue(option) {
@@ -10573,7 +10858,7 @@ var CascadeSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
10573
10858
  }
10574
10859
 
10575
10860
  if (!overlayRef.current || !overlayRef.current.contains(event.target)) {
10576
- inputRef.current.focus();
10861
+ DomHandler.focus(inputRef.current);
10577
10862
  overlayVisibleState ? hide() : show();
10578
10863
  }
10579
10864
  };
@@ -10627,7 +10912,7 @@ var CascadeSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
10627
10912
  var hide = function hide() {
10628
10913
  props.onBeforeHide && props.onBeforeHide();
10629
10914
  setOverlayVisibleState(false);
10630
- inputRef.current.focus();
10915
+ DomHandler.focus(inputRef.current);
10631
10916
  };
10632
10917
 
10633
10918
  var onOverlayEnter = function onOverlayEnter() {
@@ -10819,13 +11104,19 @@ var Chart = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
10819
11104
  chartRef.current = null;
10820
11105
  }
10821
11106
 
10822
- if (module && module["default"]) {
10823
- chartRef.current = new module["default"](canvasRef.current, {
10824
- type: props.type,
10825
- data: props.data,
10826
- options: props.options,
10827
- plugins: props.plugins
10828
- });
11107
+ var configuration = {
11108
+ type: props.type,
11109
+ data: props.data,
11110
+ options: props.options,
11111
+ plugins: props.plugins
11112
+ };
11113
+
11114
+ if (module) {
11115
+ if (module["default"]) {
11116
+ chartRef.current = new module["default"](canvasRef.current, configuration);
11117
+ } else {
11118
+ chartRef.current = new module(canvasRef.current, configuration);
11119
+ }
10829
11120
  }
10830
11121
  });
10831
11122
  };
@@ -10919,8 +11210,7 @@ var Checkbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
10919
11210
  }
10920
11211
  });
10921
11212
  inputRef.current.checked = !_checked;
10922
- inputRef.current.focus();
10923
- event.preventDefault();
11213
+ DomHandler.focus(inputRef.current);
10924
11214
  }
10925
11215
  };
10926
11216
 
@@ -11181,12 +11471,17 @@ var Chips = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
11181
11471
  };
11182
11472
 
11183
11473
  var onWrapperClick = function onWrapperClick() {
11184
- inputRef.current.focus();
11474
+ DomHandler.focus(inputRef.current);
11185
11475
  };
11186
11476
 
11187
11477
  var onKeyDown = function onKeyDown(event) {
11188
11478
  var inputValue = event.target.value;
11189
11479
  var values = props.value || [];
11480
+ props.onKeyDown && props.onKeyDown(event); // do not continue if the user defined keydown wants to prevent
11481
+
11482
+ if (event.defaultPrevented) {
11483
+ return;
11484
+ }
11190
11485
 
11191
11486
  switch (event.which) {
11192
11487
  //backspace
@@ -11206,6 +11501,10 @@ var Chips = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
11206
11501
  break;
11207
11502
 
11208
11503
  default:
11504
+ if (props.keyfilter) {
11505
+ KeyFilter.onKeyPress(event, props.keyfilter);
11506
+ }
11507
+
11209
11508
  if (isMaxedOut()) {
11210
11509
  event.preventDefault();
11211
11510
  } else if (props.separator === ',' && event.which === 188) {
@@ -11239,6 +11538,10 @@ var Chips = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
11239
11538
  if (props.separator) {
11240
11539
  var pastedData = (event.clipboardData || window['clipboardData']).getData('Text');
11241
11540
 
11541
+ if (props.keyfilter) {
11542
+ KeyFilter.onPaste(event, props.keyfilter);
11543
+ }
11544
+
11242
11545
  if (pastedData) {
11243
11546
  var values = props.value || [];
11244
11547
  var pastedValues = pastedData.split(props.separator);
@@ -11381,11 +11684,13 @@ Chips.defaultProps = {
11381
11684
  separator: null,
11382
11685
  allowDuplicate: true,
11383
11686
  itemTemplate: null,
11687
+ keyfilter: null,
11384
11688
  onAdd: null,
11385
11689
  onRemove: null,
11386
11690
  onChange: null,
11387
11691
  onFocus: null,
11388
- onBlur: null
11692
+ onBlur: null,
11693
+ onKeyDown: null
11389
11694
  };
11390
11695
 
11391
11696
  var ColorPickerPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -12074,7 +12379,8 @@ Column.defaultProps = {
12074
12379
  rowReorderIcon: 'pi pi-bars',
12075
12380
  rowEditor: false,
12076
12381
  exportable: true,
12077
- reorderable: true
12382
+ reorderable: true,
12383
+ resizeable: true
12078
12384
  };
12079
12385
 
12080
12386
  var ColumnGroup = function ColumnGroup() {};
@@ -12430,7 +12736,7 @@ var Dialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
12430
12736
  return param.hasBlockScroll;
12431
12737
  });
12432
12738
 
12433
- if (!hasBlockScroll) {
12739
+ if (hasBlockScroll) {
12434
12740
  DomHandler.removeClass(document.body, 'p-overflow-hidden');
12435
12741
  }
12436
12742
  } else if (props.blockScroll || props.maximizable && maximized) {
@@ -12576,9 +12882,11 @@ var Dialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
12576
12882
  var icons = ObjectUtils.getJSXElement(props.icons, props);
12577
12883
  var header = ObjectUtils.getJSXElement(props.header, props);
12578
12884
  var headerId = idState + '_header';
12885
+ var headerClassName = classNames('p-dialog-header', props.headerClassName);
12579
12886
  return /*#__PURE__*/React.createElement("div", {
12580
12887
  ref: headerRef,
12581
- className: "p-dialog-header",
12888
+ style: props.headerStyle,
12889
+ className: headerClassName,
12582
12890
  onMouseDown: onDragStart
12583
12891
  }, /*#__PURE__*/React.createElement("div", {
12584
12892
  id: headerId,
@@ -12612,7 +12920,7 @@ var Dialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
12612
12920
 
12613
12921
  var createResizer = function createResizer() {
12614
12922
  if (props.resizable) {
12615
- return /*#__PURE__*/React.createElement("div", {
12923
+ return /*#__PURE__*/React.createElement("span", {
12616
12924
  className: "p-resizable-handle",
12617
12925
  style: {
12618
12926
  zIndex: 90
@@ -12700,6 +13008,8 @@ Dialog.defaultProps = {
12700
13008
  modal: true,
12701
13009
  onHide: null,
12702
13010
  onShow: null,
13011
+ headerStyle: null,
13012
+ headerClassName: null,
12703
13013
  contentStyle: null,
12704
13014
  contentClassName: null,
12705
13015
  closeOnEscape: true,
@@ -13403,6 +13713,7 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
13403
13713
  return /*#__PURE__*/React.createElement("li", {
13404
13714
  key: key,
13405
13715
  role: "none",
13716
+ id: item.id,
13406
13717
  className: className,
13407
13718
  style: item.style,
13408
13719
  onMouseEnter: function onMouseEnter(event) {
@@ -13931,14 +14242,14 @@ var FirstPageLink = /*#__PURE__*/React.memo(function (props) {
13931
14242
  'p-disabled': props.disabled
13932
14243
  });
13933
14244
  var iconClassName = 'p-paginator-icon pi pi-angle-double-left';
13934
- var element = /*#__PURE__*/React.createElement("button", {
14245
+ var element = /*#__PURE__*/React.createElement(Button, {
13935
14246
  type: "button",
13936
14247
  className: className,
14248
+ icon: iconClassName,
13937
14249
  onClick: props.onClick,
13938
- disabled: props.disabled
13939
- }, /*#__PURE__*/React.createElement("span", {
13940
- className: iconClassName
13941
- }), /*#__PURE__*/React.createElement(Ripple, null));
14250
+ disabled: props.disabled,
14251
+ "aria-label": ariaLabel('firstPageLabel')
14252
+ });
13942
14253
 
13943
14254
  if (props.template) {
13944
14255
  var defaultOptions = {
@@ -14165,21 +14476,36 @@ var InputNumber = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
14165
14476
  if (inputRef.current) {
14166
14477
  var step = props.step * dir;
14167
14478
  var currentValue = parseValue(inputRef.current.value) || 0;
14168
- var newValue = validateValue(currentValue + step);
14169
- updateInput(newValue, null, 'spin');
14479
+ var newValue = validateValue(currentValue + step); // touch devices trigger the keyboard to display because of setSelectionRange
14480
+
14481
+ !DomHandler.isTouchDevice() && updateInput(newValue, null, 'spin');
14170
14482
  updateModel(event, newValue);
14171
14483
  handleOnChange(event, currentValue, newValue);
14172
14484
  }
14173
14485
  };
14174
14486
 
14487
+ var onUpButtonTouchStart = function onUpButtonTouchStart(event) {
14488
+ if (!props.disabled && !props.readOnly) {
14489
+ repeat(event, null, 1);
14490
+ event.preventDefault();
14491
+ }
14492
+ };
14493
+
14175
14494
  var onUpButtonMouseDown = function onUpButtonMouseDown(event) {
14176
14495
  if (!props.disabled && !props.readOnly) {
14177
- inputRef.current.focus();
14496
+ props.autoFocus && DomHandler.focus(inputRef.current, props.autoFocus);
14178
14497
  repeat(event, null, 1);
14179
14498
  event.preventDefault();
14180
14499
  }
14181
14500
  };
14182
14501
 
14502
+ var onUpButtonTouchEnd = function onUpButtonTouchEnd() {
14503
+ if (!props.disabled && !props.readOnly) {
14504
+ clearTimer();
14505
+ event.preventDefault();
14506
+ }
14507
+ };
14508
+
14183
14509
  var onUpButtonMouseUp = function onUpButtonMouseUp() {
14184
14510
  if (!props.disabled && !props.readOnly) {
14185
14511
  clearTimer();
@@ -14204,9 +14530,23 @@ var InputNumber = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
14204
14530
  }
14205
14531
  };
14206
14532
 
14533
+ var onDownButtonTouchStart = function onDownButtonTouchStart(event) {
14534
+ if (!props.disabled && !props.readOnly) {
14535
+ repeat(event, null, -1);
14536
+ event.preventDefault();
14537
+ }
14538
+ };
14539
+
14540
+ var onDownButtonTouchEnd = function onDownButtonTouchEnd() {
14541
+ if (!props.disabled && !props.readOnly) {
14542
+ clearTimer();
14543
+ event.preventDefault();
14544
+ }
14545
+ };
14546
+
14207
14547
  var onDownButtonMouseDown = function onDownButtonMouseDown(event) {
14208
14548
  if (!props.disabled && !props.readOnly) {
14209
- inputRef.current.focus();
14549
+ props.autoFocus && DomHandler.focus(inputRef.current, props.autoFocus);
14210
14550
  repeat(event, null, -1);
14211
14551
  event.preventDefault();
14212
14552
  }
@@ -14950,6 +15290,8 @@ var InputNumber = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
14950
15290
  onMouseUp: onUpButtonMouseUp,
14951
15291
  onKeyDown: onUpButtonKeyDown,
14952
15292
  onKeyUp: onUpButtonKeyUp,
15293
+ onTouchStart: onUpButtonTouchStart,
15294
+ onTouchEnd: onUpButtonTouchEnd,
14953
15295
  disabled: props.disabled,
14954
15296
  tabIndex: -1
14955
15297
  }, /*#__PURE__*/React.createElement("span", {
@@ -14970,6 +15312,8 @@ var InputNumber = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
14970
15312
  onMouseUp: onDownButtonMouseUp,
14971
15313
  onKeyDown: onDownButtonKeyDown,
14972
15314
  onKeyUp: onDownButtonKeyUp,
15315
+ onTouchStart: onDownButtonTouchStart,
15316
+ onTouchEnd: onDownButtonTouchEnd,
14973
15317
  disabled: props.disabled,
14974
15318
  tabIndex: -1
14975
15319
  }, /*#__PURE__*/React.createElement("span", {
@@ -15109,14 +15453,14 @@ var LastPageLink = /*#__PURE__*/React.memo(function (props) {
15109
15453
  'p-disabled': props.disabled
15110
15454
  });
15111
15455
  var iconClassName = 'p-paginator-icon pi pi-angle-double-right';
15112
- var element = /*#__PURE__*/React.createElement("button", {
15456
+ var element = /*#__PURE__*/React.createElement(Button, {
15113
15457
  type: "button",
15114
15458
  className: className,
15459
+ icon: iconClassName,
15115
15460
  onClick: props.onClick,
15116
- disabled: props.disabled
15117
- }, /*#__PURE__*/React.createElement("span", {
15118
- className: iconClassName
15119
- }), /*#__PURE__*/React.createElement(Ripple, null));
15461
+ disabled: props.disabled,
15462
+ "aria-label": ariaLabel('lastPageLabel')
15463
+ });
15120
15464
 
15121
15465
  if (props.template) {
15122
15466
  var defaultOptions = {
@@ -15145,14 +15489,14 @@ var NextPageLink = /*#__PURE__*/React.memo(function (props) {
15145
15489
  'p-disabled': props.disabled
15146
15490
  });
15147
15491
  var iconClassName = 'p-paginator-icon pi pi-angle-right';
15148
- var element = /*#__PURE__*/React.createElement("button", {
15492
+ var element = /*#__PURE__*/React.createElement(Button, {
15149
15493
  type: "button",
15150
15494
  className: className,
15495
+ icon: iconClassName,
15151
15496
  onClick: props.onClick,
15152
- disabled: props.disabled
15153
- }, /*#__PURE__*/React.createElement("span", {
15154
- className: iconClassName
15155
- }), /*#__PURE__*/React.createElement(Ripple, null));
15497
+ disabled: props.disabled,
15498
+ "aria-label": ariaLabel('nextPageLabel')
15499
+ });
15156
15500
 
15157
15501
  if (props.template) {
15158
15502
  var defaultOptions = {
@@ -15199,13 +15543,14 @@ var PageLinks = /*#__PURE__*/React.memo(function (props) {
15199
15543
  'p-paginator-page-end': pageLink === endPageInView,
15200
15544
  'p-highlight': pageLink - 1 === props.page
15201
15545
  });
15202
- var element = /*#__PURE__*/React.createElement("button", {
15546
+ var element = /*#__PURE__*/React.createElement(Button, {
15203
15547
  type: "button",
15204
15548
  className: className,
15205
15549
  onClick: function onClick(e) {
15206
15550
  return onPageLinkClick(e, pageLink);
15207
- }
15208
- }, pageLink, /*#__PURE__*/React.createElement(Ripple, null));
15551
+ },
15552
+ "aria-label": "".concat(ariaLabel('pageLabel'), " ").concat(pageLink + 1)
15553
+ }, pageLink);
15209
15554
 
15210
15555
  if (props.template) {
15211
15556
  var defaultOptions = {
@@ -15252,14 +15597,14 @@ var PrevPageLink = /*#__PURE__*/React.memo(function (props) {
15252
15597
  'p-disabled': props.disabled
15253
15598
  });
15254
15599
  var iconClassName = 'p-paginator-icon pi pi-angle-left';
15255
- var element = /*#__PURE__*/React.createElement("button", {
15600
+ var element = /*#__PURE__*/React.createElement(Button, {
15256
15601
  type: "button",
15257
15602
  className: className,
15603
+ icon: iconClassName,
15258
15604
  onClick: props.onClick,
15259
- disabled: props.disabled
15260
- }, /*#__PURE__*/React.createElement("span", {
15261
- className: iconClassName
15262
- }), /*#__PURE__*/React.createElement(Ripple, null));
15605
+ disabled: props.disabled,
15606
+ "aria-label": ariaLabel('previousPageLabel')
15607
+ });
15263
15608
 
15264
15609
  if (props.template) {
15265
15610
  var defaultOptions = {
@@ -15301,6 +15646,7 @@ var DropdownItem = /*#__PURE__*/React.memo(function (props) {
15301
15646
  var content = props.template ? ObjectUtils.getJSXElement(props.template, props.option) : props.label;
15302
15647
  return /*#__PURE__*/React.createElement("li", {
15303
15648
  className: className,
15649
+ style: props.style,
15304
15650
  onClick: onClick,
15305
15651
  "aria-label": props.label,
15306
15652
  key: props.label,
@@ -15335,7 +15681,7 @@ var DropdownPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
15335
15681
  var onEntered = function onEntered() {
15336
15682
  props.onEntered(function () {
15337
15683
  if (props.filter && props.filterInputAutoFocus) {
15338
- filterInputRef.current.focus();
15684
+ DomHandler.focus(filterInputRef.current, false);
15339
15685
  }
15340
15686
  });
15341
15687
  };
@@ -15345,7 +15691,7 @@ var DropdownPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
15345
15691
  props.onFilterInputChange && props.onFilterInputChange(event);
15346
15692
  };
15347
15693
 
15348
- var createGroupChildren = function createGroupChildren(optionGroup) {
15694
+ var createGroupChildren = function createGroupChildren(optionGroup, style) {
15349
15695
  var groupChildren = props.getOptionGroupChildren(optionGroup);
15350
15696
  return groupChildren.map(function (option, j) {
15351
15697
  var optionLabel = props.getOptionLabel(option);
@@ -15355,6 +15701,7 @@ var DropdownPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
15355
15701
  key: optionKey,
15356
15702
  label: optionLabel,
15357
15703
  option: option,
15704
+ style: style,
15358
15705
  template: props.itemTemplate,
15359
15706
  selected: props.isSelected(option),
15360
15707
  disabled: disabled,
@@ -15371,14 +15718,20 @@ var DropdownPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
15371
15718
  };
15372
15719
 
15373
15720
  var createItem = function createItem(option, index) {
15721
+ var scrollerOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
15722
+ var style = {
15723
+ height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
15724
+ };
15725
+
15374
15726
  if (props.optionGroupLabel) {
15375
15727
  var groupContent = props.optionGroupTemplate ? ObjectUtils.getJSXElement(props.optionGroupTemplate, option, index) : props.getOptionGroupLabel(option);
15376
- var groupChildrenContent = createGroupChildren(option);
15728
+ var groupChildrenContent = createGroupChildren(option, style);
15377
15729
  var key = index + '_' + props.getOptionGroupRenderKey(option);
15378
15730
  return /*#__PURE__*/React.createElement(React.Fragment, {
15379
15731
  key: key
15380
15732
  }, /*#__PURE__*/React.createElement("li", {
15381
- className: "p-dropdown-item-group"
15733
+ className: "p-dropdown-item-group",
15734
+ style: style
15382
15735
  }, groupContent), groupChildrenContent);
15383
15736
  } else {
15384
15737
  var optionLabel = props.getOptionLabel(option);
@@ -15388,6 +15741,7 @@ var DropdownPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
15388
15741
  key: optionKey,
15389
15742
  label: optionLabel,
15390
15743
  option: option,
15744
+ style: style,
15391
15745
  template: props.itemTemplate,
15392
15746
  selected: props.isSelected(option),
15393
15747
  disabled: disabled,
@@ -15412,7 +15766,7 @@ var DropdownPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
15412
15766
  className: "p-dropdown-filter-clear-icon pi pi-times",
15413
15767
  onClick: function onClick() {
15414
15768
  return props.onFilterClearIconClick(function () {
15415
- return filterInputRef.current.focus();
15769
+ return DomHandler.focus(filterInputRef.current);
15416
15770
  });
15417
15771
  }
15418
15772
  });
@@ -15456,13 +15810,14 @@ var DropdownPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
15456
15810
  }),
15457
15811
  className: classNames('p-dropdown-items-wrapper', props.virtualScrollerOptions.className),
15458
15812
  items: props.visibleOptions,
15813
+ autoSize: true,
15459
15814
  onLazyLoad: function onLazyLoad(event) {
15460
15815
  return props.virtualScrollerOptions.onLazyLoad(_objectSpread$o(_objectSpread$o({}, event), {
15461
15816
  filter: props.filterValue
15462
15817
  }));
15463
15818
  },
15464
15819
  itemTemplate: function itemTemplate(item, options) {
15465
- return item && createItem(item, options.index);
15820
+ return item && createItem(item, options.index, options);
15466
15821
  },
15467
15822
  contentTemplate: function contentTemplate(options) {
15468
15823
  var className = classNames('p-dropdown-items', options.className);
@@ -15629,7 +15984,7 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
15629
15984
  if (DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') || event.target.tagName === 'INPUT') {
15630
15985
  return;
15631
15986
  } else if (!overlayRef.current || !(overlayRef.current && overlayRef.current.contains(event.target))) {
15632
- focusInputRef.current.focus();
15987
+ DomHandler.focus(focusInputRef.current);
15633
15988
  overlayVisibleState ? hide() : show();
15634
15989
  }
15635
15990
  };
@@ -15666,16 +16021,11 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
15666
16021
  case 38:
15667
16022
  onUpKey(event);
15668
16023
  break;
15669
- //space
16024
+ //space and enter
15670
16025
 
15671
16026
  case 32:
15672
- overlayVisibleState ? hide() : show();
15673
- event.preventDefault();
15674
- break;
15675
- //enter
15676
-
15677
16027
  case 13:
15678
- hide();
16028
+ overlayVisibleState ? hide() : show();
15679
16029
  event.preventDefault();
15680
16030
  break;
15681
16031
  //escape and tab
@@ -15907,7 +16257,7 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
15907
16257
 
15908
16258
  if (!option.disabled) {
15909
16259
  selectItem(event);
15910
- focusInputRef.current.focus();
16260
+ DomHandler.focus(focusInputRef.current);
15911
16261
  }
15912
16262
 
15913
16263
  hide();
@@ -15976,11 +16326,13 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
15976
16326
  }
15977
16327
  };
15978
16328
 
15979
- var getSelectedOptionIndex = function getSelectedOptionIndex() {
15980
- if (props.value != null && visibleOptions) {
16329
+ var getSelectedOptionIndex = function getSelectedOptionIndex(options) {
16330
+ options = options || visibleOptions;
16331
+
16332
+ if (props.value != null && options) {
15981
16333
  if (props.optionGroupLabel) {
15982
- for (var i = 0; i < visibleOptions.length; i++) {
15983
- var selectedOptionIndex = findOptionIndexInList(props.value, getOptionGroupChildren(visibleOptions[i]));
16334
+ for (var i = 0; i < options.length; i++) {
16335
+ var selectedOptionIndex = findOptionIndexInList(props.value, getOptionGroupChildren(options[i]));
15984
16336
 
15985
16337
  if (selectedOptionIndex !== -1) {
15986
16338
  return {
@@ -15990,7 +16342,7 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
15990
16342
  }
15991
16343
  }
15992
16344
  } else {
15993
- return findOptionIndexInList(props.value, visibleOptions);
16345
+ return findOptionIndexInList(props.value, options);
15994
16346
  }
15995
16347
  }
15996
16348
 
@@ -16055,7 +16407,7 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
16055
16407
  if (highlightItem && highlightItem.scrollIntoView) {
16056
16408
  highlightItem.scrollIntoView({
16057
16409
  block: 'nearest',
16058
- inline: 'start'
16410
+ inline: 'nearest'
16059
16411
  });
16060
16412
  }
16061
16413
  };
@@ -16107,16 +16459,16 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
16107
16459
  };
16108
16460
 
16109
16461
  var getSelectedOption = function getSelectedOption() {
16110
- var index = getSelectedOptionIndex();
16111
- return index !== -1 ? props.optionGroupLabel ? getOptionGroupChildren(visibleOptions[index.group])[index.option] : visibleOptions[index] : null;
16462
+ var index = getSelectedOptionIndex(props.options);
16463
+ return index !== -1 ? props.optionGroupLabel ? getOptionGroupChildren(props.options[index.group])[index.option] : props.options[index] : null;
16112
16464
  };
16113
16465
 
16114
16466
  React.useEffect(function () {
16115
16467
  ObjectUtils.combinedRefs(inputRef, props.inputRef);
16116
16468
  }, [inputRef, props.inputRef]);
16117
16469
  useMountEffect(function () {
16118
- if (props.autoFocus && focusInputRef.current) {
16119
- focusInputRef.current.focus();
16470
+ if (props.autoFocus) {
16471
+ DomHandler.focus(focusInputRef.current, props.autoFocus);
16120
16472
  }
16121
16473
  });
16122
16474
  useUpdateEffect(function () {
@@ -16769,7 +17121,7 @@ var RowRadioButton = /*#__PURE__*/React.memo(function (props) {
16769
17121
  var onClick = function onClick(event) {
16770
17122
  if (!props.disabled) {
16771
17123
  props.onChange(event);
16772
- inputRef.current.focus();
17124
+ DomHandler.focus(inputRef.current);
16773
17125
  }
16774
17126
  };
16775
17127
 
@@ -17439,6 +17791,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
17439
17791
  };
17440
17792
  content = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", {
17441
17793
  type: "button",
17794
+ name: "row-save",
17442
17795
  onClick: rowEditorProps.onSaveClick,
17443
17796
  className: rowEditorProps.saveClassName,
17444
17797
  tabIndex: props.tabIndex
@@ -17446,6 +17799,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
17446
17799
  className: rowEditorProps.saveIconClassName
17447
17800
  }), /*#__PURE__*/React.createElement(Ripple, null)), /*#__PURE__*/React.createElement("button", {
17448
17801
  type: "button",
17802
+ name: "row-cancel",
17449
17803
  onClick: rowEditorProps.onCancelClick,
17450
17804
  className: rowEditorProps.cancelClassName,
17451
17805
  tabIndex: props.tabIndex
@@ -17461,6 +17815,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
17461
17815
  };
17462
17816
  content = /*#__PURE__*/React.createElement("button", {
17463
17817
  type: "button",
17818
+ name: "row-edit",
17464
17819
  onClick: rowEditorProps.onInitClick,
17465
17820
  className: rowEditorProps.initClassName,
17466
17821
  tabIndex: props.tabIndex
@@ -17926,12 +18281,16 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
17926
18281
  }),
17927
18282
  'p-row-odd': props.index % 2 !== 0
17928
18283
  });
18284
+ var style = {
18285
+ height: props.virtualScrollerOptions ? props.virtualScrollerOptions.itemSize : undefined
18286
+ };
17929
18287
  var content = createContent();
17930
18288
  var tabIndex = getTabIndex();
17931
18289
  return /*#__PURE__*/React.createElement("tr", {
17932
18290
  role: "row",
17933
18291
  tabIndex: tabIndex,
17934
18292
  className: className,
18293
+ style: style,
17935
18294
  onMouseDown: onMouseDown,
17936
18295
  onMouseUp: onMouseUp,
17937
18296
  onClick: onClick,
@@ -17973,14 +18332,14 @@ var _excluded = ["originalEvent"];
17973
18332
  function ownKeys$k(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17974
18333
 
17975
18334
  function _objectSpread$k(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$k(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$k(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17976
- var TableBody = /*#__PURE__*/React.memo(function (props) {
18335
+ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
17977
18336
  var _React$useState = React.useState({}),
17978
18337
  _React$useState2 = _slicedToArray(_React$useState, 2),
17979
18338
  rowGroupHeaderStyleObjectState = _React$useState2[0],
17980
18339
  setRowGroupHeaderStyleObjectState = _React$useState2[1];
17981
18340
 
17982
18341
  var elementRef = React.useRef(null);
17983
- var ref = React.useCallback(function (el) {
18342
+ var refCallback = React.useCallback(function (el) {
17984
18343
  elementRef.current = el;
17985
18344
  props.virtualScrollerContentRef && props.virtualScrollerContentRef(el);
17986
18345
  }, [props]);
@@ -18634,9 +18993,12 @@ var TableBody = /*#__PURE__*/React.memo(function (props) {
18634
18993
  var onRowDragStart = function onRowDragStart(e) {
18635
18994
  var event = e.originalEvent,
18636
18995
  index = e.index;
18637
- rowDragging.current = true;
18638
- draggedRowIndex.current = index;
18639
- event.dataTransfer.setData('text', 'b'); // For firefox
18996
+
18997
+ if (allowRowDrag(event)) {
18998
+ rowDragging.current = true;
18999
+ draggedRowIndex.current = index;
19000
+ event.dataTransfer.setData('text', 'b'); // For firefox
19001
+ }
18640
19002
  };
18641
19003
 
18642
19004
  var onRowDragOver = function onRowDragOver(e) {
@@ -19032,10 +19394,10 @@ var TableBody = /*#__PURE__*/React.memo(function (props) {
19032
19394
  var className = classNames('p-datatable-tbody', props.className);
19033
19395
  var content = props.empty ? createEmptyContent() : createContent();
19034
19396
  return /*#__PURE__*/React.createElement("tbody", {
19035
- ref: ref,
19397
+ ref: refCallback,
19036
19398
  className: className
19037
19399
  }, content);
19038
- });
19400
+ }));
19039
19401
  TableBody.displayName = 'TableBody';
19040
19402
 
19041
19403
  function ownKeys$j(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -19085,7 +19447,8 @@ var FooterCell = /*#__PURE__*/React.memo(function (props) {
19085
19447
  styleObject['left'] = left + 'px';
19086
19448
  }
19087
19449
 
19088
- setStyleObjectState(styleObject);
19450
+ var isSameStyle = styleObjectState['left'] === styleObject['left'] && styleObjectState['right'] === styleObject['right'];
19451
+ !isSameStyle && setStyleObjectState(styleObject);
19089
19452
  }
19090
19453
  };
19091
19454
 
@@ -20322,14 +20685,15 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
20322
20685
  var sortMeta = getSortMeta();
20323
20686
  var style = getStyle();
20324
20687
  var align = getColumnProp('alignHeader') || getColumnProp('align');
20688
+ var frozen = getColumnProp('frozen');
20325
20689
  var className = classNames(getColumnProp('headerClassName'), getColumnProp('className'), _defineProperty({
20326
20690
  'p-sortable-column': getColumnProp('sortable'),
20327
- 'p-resizable-column': props.resizableColumns,
20691
+ 'p-resizable-column': props.resizableColumns && getColumnProp('resizeable'),
20328
20692
  'p-highlight': sortMeta.sorted,
20329
- 'p-frozen-column': getColumnProp('frozen'),
20693
+ 'p-frozen-column': frozen,
20330
20694
  'p-selection-column': getColumnProp('selectionMode'),
20331
20695
  'p-sortable-disabled': getColumnProp('sortable') && _isSortableDisabled,
20332
- 'p-reorderable-column': props.reorderableColumns && getColumnProp('reorderable')
20696
+ 'p-reorderable-column': props.reorderableColumns && getColumnProp('reorderable') && !frozen
20333
20697
  }, "p-align-".concat(align), !!align));
20334
20698
  var tabIndex = getColumnProp('sortable') && !_isSortableDisabled ? props.tabIndex : null;
20335
20699
  var colSpan = getColumnProp('colSpan');
@@ -20618,6 +20982,9 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
20618
20982
  var elementRef = React.useRef(null);
20619
20983
  var tableRef = React.useRef(null);
20620
20984
  var wrapperRef = React.useRef(null);
20985
+ var bodyRef = React.useRef(null);
20986
+ var frozenBodyRef = React.useRef(null);
20987
+ var virtualScrollerRef = React.useRef(null);
20621
20988
  var reorderIndicatorUpRef = React.useRef(null);
20622
20989
  var reorderIndicatorDownRef = React.useRef(null);
20623
20990
  var colReorderIconWidth = React.useRef(null);
@@ -21113,8 +21480,22 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21113
21480
  }
21114
21481
  } else if (props.columnResizeMode === 'expand') {
21115
21482
  var tableWidth = tableRef.current.offsetWidth + delta + 'px';
21116
- tableRef.current.style.width = tableWidth;
21117
- tableRef.current.style.minWidth = tableWidth;
21483
+
21484
+ var updateTableWidth = function updateTableWidth(el) {
21485
+ !!el && (el.style.width = el.style.minWidth = tableWidth);
21486
+ };
21487
+
21488
+ updateTableWidth(tableRef.current);
21489
+
21490
+ if (!isVirtualScrollerDisabled()) {
21491
+ updateTableWidth(bodyRef.current);
21492
+ updateTableWidth(frozenBodyRef.current);
21493
+
21494
+ if (wrapperRef.current) {
21495
+ updateTableWidth(DomHandler.findSingle(wrapperRef.current, '.p-virtualscroller-content'));
21496
+ }
21497
+ }
21498
+
21118
21499
  resizeTableCells(newColumnWidth);
21119
21500
  }
21120
21501
 
@@ -21171,7 +21552,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21171
21552
  var event = e.originalEvent,
21172
21553
  column = e.column;
21173
21554
 
21174
- if (props.reorderableColumns && getColumnProp(column, 'reorderable') !== false) {
21555
+ if (props.reorderableColumns && getColumnProp(column, 'reorderable') !== false && !getColumnProp(column, 'frozen')) {
21175
21556
  if (event.target.nodeName === 'INPUT' || event.target.nodeName === 'TEXTAREA' || DomHandler.hasClass(event.target, 'p-column-resizer')) event.currentTarget.draggable = false;else event.currentTarget.draggable = true;
21176
21557
  }
21177
21558
  };
@@ -21234,10 +21615,11 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21234
21615
  };
21235
21616
 
21236
21617
  var onColumnHeaderDragOver = function onColumnHeaderDragOver(e) {
21237
- var event = e.originalEvent;
21618
+ var event = e.originalEvent,
21619
+ column = e.column;
21238
21620
  var dropHeader = findParentHeader(event.currentTarget);
21239
21621
 
21240
- if (props.reorderableColumns && draggedColumnElement.current && dropHeader) {
21622
+ if (props.reorderableColumns && draggedColumnElement.current && dropHeader && !getColumnProp(column, 'frozen')) {
21241
21623
  event.preventDefault();
21242
21624
 
21243
21625
  if (draggedColumnElement.current !== dropHeader) {
@@ -21448,8 +21830,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21448
21830
  return props.removableSort ? props.defaultSortOrder === currentOrder ? currentOrder * -1 : 0 : currentOrder * -1;
21449
21831
  };
21450
21832
 
21451
- var compareValuesOnSort = function compareValuesOnSort(value1, value2) {
21452
- return ObjectUtils.sort(value1, value2, 1, PrimeReact.locale);
21833
+ var compareValuesOnSort = function compareValuesOnSort(value1, value2, order) {
21834
+ return ObjectUtils.sort(value1, value2, order, PrimeReact.locale);
21453
21835
  };
21454
21836
 
21455
21837
  var addSortMeta = function addSortMeta(meta, multiSortMeta) {
@@ -21487,7 +21869,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21487
21869
  var value = _toConsumableArray(data);
21488
21870
 
21489
21871
  if (columnSortable.current && columnSortFunction.current) {
21490
- value = columnSortFunction({
21872
+ value = columnSortFunction.current({
21873
+ rowData: value,
21491
21874
  field: field,
21492
21875
  order: order
21493
21876
  });
@@ -21495,8 +21878,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21495
21878
  value.sort(function (data1, data2) {
21496
21879
  var value1 = ObjectUtils.resolveFieldData(data1, field);
21497
21880
  var value2 = ObjectUtils.resolveFieldData(data2, field);
21498
- var result = compareValuesOnSort(value1, value2);
21499
- return order * result;
21881
+ return compareValuesOnSort(value1, value2, order);
21500
21882
  });
21501
21883
  }
21502
21884
 
@@ -21529,6 +21911,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21529
21911
  var field = columnField.current;
21530
21912
  var order = meta ? meta.order : defaultSortOrder;
21531
21913
  value = columnSortFunction.current({
21914
+ rowData: value,
21532
21915
  field: field,
21533
21916
  order: order
21534
21917
  });
@@ -21549,8 +21932,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21549
21932
  return multiSortMeta.length - 1 > index ? multisortField(data1, data2, multiSortMeta, index + 1) : 0;
21550
21933
  }
21551
21934
 
21552
- var result = compareValuesOnSort(value1, value2);
21553
- return multiSortMeta[index].order * result;
21935
+ return compareValuesOnSort(value1, value2, multiSortMeta[index].order);
21554
21936
  };
21555
21937
 
21556
21938
  var onFilterChange = function onFilterChange(filters) {
@@ -21929,7 +22311,9 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21929
22311
  }
21930
22312
  }, [props.responsiveLayout]);
21931
22313
  useUpdateEffect(function () {
21932
- filter(props.globalFilter, 'global', 'contains');
22314
+ if (props.globalFilter) {
22315
+ filter(props.globalFilter, 'global', 'contains');
22316
+ }
21933
22317
  }, [props.globalFilter]);
21934
22318
  useUnmountEffect(function () {
21935
22319
  unbindColumnResizeEvents();
@@ -22029,7 +22413,9 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
22029
22413
  columns = options.columns,
22030
22414
  contentRef = options.contentRef,
22031
22415
  className = options.className;
22416
+ options.itemSize;
22032
22417
  var frozenBody = props.frozenValue && /*#__PURE__*/React.createElement(TableBody, {
22418
+ ref: frozenBodyRef,
22033
22419
  value: props.frozenValue,
22034
22420
  className: "p-datatable-frozen-tbody",
22035
22421
  frozenRow: true,
@@ -22093,9 +22479,11 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
22093
22479
  expandedRowIcon: props.expandedRowIcon,
22094
22480
  collapsedRowIcon: props.collapsedRowIcon,
22095
22481
  rowClassName: props.rowClassName,
22482
+ virtualScrollerOptions: options,
22096
22483
  isVirtualScrollerDisabled: true
22097
22484
  });
22098
22485
  var body = /*#__PURE__*/React.createElement(TableBody, {
22486
+ ref: bodyRef,
22099
22487
  value: dataToRender(rows),
22100
22488
  className: className,
22101
22489
  empty: empty,
@@ -22188,10 +22576,15 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
22188
22576
  style: {
22189
22577
  maxHeight: _isVirtualScrollerDisabled ? props.scrollHeight : null
22190
22578
  }
22191
- }, /*#__PURE__*/React.createElement(VirtualScroller, _extends({}, virtualScrollerOptions, {
22579
+ }, /*#__PURE__*/React.createElement(VirtualScroller, _extends({
22580
+ ref: virtualScrollerRef
22581
+ }, virtualScrollerOptions, {
22192
22582
  items: processedData,
22193
22583
  columns: columns,
22194
- scrollHeight: props.scrollHeight,
22584
+ style: _objectSpread$f(_objectSpread$f({}, virtualScrollerOptions.style), {
22585
+ height: props.scrollHeight !== 'flex' ? props.scrollHeight : undefined
22586
+ }),
22587
+ scrollHeight: props.scrollHeight !== 'flex' ? undefined : '100%',
22195
22588
  disabled: _isVirtualScrollerDisabled,
22196
22589
  loaderDisabled: true,
22197
22590
  showSpacer: false,
@@ -23012,8 +23405,8 @@ var Editor = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pr
23012
23405
  useMountEffect(function () {
23013
23406
  if (!isQuillLoaded.current) {
23014
23407
  import('quill').then(function (module) {
23015
- if (module && module["default"] && DomHandler.isExist(contentRef.current)) {
23016
- quill.current = new module["default"](contentRef.current, {
23408
+ if (module && DomHandler.isExist(contentRef.current)) {
23409
+ var configuration = {
23017
23410
  modules: _objectSpread$e({
23018
23411
  toolbar: props.showHeader ? toolbarRef.current : false
23019
23412
  }, props.modules),
@@ -23021,7 +23414,15 @@ var Editor = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pr
23021
23414
  readOnly: props.readOnly,
23022
23415
  theme: props.theme,
23023
23416
  formats: props.formats
23024
- });
23417
+ };
23418
+
23419
+ if (module["default"]) {
23420
+ // webpack
23421
+ quill.current = new module["default"](contentRef.current, configuration);
23422
+ } else {
23423
+ // parceljs
23424
+ quill.current = new module(contentRef.current, configuration);
23425
+ }
23025
23426
 
23026
23427
  if (props.value) {
23027
23428
  quill.current.setContents(quill.current.clipboard.convert(props.value));
@@ -23442,7 +23843,7 @@ var Messages = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
23442
23843
 
23443
23844
  var show = function show(value) {
23444
23845
  if (value) {
23445
- var messages = [];
23846
+ var messages;
23446
23847
 
23447
23848
  if (Array.isArray(value)) {
23448
23849
  for (var i = 0; i < value.length; i++) {
@@ -23463,7 +23864,8 @@ var Messages = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
23463
23864
  };
23464
23865
 
23465
23866
  var replace = function replace(value) {
23466
- setMessagesState(value);
23867
+ var replaced = Array.isArray(value) ? value : [value];
23868
+ setMessagesState(replaced);
23467
23869
  };
23468
23870
 
23469
23871
  var onClose = function onClose(message) {
@@ -23539,8 +23941,7 @@ var ProgressBar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
23539
23941
  style: props.style,
23540
23942
  "aria-valuemin": "0",
23541
23943
  "aria-valuenow": props.value,
23542
- "aria-valuemax": "100",
23543
- "aria-label": props.value
23944
+ "aria-valuemax": "100"
23544
23945
  }, otherProps), /*#__PURE__*/React.createElement("div", {
23545
23946
  className: "p-progressbar-value p-progressbar-value-animate",
23546
23947
  style: {
@@ -23606,18 +24007,24 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23606
24007
  focusedState = _React$useState6[0],
23607
24008
  setFocusedState = _React$useState6[1];
23608
24009
 
24010
+ var _React$useState7 = React.useState(false),
24011
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
24012
+ uploadingState = _React$useState8[0],
24013
+ setUploadingState = _React$useState8[1];
24014
+
23609
24015
  var fileInputRef = React.useRef(null);
23610
24016
  var messagesRef = React.useRef(null);
23611
24017
  var contentRef = React.useRef(null);
23612
24018
  var duplicateIEEvent = React.useRef(false);
23613
24019
  var uploadedFileCount = React.useRef(0);
23614
24020
  var hasFiles = ObjectUtils.isNotEmpty(filesState);
24021
+ var disabled = props.disabled || uploadingState;
23615
24022
  var chooseButtonLabel = props.chooseLabel || props.chooseOptions.label || localeOption('choose');
23616
24023
  var uploadButtonLabel = props.uploadLabel || props.uploadOptions.label || localeOption('upload');
23617
24024
  var cancelButtonLabel = props.cancelLabel || props.cancelOptions.label || localeOption('cancel');
23618
- var chooseDisabled = props.disabled || props.fileLimit && props.fileLimit <= filesState.length + uploadedFileCount;
23619
- var uploadDisabled = props.disabled || !hasFiles;
23620
- var cancelDisabled = props.disabled || !hasFiles;
24025
+ var chooseDisabled = disabled || props.fileLimit && props.fileLimit <= filesState.length + uploadedFileCount;
24026
+ var uploadDisabled = disabled || !hasFiles;
24027
+ var cancelDisabled = disabled || !hasFiles;
23621
24028
 
23622
24029
  var isImage = function isImage(file) {
23623
24030
  return /^image\//.test(file.type);
@@ -23672,7 +24079,12 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23672
24079
  return;
23673
24080
  }
23674
24081
 
23675
- var currentFiles = filesState ? _toConsumableArray(filesState) : [];
24082
+ var currentFiles = [];
24083
+
24084
+ if (props.multiple) {
24085
+ currentFiles = filesState ? _toConsumableArray(filesState) : [];
24086
+ }
24087
+
23676
24088
  var selectedFiles = event.dataTransfer ? event.dataTransfer.files : event.target.files;
23677
24089
 
23678
24090
  for (var i = 0; i < selectedFiles.length; i++) {
@@ -23744,6 +24156,10 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23744
24156
  var upload = function upload(files) {
23745
24157
  files = files || filesState;
23746
24158
 
24159
+ if (files && files.nativeEvent) {
24160
+ files = filesState;
24161
+ }
24162
+
23747
24163
  if (props.customUpload) {
23748
24164
  if (props.fileLimit) {
23749
24165
  uploadedFileCount + files.length, _readOnlyError("uploadedFileCount");
@@ -23759,6 +24175,7 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23759
24175
  });
23760
24176
  }
23761
24177
  } else {
24178
+ setUploadingState(true);
23762
24179
  var xhr = new XMLHttpRequest();
23763
24180
  var formData = new FormData();
23764
24181
 
@@ -23800,6 +24217,7 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23800
24217
  xhr.onreadystatechange = function () {
23801
24218
  if (xhr.readyState === 4) {
23802
24219
  setProgressState(0);
24220
+ setUploadingState(false);
23803
24221
 
23804
24222
  if (xhr.status >= 200 && xhr.status < 300) {
23805
24223
  if (props.fileLimit) {
@@ -23841,6 +24259,7 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23841
24259
 
23842
24260
  var clear = function clear() {
23843
24261
  setFilesState([]);
24262
+ setUploadingState(false);
23844
24263
  props.onClear && props.onClear();
23845
24264
  clearInput();
23846
24265
  };
@@ -23865,7 +24284,7 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23865
24284
  };
23866
24285
 
23867
24286
  var onDragEnter = function onDragEnter(event) {
23868
- if (!props.disabled) {
24287
+ if (!disabled) {
23869
24288
  event.dataTransfer.dropEffect = 'copy';
23870
24289
  event.stopPropagation();
23871
24290
  event.preventDefault();
@@ -23873,7 +24292,7 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23873
24292
  };
23874
24293
 
23875
24294
  var onDragOver = function onDragOver(event) {
23876
- if (!props.disabled) {
24295
+ if (!disabled) {
23877
24296
  event.dataTransfer.dropEffect = 'copy';
23878
24297
  DomHandler.addClass(contentRef.current, 'p-fileupload-highlight');
23879
24298
  event.stopPropagation();
@@ -23882,25 +24301,32 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23882
24301
  };
23883
24302
 
23884
24303
  var onDragLeave = function onDragLeave(event) {
23885
- if (!props.disabled) {
24304
+ if (!disabled) {
23886
24305
  event.dataTransfer.dropEffect = 'copy';
23887
24306
  DomHandler.removeClass(contentRef.current, 'p-fileupload-highlight');
23888
24307
  }
23889
24308
  };
23890
24309
 
23891
24310
  var onDrop = function onDrop(event) {
23892
- if (!props.disabled) {
23893
- DomHandler.removeClass(contentRef.current, 'p-fileupload-highlight');
23894
- event.stopPropagation();
23895
- event.preventDefault();
23896
- var files = event.dataTransfer ? event.dataTransfer.files : event.target.files;
23897
- var allowDrop = props.multiple || files && files.length === 0;
23898
- allowDrop && onFileSelect(event);
24311
+ if (props.disabled) {
24312
+ return;
24313
+ }
24314
+
24315
+ DomHandler.removeClass(contentRef.current, 'p-fileupload-highlight');
24316
+ event.stopPropagation();
24317
+ event.preventDefault(); // give caller a chance to stop the drop
24318
+
24319
+ if (props.onBeforeDrop && props.onBeforeDrop(event) === false) {
24320
+ return;
23899
24321
  }
24322
+
24323
+ var files = event.dataTransfer ? event.dataTransfer.files : event.target.files;
24324
+ var allowDrop = props.multiple || ObjectUtils.isEmpty(filesState) && files && files.length === 1;
24325
+ allowDrop && onFileSelect(event);
23900
24326
  };
23901
24327
 
23902
24328
  var onSimpleUploaderClick = function onSimpleUploaderClick() {
23903
- hasFiles ? upload() : fileInputRef.current.click();
24329
+ !disabled && hasFiles ? upload() : fileInputRef.current.click();
23904
24330
  };
23905
24331
 
23906
24332
  React.useImperativeHandle(ref, function () {
@@ -23918,7 +24344,7 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23918
24344
  _icon = _props$chooseOptions.icon,
23919
24345
  iconOnly = _props$chooseOptions.iconOnly;
23920
24346
  var chooseClassName = classNames('p-button p-fileupload-choose p-component', {
23921
- 'p-disabled': props.disabled,
24347
+ 'p-disabled': disabled,
23922
24348
  'p-focus': focusedState,
23923
24349
  'p-button-icon-only': iconOnly
23924
24350
  }, className);
@@ -23972,7 +24398,8 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
23972
24398
  icon: "pi pi-times",
23973
24399
  onClick: function onClick(e) {
23974
24400
  return remove(e, index);
23975
- }
24401
+ },
24402
+ disabled: disabled
23976
24403
  }));
23977
24404
  var content = /*#__PURE__*/React.createElement(React.Fragment, null, preview, fileName, size, removeButton);
23978
24405
 
@@ -24099,7 +24526,7 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
24099
24526
  var className = classNames('p-fileupload p-fileupload-basic p-component', props.className);
24100
24527
  var buttonClassName = classNames('p-button p-component p-fileupload-choose', {
24101
24528
  'p-fileupload-choose-selected': hasFiles,
24102
- 'p-disabled': props.disabled,
24529
+ 'p-disabled': disabled,
24103
24530
  'p-focus': focusedState
24104
24531
  }, chooseOptions.className);
24105
24532
  var chooseIcon = chooseOptions.icon || classNames({
@@ -24129,7 +24556,7 @@ var FileUpload = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
24129
24556
  type: "file",
24130
24557
  accept: props.accept,
24131
24558
  multiple: props.multiple,
24132
- disabled: props.disabled,
24559
+ disabled: disabled,
24133
24560
  onChange: onFileSelect
24134
24561
  });
24135
24562
  return /*#__PURE__*/React.createElement("div", _extends({
@@ -24203,6 +24630,7 @@ FileUpload.defaultProps = {
24203
24630
  progressBarTemplate: null,
24204
24631
  onBeforeUpload: null,
24205
24632
  onBeforeSend: null,
24633
+ onBeforeDrop: null,
24206
24634
  onUpload: null,
24207
24635
  onError: null,
24208
24636
  onClear: null,
@@ -24235,6 +24663,7 @@ var FullCalendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
24235
24663
  };
24236
24664
 
24237
24665
  useMountEffect(function () {
24666
+ // eslint-disable-next-line no-console
24238
24667
  console.warn("FullCalendar component is deprecated. Use FullCalendar component of '@fullcalendar/react' package.");
24239
24668
  config.current = {
24240
24669
  theme: true
@@ -25499,12 +25928,12 @@ var Image = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
25499
25928
  width: width,
25500
25929
  height: height,
25501
25930
  style: props.imageStyle,
25502
- alt: alt
25931
+ alt: alt,
25932
+ onError: props.onError
25503
25933
  });
25504
25934
  return /*#__PURE__*/React.createElement("span", _extends({
25505
25935
  ref: elementRef,
25506
- className: containerClassName,
25507
- style: props.style
25936
+ className: containerClassName
25508
25937
  }, otherProps), image, preview, maskVisibleState && /*#__PURE__*/React.createElement(Portal, {
25509
25938
  element: element,
25510
25939
  appendTo: document.body
@@ -25516,14 +25945,14 @@ Image.defaultProps = {
25516
25945
  preview: false,
25517
25946
  className: null,
25518
25947
  downloadable: false,
25519
- style: null,
25520
25948
  imageStyle: null,
25521
25949
  imageClassName: null,
25522
25950
  template: null,
25523
25951
  src: null,
25524
25952
  alt: null,
25525
25953
  width: null,
25526
- height: null
25954
+ height: null,
25955
+ onError: null
25527
25956
  };
25528
25957
 
25529
25958
  var InplaceDisplay = function InplaceDisplay(props) {
@@ -25533,7 +25962,7 @@ var InplaceContent = function InplaceContent(props) {
25533
25962
  return props.children;
25534
25963
  };
25535
25964
  var Inplace = /*#__PURE__*/React.forwardRef(function (props, ref) {
25536
- var _React$useState = React.useState(false),
25965
+ var _React$useState = React.useState(props.active),
25537
25966
  _React$useState2 = _slicedToArray(_React$useState, 2),
25538
25967
  activeState = _React$useState2[0],
25539
25968
  setActiveState = _React$useState2[1];
@@ -25664,7 +26093,7 @@ Inplace.defaultProps = {
25664
26093
  };
25665
26094
 
25666
26095
  var InputMask = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
25667
- var elementRef = React.useRef(null);
26096
+ var elementRef = React.useRef(ref);
25668
26097
  var firstNonMaskPos = React.useRef(null);
25669
26098
  var lastRequiredNonMaskPos = React.useRef(0);
25670
26099
  var tests = React.useRef([]);
@@ -26185,8 +26614,8 @@ var InputMask = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
26185
26614
  };
26186
26615
 
26187
26616
  React.useEffect(function () {
26188
- ObjectUtils.combinedRefs(elementRef, props.inputRef);
26189
- }, [elementRef, props.inputRef]);
26617
+ ObjectUtils.combinedRefs(elementRef, ref);
26618
+ }, [elementRef, ref]);
26190
26619
  useMountEffect(function () {
26191
26620
  init();
26192
26621
  updateValue();
@@ -26194,7 +26623,10 @@ var InputMask = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
26194
26623
  useUpdateEffect(function () {
26195
26624
  init();
26196
26625
  caret(updateValue(true));
26197
- updateModel();
26626
+
26627
+ if (props.unmask) {
26628
+ updateModel();
26629
+ }
26198
26630
  }, [props.mask]);
26199
26631
  useUpdateEffect(function () {
26200
26632
  if (isValueUpdated()) {
@@ -26232,7 +26664,6 @@ InputMask.displayName = 'InputMask';
26232
26664
  InputMask.defaultProps = {
26233
26665
  __TYPE: 'InputMask',
26234
26666
  id: null,
26235
- inputRef: null,
26236
26667
  value: null,
26237
26668
  type: 'text',
26238
26669
  mask: null,
@@ -26273,7 +26704,7 @@ var InputSwitch = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
26273
26704
  }
26274
26705
 
26275
26706
  toggle(event);
26276
- inputRef.current.focus();
26707
+ DomHandler.focus(inputRef.current);
26277
26708
  event.preventDefault();
26278
26709
  };
26279
26710
 
@@ -26721,14 +27152,14 @@ var ListBoxHeader = /*#__PURE__*/React.memo(function (props) {
26721
27152
  className: "p-listbox-header"
26722
27153
  }, /*#__PURE__*/React.createElement("div", {
26723
27154
  className: "p-listbox-filter-container"
26724
- }, /*#__PURE__*/React.createElement(InputText, {
27155
+ }, /*#__PURE__*/React.createElement(InputText, _extends({
26725
27156
  type: "text",
26726
27157
  value: props.filter,
26727
27158
  onChange: onFilter,
26728
27159
  className: "p-listbox-filter",
26729
27160
  disabled: props.disabled,
26730
27161
  placeholder: props.filterPlaceholder
26731
- }), /*#__PURE__*/React.createElement("span", {
27162
+ }, props.filterInputProps)), /*#__PURE__*/React.createElement("span", {
26732
27163
  className: "p-listbox-filter-icon pi pi-search"
26733
27164
  })));
26734
27165
  });
@@ -26798,14 +27229,16 @@ var ListBoxItem = /*#__PURE__*/React.memo(function (props) {
26798
27229
  var content = props.template ? ObjectUtils.getJSXElement(props.template, props.option) : props.label;
26799
27230
  return /*#__PURE__*/React.createElement("li", {
26800
27231
  className: className,
27232
+ style: props.style,
26801
27233
  onClick: onClick,
26802
27234
  onTouchEnd: onTouchEnd,
26803
27235
  onKeyDown: onKeyDown,
26804
- tabIndex: props.tabIndex,
27236
+ tabIndex: "-1",
26805
27237
  "aria-label": props.label,
26806
27238
  key: props.label,
26807
27239
  role: "option",
26808
- "aria-selected": props.selected
27240
+ "aria-selected": props.selected,
27241
+ "aria-disabled": props.disabled
26809
27242
  }, content, /*#__PURE__*/React.createElement(Ripple, null));
26810
27243
  });
26811
27244
  ListBoxItem.displayName = 'ListBoxItem';
@@ -26916,6 +27349,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
26916
27349
  };
26917
27350
 
26918
27351
  var onFilter = function onFilter(event) {
27352
+ virtualScrollerRef.current && virtualScrollerRef.current.scrollToIndex(0);
26919
27353
  var originalEvent = event.originalEvent,
26920
27354
  value = event.value;
26921
27355
 
@@ -26951,11 +27385,44 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
26951
27385
  });
26952
27386
  };
26953
27387
 
27388
+ var getSelectedOptionIndex = function getSelectedOptionIndex() {
27389
+ if (props.value != null && visibleOptions) {
27390
+ if (props.optionGroupLabel) {
27391
+ for (var i = 0; i < visibleOptions.length; i++) {
27392
+ var selectedOptionIndex = findOptionIndexInList(props.value, getOptionGroupChildren(visibleOptions[i]));
27393
+
27394
+ if (selectedOptionIndex !== -1) {
27395
+ return {
27396
+ group: i,
27397
+ option: selectedOptionIndex
27398
+ };
27399
+ }
27400
+ }
27401
+ } else {
27402
+ return findOptionIndexInList(props.value, visibleOptions);
27403
+ }
27404
+ }
27405
+
27406
+ return -1;
27407
+ };
27408
+
27409
+ var equalityKey = function equalityKey() {
27410
+ return props.optionValue ? null : props.dataKey;
27411
+ };
27412
+
27413
+ var findOptionIndexInList = function findOptionIndexInList(value, list) {
27414
+ var key = equalityKey();
27415
+ return list.findIndex(function (item) {
27416
+ return ObjectUtils.equals(value, getOptionValue(item), key);
27417
+ });
27418
+ };
27419
+
26954
27420
  var isSelected = function isSelected(option) {
26955
27421
  var optionValue = getOptionValue(option);
27422
+ var key = equalityKey();
26956
27423
  return props.multiple && props.value ? props.value.some(function (val) {
26957
- return ObjectUtils.equals(val, optionValue, props.dataKey);
26958
- }) : ObjectUtils.equals(props.value, optionValue, props.dataKey);
27424
+ return ObjectUtils.equals(val, optionValue, key);
27425
+ }) : ObjectUtils.equals(props.value, optionValue, key);
26959
27426
  };
26960
27427
 
26961
27428
  var getOptionLabel = function getOptionLabel(option) {
@@ -27027,16 +27494,33 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
27027
27494
  }
27028
27495
  };
27029
27496
 
27497
+ var scrollToSelectedIndex = function scrollToSelectedIndex() {
27498
+ if (virtualScrollerRef.current) {
27499
+ var selectedIndex = getSelectedOptionIndex();
27500
+
27501
+ if (selectedIndex !== -1) {
27502
+ setTimeout(function () {
27503
+ return virtualScrollerRef.current.scrollToIndex(selectedIndex);
27504
+ }, 0);
27505
+ }
27506
+ }
27507
+ };
27508
+
27509
+ useMountEffect(function () {
27510
+ scrollToSelectedIndex();
27511
+ });
27512
+
27030
27513
  var createHeader = function createHeader() {
27031
27514
  return props.filter ? /*#__PURE__*/React.createElement(ListBoxHeader, {
27032
27515
  filter: filteredValue,
27033
27516
  onFilter: onFilter,
27034
27517
  disabled: props.disabled,
27035
- filterPlaceholder: props.filterPlaceholder
27518
+ filterPlaceholder: props.filterPlaceholder,
27519
+ filterInputProps: props.filterInputProps
27036
27520
  }) : null;
27037
27521
  };
27038
27522
 
27039
- var createGroupChildren = function createGroupChildren(optionGroup) {
27523
+ var createGroupChildren = function createGroupChildren(optionGroup, style) {
27040
27524
  var groupChildren = getOptionGroupChildren(optionGroup);
27041
27525
  return groupChildren.map(function (option, j) {
27042
27526
  var optionLabel = getOptionLabel(option);
@@ -27047,6 +27531,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
27047
27531
  key: optionKey,
27048
27532
  label: optionLabel,
27049
27533
  option: option,
27534
+ style: style,
27050
27535
  template: props.itemTemplate,
27051
27536
  selected: isSelected(option),
27052
27537
  onClick: onOptionSelect,
@@ -27058,14 +27543,21 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
27058
27543
  };
27059
27544
 
27060
27545
  var createItem = function createItem(option, index) {
27546
+ var scrollerOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
27547
+ var style = {
27548
+ height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
27549
+ };
27550
+
27061
27551
  if (props.optionGroupLabel) {
27062
27552
  var groupContent = props.optionGroupTemplate ? ObjectUtils.getJSXElement(props.optionGroupTemplate, option, index) : getOptionGroupLabel(option);
27063
- var groupChildrenContent = createGroupChildren(option);
27553
+ var groupChildrenContent = createGroupChildren(option, style);
27064
27554
  var key = index + '_' + getOptionGroupRenderKey(option);
27065
27555
  return /*#__PURE__*/React.createElement(React.Fragment, {
27066
27556
  key: key
27067
27557
  }, /*#__PURE__*/React.createElement("li", {
27068
- className: "p-listbox-item-group"
27558
+ className: "p-listbox-item-group",
27559
+ style: style,
27560
+ role: "group"
27069
27561
  }, groupContent), groupChildrenContent);
27070
27562
  } else {
27071
27563
  var optionLabel = getOptionLabel(option);
@@ -27076,6 +27568,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
27076
27568
  key: optionKey,
27077
27569
  label: optionLabel,
27078
27570
  option: option,
27571
+ style: style,
27079
27572
  template: props.itemTemplate,
27080
27573
  selected: isSelected(option),
27081
27574
  onClick: onOptionSelect,
@@ -27099,8 +27592,8 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
27099
27592
  filter: visibleOptions
27100
27593
  }));
27101
27594
  },
27102
- itemTemplate: function itemTemplate(item, option) {
27103
- return item && createItem(item, option.index);
27595
+ itemTemplate: function itemTemplate(item, options) {
27596
+ return item && createItem(item, options.index, options);
27104
27597
  },
27105
27598
  contentTemplate: function contentTemplate(option) {
27106
27599
  var className = classNames('p-listbox-list', option.className);
@@ -27108,7 +27601,9 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
27108
27601
  ref: option.contentRef,
27109
27602
  className: className,
27110
27603
  role: "listbox",
27111
- "aria-multiselectable": props.multiple
27604
+ "aria-multiselectable": props.multiple,
27605
+ "aria-labelledby": props['aria-labelledby'],
27606
+ "aria-label": props['aria-label']
27112
27607
  }, option.children);
27113
27608
  }
27114
27609
  });
@@ -27121,7 +27616,9 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
27121
27616
  return /*#__PURE__*/React.createElement("ul", {
27122
27617
  className: "p-listbox-list",
27123
27618
  role: "listbox",
27124
- "aria-multiselectable": props.multiple
27619
+ "aria-multiselectable": props.multiple,
27620
+ "aria-labelledby": props['aria-labelledby'],
27621
+ "aria-label": props['aria-label']
27125
27622
  }, items);
27126
27623
  }
27127
27624
  };
@@ -27176,10 +27673,12 @@ ListBox.defaultProps = {
27176
27673
  filterMatchMode: 'contains',
27177
27674
  filterPlaceholder: null,
27178
27675
  filterLocale: undefined,
27676
+ filterInputProps: null,
27179
27677
  tabIndex: 0,
27180
27678
  tooltip: null,
27181
27679
  tooltipOptions: null,
27182
- ariaLabelledBy: null,
27680
+ 'aria-label': null,
27681
+ 'aria-labelledby': null,
27183
27682
  onChange: null,
27184
27683
  onFilterValueChange: null
27185
27684
  };
@@ -27437,6 +27936,7 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
27437
27936
 
27438
27937
  return /*#__PURE__*/React.createElement("li", {
27439
27938
  key: key,
27939
+ id: item.id,
27440
27940
  className: _className2,
27441
27941
  style: item.style,
27442
27942
  role: "none"
@@ -27452,6 +27952,7 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
27452
27952
  return /*#__PURE__*/React.createElement(React.Fragment, {
27453
27953
  key: submenu.label
27454
27954
  }, /*#__PURE__*/React.createElement("li", {
27955
+ id: submenu.id,
27455
27956
  className: className,
27456
27957
  style: submenu.style,
27457
27958
  role: "presentation"
@@ -27518,6 +28019,7 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
27518
28019
  var panel = createCategoryPanel(category);
27519
28020
  return /*#__PURE__*/React.createElement("li", {
27520
28021
  key: category.label + '_' + index,
28022
+ id: category.id,
27521
28023
  className: className,
27522
28024
  style: category.style,
27523
28025
  onMouseEnter: function onMouseEnter(e) {
@@ -27541,19 +28043,36 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
27541
28043
 
27542
28044
  var createMenu = function createMenu() {
27543
28045
  if (props.model) {
27544
- return props.model.map(function (item, index) {
28046
+ return /*#__PURE__*/React.createElement("ul", {
28047
+ className: "p-megamenu-root-list",
28048
+ role: "menubar"
28049
+ }, props.model.map(function (item, index) {
27545
28050
  return createCategory(item, index);
27546
- });
28051
+ }));
27547
28052
  }
27548
28053
 
27549
28054
  return null;
27550
28055
  };
27551
28056
 
27552
- var createCustomContent = function createCustomContent() {
27553
- if (props.children) {
28057
+ var createStartContent = function createStartContent() {
28058
+ if (props.start) {
28059
+ var _start = ObjectUtils.getJSXElement(props.start, props);
28060
+
27554
28061
  return /*#__PURE__*/React.createElement("div", {
27555
- className: "p-megamenu-custom"
27556
- }, props.children);
28062
+ className: "p-megamenu-start"
28063
+ }, _start);
28064
+ }
28065
+
28066
+ return null;
28067
+ };
28068
+
28069
+ var createEndContent = function createEndContent() {
28070
+ if (props.end) {
28071
+ var _end = ObjectUtils.getJSXElement(props.end, props);
28072
+
28073
+ return /*#__PURE__*/React.createElement("div", {
28074
+ className: "p-megamenu-end"
28075
+ }, _end);
27557
28076
  }
27558
28077
 
27559
28078
  return null;
@@ -27565,16 +28084,14 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
27565
28084
  'p-megamenu-vertical': props.orientation === 'vertical'
27566
28085
  }, props.className);
27567
28086
  var menu = createMenu();
27568
- var customContent = createCustomContent();
28087
+ var start = createStartContent();
28088
+ var end = createEndContent();
27569
28089
  return /*#__PURE__*/React.createElement("div", _extends({
27570
28090
  ref: elementRef,
27571
28091
  id: props.id,
27572
28092
  className: className,
27573
28093
  style: props.style
27574
- }, otherProps), /*#__PURE__*/React.createElement("ul", {
27575
- className: "p-megamenu-root-list",
27576
- role: "menubar"
27577
- }, menu), customContent);
28094
+ }, otherProps), start, menu, end);
27578
28095
  }));
27579
28096
  MegaMenu.displayName = 'MegaMenu';
27580
28097
  MegaMenu.defaultProps = {
@@ -27583,7 +28100,9 @@ MegaMenu.defaultProps = {
27583
28100
  model: null,
27584
28101
  style: null,
27585
28102
  className: null,
27586
- orientation: 'horizontal'
28103
+ orientation: 'horizontal',
28104
+ start: null,
28105
+ end: null
27587
28106
  };
27588
28107
 
27589
28108
  function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -27808,7 +28327,7 @@ var Mention = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
27808
28327
  };
27809
28328
 
27810
28329
  var onItemClick = function onItemClick(event, suggestion) {
27811
- inputRef.current.focus();
28330
+ DomHandler.focus(inputRef.current);
27812
28331
  selectItem(event, suggestion);
27813
28332
  };
27814
28333
 
@@ -28010,10 +28529,12 @@ var Mention = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
28010
28529
  style: props.style
28011
28530
  }, /*#__PURE__*/React.createElement(InputTextarea, _extends({
28012
28531
  ref: inputRef,
28013
- id: props.inputId
28014
- }, inputProps, {
28532
+ id: props.inputId,
28533
+ "aria-labelledby": props['aria-labelledby'],
28534
+ "aria-label": props['aria-label'],
28015
28535
  className: inputClassName,
28016
- style: props.inputStyle,
28536
+ style: props.inputStyle
28537
+ }, inputProps, {
28017
28538
  onFocus: onFocus,
28018
28539
  onBlur: onBlur,
28019
28540
  onKeyDown: onKeyDown,
@@ -28043,6 +28564,8 @@ Mention.defaultProps = {
28043
28564
  headerTemplate: null,
28044
28565
  footerTemplate: null,
28045
28566
  itemTemplate: null,
28567
+ 'aria-label': null,
28568
+ 'aria-labelledby': null,
28046
28569
  transitionOptions: null,
28047
28570
  onChange: null,
28048
28571
  onInput: null,
@@ -28564,6 +29087,7 @@ var MenubarSub = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
28564
29087
  return /*#__PURE__*/React.createElement("li", {
28565
29088
  key: key,
28566
29089
  role: "none",
29090
+ id: item.id,
28567
29091
  className: className,
28568
29092
  style: item.style,
28569
29093
  onMouseEnter: function onMouseEnter(event) {
@@ -28885,6 +29409,7 @@ var MultiSelectItem = /*#__PURE__*/React.memo(function (props) {
28885
29409
  var tabIndex = props.disabled ? null : props.tabIndex || 0;
28886
29410
  return /*#__PURE__*/React.createElement("li", {
28887
29411
  className: className,
29412
+ style: props.style,
28888
29413
  onClick: onClick,
28889
29414
  tabIndex: tabIndex,
28890
29415
  onKeyDown: onKeyDown,
@@ -28957,7 +29482,7 @@ var MultiSelectPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fu
28957
29482
  return null;
28958
29483
  };
28959
29484
 
28960
- var createGroupChildren = function createGroupChildren(optionGroup) {
29485
+ var createGroupChildren = function createGroupChildren(optionGroup, style) {
28961
29486
  var groupChildren = props.getOptionGroupChildren(optionGroup);
28962
29487
  return groupChildren.map(function (option, j) {
28963
29488
  var optionLabel = props.getOptionLabel(option);
@@ -28969,6 +29494,7 @@ var MultiSelectPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fu
28969
29494
  key: optionKey,
28970
29495
  label: optionLabel,
28971
29496
  option: option,
29497
+ style: style,
28972
29498
  template: props.itemTemplate,
28973
29499
  selected: selected,
28974
29500
  onClick: props.onOptionSelect,
@@ -28987,14 +29513,20 @@ var MultiSelectPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fu
28987
29513
  };
28988
29514
 
28989
29515
  var createItem = function createItem(option, index) {
29516
+ var scrollerOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
29517
+ var style = {
29518
+ height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
29519
+ };
29520
+
28990
29521
  if (props.optionGroupLabel) {
28991
29522
  var groupContent = props.optionGroupTemplate ? ObjectUtils.getJSXElement(props.optionGroupTemplate, option, index) : props.getOptionGroupLabel(option);
28992
- var groupChildrenContent = createGroupChildren(option);
29523
+ var groupChildrenContent = createGroupChildren(option, style);
28993
29524
  var key = index + '_' + props.getOptionGroupRenderKey(option);
28994
29525
  return /*#__PURE__*/React.createElement(React.Fragment, {
28995
29526
  key: key
28996
29527
  }, /*#__PURE__*/React.createElement("li", {
28997
- className: "p-multiselect-item-group"
29528
+ className: "p-multiselect-item-group",
29529
+ style: style
28998
29530
  }, groupContent), groupChildrenContent);
28999
29531
  } else {
29000
29532
  var optionLabel = props.getOptionLabel(option);
@@ -29006,6 +29538,7 @@ var MultiSelectPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fu
29006
29538
  key: optionKey,
29007
29539
  label: optionLabel,
29008
29540
  option: option,
29541
+ style: style,
29009
29542
  template: props.itemTemplate,
29010
29543
  selected: selected,
29011
29544
  onClick: props.onOptionSelect,
@@ -29034,13 +29567,14 @@ var MultiSelectPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fu
29034
29567
  }),
29035
29568
  className: classNames('p-multiselect-items-wrapper', props.virtualScrollerOptions.className),
29036
29569
  items: props.visibleOptions,
29570
+ autoSize: true,
29037
29571
  onLazyLoad: function onLazyLoad(event) {
29038
29572
  return props.virtualScrollerOptions.onLazyLoad(_objectSpread$b(_objectSpread$b({}, event), {
29039
29573
  filter: props.filterValue
29040
29574
  }));
29041
29575
  },
29042
29576
  itemTemplate: function itemTemplate(item, options) {
29043
- return item && createItem(item, options.index);
29577
+ return item && createItem(item, options.index, options);
29044
29578
  },
29045
29579
  contentTemplate: function contentTemplate(options) {
29046
29580
  var className = classNames('p-multiselect-items p-component', options.className);
@@ -29217,7 +29751,7 @@ var MultiSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
29217
29751
 
29218
29752
  case 27:
29219
29753
  hide();
29220
- inputRef.current.focus();
29754
+ DomHandler.focus(inputRef.current);
29221
29755
  break;
29222
29756
  }
29223
29757
  };
@@ -29235,7 +29769,7 @@ var MultiSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
29235
29769
  var onClick = function onClick(event) {
29236
29770
  if (!props.disabled && !isPanelClicked(event) && !DomHandler.hasClass(event.target, 'p-multiselect-token-icon') && !isClearClicked(event)) {
29237
29771
  overlayVisibleState ? hide() : show();
29238
- inputRef.current.focus();
29772
+ DomHandler.focus(inputRef.current);
29239
29773
  event.preventDefault();
29240
29774
  }
29241
29775
  };
@@ -29360,7 +29894,7 @@ var MultiSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
29360
29894
  if (highlightItem && highlightItem.scrollIntoView) {
29361
29895
  highlightItem.scrollIntoView({
29362
29896
  block: 'nearest',
29363
- inline: 'start'
29897
+ inline: 'nearest'
29364
29898
  });
29365
29899
  }
29366
29900
  };
@@ -29412,7 +29946,7 @@ var MultiSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
29412
29946
 
29413
29947
  var onCloseClick = function onCloseClick(event) {
29414
29948
  hide();
29415
- inputRef.current.focus();
29949
+ DomHandler.focus(inputRef.current);
29416
29950
  event.preventDefault();
29417
29951
  event.stopPropagation();
29418
29952
  };
@@ -29605,7 +30139,7 @@ var MultiSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
29605
30139
  var label;
29606
30140
 
29607
30141
  if (!empty && !props.fixedPlaceholder) {
29608
- if (props.maxSelectedLabels && props.value.length > props.maxSelectedLabels) {
30142
+ if (ObjectUtils.isNotEmpty(props.maxSelectedLabels) && props.value.length > props.maxSelectedLabels) {
29609
30143
  return getSelectedItemsLabel();
29610
30144
  } else {
29611
30145
  return props.value.reduce(function (acc, value, index) {
@@ -29620,7 +30154,7 @@ var MultiSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
29620
30154
  var getLabelContent = function getLabelContent() {
29621
30155
  if (props.selectedItemTemplate) {
29622
30156
  if (!empty) {
29623
- if (props.maxSelectedLabels && props.value.length > props.maxSelectedLabels) {
30157
+ if (ObjectUtils.isNotEmpty(props.maxSelectedLabels) && props.value.length > props.maxSelectedLabels) {
29624
30158
  return getSelectedItemsLabel();
29625
30159
  } else {
29626
30160
  return props.value.map(function (val, index) {
@@ -29676,9 +30210,7 @@ var MultiSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
29676
30210
  var filteredSubOptions = FilterService.filter(getOptionGroupChildren(optgroup), searchFields, filterValue, props.filterMatchMode, props.filterLocale);
29677
30211
 
29678
30212
  if (filteredSubOptions && filteredSubOptions.length) {
29679
- filteredGroups.push(_objectSpread$a(_objectSpread$a({}, optgroup), {
29680
- items: filteredSubOptions
29681
- }));
30213
+ filteredGroups.push(_objectSpread$a(_objectSpread$a({}, optgroup), _defineProperty({}, props.optionGroupChildren, filteredSubOptions)));
29682
30214
  }
29683
30215
  }
29684
30216
  } catch (err) {
@@ -29878,13 +30410,11 @@ var MultiStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(
29878
30410
  setFocusedState = _React$useState2[1];
29879
30411
 
29880
30412
  var elementRef = React.useRef(null);
29881
- var inputRef = React.useRef(props.inputRef);
29882
30413
  var equalityKey = props.optionValue ? null : props.dataKey;
29883
30414
 
29884
30415
  var onClick = function onClick(event) {
29885
30416
  if (!props.disabled && !props.readOnly) {
29886
30417
  toggle(event);
29887
- inputRef.current.focus();
29888
30418
  }
29889
30419
  };
29890
30420
 
@@ -29892,6 +30422,11 @@ var MultiStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(
29892
30422
  return props.optionValue ? ObjectUtils.resolveFieldData(option, props.optionValue) : option;
29893
30423
  };
29894
30424
 
30425
+ var getOptionAriaLabel = function getOptionAriaLabel(option) {
30426
+ var ariaField = props.optionLabel || props.optionValue;
30427
+ return ariaField ? ObjectUtils.resolveFieldData(option, ariaField) : option;
30428
+ };
30429
+
29895
30430
  var findNextOption = function findNextOption() {
29896
30431
  if (props.options) {
29897
30432
  return selectedOptionIndex === props.options.length - 1 ? props.empty ? null : props.options[0] : props.options[selectedOptionIndex + 1];
@@ -29925,6 +30460,13 @@ var MultiStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(
29925
30460
  setFocusedState(false);
29926
30461
  };
29927
30462
 
30463
+ var onKeyDown = function onKeyDown(e) {
30464
+ if (e.keyCode === 32) {
30465
+ toggle(e);
30466
+ e.preventDefault();
30467
+ }
30468
+ };
30469
+
29928
30470
  var getSelectedOptionMap = function getSelectedOptionMap() {
29929
30471
  var option, index;
29930
30472
 
@@ -29941,9 +30483,6 @@ var MultiStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(
29941
30483
  };
29942
30484
  };
29943
30485
 
29944
- React.useEffect(function () {
29945
- ObjectUtils.combinedRefs(inputRef, props.inputRef);
29946
- }, [inputRef, props.inputRef]);
29947
30486
  useMountEffect(function () {
29948
30487
  if (!props.empty && props.value === null) {
29949
30488
  toggle();
@@ -29983,6 +30522,8 @@ var MultiStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(
29983
30522
  'p-focus': focusedState
29984
30523
  }, selectedOption && selectedOption.className);
29985
30524
  var icon = createIcon();
30525
+ var ariaValueLabel = !!selectedOption ? getOptionAriaLabel(selectedOption) : ariaLabel('nullLabel');
30526
+ var ariaChecked = !!selectedOption ? 'true' : 'false';
29986
30527
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", _extends({
29987
30528
  ref: elementRef,
29988
30529
  id: props.id,
@@ -29991,24 +30532,20 @@ var MultiStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(
29991
30532
  }, otherProps, {
29992
30533
  onClick: onClick
29993
30534
  }), /*#__PURE__*/React.createElement("div", {
29994
- className: "p-hidden-accessible"
29995
- }, /*#__PURE__*/React.createElement("input", {
29996
- ref: inputRef,
29997
- type: "checkbox",
29998
- "aria-labelledby": props.ariaLabelledBy,
29999
- id: props.inputId,
30000
- name: props.name,
30535
+ className: boxClassName,
30536
+ style: selectedOption && selectedOption.style,
30537
+ tabIndex: props.tabIndex,
30001
30538
  onFocus: onFocus,
30002
30539
  onBlur: onBlur,
30003
- disabled: props.disabled,
30004
- readOnly: props.readOnly,
30005
- defaultChecked: !!selectedOption
30006
- })), /*#__PURE__*/React.createElement("div", {
30007
- className: boxClassName,
30540
+ onKeyDown: onKeyDown,
30008
30541
  role: "checkbox",
30009
- "aria-checked": !!selectedOption,
30010
- style: selectedOption && selectedOption.style
30011
- }, icon)), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
30542
+ "aria-checked": ariaChecked,
30543
+ "aria-labelledby": props['aria-labelledby'],
30544
+ "aria-label": props['aria-label']
30545
+ }, icon), focusedState && /*#__PURE__*/React.createElement("span", {
30546
+ className: "p-sr-only",
30547
+ "aria-live": "polite"
30548
+ }, ariaValueLabel)), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
30012
30549
  target: elementRef,
30013
30550
  content: props.tooltip
30014
30551
  }, props.tooltipOptions)));
@@ -30017,22 +30554,22 @@ MultiStateCheckbox.displayName = 'MultiStateCheckbox';
30017
30554
  MultiStateCheckbox.defaultProps = {
30018
30555
  __TYPE: 'MultiStateCheckbox',
30019
30556
  id: null,
30020
- inputRef: null,
30021
- inputId: null,
30022
30557
  value: null,
30023
30558
  options: null,
30024
30559
  optionValue: null,
30560
+ optionLabel: null,
30025
30561
  iconTemplate: null,
30026
30562
  dataKey: null,
30027
- name: null,
30028
30563
  style: null,
30029
30564
  className: null,
30030
30565
  disabled: false,
30031
30566
  readOnly: false,
30032
30567
  empty: true,
30568
+ tabIndex: "0",
30569
+ 'aria-label': null,
30570
+ 'aria-labelledby': null,
30033
30571
  tooltip: null,
30034
30572
  tooltipOptions: null,
30035
- ariaLabelledBy: null,
30036
30573
  onChange: null
30037
30574
  };
30038
30575
 
@@ -30840,7 +31377,7 @@ var OverlayPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
30840
31377
  };
30841
31378
 
30842
31379
  var align = function align() {
30843
- if (currentTargetRef.current) {
31380
+ if (currentTargetRef.current && overlayRef.current) {
30844
31381
  DomHandler.absolutePosition(overlayRef.current, currentTargetRef.current);
30845
31382
  var containerOffset = DomHandler.getOffset(overlayRef.current);
30846
31383
  var targetOffset = DomHandler.getOffset(currentTargetRef.current);
@@ -30867,7 +31404,7 @@ var OverlayPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
30867
31404
  innerHTML += "\n @media screen and (max-width: ".concat(breakpoint, ") {\n .p-overlaypanel[").concat(attributeSelector.current, "] {\n width: ").concat(props.breakpoints[breakpoint], " !important;\n }\n }\n ");
30868
31405
  }
30869
31406
 
30870
- styleElement.innerHTML = innerHTML;
31407
+ styleElement.current.innerHTML = innerHTML;
30871
31408
  }
30872
31409
  };
30873
31410
 
@@ -31295,6 +31832,7 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
31295
31832
 
31296
31833
  return /*#__PURE__*/React.createElement("li", {
31297
31834
  key: key,
31835
+ id: item.id,
31298
31836
  className: className,
31299
31837
  style: item.style,
31300
31838
  role: "none"
@@ -31329,6 +31867,11 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
31329
31867
  activeItemState = _React$useState4[0],
31330
31868
  setActiveItemState = _React$useState4[1];
31331
31869
 
31870
+ var _React$useState5 = React.useState(false),
31871
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
31872
+ animationDisabled = _React$useState6[0],
31873
+ setAnimationDisabled = _React$useState6[1];
31874
+
31332
31875
  var headerId = idState + '_header';
31333
31876
  var contentId = idState + '_content';
31334
31877
 
@@ -31398,6 +31941,14 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
31398
31941
 
31399
31942
  setActiveItemState(findActiveItem());
31400
31943
  });
31944
+ useUpdateEffect(function () {
31945
+ setAnimationDisabled(true);
31946
+ setActiveItemState(findActiveItem());
31947
+ }, [props.model]);
31948
+
31949
+ var onEnter = function onEnter() {
31950
+ setAnimationDisabled(false);
31951
+ };
31401
31952
 
31402
31953
  var createPanel = function createPanel(item, index) {
31403
31954
  var key = item.label + '_' + index;
@@ -31470,6 +32021,8 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
31470
32021
  enter: 1000,
31471
32022
  exit: 450
31472
32023
  },
32024
+ onEnter: onEnter,
32025
+ disabled: animationDisabled,
31473
32026
  "in": active,
31474
32027
  unmountOnExit: true,
31475
32028
  options: props.transitionOptions
@@ -32140,6 +32693,23 @@ var PickListSubList = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
32140
32693
  return ObjectUtils.findIndexInList(item, props.selection, props.dataKey) !== -1;
32141
32694
  };
32142
32695
 
32696
+ var onFilter = function onFilter(event) {
32697
+ if (props.onFilter) {
32698
+ props.onFilter({
32699
+ originalEvent: event,
32700
+ value: event.target.value,
32701
+ type: props.type
32702
+ });
32703
+ }
32704
+ };
32705
+
32706
+ var onFilterInputKeyDown = function onFilterInputKeyDown(event) {
32707
+ //enter
32708
+ if (event.which === 13) {
32709
+ event.preventDefault();
32710
+ }
32711
+ };
32712
+
32143
32713
  React.useImperativeHandle(ref, function () {
32144
32714
  return {
32145
32715
  listElementRef: listElementRef
@@ -32176,6 +32746,44 @@ var PickListSubList = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
32176
32746
  return null;
32177
32747
  };
32178
32748
 
32749
+ var createFilter = function createFilter() {
32750
+ if (props.showFilter) {
32751
+ var content = /*#__PURE__*/React.createElement("div", {
32752
+ className: "p-picklist-filter"
32753
+ }, /*#__PURE__*/React.createElement("input", {
32754
+ type: "text",
32755
+ value: props.filterValue,
32756
+ onChange: onFilter,
32757
+ onKeyDown: onFilterInputKeyDown,
32758
+ placeholder: props.placeholder,
32759
+ className: "p-picklist-filter-input p-inputtext p-component"
32760
+ }), /*#__PURE__*/React.createElement("span", {
32761
+ className: "p-picklist-filter-icon pi pi-search"
32762
+ }));
32763
+
32764
+ if (props.filterTemplate) {
32765
+ var defaultContentOptions = {
32766
+ className: 'p-picklist-filter',
32767
+ inputProps: {
32768
+ className: 'p-picklist-filter-input p-inputtext p-component',
32769
+ onChange: onFilter,
32770
+ onKeyDown: onFilterInputKeyDown
32771
+ },
32772
+ iconClassName: 'p-picklist-filter-icon pi pi-search',
32773
+ element: content,
32774
+ props: props
32775
+ };
32776
+ content = ObjectUtils.getJSXElement(props.filterTemplate, defaultContentOptions);
32777
+ }
32778
+
32779
+ return /*#__PURE__*/React.createElement("div", {
32780
+ className: "p-picklist-filter-container"
32781
+ }, content);
32782
+ }
32783
+
32784
+ return null;
32785
+ };
32786
+
32179
32787
  var createList = function createList() {
32180
32788
  var items = createItems();
32181
32789
  var className = classNames('p-picklist-list', props.listClassName);
@@ -32189,19 +32797,20 @@ var PickListSubList = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
32189
32797
 
32190
32798
  var className = classNames('p-picklist-list-wrapper', props.className);
32191
32799
  var header = createHeader();
32800
+ var filter = createFilter();
32192
32801
  var list = createList();
32193
32802
  return /*#__PURE__*/React.createElement("div", {
32194
32803
  ref: listElementRef,
32195
32804
  className: className
32196
- }, header, list);
32805
+ }, header, filter, list);
32197
32806
  }));
32198
32807
  PickListSubList.displayName = 'PickListSubList';
32199
32808
 
32200
32809
  var PickListTransferControls = /*#__PURE__*/React.memo(function (props) {
32201
- var moveRightDisabled = ObjectUtils.isEmpty(props.sourceSelection);
32202
- var moveLeftDisabled = ObjectUtils.isEmpty(props.targetSelection);
32203
- var moveAllRightDisabled = ObjectUtils.isEmpty(props.source);
32204
- var moveAllLeftDisabled = ObjectUtils.isEmpty(props.target);
32810
+ var moveRightDisabled = ObjectUtils.isEmpty(props.sourceSelection) || ObjectUtils.isEmpty(props.visibleSourceList);
32811
+ var moveLeftDisabled = ObjectUtils.isEmpty(props.targetSelection) || ObjectUtils.isEmpty(props.visibleTargetList);
32812
+ var moveAllRightDisabled = ObjectUtils.isEmpty(props.visibleSourceList);
32813
+ var moveAllLeftDisabled = ObjectUtils.isEmpty(props.visibleTargetList);
32205
32814
 
32206
32815
  var moveRight = function moveRight(event) {
32207
32816
  var selection = props.sourceSelection;
@@ -32232,8 +32841,12 @@ var PickListTransferControls = /*#__PURE__*/React.memo(function (props) {
32232
32841
 
32233
32842
  var moveAllRight = function moveAllRight(event) {
32234
32843
  if (props.source) {
32235
- var targetList = [].concat(_toConsumableArray(props.target), _toConsumableArray(props.source));
32236
- var sourceList = [];
32844
+ var targetList = [].concat(_toConsumableArray(props.target), _toConsumableArray(props.visibleSourceList));
32845
+ var sourceList = props.source.filter(function (s) {
32846
+ return !props.visibleSourceList.some(function (vs) {
32847
+ return vs === s;
32848
+ });
32849
+ });
32237
32850
 
32238
32851
  if (props.onTransfer) {
32239
32852
  props.onTransfer({
@@ -32275,8 +32888,12 @@ var PickListTransferControls = /*#__PURE__*/React.memo(function (props) {
32275
32888
 
32276
32889
  var moveAllLeft = function moveAllLeft(event) {
32277
32890
  if (props.source) {
32278
- var sourceList = [].concat(_toConsumableArray(props.source), _toConsumableArray(props.target));
32279
- var targetList = [];
32891
+ var sourceList = [].concat(_toConsumableArray(props.source), _toConsumableArray(props.visibleTargetList));
32892
+ var targetList = props.target.filter(function (t) {
32893
+ return !props.visibleTargetList.some(function (vt) {
32894
+ return vt === t;
32895
+ });
32896
+ });
32280
32897
 
32281
32898
  if (props.onTransfer) {
32282
32899
  props.onTransfer({
@@ -32327,12 +32944,27 @@ var PickList = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
32327
32944
  targetSelectionState = _React$useState4[0],
32328
32945
  setTargetSelectionState = _React$useState4[1];
32329
32946
 
32947
+ var _React$useState5 = React.useState(''),
32948
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
32949
+ sourceFilterValueState = _React$useState6[0],
32950
+ setSourceFilterValueState = _React$useState6[1];
32951
+
32952
+ var _React$useState7 = React.useState(''),
32953
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
32954
+ targetFilterValueState = _React$useState8[0],
32955
+ setTargetFilterValueState = _React$useState8[1];
32956
+
32330
32957
  var sourceListElementRef = React.useRef(null);
32331
32958
  var targetListElementRef = React.useRef(null);
32332
32959
  var reorderedListElementRef = React.useRef(null);
32333
32960
  var reorderDirection = React.useRef(null);
32334
32961
  var sourceSelection = props.onSourceSelectionChange ? props.sourceSelection : sourceSelectionState;
32335
32962
  var targetSelection = props.onTargetSelectionChange ? props.targetSelection : targetSelectionState;
32963
+ var sourceFilteredValue = props.onSourceFilterChange ? props.sourceFilterValue : sourceFilterValueState;
32964
+ var targetFilteredValue = props.onTargetFilterChange ? props.targetFilterValue : targetFilterValueState;
32965
+ var hasFilterBy = ObjectUtils.isNotEmpty(props.filterBy);
32966
+ var showSourceFilter = hasFilterBy && props.showSourceFilter;
32967
+ var showTargetFilter = hasFilterBy && props.showTargetFilter;
32336
32968
 
32337
32969
  var onSourceReorder = function onSourceReorder(event) {
32338
32970
  handleChange(event, event.value, props.target);
@@ -32467,6 +33099,52 @@ var PickList = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
32467
33099
  }
32468
33100
  };
32469
33101
 
33102
+ var onFilter = function onFilter(event) {
33103
+ var originalEvent = event.originalEvent,
33104
+ value = event.value,
33105
+ type = event.type;
33106
+
33107
+ var _ref = type === 'source' ? [setSourceFilterValueState, props.onSourceFilterChange] : [setTargetFilterValueState, props.onTargetFilterChange],
33108
+ _ref2 = _slicedToArray(_ref, 2),
33109
+ setFilterState = _ref2[0],
33110
+ onFilterChange = _ref2[1];
33111
+
33112
+ if (onFilterChange) {
33113
+ onFilterChange({
33114
+ originalEvent: originalEvent,
33115
+ value: value
33116
+ });
33117
+ } else {
33118
+ setFilterState(value);
33119
+ }
33120
+ };
33121
+
33122
+ var getVisibleList = function getVisibleList(list, type) {
33123
+ var _ref3 = type === 'source' ? [sourceFilteredValue, filterSource] : [targetFilteredValue, filterTarget],
33124
+ _ref4 = _slicedToArray(_ref3, 2),
33125
+ filteredValue = _ref4[0],
33126
+ filterCallback = _ref4[1];
33127
+
33128
+ return hasFilterBy && ObjectUtils.isNotEmpty(filteredValue) ? filterCallback(filteredValue) : list;
33129
+ };
33130
+
33131
+ var filterSource = function filterSource() {
33132
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
33133
+ var filteredValue = value.trim().toLocaleLowerCase(props.filterLocale);
33134
+ return filter(props.source, filteredValue);
33135
+ };
33136
+
33137
+ var filterTarget = function filterTarget() {
33138
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
33139
+ var filteredValue = value.trim().toLocaleLowerCase(props.filterLocale);
33140
+ return filter(props.target, filteredValue);
33141
+ };
33142
+
33143
+ var filter = function filter(list, filterValue) {
33144
+ var searchFields = hasFilterBy ? props.filterBy.split(',') : [];
33145
+ return FilterService.filter(list, searchFields, filterValue, props.filterMatchMode, props.filterLocale);
33146
+ };
33147
+
32470
33148
  useUpdateEffect(function () {
32471
33149
  if (reorderedListElementRef.current) {
32472
33150
  handleScrollPosition(reorderedListElementRef.current, reorderDirection.current);
@@ -32476,6 +33154,10 @@ var PickList = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
32476
33154
  });
32477
33155
  var otherProps = ObjectUtils.findDiffKeys(props, PickList.defaultProps);
32478
33156
  var className = classNames('p-picklist p-component', props.className);
33157
+ var sourceItemTemplate = props.sourceItemTemplate ? props.sourceItemTemplate : props.itemTemplate;
33158
+ var targetItemTemplate = props.targetItemTemplate ? props.targetItemTemplate : props.itemTemplate;
33159
+ var sourceList = getVisibleList(props.source, 'source');
33160
+ var targetList = getVisibleList(props.target, 'target');
32479
33161
  return /*#__PURE__*/React.createElement("div", _extends({
32480
33162
  id: props.id,
32481
33163
  className: className,
@@ -32488,41 +33170,55 @@ var PickList = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
32488
33170
  dataKey: props.dataKey
32489
33171
  }), /*#__PURE__*/React.createElement(PickListSubList, {
32490
33172
  ref: sourceListElementRef,
32491
- list: props.source,
33173
+ type: "source",
33174
+ list: sourceList,
32492
33175
  selection: sourceSelection,
32493
33176
  onSelectionChange: function onSelectionChange(e) {
32494
33177
  return _onSelectionChange(e, 'sourceSelection', props.onSourceSelectionChange);
32495
33178
  },
32496
- itemTemplate: props.itemTemplate,
33179
+ itemTemplate: sourceItemTemplate,
32497
33180
  header: props.sourceHeader,
32498
33181
  style: props.sourceStyle,
32499
33182
  className: "p-picklist-source-wrapper",
32500
33183
  listClassName: "p-picklist-source",
32501
33184
  metaKeySelection: props.metaKeySelection,
32502
33185
  tabIndex: props.tabIndex,
32503
- dataKey: props.dataKey
33186
+ dataKey: props.dataKey,
33187
+ filterValue: sourceFilteredValue,
33188
+ onFilter: onFilter,
33189
+ showFilter: showSourceFilter,
33190
+ placeholder: props.sourceFilterPlaceholder,
33191
+ template: props.sourceFilterTemplate
32504
33192
  }), /*#__PURE__*/React.createElement(PickListTransferControls, {
32505
33193
  onTransfer: onTransfer,
32506
33194
  source: props.source,
33195
+ visibleSourceList: sourceList,
32507
33196
  target: props.target,
33197
+ visibleTargetList: targetList,
32508
33198
  sourceSelection: sourceSelection,
32509
33199
  targetSelection: targetSelection,
32510
33200
  dataKey: props.dataKey
32511
33201
  }), /*#__PURE__*/React.createElement(PickListSubList, {
32512
33202
  ref: targetListElementRef,
32513
- list: props.target,
33203
+ type: "target",
33204
+ list: targetList,
32514
33205
  selection: targetSelection,
32515
33206
  onSelectionChange: function onSelectionChange(e) {
32516
33207
  return _onSelectionChange(e, 'targetSelection', props.onTargetSelectionChange);
32517
33208
  },
32518
- itemTemplate: props.itemTemplate,
33209
+ itemTemplate: targetItemTemplate,
32519
33210
  header: props.targetHeader,
32520
33211
  style: props.targetStyle,
32521
33212
  className: "p-picklist-target-wrapper",
32522
33213
  listClassName: "p-picklist-target",
32523
33214
  metaKeySelection: props.metaKeySelection,
32524
33215
  tabIndex: props.tabIndex,
32525
- dataKey: props.dataKey
33216
+ dataKey: props.dataKey,
33217
+ filterValue: targetFilteredValue,
33218
+ onFilter: onFilter,
33219
+ showFilter: showTargetFilter,
33220
+ placeholder: props.targetFilterPlaceholder,
33221
+ template: props.targetFilterTemplate
32526
33222
  }), props.showTargetControls && /*#__PURE__*/React.createElement(PickListControls, {
32527
33223
  list: props.target,
32528
33224
  selection: targetSelection,
@@ -32548,16 +33244,31 @@ PickList.defaultProps = {
32548
33244
  showSourceControls: true,
32549
33245
  showTargetControls: true,
32550
33246
  metaKeySelection: true,
33247
+ filterBy: null,
33248
+ filterMatchMode: 'contains',
33249
+ filterLocale: undefined,
33250
+ sourceFilterValue: null,
33251
+ targetFilterValue: null,
33252
+ showSourceFilter: true,
33253
+ showTargetFilter: true,
33254
+ sourceFilterPlaceholder: null,
33255
+ targetFilterPlaceholder: null,
33256
+ sourceFilterTemplate: null,
33257
+ targetFilterTemplate: null,
32551
33258
  tabIndex: 0,
32552
33259
  dataKey: null,
32553
33260
  itemTemplate: null,
33261
+ sourceItemTemplate: null,
33262
+ targetItemTemplate: null,
32554
33263
  onChange: null,
32555
33264
  onMoveToSource: null,
32556
33265
  onMoveAllToSource: null,
32557
33266
  onMoveToTarget: null,
32558
33267
  onMoveAllToTarget: null,
32559
33268
  onSourceSelectionChange: null,
32560
- onTargetSelectionChange: null
33269
+ onTargetSelectionChange: null,
33270
+ onSourceFilterChange: null,
33271
+ onTargetFilterChange: null
32561
33272
  };
32562
33273
 
32563
33274
  var ProgressSpinner = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -32626,7 +33337,7 @@ var RadioButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
32626
33337
  }
32627
33338
  });
32628
33339
  inputRef.current.checked = !props.checked;
32629
- inputRef.current.focus();
33340
+ DomHandler.focus(inputRef.current);
32630
33341
  }
32631
33342
  };
32632
33343
 
@@ -32676,18 +33387,17 @@ var RadioButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
32676
33387
  ref: inputRef,
32677
33388
  id: props.inputId,
32678
33389
  type: "radio",
32679
- "aria-labelledby": props.ariaLabelledBy,
32680
33390
  name: props.name,
32681
33391
  defaultChecked: props.checked,
33392
+ "aria-labelledby": props['aria-labelledby'],
33393
+ "aria-label": props['aria-label'],
32682
33394
  onFocus: onFocus,
32683
33395
  onBlur: onBlur,
32684
33396
  disabled: props.disabled,
32685
33397
  required: props.required,
32686
33398
  tabIndex: props.tabIndex
32687
33399
  })), /*#__PURE__*/React.createElement("div", {
32688
- className: boxClassName,
32689
- role: "radio",
32690
- "aria-checked": props.checked
33400
+ className: boxClassName
32691
33401
  }, /*#__PURE__*/React.createElement("div", {
32692
33402
  className: "p-radiobutton-icon"
32693
33403
  }))), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
@@ -32711,7 +33421,8 @@ RadioButton.defaultProps = {
32711
33421
  tabIndex: null,
32712
33422
  tooltip: null,
32713
33423
  tooltipOptions: null,
32714
- ariaLabelledBy: null,
33424
+ 'aria-label': null,
33425
+ 'aria-labelledby': null,
32715
33426
  onChange: null
32716
33427
  };
32717
33428
 
@@ -33158,8 +33869,7 @@ var SelectButtonItem = /*#__PURE__*/React.memo(function (props) {
33158
33869
  var onKeyDown = function onKeyDown(event) {
33159
33870
  var keyCode = event.which;
33160
33871
 
33161
- if (keyCode === 32 || keyCode === 13) {
33162
- //space and enter
33872
+ if (keyCode === 32) {
33163
33873
  onClick(event);
33164
33874
  event.preventDefault();
33165
33875
  }
@@ -33182,7 +33892,6 @@ var SelectButtonItem = /*#__PURE__*/React.memo(function (props) {
33182
33892
  role: "button",
33183
33893
  "aria-label": props.label,
33184
33894
  "aria-pressed": props.selected,
33185
- "aria-labelledby": props.ariaLabelledBy,
33186
33895
  onClick: onClick,
33187
33896
  onKeyDown: onKeyDown,
33188
33897
  tabIndex: props.tabIndex,
@@ -33282,8 +33991,7 @@ var SelectButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
33282
33991
  template: props.itemTemplate,
33283
33992
  selected: selected,
33284
33993
  tabIndex: tabIndex,
33285
- disabled: isDisabled,
33286
- ariaLabelledBy: props.ariaLabelledBy
33994
+ disabled: isDisabled
33287
33995
  });
33288
33996
  });
33289
33997
  }
@@ -33325,7 +34033,6 @@ SelectButton.defaultProps = {
33325
34033
  dataKey: null,
33326
34034
  tooltip: null,
33327
34035
  tooltipOptions: null,
33328
- ariaLabelledBy: null,
33329
34036
  itemTemplate: null,
33330
34037
  onChange: null
33331
34038
  };
@@ -33581,13 +34288,21 @@ Skeleton.defaultProps = {
33581
34288
  className: null
33582
34289
  };
33583
34290
 
34291
+ function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34292
+
34293
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33584
34294
  var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33585
34295
  var _React$useState = React.useState(null),
33586
34296
  _React$useState2 = _slicedToArray(_React$useState, 2),
33587
34297
  activeItemState = _React$useState2[0],
33588
34298
  setActiveItemState = _React$useState2[1];
33589
34299
 
33590
- var onItemClick = function onItemClick(event, item) {
34300
+ var _React$useState3 = React.useState({}),
34301
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
34302
+ renderSubMenu = _React$useState4[0],
34303
+ setRenderSubMenu = _React$useState4[1];
34304
+
34305
+ var onItemClick = function onItemClick(event, item, index) {
33591
34306
  if (item.disabled) {
33592
34307
  event.preventDefault();
33593
34308
  return;
@@ -33605,6 +34320,8 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33605
34320
  }
33606
34321
 
33607
34322
  if (item.items) {
34323
+ var key = createKey(item, index);
34324
+ setRenderSubMenu(_objectSpread$9(_objectSpread$9({}, renderSubMenu), {}, _defineProperty({}, key, true)));
33608
34325
  setActiveItemState(item);
33609
34326
  props.onForward();
33610
34327
  }
@@ -33618,8 +34335,10 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33618
34335
  });
33619
34336
  };
33620
34337
 
33621
- var createSubmenu = function createSubmenu(item) {
33622
- if (item.items) {
34338
+ var createSubmenu = function createSubmenu(item, index) {
34339
+ var shouldRender = renderSubMenu[createKey(item, index)];
34340
+
34341
+ if (item.items && shouldRender) {
33623
34342
  return /*#__PURE__*/React.createElement(SlideMenuSub, {
33624
34343
  menuProps: props.menuProps,
33625
34344
  model: item.items,
@@ -33634,8 +34353,12 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33634
34353
  return null;
33635
34354
  };
33636
34355
 
34356
+ var createKey = function createKey(item, index) {
34357
+ return item.label + '_' + index;
34358
+ };
34359
+
33637
34360
  var createMenuitem = function createMenuitem(item, index) {
33638
- var key = item.label + '_' + index;
34361
+ var key = createKey(item, index);
33639
34362
  var active = activeItemState === item;
33640
34363
  var className = classNames('p-menuitem', {
33641
34364
  'p-menuitem-active': active,
@@ -33654,13 +34377,13 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33654
34377
  var submenuIcon = item.items && /*#__PURE__*/React.createElement("span", {
33655
34378
  className: submenuIconClassName
33656
34379
  });
33657
- var submenu = createSubmenu(item);
34380
+ var submenu = createSubmenu(item, index);
33658
34381
  var content = /*#__PURE__*/React.createElement("a", {
33659
34382
  href: item.url || '#',
33660
34383
  className: "p-menuitem-link",
33661
34384
  target: item.target,
33662
34385
  onClick: function onClick(event) {
33663
- return onItemClick(event, item);
34386
+ return onItemClick(event, item, index);
33664
34387
  },
33665
34388
  "aria-disabled": item.disabled
33666
34389
  }, icon, label, submenuIcon);
@@ -33668,7 +34391,7 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33668
34391
  if (item.template) {
33669
34392
  var defaultContentOptions = {
33670
34393
  onClick: function onClick(event) {
33671
- return onItemClick(event, item);
34394
+ return onItemClick(event, item, index);
33672
34395
  },
33673
34396
  className: 'p-menuitem-link',
33674
34397
  labelClassName: 'p-menuitem-text',
@@ -33683,6 +34406,7 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33683
34406
 
33684
34407
  return /*#__PURE__*/React.createElement("li", {
33685
34408
  key: key,
34409
+ id: item.id,
33686
34410
  className: className,
33687
34411
  style: item.style
33688
34412
  }, content, submenu);
@@ -34136,7 +34860,9 @@ var Slider = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pr
34136
34860
  "aria-valuemin": props.min,
34137
34861
  "aria-valuemax": props.max,
34138
34862
  "aria-valuenow": leftValue || bottomValue,
34139
- "aria-labelledby": props.ariaLabelledBy
34863
+ "aria-labelledby": props['aria-labelledby'],
34864
+ "aria-label": props['aria-label'],
34865
+ "aria-orientation": props.orientation
34140
34866
  });
34141
34867
  };
34142
34868
 
@@ -34203,14 +34929,15 @@ Slider.defaultProps = {
34203
34929
  className: null,
34204
34930
  disabled: false,
34205
34931
  tabIndex: 0,
34206
- ariaLabelledBy: null,
34207
34932
  onChange: null,
34208
- onSlideEnd: null
34933
+ onSlideEnd: null,
34934
+ 'aria-label': null,
34935
+ 'aria-labelledby': null
34209
34936
  };
34210
34937
 
34211
- function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34938
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34212
34939
 
34213
- function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
34940
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
34214
34941
  var SpeedDial = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
34215
34942
  var _classNames2;
34216
34943
 
@@ -34355,7 +35082,7 @@ var SpeedDial = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
34355
35082
  var getItemStyle = function getItemStyle(index) {
34356
35083
  var transitionDelay = calculateTransitionDelay(index);
34357
35084
  var pointStyle = calculatePointStyle(index);
34358
- return _objectSpread$9({
35085
+ return _objectSpread$8({
34359
35086
  transitionDelay: "".concat(transitionDelay, "ms")
34360
35087
  }, pointStyle);
34361
35088
  };
@@ -34595,7 +35322,8 @@ var SplitButtonItem = /*#__PURE__*/React.memo(function (props) {
34595
35322
  role: "menuitem",
34596
35323
  className: className,
34597
35324
  target: target,
34598
- onClick: onClick
35325
+ onClick: onClick,
35326
+ "aria-label": _label
34599
35327
  }, icon, label);
34600
35328
 
34601
35329
  if (template) {
@@ -34646,9 +35374,9 @@ var SplitButtonPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
34646
35374
  ref: ref,
34647
35375
  className: className,
34648
35376
  style: props.menuStyle,
34649
- id: props.id,
34650
35377
  onClick: props.onClick
34651
35378
  }, /*#__PURE__*/React.createElement("ul", {
35379
+ id: props.menuId,
34652
35380
  className: "p-menu-list p-reset",
34653
35381
  role: "menu"
34654
35382
  }, props.children)));
@@ -34775,34 +35503,36 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
34775
35503
  var menuButtonClassName = classNames('p-splitbutton-menubutton', props.menuButtonClassName);
34776
35504
  var buttonContent = props.buttonTemplate ? ObjectUtils.getJSXElement(props.buttonTemplate, props) : null;
34777
35505
  var items = createItems();
34778
- var panelId = idState + '_overlay';
35506
+ var menuId = idState + '_menu';
34779
35507
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", _extends({
34780
35508
  ref: elementRef,
34781
35509
  id: idState,
34782
35510
  className: className,
34783
35511
  style: props.style
34784
- }, otherProps), /*#__PURE__*/React.createElement(Button, {
35512
+ }, otherProps), /*#__PURE__*/React.createElement(Button, _extends({
34785
35513
  ref: defaultButtonRef,
34786
35514
  type: "button",
34787
35515
  className: buttonClassName,
34788
35516
  icon: props.icon,
35517
+ loading: props.loading,
35518
+ loadingIcon: props.loadingIcon,
34789
35519
  label: props.label,
34790
35520
  onClick: props.onClick,
34791
35521
  disabled: props.disabled,
34792
35522
  tabIndex: props.tabIndex
34793
- }, buttonContent), /*#__PURE__*/React.createElement(Button, {
35523
+ }, props.buttonProps), buttonContent), /*#__PURE__*/React.createElement(Button, _extends({
34794
35524
  type: "button",
34795
35525
  className: menuButtonClassName,
34796
35526
  icon: props.dropdownIcon,
34797
35527
  onClick: onDropdownButtonClick,
34798
35528
  disabled: props.disabled,
34799
35529
  "aria-expanded": overlayVisibleState,
34800
- "aria-haspopup": true,
34801
- "aria-owns": panelId
34802
- }), /*#__PURE__*/React.createElement(SplitButtonPanel, {
35530
+ "aria-haspopup": "true",
35531
+ "aria-controls": overlayVisibleState ? menuId : null
35532
+ }, props.menuButtonProps)), /*#__PURE__*/React.createElement(SplitButtonPanel, {
34803
35533
  ref: overlayRef,
34804
35534
  appendTo: props.appendTo,
34805
- id: panelId,
35535
+ menuId: menuId,
34806
35536
  menuStyle: props.menuStyle,
34807
35537
  menuClassName: props.menuClassName,
34808
35538
  onClick: onPanelClick,
@@ -34823,6 +35553,8 @@ SplitButton.defaultProps = {
34823
35553
  id: null,
34824
35554
  label: null,
34825
35555
  icon: null,
35556
+ loading: false,
35557
+ loadingIcon: 'pi pi-spinner pi-spin',
34826
35558
  model: null,
34827
35559
  disabled: null,
34828
35560
  style: null,
@@ -34831,6 +35563,8 @@ SplitButton.defaultProps = {
34831
35563
  menuStyle: null,
34832
35564
  menuClassName: null,
34833
35565
  menuButtonClassName: null,
35566
+ buttonProps: null,
35567
+ menuButtonProps: null,
34834
35568
  tabIndex: null,
34835
35569
  appendTo: null,
34836
35570
  tooltip: null,
@@ -34846,7 +35580,8 @@ SplitButton.defaultProps = {
34846
35580
  var SplitterPanel = function SplitterPanel() {};
34847
35581
  var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
34848
35582
  var elementRef = React.useRef(null);
34849
- var gutterRef = React.useRef(null);
35583
+ var gutterRef = React.useRef();
35584
+ var gutterRefs = React.useRef({});
34850
35585
  var size = React.useRef(null);
34851
35586
  var dragging = React.useRef(null);
34852
35587
  var startPos = React.useRef(null);
@@ -34856,6 +35591,7 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
34856
35591
  var nextPanelSize = React.useRef(null);
34857
35592
  var prevPanelIndex = React.useRef(null);
34858
35593
  var panelSizes = React.useRef(null);
35594
+ var mounted = React.useRef(false);
34859
35595
  var isStateful = props.stateKey != null;
34860
35596
 
34861
35597
  var _useEventListener = useEventListener({
@@ -34926,7 +35662,7 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
34926
35662
  };
34927
35663
 
34928
35664
  var saveState = function saveState() {
34929
- getStorage().setItem(props.stateKey, JSON.stringify(panelSizes));
35665
+ getStorage().setItem(props.stateKey, JSON.stringify(panelSizes.current));
34930
35666
  };
34931
35667
 
34932
35668
  var restoreState = function restoreState() {
@@ -34941,7 +35677,7 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
34941
35677
  });
34942
35678
 
34943
35679
  children.forEach(function (child, i) {
34944
- child.style.flexBasis = 'calc(' + panelSizes[i] + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
35680
+ child.style.flexBasis = 'calc(' + panelSizes.current[i] + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
34945
35681
  });
34946
35682
  return true;
34947
35683
  }
@@ -34950,6 +35686,7 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
34950
35686
  };
34951
35687
 
34952
35688
  var onResizeStart = function onResizeStart(event, index) {
35689
+ gutterRef.current = gutterRefs.current[index];
34953
35690
  var pageX = event.type === 'touchstart' ? event.touches[0].pageX : event.pageX;
34954
35691
  var pageY = event.type === 'touchstart' ? event.touches[0].pageY : event.pageY;
34955
35692
  size.current = props.layout === 'horizontal' ? DomHandler.getWidth(elementRef.current) : DomHandler.getHeight(elementRef.current);
@@ -34988,7 +35725,7 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
34988
35725
  if (props.onResizeEnd) {
34989
35726
  props.onResizeEnd({
34990
35727
  originalEvent: event,
34991
- sizes: panelSizes
35728
+ sizes: panelSizes.current
34992
35729
  });
34993
35730
  }
34994
35731
 
@@ -35021,7 +35758,7 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
35021
35758
  window.removeEventListener('touchend', onGutterTouchEnd);
35022
35759
  };
35023
35760
 
35024
- useMountEffect(function () {
35761
+ React.useEffect(function () {
35025
35762
  var panelElements = _toConsumableArray(elementRef.current.children).filter(function (child) {
35026
35763
  return DomHandler.hasClass(child, 'p-splitter-panel');
35027
35764
  });
@@ -35035,7 +35772,7 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
35035
35772
  if (props.children && props.children.length) {
35036
35773
  var initialized = false;
35037
35774
 
35038
- if (isStateful) {
35775
+ if (isStateful && !mounted.current) {
35039
35776
  initialized = restoreState();
35040
35777
  }
35041
35778
 
@@ -35049,8 +35786,11 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
35049
35786
  return _panelSizes;
35050
35787
  });
35051
35788
  panelSizes.current = _panelSizes;
35789
+ mounted.current && saveState();
35052
35790
  }
35053
35791
  }
35792
+
35793
+ mounted.current = true;
35054
35794
  });
35055
35795
 
35056
35796
  var createPanel = function createPanel(panel, index) {
@@ -35062,7 +35802,9 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
35062
35802
  height: props.gutterSize + 'px'
35063
35803
  };
35064
35804
  var gutter = index !== props.children.length - 1 && /*#__PURE__*/React.createElement("div", {
35065
- ref: gutterRef,
35805
+ ref: function ref(el) {
35806
+ return gutterRefs.current[index] = el;
35807
+ },
35066
35808
  className: "p-splitter-gutter",
35067
35809
  style: gutterStyle,
35068
35810
  onMouseDown: function onMouseDown(event) {
@@ -35201,6 +35943,7 @@ var Steps = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
35201
35943
 
35202
35944
  return /*#__PURE__*/React.createElement("li", {
35203
35945
  key: key,
35946
+ id: item.id,
35204
35947
  className: className,
35205
35948
  style: item.style,
35206
35949
  role: "tab",
@@ -35265,8 +36008,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35265
36008
  }
35266
36009
 
35267
36010
  animating.current = false;
35268
- },
35269
- when: false
36011
+ }
35270
36012
  }),
35271
36013
  _useEventListener2 = _slicedToArray(_useEventListener, 2),
35272
36014
  bindTargetEnterListener = _useEventListener2[0],
@@ -35283,23 +36025,22 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35283
36025
 
35284
36026
  unbindTargetLeaveListener();
35285
36027
  animating.current = false;
35286
- },
35287
- when: false
36028
+ }
35288
36029
  }),
35289
36030
  _useEventListener4 = _slicedToArray(_useEventListener3, 2),
35290
36031
  bindTargetLeaveListener = _useEventListener4[0],
35291
36032
  unbindTargetLeaveListener = _useEventListener4[1];
35292
36033
 
35293
36034
  var _useEventListener5 = useEventListener({
35294
- type: 'animationend',
36035
+ type: 'click',
35295
36036
  listener: function listener(event) {
35296
- if (getComputedStyle(targetRef.current).getPropertyValue('position') === 'static') {
36037
+ if (!isVisible(targetRef.current) || getComputedStyle(targetRef.current).getPropertyValue('position') === 'static') {
35297
36038
  unbindDocumentClickListener();
35298
- } else if (!elementRef.current.isSameNode(event.target) && !elementRef.current.contains(event.target) && !targetRef.current.contains(event.target)) {
36039
+ } else if (isOutsideClick(event)) {
35299
36040
  leave();
35300
36041
  }
35301
36042
  },
35302
- when: false
36043
+ when: props.hideOnOutsideClick
35303
36044
  }),
35304
36045
  _useEventListener6 = _slicedToArray(_useEventListener5, 2),
35305
36046
  bindDocumentClickListener = _useEventListener6[0],
@@ -35315,8 +36056,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35315
36056
  } else {
35316
36057
  if (targetRef.current.offsetParent === null) enter();else leave();
35317
36058
  }
35318
- },
35319
- when: false
36059
+ }
35320
36060
  }),
35321
36061
  _useEventListener8 = _slicedToArray(_useEventListener7, 2),
35322
36062
  bindClickListener = _useEventListener8[0],
@@ -35342,8 +36082,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35342
36082
  }
35343
36083
 
35344
36084
  bindTargetEnterListener({
35345
- target: targetRef.current,
35346
- when: true
36085
+ target: targetRef.current
35347
36086
  });
35348
36087
  }
35349
36088
  } else {
@@ -35357,8 +36096,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35357
36096
  }
35358
36097
 
35359
36098
  bindDocumentClickListener({
35360
- target: elementRef.current && elementRef.current.ownerDocument,
35361
- when: props.hideOnOutsideClick
36099
+ target: elementRef.current && elementRef.current.ownerDocument
35362
36100
  });
35363
36101
  };
35364
36102
 
@@ -35373,8 +36111,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35373
36111
  }
35374
36112
 
35375
36113
  bindTargetLeaveListener({
35376
- target: targetRef.current,
35377
- when: true
36114
+ target: targetRef.current
35378
36115
  });
35379
36116
  }
35380
36117
  } else {
@@ -35387,7 +36124,9 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35387
36124
  }
35388
36125
  }
35389
36126
 
35390
- unbindDocumentClickListener();
36127
+ if (props.hideOnOutsideClick) {
36128
+ unbindDocumentClickListener();
36129
+ }
35391
36130
  };
35392
36131
 
35393
36132
  var resolveTarget = function resolveTarget() {
@@ -35416,8 +36155,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35416
36155
  var init = function init() {
35417
36156
  elementRef.current = ObjectUtils.getRefElement(props.nodeRef);
35418
36157
  bindClickListener({
35419
- target: elementRef.current,
35420
- when: true
36158
+ target: elementRef.current
35421
36159
  });
35422
36160
  };
35423
36161
 
@@ -35427,13 +36165,23 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35427
36165
  targetRef.current = null;
35428
36166
  };
35429
36167
 
36168
+ var isVisible = function isVisible(target) {
36169
+ return target.offsetParent !== null;
36170
+ };
36171
+
36172
+ var isOutsideClick = function isOutsideClick(event) {
36173
+ return !elementRef.current.isSameNode(event.target) && !elementRef.current.contains(event.target) && !targetRef.current.contains(event.target);
36174
+ };
36175
+
35430
36176
  useMountEffect(function () {
35431
36177
  init();
35432
36178
  });
35433
36179
  useUpdateEffect(function () {
35434
- destroy();
35435
36180
  init();
35436
- }, [props.nodeRef]);
36181
+ return function () {
36182
+ unbindClickListener();
36183
+ };
36184
+ });
35437
36185
  useUnmountEffect(function () {
35438
36186
  destroy();
35439
36187
  });
@@ -35606,9 +36354,9 @@ TabMenu.defaultProps = {
35606
36354
  onTabChange: null
35607
36355
  };
35608
36356
 
35609
- function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
36357
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35610
36358
 
35611
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
36359
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35612
36360
  var TabPanel = function TabPanel() {};
35613
36361
  var TabView = /*#__PURE__*/React.forwardRef(function (props, ref) {
35614
36362
  var _React$useState = React.useState(props.id),
@@ -35803,7 +36551,7 @@ var TabView = /*#__PURE__*/React.forwardRef(function (props, ref) {
35803
36551
  headerTemplate = _tab$props.headerTemplate,
35804
36552
  closable = _tab$props.closable;
35805
36553
 
35806
- var style = _objectSpread$8(_objectSpread$8({}, headerStyle || {}), _style || {});
36554
+ var style = _objectSpread$7(_objectSpread$7({}, headerStyle || {}), _style || {});
35807
36555
 
35808
36556
  var className = classNames('p-unselectable-text', {
35809
36557
  'p-tabview-selected p-highlight': selected,
@@ -35910,7 +36658,7 @@ var TabView = /*#__PURE__*/React.forwardRef(function (props, ref) {
35910
36658
  if (shouldUseTab(tab, index) && (!props.renderActiveOnly || isSelected(index))) {
35911
36659
  var selected = isSelected(index);
35912
36660
 
35913
- var style = _objectSpread$8(_objectSpread$8({}, tab.props.contentStyle || {}), tab.props.style || {});
36661
+ var style = _objectSpread$7(_objectSpread$7({}, tab.props.contentStyle || {}), tab.props.style || {});
35914
36662
 
35915
36663
  var _className2 = classNames(tab.props.contentClassName, tab.props.className, 'p-tabview-panel', {
35916
36664
  'p-hidden': !selected
@@ -36066,7 +36814,7 @@ var Terminal = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
36066
36814
  var isEmitted = React.useRef(false);
36067
36815
 
36068
36816
  var onClick = function onClick() {
36069
- inputRef.current.focus();
36817
+ DomHandler.focus(inputRef.current);
36070
36818
  };
36071
36819
 
36072
36820
  var onInputChange = function onInputChange(e) {
@@ -36381,7 +37129,8 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
36381
37129
  };
36382
37130
 
36383
37131
  var createMenuItem = function createMenuItem(item, index) {
36384
- var _className = item.className,
37132
+ item.id;
37133
+ var _className = item.className,
36385
37134
  style = item.style,
36386
37135
  disabled = item.disabled,
36387
37136
  _icon = item.icon,
@@ -36450,6 +37199,7 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
36450
37199
 
36451
37200
  return /*#__PURE__*/React.createElement("li", {
36452
37201
  key: key,
37202
+ id: item,
36453
37203
  className: className,
36454
37204
  style: style,
36455
37205
  onMouseEnter: function onMouseEnter(event) {
@@ -36671,9 +37421,9 @@ Timeline.defaultProps = {
36671
37421
  content: null
36672
37422
  };
36673
37423
 
36674
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37424
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
36675
37425
 
36676
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37426
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
36677
37427
  var ToastMessage = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
36678
37428
  var _props$message = props.message,
36679
37429
  severity = _props$message.severity,
@@ -36721,7 +37471,7 @@ var ToastMessage = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
36721
37471
 
36722
37472
  var createMessage = function createMessage() {
36723
37473
  if (props.message) {
36724
- var contentEl = ObjectUtils.getJSXElement(content, _objectSpread$7(_objectSpread$7({}, props), {}, {
37474
+ var contentEl = ObjectUtils.getJSXElement(content, _objectSpread$6(_objectSpread$6({}, props), {}, {
36725
37475
  onClose: onClose
36726
37476
  }));
36727
37477
  var iconClassName = classNames('p-toast-message-icon pi', {
@@ -36763,9 +37513,6 @@ var ToastMessage = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
36763
37513
  }));
36764
37514
  ToastMessage.displayName = 'ToastMessage';
36765
37515
 
36766
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
36767
-
36768
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
36769
37516
  var messageIdx = 0;
36770
37517
  var Toast = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
36771
37518
  var _React$useState = React.useState([]),
@@ -36780,21 +37527,13 @@ var Toast = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
36780
37527
  var messages;
36781
37528
 
36782
37529
  if (Array.isArray(value)) {
36783
- var currentMessages = _toConsumableArray(value);
36784
-
36785
- for (var i = 0; i < currentMessages.length; i++) {
36786
- var message = _objectSpread$6({}, currentMessages[i]);
36787
-
36788
- message.id = messageIdx++;
36789
- currentMessages[i] = message;
37530
+ for (var i = 0; i < value.length; i++) {
37531
+ value[i].id = messageIdx++;
37532
+ messages = [].concat(_toConsumableArray(messagesState), _toConsumableArray(value));
36790
37533
  }
36791
-
36792
- messages = [].concat(_toConsumableArray(messagesState), _toConsumableArray(currentMessages));
36793
37534
  } else {
36794
- var currentMessage = _objectSpread$6({}, value);
36795
-
36796
- currentMessage.id = messageIdx++;
36797
- messages = messagesState ? [].concat(_toConsumableArray(messagesState), [currentMessage]) : [currentMessage];
37535
+ value.id = messageIdx++;
37536
+ messages = messagesState ? [].concat(_toConsumableArray(messagesState), [value]) : [value];
36798
37537
  }
36799
37538
 
36800
37539
  messagesState.length === 0 && ZIndexUtils.set('toast', containerRef.current, PrimeReact.autoZIndex, props.baseZIndex || PrimeReact.zIndex['toast']);
@@ -36807,6 +37546,11 @@ var Toast = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
36807
37546
  setMessagesState([]);
36808
37547
  };
36809
37548
 
37549
+ var replace = function replace(value) {
37550
+ var replaced = Array.isArray(value) ? value : [value];
37551
+ setMessagesState(replaced);
37552
+ };
37553
+
36810
37554
  var onClose = function onClose(message) {
36811
37555
  var messages = messagesState.filter(function (msg) {
36812
37556
  return msg.id !== message.id;
@@ -36820,7 +37564,7 @@ var Toast = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
36820
37564
  };
36821
37565
 
36822
37566
  var onExited = function onExited() {
36823
- messagesState.length === 0 && ZIndexUtils.clear(containerRef.current);
37567
+ messagesState.length === 1 && ZIndexUtils.clear(containerRef.current);
36824
37568
  props.onHide && props.onHide();
36825
37569
  };
36826
37570
 
@@ -36830,6 +37574,7 @@ var Toast = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
36830
37574
  React.useImperativeHandle(ref, function () {
36831
37575
  return {
36832
37576
  show: show,
37577
+ replace: replace,
36833
37578
  clear: clear
36834
37579
  };
36835
37580
  });
@@ -37093,6 +37838,14 @@ var UITreeNode = /*#__PURE__*/React.memo(function (props) {
37093
37838
  } else {
37094
37839
  var nextNodeElement = nodeElement.nextElementSibling;
37095
37840
 
37841
+ while (nextNodeElement) {
37842
+ if (!DomHandler.hasClass(nextNodeElement, 'p-treenode-droppoint')) {
37843
+ break;
37844
+ }
37845
+
37846
+ nextNodeElement = nextNodeElement.nextElementSibling;
37847
+ }
37848
+
37096
37849
  if (nextNodeElement) {
37097
37850
  focusNode(nextNodeElement);
37098
37851
  } else {
@@ -37164,7 +37917,7 @@ var UITreeNode = /*#__PURE__*/React.memo(function (props) {
37164
37917
  };
37165
37918
 
37166
37919
  var focusNode = function focusNode(element) {
37167
- element.children[0].focus();
37920
+ element && element.children[0] && element.children[0].focus();
37168
37921
  };
37169
37922
 
37170
37923
  var onClick = function onClick(event) {
@@ -38382,7 +39135,7 @@ var TreeSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
38382
39135
 
38383
39136
  var onClick = function onClick(event) {
38384
39137
  if (!props.disabled && (!overlayRef.current || !overlayRef.current.contains(event.target)) && !DomHandler.hasClass(event.target, 'p-treeselect-close')) {
38385
- focusInputRef.current.focus();
39138
+ DomHandler.focus(focusInputRef.current);
38386
39139
  overlayVisibleState ? hide() : show();
38387
39140
  }
38388
39141
  };
@@ -38498,7 +39251,7 @@ var TreeSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
38498
39251
  bindOverlayListener();
38499
39252
 
38500
39253
  if (props.filter && props.filterInputAutoFocus) {
38501
- filterInputRef.current.focus();
39254
+ DomHandler.focus(filterInputRef.current, props.filterInputAutoFocus);
38502
39255
  }
38503
39256
 
38504
39257
  props.onShow && props.onShow();
@@ -39415,6 +40168,7 @@ var TreeTableRow = /*#__PURE__*/React.memo(function (props) {
39415
40168
  return /*#__PURE__*/React.createElement(TreeTableBodyCell, _extends({
39416
40169
  key: column.props.columnKey || column.props.field
39417
40170
  }, column.props, {
40171
+ column: column,
39418
40172
  selectOnEdit: props.selectOnEdit,
39419
40173
  selected: isSelected(),
39420
40174
  node: props.node,
@@ -39928,6 +40682,14 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
39928
40682
  }
39929
40683
  };
39930
40684
 
40685
+ var getColumnProp = function getColumnProp(column) {
40686
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
40687
+ args[_key - 1] = arguments[_key];
40688
+ }
40689
+
40690
+ return column ? typeof args[0] === 'string' ? column.props[args[0]] : (args[0] || column).props[args[1]] : null;
40691
+ };
40692
+
39931
40693
  var createSortIcon = function createSortIcon(column, sorted, sortOrder) {
39932
40694
  if (column.props.sortable) {
39933
40695
  var sortIcon = sorted ? sortOrder < 0 ? 'pi-sort-amount-down' : 'pi-sort-amount-up-alt' : 'pi-sort-alt';
@@ -40001,7 +40763,7 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
40001
40763
  var className = classNames(column.props.headerClassName || column.props.className, {
40002
40764
  'p-sortable-column': column.props.sortable,
40003
40765
  'p-highlight': sorted,
40004
- 'p-resizable-column': props.resizableColumns
40766
+ 'p-resizable-column': props.resizableColumns && getColumnProp(column, 'resizeable')
40005
40767
  });
40006
40768
  var resizer = createResizer(column);
40007
40769
  return /*#__PURE__*/React.createElement("th", {
@@ -40455,6 +41217,7 @@ var TreeTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
40455
41217
 
40456
41218
  if (columnSortable.current && columnSortable.current === 'custom' && columnSortFunction.current) {
40457
41219
  value = columnSortFunction.current({
41220
+ rowData: value,
40458
41221
  field: getSortField(),
40459
41222
  order: getSortOrder()
40460
41223
  });
@@ -41445,12 +42208,10 @@ var TriStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fu
41445
42208
  setFocusedState = _React$useState2[1];
41446
42209
 
41447
42210
  var elementRef = React.useRef(null);
41448
- var inputRef = React.useRef(props.inputRef);
41449
42211
 
41450
42212
  var onClick = function onClick(event) {
41451
- if (!props.disabled) {
42213
+ if (!props.disabled && !props.readOnly) {
41452
42214
  toggle(event);
41453
- inputRef.current.focus();
41454
42215
  }
41455
42216
  };
41456
42217
 
@@ -41481,9 +42242,13 @@ var TriStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fu
41481
42242
  setFocusedState(false);
41482
42243
  };
41483
42244
 
41484
- React.useEffect(function () {
41485
- ObjectUtils.combinedRefs(inputRef, props.inputRef);
41486
- }, [inputRef, props.inputRef]);
42245
+ var onKeyDown = function onKeyDown(e) {
42246
+ if (e.keyCode === 32) {
42247
+ toggle(e);
42248
+ e.preventDefault();
42249
+ }
42250
+ };
42251
+
41487
42252
  var hasTooltip = ObjectUtils.isNotEmpty(props.tooltip);
41488
42253
  var otherProps = ObjectUtils.findDiffKeys(props, TriStateCheckbox.defaultProps);
41489
42254
  var className = classNames('p-tristatecheckbox p-checkbox p-component', props.className);
@@ -41496,6 +42261,8 @@ var TriStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fu
41496
42261
  'pi pi-check': props.value === true,
41497
42262
  'pi pi-times': props.value === false
41498
42263
  });
42264
+ var ariaValueLabel = props.value ? ariaLabel('trueLabel') : props.value === false ? ariaLabel('falseLabel') : ariaLabel('nullLabel');
42265
+ var ariaChecked = props.value ? 'true' : 'false';
41499
42266
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", _extends({
41500
42267
  ref: elementRef,
41501
42268
  id: props.id,
@@ -41504,24 +42271,21 @@ var TriStateCheckbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fu
41504
42271
  }, otherProps, {
41505
42272
  onClick: onClick
41506
42273
  }), /*#__PURE__*/React.createElement("div", {
41507
- className: "p-hidden-accessible"
41508
- }, /*#__PURE__*/React.createElement("input", {
41509
- ref: inputRef,
41510
- type: "checkbox",
41511
- "aria-labelledby": props.ariaLabelledBy,
41512
- id: props.inputId,
41513
- name: props.name,
42274
+ className: boxClassName,
42275
+ tabIndex: props.tabIndex,
41514
42276
  onFocus: onFocus,
41515
42277
  onBlur: onBlur,
41516
- disabled: props.disabled,
41517
- defaultChecked: props.value
41518
- })), /*#__PURE__*/React.createElement("div", {
41519
- className: boxClassName,
42278
+ onKeyDown: onKeyDown,
41520
42279
  role: "checkbox",
41521
- "aria-checked": props.value === true
42280
+ "aria-checked": ariaChecked,
42281
+ "aria-labelledby": props['aria-labelledby'],
42282
+ "aria-label": props['aria-label']
41522
42283
  }, /*#__PURE__*/React.createElement("span", {
41523
42284
  className: iconClassName
41524
- }))), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
42285
+ })), focusedState && /*#__PURE__*/React.createElement("span", {
42286
+ className: "p-sr-only",
42287
+ "aria-live": "polite"
42288
+ }, ariaValueLabel)), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
41525
42289
  target: elementRef,
41526
42290
  content: props.tooltip
41527
42291
  }, props.tooltipOptions)));
@@ -41530,17 +42294,17 @@ TriStateCheckbox.displayName = 'TriStateCheckbox';
41530
42294
  TriStateCheckbox.defaultProps = {
41531
42295
  __TYPE: 'TriStateCheckbox',
41532
42296
  id: null,
41533
- inputRef: null,
41534
- inputId: null,
41535
42297
  value: null,
41536
- name: null,
41537
42298
  style: null,
41538
42299
  className: null,
41539
42300
  disabled: false,
42301
+ readOnly: false,
42302
+ tabIndex: "0",
42303
+ 'aria-label': null,
42304
+ 'aria-labelledby': null,
41540
42305
  tooltip: null,
41541
42306
  tooltipOptions: null,
41542
- ariaLabelledBy: null,
41543
42307
  onChange: null
41544
42308
  };
41545
42309
 
41546
- export { Accordion, AccordionTab, AutoComplete, Avatar, AvatarGroup, Badge, BlockUI, BreadCrumb, Button, CSSTransition, Calendar, Captcha, Card, Carousel, CascadeSelect, Chart, Checkbox, Chip, Chips, ColorPicker, Column, ColumnGroup, ConfirmDialog, ConfirmPopup, ConnectedOverlayScrollHandler, ContextMenu, DataScroller, DataTable, DataView, DataViewItem, DataViewLayoutOptions, DeferredContent, Dialog, Divider, Dock, DomHandler, Dropdown, Editor, EventBus, Fieldset, FileUpload, FilterMatchMode, FilterOperator, FilterService, FullCalendar, GMap, Galleria, IconUtils, Image, Inplace, InplaceContent, InplaceDisplay, InputMask, InputNumber, InputSwitch, InputText, InputTextarea, KeyFilter, Knob, ListBox, MegaMenu, Mention, Menu, Menubar, Message, MessageSeverity, Messages, MultiSelect, MultiStateCheckbox, ObjectUtils, OrderList, OrganizationChart, OverlayPanel, OverlayService, Paginator, Panel, PanelMenu, Password, PickList, Portal, PrimeIcons, ProgressBar, ProgressSpinner, RadioButton, Rating, Ripple, Row, ScrollPanel, ScrollTop, SelectButton, Sidebar, Skeleton, SlideMenu, Slider, SpeedDial, SplitButton, Splitter, SplitterPanel, Steps, StyleClass, TabMenu, TabPanel, TabView, Tag, Terminal, TerminalService, TieredMenu, Timeline, Toast, ToggleButton, Toolbar, Tooltip, Tree, TreeSelect, TreeTable, TriStateCheckbox, UniqueComponentId, VirtualScroller, ZIndexUtils, addLocale, classNames, confirmDialog, confirmPopup, PrimeReact as default, locale, localeOption, localeOptions, mask, updateLocaleOption, updateLocaleOptions, useEventListener, useInterval, useMountEffect, useOverlayListener, useOverlayScrollListener, usePrevious, useResizeListener, useStorage, useTimeout, useUnmountEffect, useUpdateEffect };
42310
+ export { Accordion, AccordionTab, AutoComplete, Avatar, AvatarGroup, Badge, BlockUI, BreadCrumb, Button, CSSTransition, Calendar, Captcha, Card, Carousel, CascadeSelect, Chart, Checkbox, Chip, Chips, ColorPicker, Column, ColumnGroup, ConfirmDialog, ConfirmPopup, ConnectedOverlayScrollHandler, ContextMenu, DataScroller, DataTable, DataView, DataViewItem, DataViewLayoutOptions, DeferredContent, Dialog, Divider, Dock, DomHandler, Dropdown, Editor, EventBus, Fieldset, FileUpload, FilterMatchMode, FilterOperator, FilterService, FullCalendar, GMap, Galleria, IconUtils, Image, Inplace, InplaceContent, InplaceDisplay, InputMask, InputNumber, InputSwitch, InputText, InputTextarea, KeyFilter, Knob, ListBox, MegaMenu, Mention, Menu, Menubar, Message, MessageSeverity, Messages, MultiSelect, MultiStateCheckbox, ObjectUtils, OrderList, OrganizationChart, OverlayPanel, OverlayService, Paginator, Panel, PanelMenu, Password, PickList, Portal, PrimeIcons, ProgressBar, ProgressSpinner, RadioButton, Rating, Ripple, Row, ScrollPanel, ScrollTop, SelectButton, Sidebar, Skeleton, SlideMenu, Slider, SpeedDial, SplitButton, Splitter, SplitterPanel, Steps, StyleClass, TabMenu, TabPanel, TabView, Tag, Terminal, TerminalService, TieredMenu, Timeline, Toast, ToggleButton, Toolbar, Tooltip, Tree, TreeSelect, TreeTable, TriStateCheckbox, UniqueComponentId, VirtualScroller, ZIndexUtils, addLocale, ariaLabel, classNames, confirmDialog, confirmPopup, PrimeReact as default, locale, localeOption, localeOptions, mask, updateLocaleOption, updateLocaleOptions, useEventListener, useInterval, useLocalStorage, useMountEffect, useOverlayListener, useOverlayScrollListener, usePrevious, useResizeListener, useSessionStorage, useStorage, useTimeout, useUnmountEffect, useUpdateEffect };