primereact 8.0.0-rc.1 → 8.0.1

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 (375) hide show
  1. package/README.md +8 -5
  2. package/accordion/accordion.cjs.js +1 -1
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.d.ts +2 -0
  5. package/accordion/accordion.esm.js +1 -1
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +1 -1
  8. package/accordion/accordion.min.js +1 -1
  9. package/api/api.cjs.js +2 -5
  10. package/api/api.cjs.min.js +1 -1
  11. package/api/api.esm.js +2 -5
  12. package/api/api.esm.min.js +1 -1
  13. package/api/api.js +2 -5
  14. package/api/api.min.js +1 -1
  15. package/autocomplete/autocomplete.cjs.js +5 -0
  16. package/autocomplete/autocomplete.cjs.min.js +1 -1
  17. package/autocomplete/autocomplete.d.ts +2 -1
  18. package/autocomplete/autocomplete.esm.js +5 -0
  19. package/autocomplete/autocomplete.esm.min.js +1 -1
  20. package/autocomplete/autocomplete.js +5 -0
  21. package/autocomplete/autocomplete.min.js +1 -1
  22. package/avatar/avatar.d.ts +1 -0
  23. package/avatargroup/avatargroup.d.ts +1 -0
  24. package/badge/badge.d.ts +1 -0
  25. package/blockui/blockui.d.ts +1 -0
  26. package/breadcrumb/breadcrumb.cjs.js +7 -5
  27. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  28. package/breadcrumb/breadcrumb.d.ts +1 -0
  29. package/breadcrumb/breadcrumb.esm.js +8 -6
  30. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  31. package/breadcrumb/breadcrumb.js +7 -5
  32. package/breadcrumb/breadcrumb.min.js +1 -1
  33. package/button/button.cjs.js +3 -1
  34. package/button/button.cjs.min.js +1 -1
  35. package/button/button.d.ts +1 -0
  36. package/button/button.esm.js +3 -1
  37. package/button/button.esm.min.js +1 -1
  38. package/button/button.js +3 -1
  39. package/button/button.min.css +1 -1
  40. package/button/button.min.js +1 -1
  41. package/calendar/calendar.cjs.js +314 -151
  42. package/calendar/calendar.cjs.min.js +1 -1
  43. package/calendar/calendar.d.ts +8 -0
  44. package/calendar/calendar.esm.js +314 -151
  45. package/calendar/calendar.esm.min.js +1 -1
  46. package/calendar/calendar.js +315 -152
  47. package/calendar/calendar.min.css +1 -1
  48. package/calendar/calendar.min.js +1 -1
  49. package/captcha/captcha.d.ts +1 -0
  50. package/card/card.d.ts +1 -0
  51. package/carousel/carousel.cjs.js +4 -4
  52. package/carousel/carousel.cjs.min.js +1 -1
  53. package/carousel/carousel.d.ts +1 -0
  54. package/carousel/carousel.esm.js +4 -4
  55. package/carousel/carousel.esm.min.js +1 -1
  56. package/carousel/carousel.js +4 -4
  57. package/carousel/carousel.min.js +1 -1
  58. package/cascadeselect/cascadeselect.d.ts +4 -2
  59. package/chart/chart.d.ts +1 -0
  60. package/checkbox/checkbox.cjs.js +5 -13
  61. package/checkbox/checkbox.cjs.min.js +1 -1
  62. package/checkbox/checkbox.d.ts +2 -2
  63. package/checkbox/checkbox.esm.js +5 -13
  64. package/checkbox/checkbox.esm.min.js +1 -1
  65. package/checkbox/checkbox.js +5 -13
  66. package/checkbox/checkbox.min.js +1 -1
  67. package/chip/chip.d.ts +1 -0
  68. package/chips/chips.cjs.js +6 -2
  69. package/chips/chips.cjs.min.js +1 -1
  70. package/chips/chips.d.ts +1 -0
  71. package/chips/chips.esm.js +6 -2
  72. package/chips/chips.esm.min.js +1 -1
  73. package/chips/chips.js +6 -2
  74. package/chips/chips.min.js +1 -1
  75. package/colorpicker/colorpicker.d.ts +1 -0
  76. package/column/column.d.ts +2 -1
  77. package/columngroup/columngroup.d.ts +3 -1
  78. package/common/common.min.css +1 -1
  79. package/confirmdialog/confirmdialog.cjs.js +2 -2
  80. package/confirmdialog/confirmdialog.d.ts +1 -0
  81. package/confirmdialog/confirmdialog.esm.js +2 -2
  82. package/confirmdialog/confirmdialog.js +2 -2
  83. package/confirmpopup/confirmpopup.cjs.js +2 -2
  84. package/confirmpopup/confirmpopup.d.ts +1 -0
  85. package/confirmpopup/confirmpopup.esm.js +2 -2
  86. package/confirmpopup/confirmpopup.js +2 -2
  87. package/contextmenu/contextmenu.cjs.js +6 -2
  88. package/contextmenu/contextmenu.cjs.min.js +1 -1
  89. package/contextmenu/contextmenu.d.ts +1 -0
  90. package/contextmenu/contextmenu.esm.js +7 -3
  91. package/contextmenu/contextmenu.esm.min.js +1 -1
  92. package/contextmenu/contextmenu.js +6 -2
  93. package/contextmenu/contextmenu.min.js +1 -1
  94. package/core/core.js +249 -134
  95. package/core/core.min.js +10 -10
  96. package/datascroller/datascroller.d.ts +1 -0
  97. package/datatable/datatable.cjs.js +13 -11
  98. package/datatable/datatable.cjs.min.js +1 -1
  99. package/datatable/datatable.d.ts +2 -1
  100. package/datatable/datatable.esm.js +13 -11
  101. package/datatable/datatable.esm.min.js +1 -1
  102. package/datatable/datatable.js +13 -11
  103. package/datatable/datatable.min.js +1 -1
  104. package/dataview/dataview.d.ts +2 -0
  105. package/deferredcontent/deferredcontent.d.ts +1 -0
  106. package/dialog/dialog.d.ts +1 -0
  107. package/divider/divider.d.ts +1 -0
  108. package/dock/dock.cjs.js +5 -3
  109. package/dock/dock.cjs.min.js +1 -1
  110. package/dock/dock.d.ts +1 -0
  111. package/dock/dock.esm.js +6 -4
  112. package/dock/dock.esm.min.js +1 -1
  113. package/dock/dock.js +5 -3
  114. package/dock/dock.min.js +1 -1
  115. package/dropdown/dropdown.cjs.js +2 -6
  116. package/dropdown/dropdown.cjs.min.js +1 -1
  117. package/dropdown/dropdown.d.ts +4 -2
  118. package/dropdown/dropdown.esm.js +2 -6
  119. package/dropdown/dropdown.esm.min.js +1 -1
  120. package/dropdown/dropdown.js +2 -6
  121. package/dropdown/dropdown.min.js +1 -1
  122. package/editor/editor.d.ts +1 -0
  123. package/fieldset/fieldset.d.ts +1 -0
  124. package/fileupload/fileupload.d.ts +2 -1
  125. package/fullcalendar/fullcalendar.d.ts +1 -0
  126. package/galleria/galleria.d.ts +1 -0
  127. package/gmap/gmap.cjs.js +27 -12
  128. package/gmap/gmap.cjs.min.js +1 -1
  129. package/gmap/gmap.d.ts +1 -0
  130. package/gmap/gmap.esm.js +27 -12
  131. package/gmap/gmap.esm.min.js +1 -1
  132. package/gmap/gmap.js +27 -12
  133. package/gmap/gmap.min.js +1 -1
  134. package/hooks/hooks.cjs.js +52 -0
  135. package/hooks/hooks.cjs.min.js +1 -1
  136. package/hooks/hooks.d.ts +7 -5
  137. package/hooks/hooks.esm.js +52 -1
  138. package/hooks/hooks.esm.min.js +1 -1
  139. package/hooks/hooks.js +52 -0
  140. package/hooks/hooks.min.js +1 -1
  141. package/image/image.d.ts +1 -0
  142. package/inplace/inplace.d.ts +7 -2
  143. package/inputmask/inputmask.cjs.js +2 -2
  144. package/inputmask/inputmask.cjs.min.js +1 -1
  145. package/inputmask/inputmask.d.ts +1 -1
  146. package/inputmask/inputmask.esm.js +2 -2
  147. package/inputmask/inputmask.esm.min.js +1 -1
  148. package/inputmask/inputmask.js +2 -2
  149. package/inputmask/inputmask.min.js +1 -1
  150. package/inputnumber/inputnumber.cjs.js +8 -5
  151. package/inputnumber/inputnumber.cjs.min.js +1 -1
  152. package/inputnumber/inputnumber.d.ts +1 -0
  153. package/inputnumber/inputnumber.esm.js +8 -5
  154. package/inputnumber/inputnumber.esm.min.js +1 -1
  155. package/inputnumber/inputnumber.js +8 -5
  156. package/inputnumber/inputnumber.min.js +1 -1
  157. package/inputswitch/inputswitch.cjs.js +7 -10
  158. package/inputswitch/inputswitch.cjs.min.js +1 -1
  159. package/inputswitch/inputswitch.d.ts +2 -1
  160. package/inputswitch/inputswitch.esm.js +7 -10
  161. package/inputswitch/inputswitch.esm.min.js +1 -1
  162. package/inputswitch/inputswitch.js +7 -10
  163. package/inputswitch/inputswitch.min.js +1 -1
  164. package/inputtext/inputtext.cjs.js +12 -2
  165. package/inputtext/inputtext.cjs.min.js +1 -1
  166. package/inputtext/inputtext.d.ts +1 -0
  167. package/inputtext/inputtext.esm.js +12 -2
  168. package/inputtext/inputtext.esm.min.js +1 -1
  169. package/inputtext/inputtext.js +12 -2
  170. package/inputtext/inputtext.min.js +1 -1
  171. package/inputtextarea/inputtextarea.d.ts +1 -0
  172. package/keyfilter/keyfilter.cjs.js +54 -1
  173. package/keyfilter/keyfilter.cjs.min.js +1 -1
  174. package/keyfilter/keyfilter.esm.js +54 -1
  175. package/keyfilter/keyfilter.esm.min.js +1 -1
  176. package/keyfilter/keyfilter.js +146 -93
  177. package/keyfilter/keyfilter.min.js +1 -1
  178. package/knob/knob.d.ts +1 -0
  179. package/listbox/listbox.d.ts +4 -2
  180. package/megamenu/megamenu.cjs.js +8 -5
  181. package/megamenu/megamenu.cjs.min.js +1 -1
  182. package/megamenu/megamenu.d.ts +1 -0
  183. package/megamenu/megamenu.esm.js +9 -6
  184. package/megamenu/megamenu.esm.min.js +1 -1
  185. package/megamenu/megamenu.js +8 -5
  186. package/megamenu/megamenu.min.js +1 -1
  187. package/mention/mention.d.ts +1 -0
  188. package/menu/menu.cjs.js +4 -2
  189. package/menu/menu.cjs.min.js +1 -1
  190. package/menu/menu.d.ts +1 -0
  191. package/menu/menu.esm.js +5 -3
  192. package/menu/menu.esm.min.js +1 -1
  193. package/menu/menu.js +4 -2
  194. package/menu/menu.min.js +1 -1
  195. package/menubar/menubar.cjs.js +6 -2
  196. package/menubar/menubar.cjs.min.js +1 -1
  197. package/menubar/menubar.d.ts +1 -0
  198. package/menubar/menubar.esm.js +7 -3
  199. package/menubar/menubar.esm.min.js +1 -1
  200. package/menubar/menubar.js +6 -2
  201. package/menubar/menubar.min.js +1 -1
  202. package/menuitem/menuitem.d.ts +0 -2
  203. package/message/message.d.ts +1 -0
  204. package/messages/messages.d.ts +1 -0
  205. package/multiselect/multiselect.cjs.js +5 -13
  206. package/multiselect/multiselect.cjs.min.js +1 -1
  207. package/multiselect/multiselect.d.ts +4 -2
  208. package/multiselect/multiselect.esm.js +5 -13
  209. package/multiselect/multiselect.esm.min.js +1 -1
  210. package/multiselect/multiselect.js +5 -13
  211. package/multiselect/multiselect.min.js +1 -1
  212. package/multistatecheckbox/multistatecheckbox.d.ts +1 -0
  213. package/orderlist/orderlist.d.ts +1 -0
  214. package/organizationchart/organizationchart.d.ts +1 -0
  215. package/overlaypanel/overlaypanel.d.ts +1 -0
  216. package/package.json +6 -5
  217. package/paginator/paginator.cjs.js +11 -5
  218. package/paginator/paginator.d.ts +1 -0
  219. package/paginator/paginator.esm.js +11 -5
  220. package/paginator/paginator.js +11 -5
  221. package/panel/panel.d.ts +1 -0
  222. package/panelmenu/panelmenu.cjs.js +12 -6
  223. package/panelmenu/panelmenu.cjs.min.js +1 -1
  224. package/panelmenu/panelmenu.d.ts +1 -0
  225. package/panelmenu/panelmenu.esm.js +13 -7
  226. package/panelmenu/panelmenu.esm.min.js +1 -1
  227. package/panelmenu/panelmenu.js +12 -6
  228. package/panelmenu/panelmenu.min.js +1 -1
  229. package/password/password.d.ts +1 -0
  230. package/picklist/picklist.d.ts +1 -0
  231. package/primereact.all.cjs.js +580 -275
  232. package/primereact.all.cjs.min.js +1 -1
  233. package/primereact.all.esm.js +580 -276
  234. package/primereact.all.esm.min.js +1 -1
  235. package/primereact.all.js +580 -275
  236. package/primereact.all.min.js +1 -1
  237. package/progressbar/progressbar.d.ts +1 -0
  238. package/progressspinner/progressspinner.d.ts +2 -1
  239. package/radiobutton/radiobutton.d.ts +2 -1
  240. package/rating/rating.d.ts +1 -0
  241. package/resources/primereact.css +197 -176
  242. package/resources/primereact.min.css +1 -1
  243. package/resources/themes/arya-blue/theme.css +61 -13
  244. package/resources/themes/arya-green/theme.css +61 -13
  245. package/resources/themes/arya-orange/theme.css +61 -13
  246. package/resources/themes/arya-purple/theme.css +61 -13
  247. package/resources/themes/bootstrap4-dark-blue/theme.css +61 -13
  248. package/resources/themes/bootstrap4-dark-purple/theme.css +61 -13
  249. package/resources/themes/bootstrap4-light-blue/theme.css +61 -13
  250. package/resources/themes/bootstrap4-light-purple/theme.css +61 -13
  251. package/resources/themes/fluent-light/theme.css +61 -13
  252. package/resources/themes/lara-dark-blue/theme.css +61 -13
  253. package/resources/themes/lara-dark-indigo/theme.css +61 -13
  254. package/resources/themes/lara-dark-purple/theme.css +61 -13
  255. package/resources/themes/lara-dark-teal/theme.css +61 -13
  256. package/resources/themes/lara-light-blue/theme.css +61 -13
  257. package/resources/themes/lara-light-indigo/theme.css +61 -13
  258. package/resources/themes/lara-light-purple/theme.css +61 -13
  259. package/resources/themes/lara-light-teal/theme.css +61 -13
  260. package/resources/themes/luna-amber/theme.css +61 -13
  261. package/resources/themes/luna-blue/theme.css +61 -13
  262. package/resources/themes/luna-green/theme.css +61 -13
  263. package/resources/themes/luna-pink/theme.css +61 -13
  264. package/resources/themes/md-dark-deeppurple/theme.css +64 -13
  265. package/resources/themes/md-dark-indigo/theme.css +64 -13
  266. package/resources/themes/md-light-deeppurple/theme.css +64 -13
  267. package/resources/themes/md-light-indigo/theme.css +64 -13
  268. package/resources/themes/mdc-dark-deeppurple/theme.css +64 -13
  269. package/resources/themes/mdc-dark-indigo/theme.css +64 -13
  270. package/resources/themes/mdc-light-deeppurple/theme.css +64 -13
  271. package/resources/themes/mdc-light-indigo/theme.css +64 -13
  272. package/resources/themes/nova/theme.css +61 -13
  273. package/resources/themes/nova-accent/theme.css +61 -13
  274. package/resources/themes/nova-alt/theme.css +61 -13
  275. package/resources/themes/rhea/theme.css +61 -13
  276. package/resources/themes/saga-blue/theme.css +61 -13
  277. package/resources/themes/saga-green/theme.css +61 -13
  278. package/resources/themes/saga-orange/theme.css +61 -13
  279. package/resources/themes/saga-purple/theme.css +61 -13
  280. package/resources/themes/tailwind-light/theme.css +60 -12
  281. package/resources/themes/vela-blue/theme.css +61 -13
  282. package/resources/themes/vela-green/theme.css +61 -13
  283. package/resources/themes/vela-orange/theme.css +61 -13
  284. package/resources/themes/vela-purple/theme.css +61 -13
  285. package/ripple/ripple.cjs.js +1 -0
  286. package/ripple/ripple.cjs.min.js +1 -1
  287. package/ripple/ripple.d.ts +3 -1
  288. package/ripple/ripple.esm.js +1 -0
  289. package/ripple/ripple.esm.min.js +1 -1
  290. package/ripple/ripple.js +1 -0
  291. package/ripple/ripple.min.js +1 -1
  292. package/row/row.d.ts +1 -0
  293. package/scrollpanel/scrollpanel.d.ts +1 -0
  294. package/scrolltop/scrolltop.d.ts +1 -0
  295. package/selectbutton/selectbutton.d.ts +4 -2
  296. package/selectitem/selectitem.d.ts +2 -0
  297. package/sidebar/sidebar.d.ts +1 -0
  298. package/skeleton/skeleton.d.ts +1 -0
  299. package/slidemenu/slidemenu.cjs.js +6 -2
  300. package/slidemenu/slidemenu.cjs.min.js +1 -1
  301. package/slidemenu/slidemenu.d.ts +1 -0
  302. package/slidemenu/slidemenu.esm.js +7 -3
  303. package/slidemenu/slidemenu.esm.min.js +1 -1
  304. package/slidemenu/slidemenu.js +6 -2
  305. package/slidemenu/slidemenu.min.js +1 -1
  306. package/slider/slider.d.ts +1 -0
  307. package/speeddial/speeddial.cjs.js +10 -5
  308. package/speeddial/speeddial.cjs.min.js +1 -1
  309. package/speeddial/speeddial.d.ts +1 -0
  310. package/speeddial/speeddial.esm.js +11 -6
  311. package/speeddial/speeddial.esm.min.js +1 -1
  312. package/speeddial/speeddial.js +10 -5
  313. package/speeddial/speeddial.min.js +1 -1
  314. package/splitbutton/splitbutton.cjs.js +5 -3
  315. package/splitbutton/splitbutton.cjs.min.js +1 -1
  316. package/splitbutton/splitbutton.d.ts +1 -0
  317. package/splitbutton/splitbutton.esm.js +6 -4
  318. package/splitbutton/splitbutton.esm.min.js +1 -1
  319. package/splitbutton/splitbutton.js +5 -3
  320. package/splitbutton/splitbutton.min.js +1 -1
  321. package/splitter/splitter.d.ts +2 -0
  322. package/steps/steps.cjs.js +8 -1
  323. package/steps/steps.cjs.min.js +1 -1
  324. package/steps/steps.d.ts +1 -0
  325. package/steps/steps.esm.js +9 -2
  326. package/steps/steps.esm.min.js +1 -1
  327. package/steps/steps.js +8 -1
  328. package/steps/steps.min.js +1 -1
  329. package/styleclass/styleclass.d.ts +1 -0
  330. package/tabmenu/tabmenu.cjs.js +4 -3
  331. package/tabmenu/tabmenu.cjs.min.js +1 -1
  332. package/tabmenu/tabmenu.d.ts +1 -0
  333. package/tabmenu/tabmenu.esm.js +5 -4
  334. package/tabmenu/tabmenu.esm.min.js +1 -1
  335. package/tabmenu/tabmenu.js +4 -3
  336. package/tabmenu/tabmenu.min.js +1 -1
  337. package/tabview/tabview.d.ts +2 -0
  338. package/tag/tag.d.ts +1 -0
  339. package/terminal/terminal.d.ts +1 -0
  340. package/tieredmenu/tieredmenu.cjs.js +6 -3
  341. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  342. package/tieredmenu/tieredmenu.d.ts +1 -0
  343. package/tieredmenu/tieredmenu.esm.js +7 -4
  344. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  345. package/tieredmenu/tieredmenu.js +6 -3
  346. package/tieredmenu/tieredmenu.min.js +1 -1
  347. package/timeline/timeline.d.ts +1 -0
  348. package/toast/toast.d.ts +1 -0
  349. package/togglebutton/togglebutton.cjs.js +3 -3
  350. package/togglebutton/togglebutton.cjs.min.js +1 -1
  351. package/togglebutton/togglebutton.d.ts +1 -1
  352. package/togglebutton/togglebutton.esm.js +3 -3
  353. package/togglebutton/togglebutton.esm.min.js +1 -1
  354. package/togglebutton/togglebutton.js +3 -3
  355. package/togglebutton/togglebutton.min.js +1 -1
  356. package/toolbar/toolbar.d.ts +1 -0
  357. package/tooltip/tooltip.d.ts +1 -0
  358. package/tree/tree.d.ts +1 -0
  359. package/treeselect/treeselect.cjs.js +0 -1
  360. package/treeselect/treeselect.cjs.min.js +1 -1
  361. package/treeselect/treeselect.d.ts +6 -6
  362. package/treeselect/treeselect.esm.js +0 -1
  363. package/treeselect/treeselect.esm.min.js +1 -1
  364. package/treeselect/treeselect.js +0 -1
  365. package/treeselect/treeselect.min.js +1 -1
  366. package/treetable/treetable.d.ts +2 -1
  367. package/tristatecheckbox/tristatecheckbox.d.ts +1 -0
  368. package/utils/utils.cjs.js +11 -8
  369. package/utils/utils.cjs.min.js +1 -1
  370. package/utils/utils.esm.js +11 -8
  371. package/utils/utils.esm.min.js +1 -1
  372. package/utils/utils.js +11 -8
  373. package/utils/utils.min.js +1 -1
  374. package/virtualscroller/virtualscroller.d.ts +1 -0
  375. package/web-types.json +7 -19
@@ -125,9 +125,6 @@ function _defineProperties(target, props) {
125
125
  function _createClass(Constructor, protoProps, staticProps) {
126
126
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
127
127
  if (staticProps) _defineProperties(Constructor, staticProps);
128
- Object.defineProperty(Constructor, "prototype", {
129
- writable: false
130
- });
131
128
  return Constructor;
132
129
  }
133
130
 
@@ -234,8 +231,8 @@ var locales = {
234
231
  medium: 'Medium',
235
232
  strong: 'Strong',
236
233
  passwordPrompt: 'Enter a password',
237
- emptyFilterMessage: 'No results found',
238
- emptyMessage: 'No available options'
234
+ emptyFilterMessage: 'No available options',
235
+ emptyMessage: 'No results found'
239
236
  }
240
237
  };
241
238
 
@@ -531,11 +528,17 @@ var FilterOperator = Object.freeze({
531
528
  function _typeof(obj) {
532
529
  "@babel/helpers - typeof";
533
530
 
534
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
535
- return typeof obj;
536
- } : function (obj) {
537
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
538
- }, _typeof(obj);
531
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
532
+ _typeof = function _typeof(obj) {
533
+ return typeof obj;
534
+ };
535
+ } else {
536
+ _typeof = function _typeof(obj) {
537
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
538
+ };
539
+ }
540
+
541
+ return _typeof(obj);
539
542
  }
540
543
 
541
544
  function classNames() {
@@ -2991,6 +2994,57 @@ var useInterval = function useInterval(fn) {
2991
2994
  };
2992
2995
  /* eslint-enable */
2993
2996
 
2997
+ /**
2998
+ * Hook to wrap around useState that stores the value in the browser local/session storage.
2999
+ *
3000
+ * @param {any} initialValue the initial value to store
3001
+ * @param {string} key the key to store the value in local/session storage
3002
+ * @param {string} storage either 'local' or 'session' for what type of storage
3003
+ * @returns a stateful value, and a function to update it.
3004
+ */
3005
+
3006
+ var useStorage = function useStorage(initialValue, key) {
3007
+ var storage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'local';
3008
+ // Since the local storage API isn't available in server-rendering environments,
3009
+ // we check that typeof window !== 'undefined' to make SSR and SSG work properly.
3010
+ var storageAvailable = typeof window !== 'undefined';
3011
+
3012
+ var _React$useState = React.useState(function () {
3013
+ if (!storageAvailable) {
3014
+ return initialValue;
3015
+ }
3016
+
3017
+ try {
3018
+ var item = storage === 'local' ? window.localStorage.getItem(key) : window.sessionStorage.getItem(key);
3019
+ return item ? JSON.parse(item) : initialValue;
3020
+ } catch (error) {
3021
+ // If error also return initialValue
3022
+ return initialValue;
3023
+ }
3024
+ }),
3025
+ _React$useState2 = _slicedToArray(_React$useState, 2),
3026
+ storedValue = _React$useState2[0],
3027
+ setStoredValue = _React$useState2[1];
3028
+
3029
+ var setValue = function setValue(value) {
3030
+ try {
3031
+ // Allow value to be a function so we have same API as useState
3032
+ var valueToStore = value instanceof Function ? value(storedValue) : value;
3033
+ setStoredValue(valueToStore);
3034
+
3035
+ if (storageAvailable) {
3036
+ var serializedValue = JSON.stringify(valueToStore);
3037
+ storage === 'local' ? window.localStorage.setItem(key, serializedValue) : window.sessionStorage.setItem(key, serializedValue);
3038
+ }
3039
+ } catch (error) {
3040
+ throw new Error("PrimeReact useStorage: Failed to serialize the value at key: ".concat(key));
3041
+ }
3042
+ };
3043
+
3044
+ return [storedValue, setValue];
3045
+ };
3046
+ /* eslint-enable */
3047
+
2994
3048
  /* eslint-disable */
2995
3049
  var useTimeout = function useTimeout(fn) {
2996
3050
  var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
@@ -3120,7 +3174,7 @@ var Accordion = /*#__PURE__*/React.forwardRef(function (props, ref) {
3120
3174
  idState = _React$useState2[0],
3121
3175
  setIdState = _React$useState2[1];
3122
3176
 
3123
- var _React$useState3 = React.useState(null),
3177
+ var _React$useState3 = React.useState(props.activeIndex),
3124
3178
  _React$useState4 = _slicedToArray(_React$useState3, 2),
3125
3179
  activeIndexState = _React$useState4[0],
3126
3180
  setActiveIndexState = _React$useState4[1];
@@ -3368,6 +3422,7 @@ var Ripple = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function ()
3368
3422
  }
3369
3423
  });
3370
3424
  return PrimeReact.ripple ? /*#__PURE__*/React.createElement("span", {
3425
+ role: "presentation",
3371
3426
  ref: inkRef,
3372
3427
  className: "p-ink",
3373
3428
  onAnimationEnd: onAnimationEnd
@@ -4005,8 +4060,10 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pr
4005
4060
  var icon = createIcon();
4006
4061
  var label = createLabel();
4007
4062
  var badge = createBadge();
4063
+ var defaultAriaLabel = props.label ? props.label + (props.badge ? ' ' + props.badge : '') : '';
4008
4064
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", _extends({
4009
- ref: elementRef
4065
+ ref: elementRef,
4066
+ "aria-label": defaultAriaLabel
4010
4067
  }, otherProps, {
4011
4068
  className: className,
4012
4069
  disabled: disabled
@@ -4088,12 +4145,15 @@ var KeyFilter = {
4088
4145
  getCharCode: function getCharCode(e) {
4089
4146
  return e.charCode || e.keyCode || e.which;
4090
4147
  },
4148
+ getRegex: function getRegex(keyfilter) {
4149
+ return KeyFilter.DEFAULT_MASKS[keyfilter] ? KeyFilter.DEFAULT_MASKS[keyfilter] : keyfilter;
4150
+ },
4091
4151
  onKeyPress: function onKeyPress(e, keyfilter, validateOnly) {
4092
4152
  if (validateOnly) {
4093
4153
  return;
4094
4154
  }
4095
4155
 
4096
- var regex = KeyFilter.DEFAULT_MASKS[keyfilter] ? KeyFilter.DEFAULT_MASKS[keyfilter] : keyfilter;
4156
+ var regex = this.getRegex(keyfilter);
4097
4157
  var browser = DomHandler.getBrowser();
4098
4158
 
4099
4159
  if (e.ctrlKey || e.altKey) {
@@ -4117,6 +4177,21 @@ var KeyFilter = {
4117
4177
  e.preventDefault();
4118
4178
  }
4119
4179
  },
4180
+ onPaste: function onPaste(e, keyfilter, validateOnly) {
4181
+ if (validateOnly) {
4182
+ return;
4183
+ }
4184
+
4185
+ var regex = this.getRegex(keyfilter);
4186
+ var clipboard = e.clipboardData.getData("text"); // loop over each letter pasted and if any fail prevent the paste
4187
+
4188
+ _toConsumableArray(clipboard).forEach(function (c) {
4189
+ if (!regex.test(c)) {
4190
+ e.preventDefault();
4191
+ return false;
4192
+ }
4193
+ });
4194
+ },
4120
4195
  validate: function validate(e, keyfilter) {
4121
4196
  var value = e.target.value,
4122
4197
  validatePattern = true;
@@ -4155,6 +4230,14 @@ var InputText = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
4155
4230
  }
4156
4231
  };
4157
4232
 
4233
+ var onPaste = function onPaste(event) {
4234
+ props.onPaste && props.onPaste(event);
4235
+
4236
+ if (props.keyfilter) {
4237
+ KeyFilter.onPaste(event, props.keyfilter, props.validateOnly);
4238
+ }
4239
+ };
4240
+
4158
4241
  var isFilled = React.useMemo(function () {
4159
4242
  return ObjectUtils.isNotEmpty(props.value) || ObjectUtils.isNotEmpty(props.defaultValue) || elementRef.current && ObjectUtils.isNotEmpty(elementRef.current.value);
4160
4243
  }, [props.value, props.defaultValue]);
@@ -4172,7 +4255,8 @@ var InputText = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
4172
4255
  }, otherProps, {
4173
4256
  className: className,
4174
4257
  onInput: onInput,
4175
- onKeyPress: onKeyPress
4258
+ onKeyPress: onKeyPress,
4259
+ onPaste: onPaste
4176
4260
  })), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
4177
4261
  target: elementRef,
4178
4262
  content: props.tooltip
@@ -4186,7 +4270,8 @@ InputText.defaultProps = {
4186
4270
  tooltip: null,
4187
4271
  tooltipOptions: null,
4188
4272
  onInput: null,
4189
- onKeyPress: null
4273
+ onKeyPress: null,
4274
+ onPaste: null
4190
4275
  };
4191
4276
 
4192
4277
  var OverlayService = EventBus();
@@ -5208,6 +5293,11 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5208
5293
  };
5209
5294
 
5210
5295
  var updateModel = function updateModel(event, value) {
5296
+ // #2176 only call change if value actually changed
5297
+ if (selectedItem && selectedItem.current === value) {
5298
+ return;
5299
+ }
5300
+
5211
5301
  if (props.onChange) {
5212
5302
  props.onChange({
5213
5303
  originalEvent: event,
@@ -5999,7 +6089,7 @@ var BreadCrumb = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
5999
6089
  var home = props.home;
6000
6090
 
6001
6091
  if (home) {
6002
- var icon = home.icon,
6092
+ var _icon = home.icon,
6003
6093
  target = home.target,
6004
6094
  url = home.url,
6005
6095
  disabled = home.disabled,
@@ -6010,7 +6100,11 @@ var BreadCrumb = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
6010
6100
  'p-disabled': disabled
6011
6101
  }, _className);
6012
6102
 
6013
- var iconClassName = classNames('p-menuitem-icon', icon);
6103
+ var icon = IconUtils.getJSXIcon(_icon, {
6104
+ className: 'p-menuitem-icon'
6105
+ }, {
6106
+ props: props
6107
+ });
6014
6108
  return /*#__PURE__*/React.createElement("li", {
6015
6109
  className: _className2,
6016
6110
  style: style
@@ -6022,9 +6116,7 @@ var BreadCrumb = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
6022
6116
  onClick: function onClick(event) {
6023
6117
  return itemClick(event, home);
6024
6118
  }
6025
- }, /*#__PURE__*/React.createElement("span", {
6026
- className: iconClassName
6027
- })));
6119
+ }, icon));
6028
6120
  }
6029
6121
 
6030
6122
  return null;
@@ -6179,8 +6271,30 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6179
6271
  var overlayEventListener = React.useRef(null);
6180
6272
  var touchUIMaskClickListener = React.useRef(null);
6181
6273
  var isOverlayClicked = React.useRef(false);
6274
+
6275
+ var _React$useState7 = React.useState('date'),
6276
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
6277
+ currentView = _React$useState8[0],
6278
+ setCurrentView = _React$useState8[1];
6279
+
6280
+ var _React$useState9 = React.useState(null),
6281
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
6282
+ currentMonth = _React$useState10[0],
6283
+ setCurrentMonth = _React$useState10[1];
6284
+
6285
+ var _React$useState11 = React.useState(null),
6286
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
6287
+ currentYear = _React$useState12[0],
6288
+ setCurrentYear = _React$useState12[1];
6289
+
6290
+ var _React$useState13 = React.useState([]),
6291
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
6292
+ yearOptions = _React$useState14[0],
6293
+ setYearOptions = _React$useState14[1];
6294
+
6182
6295
  var previousValue = usePrevious(props.value);
6183
6296
  var visible = props.inline || (props.onVisibleChange ? props.visible : overlayVisibleState);
6297
+ var attributeSelector = UniqueComponentId();
6184
6298
 
6185
6299
  var _useOverlayListener = useOverlayListener({
6186
6300
  target: elementRef,
@@ -6356,7 +6470,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6356
6470
  if (navigation.current) {
6357
6471
  if (navigation.current.button) {
6358
6472
  initFocusableCell();
6359
- if (navigation.backward) DomHandler.findSingle(overlayRef.current, '.p-datepicker-prev').focus();else DomHandler.findSingle(overlayRef.current, '.p-datepicker-next').focus();
6473
+ if (navigation.current.backward) DomHandler.findSingle(overlayRef.current, '.p-datepicker-prev').focus();else DomHandler.findSingle(overlayRef.current, '.p-datepicker-next').focus();
6360
6474
  } else {
6361
6475
  var cell;
6362
6476
 
@@ -6412,16 +6526,22 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6412
6526
  var newViewDate = new Date(getViewDate().getTime());
6413
6527
  newViewDate.setDate(1);
6414
6528
 
6415
- if (props.view === 'date') {
6529
+ if (currentView === 'date') {
6416
6530
  if (newViewDate.getMonth() === 0) {
6417
6531
  newViewDate.setMonth(11);
6418
6532
  newViewDate.setFullYear(newViewDate.getFullYear() - 1);
6533
+ setCurrentMonth(11);
6534
+ decrementYear();
6419
6535
  } else {
6420
6536
  newViewDate.setMonth(newViewDate.getMonth() - 1);
6537
+ setCurrentMonth(function (prevState) {
6538
+ return prevState - 1;
6539
+ });
6421
6540
  }
6422
- } else if (props.view === 'month') {
6423
- var currentYear = newViewDate.getFullYear();
6424
- var newYear = currentYear - 1;
6541
+ } else if (currentView === 'month') {
6542
+ var _currentYear2 = newViewDate.getFullYear();
6543
+
6544
+ var newYear = _currentYear2 - 1;
6425
6545
 
6426
6546
  if (props.yearNavigator) {
6427
6547
  var minYear = parseInt(props.yearRange.split(':')[0], 10);
@@ -6434,6 +6554,12 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6434
6554
  newViewDate.setFullYear(newYear);
6435
6555
  }
6436
6556
 
6557
+ if (currentView === 'month') {
6558
+ decrementYear();
6559
+ } else if (currentView === 'year') {
6560
+ decrementDecade();
6561
+ }
6562
+
6437
6563
  updateViewDate(event, newViewDate);
6438
6564
  event.preventDefault();
6439
6565
  };
@@ -6447,16 +6573,22 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6447
6573
  var newViewDate = new Date(getViewDate().getTime());
6448
6574
  newViewDate.setDate(1);
6449
6575
 
6450
- if (props.view === 'date') {
6576
+ if (currentView === 'date') {
6451
6577
  if (newViewDate.getMonth() === 11) {
6452
6578
  newViewDate.setMonth(0);
6453
6579
  newViewDate.setFullYear(newViewDate.getFullYear() + 1);
6580
+ setCurrentMonth(0);
6581
+ incrementYear();
6454
6582
  } else {
6455
6583
  newViewDate.setMonth(newViewDate.getMonth() + 1);
6584
+ setCurrentMonth(function (prevState) {
6585
+ return prevState + 1;
6586
+ });
6456
6587
  }
6457
- } else if (props.view === 'month') {
6458
- var currentYear = newViewDate.getFullYear();
6459
- var newYear = currentYear + 1;
6588
+ } else if (currentView === 'month') {
6589
+ var _currentYear3 = newViewDate.getFullYear();
6590
+
6591
+ var newYear = _currentYear3 + 1;
6460
6592
 
6461
6593
  if (props.yearNavigator) {
6462
6594
  var maxYear = parseInt(props.yearRange.split(':')[1], 10);
@@ -6469,10 +6601,48 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6469
6601
  newViewDate.setFullYear(newYear);
6470
6602
  }
6471
6603
 
6604
+ if (currentView === 'month') {
6605
+ incrementYear();
6606
+ } else if (currentView === 'year') {
6607
+ incrementDecade();
6608
+ }
6609
+
6472
6610
  updateViewDate(event, newViewDate);
6473
6611
  event.preventDefault();
6474
6612
  };
6475
6613
 
6614
+ var populateYearOptions = function populateYearOptions(start, end) {
6615
+ var _yearOptions = [];
6616
+
6617
+ for (var i = start; i <= end; i++) {
6618
+ yearOptions.push(i);
6619
+ }
6620
+
6621
+ setYearOptions(_yearOptions);
6622
+ };
6623
+
6624
+ var decrementYear = function decrementYear() {
6625
+ var _currentYear = currentYear - 1;
6626
+
6627
+ setCurrentYear(_currentYear);
6628
+
6629
+ if (props.yearNavigator && _currentYear < yearOptions[0]) {
6630
+ var difference = yearOptions[yearOptions.length - 1] - yearOptions[0];
6631
+ populateYearOptions(yearOptions[0] - difference, yearOptions[yearOptions.length - 1] - difference);
6632
+ }
6633
+ };
6634
+
6635
+ var incrementYear = function incrementYear() {
6636
+ var _currentYear = currentYear + 1;
6637
+
6638
+ setCurrentYear(_currentYear);
6639
+
6640
+ if (props.yearNavigator && _currentYear.current > yearOptions[yearOptions.length - 1]) {
6641
+ var difference = yearOptions[yearOptions.length - 1] - yearOptions[0];
6642
+ populateYearOptions(yearOptions[0] + difference, yearOptions[yearOptions.length - 1] + difference);
6643
+ }
6644
+ };
6645
+
6476
6646
  var onMonthDropdownChange = function onMonthDropdownChange(event, value) {
6477
6647
  var currentViewDate = getViewDate();
6478
6648
  var newViewDate = new Date(currentViewDate.getTime());
@@ -7169,84 +7339,6 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7169
7339
  }
7170
7340
  };
7171
7341
 
7172
- var onMonthCellKeydown = function onMonthCellKeydown(event, index) {
7173
- var cell = event.currentTarget;
7174
-
7175
- switch (event.which) {
7176
- //arrows
7177
- case 38:
7178
- case 40:
7179
- {
7180
- cell.tabIndex = '-1';
7181
- var cells = cell.parentElement.children;
7182
- var cellIndex = DomHandler.index(cell);
7183
- var nextCell = cells[event.which === 40 ? cellIndex + 3 : cellIndex - 3];
7184
-
7185
- if (nextCell) {
7186
- nextCell.tabIndex = '0';
7187
- nextCell.focus();
7188
- }
7189
-
7190
- event.preventDefault();
7191
- break;
7192
- }
7193
- //left arrow
7194
-
7195
- case 37:
7196
- {
7197
- cell.tabIndex = '-1';
7198
- var prevCell = cell.previousElementSibling;
7199
-
7200
- if (prevCell) {
7201
- prevCell.tabIndex = '0';
7202
- prevCell.focus();
7203
- }
7204
-
7205
- event.preventDefault();
7206
- break;
7207
- }
7208
- //right arrow
7209
-
7210
- case 39:
7211
- {
7212
- cell.tabIndex = '-1';
7213
- var _nextCell = cell.nextElementSibling;
7214
-
7215
- if (_nextCell) {
7216
- _nextCell.tabIndex = '0';
7217
-
7218
- _nextCell.focus();
7219
- }
7220
-
7221
- event.preventDefault();
7222
- break;
7223
- }
7224
- //enter
7225
-
7226
- case 13:
7227
- {
7228
- onMonthSelect(event, index);
7229
- event.preventDefault();
7230
- break;
7231
- }
7232
- //escape
7233
-
7234
- case 27:
7235
- {
7236
- hide(null, reFocusInputField);
7237
- event.preventDefault();
7238
- break;
7239
- }
7240
- //tab
7241
-
7242
- case 9:
7243
- {
7244
- trapFocus(event);
7245
- break;
7246
- }
7247
- }
7248
- };
7249
-
7250
7342
  var onDateSelect = function onDateSelect(event, dateMeta, timeMeta) {
7251
7343
  if (props.disabled || !dateMeta.selectable) {
7252
7344
  event.preventDefault();
@@ -7364,16 +7456,70 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7364
7456
  updateInputfield(selectedValues);
7365
7457
  };
7366
7458
 
7367
- var onMonthSelect = function onMonthSelect(event, month) {
7368
- onDateSelect(event, {
7369
- year: getViewDate().getFullYear(),
7370
- month: month,
7371
- day: 1,
7372
- selectable: true
7459
+ var decrementDecade = function decrementDecade() {
7460
+ setCurrentYear(function (prevState) {
7461
+ return prevState - 10;
7462
+ });
7463
+ };
7464
+
7465
+ var incrementDecade = function incrementDecade() {
7466
+ setCurrentYear(function (prevState) {
7467
+ return prevState + 10;
7373
7468
  });
7469
+ };
7470
+
7471
+ var switchToMonthView = function switchToMonthView(event) {
7472
+ setCurrentView('month');
7473
+ event.preventDefault();
7474
+ };
7475
+
7476
+ var switchToYearView = function switchToYearView(event) {
7477
+ setCurrentView('year');
7374
7478
  event.preventDefault();
7375
7479
  };
7376
7480
 
7481
+ var onMonthSelect = function onMonthSelect(event, month) {
7482
+ if (props.view === 'month') {
7483
+ onDateSelect(event, {
7484
+ year: currentYear,
7485
+ month: month,
7486
+ day: 1,
7487
+ selectable: true
7488
+ });
7489
+ event.preventDefault();
7490
+ } else {
7491
+ setCurrentMonth(month);
7492
+ createMonthsMeta(month, currentYear);
7493
+ var currentDate = new Date(getCurrentDateTime().getTime());
7494
+ currentDate.setMonth(month);
7495
+ currentDate.setYear(currentYear);
7496
+ setViewDateState(currentDate);
7497
+ setCurrentView('date');
7498
+ props.onMonthChange && props.onMonthChange({
7499
+ month: month + 1,
7500
+ year: currentYear
7501
+ });
7502
+ }
7503
+ };
7504
+
7505
+ var onYearSelect = function onYearSelect(event, year) {
7506
+ if (props.view === 'year') {
7507
+ onDateSelect(event, {
7508
+ year: year,
7509
+ month: 0,
7510
+ day: 1,
7511
+ selectable: true
7512
+ });
7513
+ } else {
7514
+ setCurrentYear(year);
7515
+ setCurrentView('month');
7516
+ props.onMonthChange && props.onMonthChange({
7517
+ month: currentMonth + 1,
7518
+ year: year
7519
+ });
7520
+ }
7521
+ };
7522
+
7377
7523
  var updateModel = function updateModel(event, value) {
7378
7524
  if (props.onChange) {
7379
7525
  var newValue = value && value instanceof Date ? new Date(value.getTime()) : value;
@@ -7457,11 +7603,28 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7457
7603
  props.onHide && props.onHide();
7458
7604
  };
7459
7605
 
7606
+ var appendDisabled = function appendDisabled() {
7607
+ return props.appendTo === 'self' || props.inline;
7608
+ };
7609
+
7460
7610
  var alignOverlay = function alignOverlay() {
7461
7611
  if (props.touchUI) {
7462
7612
  enableModality();
7463
- } else {
7464
- DomHandler.alignOverlay(overlayRef.current, inputRef.current.parentElement, props.appendTo || PrimeReact.appendTo);
7613
+ } else if (overlayRef && overlayRef.current && inputRef && inputRef.current) {
7614
+ DomHandler.alignOverlay(overlayRef.current, inputRef.current, props.appendTo || PrimeReact.appendTo);
7615
+
7616
+ if (appendDisabled()) {
7617
+ DomHandler.relativePosition(overlayRef.current, inputRef.current);
7618
+ } else {
7619
+ if (currentView === 'date') {
7620
+ overlayRef.current.style.width = DomHandler.getOuterWidth(overlayRef.current) + 'px';
7621
+ overlayRef.current.style.minWidth = DomHandler.getOuterWidth(inputRef.current) + 'px';
7622
+ } else {
7623
+ overlayRef.current.style.width = DomHandler.getOuterWidth(inputRef.current) + 'px';
7624
+ }
7625
+
7626
+ DomHandler.absolutePosition(overlayRef.current, inputRef.current);
7627
+ }
7465
7628
  }
7466
7629
  };
7467
7630
 
@@ -7836,9 +7999,30 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7836
7999
  }
7837
8000
  };
7838
8001
 
8002
+ var isComparable = function isComparable() {
8003
+ return props.value != null && typeof props.value !== 'string';
8004
+ };
8005
+
7839
8006
  var isMonthSelected = function isMonthSelected(month) {
7840
- var viewDate = getViewDate();
7841
- if (props.value && props.value instanceof Date) return props.value.getDate() === 1 && props.value.getMonth() === month && props.value.getFullYear() === viewDate.getFullYear();else return false;
8007
+ if (isComparable()) {
8008
+ var value = isRangeSelection() ? props.value[0] : props.value;
8009
+ return !isMultipleSelection() ? value.getMonth() === month && value.getFullYear() === currentYear : false;
8010
+ }
8011
+
8012
+ return false;
8013
+ };
8014
+
8015
+ var isYearSelected = function isYearSelected(year) {
8016
+ if (isComparable()) {
8017
+ var value = isRangeSelection() ? props.value[0] : props.value;
8018
+ return !isMultipleSelection() && isComparable() ? value.getFullYear() === year : false;
8019
+ }
8020
+
8021
+ return false;
8022
+ };
8023
+
8024
+ var switchViewButtonDisabled = function switchViewButtonDisabled() {
8025
+ return props.numberOfMonths > 1 || props.disabled;
7842
8026
  };
7843
8027
 
7844
8028
  var isDateEquals = function isDateEquals(value, dateMeta) {
@@ -8398,9 +8582,20 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8398
8582
  var viewDate = getViewDate(props.viewDate);
8399
8583
  validateDate(viewDate);
8400
8584
  setViewDateState(viewDate);
8585
+ setCurrentMonth(viewDate.getMonth());
8586
+ setCurrentYear(viewDate.getFullYear());
8587
+ setCurrentView(props.view);
8401
8588
 
8402
8589
  if (props.inline) {
8403
- initFocusableCell();
8590
+ overlayRef && overlayRef.current.setAttribute(attributeSelector, '');
8591
+
8592
+ if (!props.disabled) {
8593
+ initFocusableCell();
8594
+
8595
+ if (props.numberOfMonths === 1) {
8596
+ overlayRef.current.style.width = DomHandler.getOuterWidth(overlayRef.current) + 'px';
8597
+ }
8598
+ }
8404
8599
  } else if (props.mask) {
8405
8600
  mask(inputRef.current, {
8406
8601
  mask: props.mask,
@@ -8438,7 +8633,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8438
8633
  }
8439
8634
  }, [props.onViewDateChange, props.value]);
8440
8635
  useUpdateEffect(function () {
8441
- if (previousValue !== props.value && (!viewStateChanged.current || !visible)) {
8636
+ if (previousValue !== props.value && (!viewStateChanged || !visible)) {
8442
8637
  updateInputfield(props.value);
8443
8638
  }
8444
8639
  }, [props.value, visible]);
@@ -8479,7 +8674,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8479
8674
  };
8480
8675
  return /*#__PURE__*/React.createElement("button", _extends({
8481
8676
  type: "button",
8482
- className: "p-datepicker-prev p-link"
8677
+ className: "p-datepicker-prev"
8483
8678
  }, navigatorProps), /*#__PURE__*/React.createElement("span", {
8484
8679
  className: "p-datepicker-prev-icon pi pi-chevron-left"
8485
8680
  }), /*#__PURE__*/React.createElement(Ripple, null));
@@ -8498,13 +8693,13 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8498
8693
  };
8499
8694
  return /*#__PURE__*/React.createElement("button", _extends({
8500
8695
  type: "button",
8501
- className: "p-datepicker-next p-link"
8696
+ className: "p-datepicker-next"
8502
8697
  }, navigatorProps), /*#__PURE__*/React.createElement("span", {
8503
8698
  className: "p-datepicker-next-icon pi pi-chevron-right"
8504
8699
  }), /*#__PURE__*/React.createElement(Ripple, null));
8505
8700
  };
8506
8701
 
8507
- var createTitleMonthElement = function createTitleMonthElement(month) {
8702
+ var createTitleMonthElement = function createTitleMonthElement() {
8508
8703
  var monthNames = localeOption('monthNames', props.locale);
8509
8704
 
8510
8705
  if (props.monthNavigator && props.view !== 'month') {
@@ -8552,25 +8747,28 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8552
8747
  return _content;
8553
8748
  }
8554
8749
 
8555
- return /*#__PURE__*/React.createElement("span", {
8556
- className: "p-datepicker-month"
8557
- }, monthNames[month]);
8750
+ return currentView === 'date' && /*#__PURE__*/React.createElement("button", {
8751
+ className: "p-datepicker-month p-link",
8752
+ onClick: switchToMonthView,
8753
+ disabled: switchViewButtonDisabled()
8754
+ }, monthNames[currentMonth]);
8558
8755
  };
8559
8756
 
8560
- var createTitleYearElement = function createTitleYearElement(year) {
8757
+ var createTitleYearElement = function createTitleYearElement() {
8561
8758
  if (props.yearNavigator) {
8562
- var yearOptions = [];
8759
+ var _yearOptions2 = [];
8563
8760
  var years = props.yearRange.split(':');
8564
8761
  var yearStart = parseInt(years[0], 10);
8565
8762
  var yearEnd = parseInt(years[1], 10);
8566
8763
 
8567
8764
  for (var i = yearStart; i <= yearEnd; i++) {
8568
- yearOptions.push(i);
8765
+ _yearOptions2.push(i);
8569
8766
  }
8570
8767
 
8571
8768
  var viewDate = getViewDate();
8572
8769
  var viewYear = viewDate.getFullYear();
8573
- var displayedYearNames = yearOptions.filter(function (year) {
8770
+
8771
+ var displayedYearNames = _yearOptions2.filter(function (year) {
8574
8772
  return !(props.minDate && props.minDate.getFullYear() > year) && !(props.maxDate && props.maxDate.getFullYear() < year);
8575
8773
  });
8576
8774
 
@@ -8610,17 +8808,32 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8610
8808
  return _content2;
8611
8809
  }
8612
8810
 
8613
- return /*#__PURE__*/React.createElement("span", {
8614
- className: "p-datepicker-year"
8615
- }, year);
8811
+ return currentView !== 'year' && /*#__PURE__*/React.createElement("button", {
8812
+ className: "p-datepicker-year p-link",
8813
+ onClick: switchToYearView,
8814
+ disabled: switchViewButtonDisabled()
8815
+ }, currentYear);
8816
+ };
8817
+
8818
+ var createTitleDecadeElement = function createTitleDecadeElement() {
8819
+ var years = yearPickerValues();
8820
+
8821
+ if (currentView === 'year') {
8822
+ return /*#__PURE__*/React.createElement("span", {
8823
+ className: "p-datepicker-decade"
8824
+ }, props.decadeTemplate ? props.decadeTemplate(years) : /*#__PURE__*/React.createElement("span", null, "".concat(yearPickerValues()[0], " - ").concat(yearPickerValues()[yearPickerValues().length - 1])));
8825
+ }
8826
+
8827
+ return null;
8616
8828
  };
8617
8829
 
8618
8830
  var createTitle = function createTitle(monthMetaData) {
8619
8831
  var month = createTitleMonthElement(monthMetaData.month);
8620
8832
  var year = createTitleYearElement(monthMetaData.year);
8833
+ var decade = createTitleDecadeElement();
8621
8834
  return /*#__PURE__*/React.createElement("div", {
8622
8835
  className: "p-datepicker-title"
8623
- }, month, year);
8836
+ }, month, year, decade);
8624
8837
  };
8625
8838
 
8626
8839
  var createDayNames = function createDayNames(weekDays) {
@@ -8698,7 +8911,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8698
8911
  var createDateViewGrid = function createDateViewGrid(monthMetaData, weekDays, groupIndex) {
8699
8912
  var dayNames = createDayNames(weekDays);
8700
8913
  var dates = createDates(monthMetaData, groupIndex);
8701
- return /*#__PURE__*/React.createElement("div", {
8914
+ return currentView === 'date' && /*#__PURE__*/React.createElement("div", {
8702
8915
  className: "p-datepicker-calendar-container"
8703
8916
  }, /*#__PURE__*/React.createElement("table", {
8704
8917
  className: "p-datepicker-calendar"
@@ -8734,39 +8947,33 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8734
8947
  return months;
8735
8948
  };
8736
8949
 
8737
- var createMonthViewMonth = function createMonthViewMonth(index) {
8738
- var className = classNames('p-monthpicker-month', {
8739
- 'p-highlight': isMonthSelected(index)
8740
- });
8950
+ var monthPickerValues = function monthPickerValues() {
8951
+ var monthPickerValues = [];
8741
8952
  var monthNamesShort = localeOption('monthNamesShort', props.locale);
8742
- var monthName = monthNamesShort[index];
8743
- return /*#__PURE__*/React.createElement("span", {
8744
- key: monthName,
8745
- className: className,
8746
- onClick: function onClick(event) {
8747
- return onMonthSelect(event, index);
8748
- },
8749
- onKeyDown: function onKeyDown(event) {
8750
- return onMonthCellKeydown(event, index);
8751
- }
8752
- }, monthName, /*#__PURE__*/React.createElement(Ripple, null));
8953
+
8954
+ for (var i = 0; i <= 11; i++) {
8955
+ monthPickerValues.push(monthNamesShort[i]);
8956
+ }
8957
+
8958
+ return monthPickerValues;
8753
8959
  };
8754
8960
 
8755
- var createMonthViewMonths = function createMonthViewMonths() {
8756
- var months = [];
8961
+ var yearPickerValues = function yearPickerValues() {
8962
+ var yearPickerValues = [];
8963
+ var base = currentYear - currentYear % 10;
8757
8964
 
8758
- for (var i = 0; i <= 11; i++) {
8759
- months.push(createMonthViewMonth(i));
8965
+ for (var i = 0; i < 10; i++) {
8966
+ yearPickerValues.push(base + i);
8760
8967
  }
8761
8968
 
8762
- return months;
8969
+ return yearPickerValues;
8763
8970
  };
8764
8971
 
8765
- var createMonthView = function createMonthView() {
8972
+ var createMonthYearView = function createMonthYearView() {
8766
8973
  var backwardNavigator = createBackwardNavigator(true);
8767
8974
  var forwardNavigator = createForwardNavigator(true);
8768
8975
  var yearElement = createTitleYearElement(getViewDate().getFullYear());
8769
- var months = createMonthViewMonths();
8976
+ var decade = createTitleDecadeElement();
8770
8977
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
8771
8978
  className: "p-datepicker-group-container"
8772
8979
  }, /*#__PURE__*/React.createElement("div", {
@@ -8775,17 +8982,15 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8775
8982
  className: "p-datepicker-header"
8776
8983
  }, backwardNavigator, /*#__PURE__*/React.createElement("div", {
8777
8984
  className: "p-datepicker-title"
8778
- }, yearElement), forwardNavigator))), /*#__PURE__*/React.createElement("div", {
8779
- className: "p-monthpicker"
8780
- }, months));
8985
+ }, yearElement, decade), forwardNavigator))));
8781
8986
  };
8782
8987
 
8783
8988
  var createDatePicker = function createDatePicker() {
8784
8989
  if (!props.timeOnly) {
8785
8990
  if (props.view === 'date') {
8786
8991
  return createDateView();
8787
- } else if (props.view === 'month') {
8788
- return createMonthView();
8992
+ } else {
8993
+ return createMonthYearView();
8789
8994
  }
8790
8995
  }
8791
8996
 
@@ -8977,7 +9182,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8977
9182
  };
8978
9183
 
8979
9184
  var createTimePicker = function createTimePicker() {
8980
- if (props.showTime || props.timeOnly) {
9185
+ if ((props.showTime || props.timeOnly) && currentView === 'date') {
8981
9186
  return /*#__PURE__*/React.createElement("div", {
8982
9187
  className: "p-timepicker"
8983
9188
  }, createHourPicker(), createSeparator(':'), createMinutePicker(), props.showSeconds && createSeparator(':'), createSecondPicker(), props.showMillisec && createSeparator('.'), createMiliSecondPicker(), props.hourFormat === '12' && createSeparator(':'), createAmPmPicker());
@@ -9086,6 +9291,46 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9086
9291
  return null;
9087
9292
  };
9088
9293
 
9294
+ var createMonthPicker = function createMonthPicker() {
9295
+ if (currentView === 'month') {
9296
+ return /*#__PURE__*/React.createElement("div", {
9297
+ className: "p-monthpicker"
9298
+ }, monthPickerValues().map(function (m, i) {
9299
+ return /*#__PURE__*/React.createElement("span", {
9300
+ onClick: function onClick(event) {
9301
+ return onMonthSelect(event, i);
9302
+ },
9303
+ key: "month".concat(i + 1),
9304
+ className: classNames('p-monthpicker-month', {
9305
+ 'p-highlight': isMonthSelected(i)
9306
+ })
9307
+ }, m);
9308
+ }));
9309
+ }
9310
+
9311
+ return null;
9312
+ };
9313
+
9314
+ var createYearPicker = function createYearPicker() {
9315
+ if (currentView === 'year') {
9316
+ return /*#__PURE__*/React.createElement("div", {
9317
+ className: "p-yearpicker"
9318
+ }, yearPickerValues().map(function (y, i) {
9319
+ return /*#__PURE__*/React.createElement("span", {
9320
+ onClick: function onClick(event) {
9321
+ return onYearSelect(event, y);
9322
+ },
9323
+ key: "year".concat(i + 1),
9324
+ className: classNames('p-yearpicker-year', {
9325
+ 'p-highlight': isYearSelected(y)
9326
+ })
9327
+ }, y);
9328
+ }));
9329
+ }
9330
+
9331
+ return null;
9332
+ };
9333
+
9089
9334
  var otherProps = ObjectUtils.findDiffKeys(props, Calendar.defaultProps);
9090
9335
  var className = classNames('p-calendar p-component p-inputwrapper', props.className, (_classNames = {}, _defineProperty(_classNames, "p-calendar-w-btn p-calendar-w-btn-".concat(props.iconPos), props.showIcon), _defineProperty(_classNames, 'p-calendar-disabled', props.disabled), _defineProperty(_classNames, 'p-calendar-timeonly', props.timeOnly), _defineProperty(_classNames, 'p-inputwrapper-filled', props.value || DomHandler.hasClass(inputRef.current, 'p-filled') && inputRef.current.value !== ''), _defineProperty(_classNames, 'p-inputwrapper-focus', focusedState), _classNames));
9091
9336
  var panelClassName = classNames('p-datepicker p-component', props.panelClassName, {
@@ -9093,7 +9338,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9093
9338
  'p-disabled': props.disabled,
9094
9339
  'p-datepicker-timeonly': props.timeOnly,
9095
9340
  'p-datepicker-multiple-month': props.numberOfMonths > 1,
9096
- 'p-datepicker-monthpicker': props.view === 'month',
9341
+ 'p-datepicker-monthpicker': currentView === 'month',
9097
9342
  'p-datepicker-touch-ui': props.touchUI
9098
9343
  });
9099
9344
  var content = createContent();
@@ -9101,6 +9346,8 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9101
9346
  var timePicker = createTimePicker();
9102
9347
  var buttonBar = createButtonBar();
9103
9348
  var footer = createFooter();
9349
+ var monthPicker = createMonthPicker();
9350
+ var yearPicker = createYearPicker();
9104
9351
  return /*#__PURE__*/React.createElement("span", _extends({
9105
9352
  ref: elementRef,
9106
9353
  id: props.id,
@@ -9120,7 +9367,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9120
9367
  onExit: onOverlayExit,
9121
9368
  onExited: onOverlayExited,
9122
9369
  transitionOptions: props.transitionOptions
9123
- }, datePicker, timePicker, buttonBar, footer));
9370
+ }, datePicker, timePicker, buttonBar, footer, monthPicker, yearPicker));
9124
9371
  }));
9125
9372
  Calendar.displayName = 'Calendar';
9126
9373
  Calendar.defaultProps = {
@@ -9189,6 +9436,7 @@ Calendar.defaultProps = {
9189
9436
  tooltipOptions: null,
9190
9437
  ariaLabelledBy: null,
9191
9438
  dateTemplate: null,
9439
+ decadeTemplate: null,
9192
9440
  headerTemplate: null,
9193
9441
  footerTemplate: null,
9194
9442
  monthNavigatorTemplate: null,
@@ -9204,7 +9452,8 @@ Calendar.defaultProps = {
9204
9452
  onTodayButtonClick: null,
9205
9453
  onClearButtonClick: null,
9206
9454
  onShow: null,
9207
- onHide: null
9455
+ onHide: null,
9456
+ onMonthChange: null
9208
9457
  };
9209
9458
 
9210
9459
  var Captcha = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -9405,7 +9654,6 @@ var Carousel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9405
9654
  var itemsContainerRef = React.useRef(null);
9406
9655
  var remainingItems = React.useRef(0);
9407
9656
  var allowAutoplay = React.useRef(!!props.autoplayInterval);
9408
- var circular = React.useRef(props.circular || !!props.autoplayInterval);
9409
9657
  var attributeSelector = React.useRef('');
9410
9658
  var swipeThreshold = React.useRef(20);
9411
9659
  var startPos = React.useRef(null);
@@ -9418,6 +9666,7 @@ var Carousel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9418
9666
  var prevValue = usePrevious(props.value);
9419
9667
  var prevPage = usePrevious(props.page);
9420
9668
  var isVertical = props.orientation === 'vertical';
9669
+ var circular = props.circular || !!props.autoplayInterval;
9421
9670
  var isCircular = circular && props.value.length >= numVisibleState;
9422
9671
  var isAutoplay = props.autoplayInterval && allowAutoplay.current;
9423
9672
  var currentPage = props.onPageChange ? props.page : pageState;
@@ -9460,7 +9709,7 @@ var Carousel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9460
9709
  page = 0;
9461
9710
  } else if (isCircular && pageState === 0 && dir === 1) {
9462
9711
  totalShiftedItems = 0;
9463
- page = totalShiftedItems - 1;
9712
+ page = totalIndicators - 1;
9464
9713
  } else if (page === totalIndicators - 1 && remainingItems.current > 0) {
9465
9714
  totalShiftedItems += remainingItems.current * -1 - numScrollState * dir;
9466
9715
  isRemainingItemsAdded.current = true;
@@ -9673,7 +9922,7 @@ var Carousel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9673
9922
  remainingItems.current = (props.value.length - numVisibleState) % numScrollState;
9674
9923
  var page = currentPage;
9675
9924
 
9676
- if (totalIndicators !== 0 && pageState >= totalIndicators) {
9925
+ if (totalIndicators !== 0 && page >= totalIndicators) {
9677
9926
  page = totalIndicators - 1;
9678
9927
 
9679
9928
  if (props.onPageChange) {
@@ -9886,7 +10135,7 @@ var Carousel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9886
10135
 
9887
10136
  var createIndicator = function createIndicator(index) {
9888
10137
  var isActive = currentPage === index;
9889
- var key = 'p-carousel-indicator-' + index;
10138
+ var key = 'carousel-indicator-' + index;
9890
10139
  var className = classNames('p-carousel-indicator', {
9891
10140
  'p-highlight': isActive
9892
10141
  });
@@ -10683,13 +10932,6 @@ var Checkbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
10683
10932
  setFocusedState(false);
10684
10933
  };
10685
10934
 
10686
- var onKeyDown = function onKeyDown(event) {
10687
- if (event.key === 'Enter') {
10688
- onClick(event);
10689
- event.preventDefault();
10690
- }
10691
- };
10692
-
10693
10935
  var isChecked = function isChecked() {
10694
10936
  return props.checked === props.trueValue;
10695
10937
  };
@@ -10737,17 +10979,15 @@ var Checkbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
10737
10979
  name: props.name,
10738
10980
  tabIndex: props.tabIndex,
10739
10981
  defaultChecked: checked,
10740
- "aria-labelledby": props.ariaLabelledBy,
10741
- onKeyDown: onKeyDown,
10982
+ "aria-labelledby": props['aria-labelledby'],
10983
+ "aria-label": props['aria-label'],
10742
10984
  onFocus: onFocus,
10743
10985
  onBlur: onBlur,
10744
10986
  disabled: props.disabled,
10745
10987
  readOnly: props.readOnly,
10746
10988
  required: props.required
10747
10989
  })), /*#__PURE__*/React.createElement("div", {
10748
- className: boxClass,
10749
- role: "checkbox",
10750
- "aria-checked": checked
10990
+ className: boxClass
10751
10991
  }, icon)), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
10752
10992
  target: elementRef,
10753
10993
  content: props.tooltip
@@ -10773,7 +11013,8 @@ Checkbox.defaultProps = {
10773
11013
  icon: 'pi pi-check',
10774
11014
  tooltip: null,
10775
11015
  tooltipOptions: null,
10776
- ariaLabelledBy: null,
11016
+ 'aria-label': null,
11017
+ 'aria-labelledby': null,
10777
11018
  onChange: null,
10778
11019
  onMouseDown: null,
10779
11020
  onContextMenu: null
@@ -10921,14 +11162,18 @@ var Chips = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
10921
11162
  var values = props.value ? _toConsumableArray(props.value) : [];
10922
11163
 
10923
11164
  if (props.allowDuplicate || values.indexOf(item) === -1) {
10924
- values.push(item);
11165
+ var allowAddition = true;
10925
11166
 
10926
11167
  if (props.onAdd) {
10927
- props.onAdd({
11168
+ allowAddition = props.onAdd({
10928
11169
  originalEvent: event,
10929
11170
  value: item
10930
11171
  });
10931
11172
  }
11173
+
11174
+ if (allowAddition !== false) {
11175
+ values.push(item);
11176
+ }
10932
11177
  }
10933
11178
 
10934
11179
  updateInput(event, values, preventDefault);
@@ -12583,7 +12828,7 @@ var ConfirmDialog = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
12583
12828
  };
12584
12829
 
12585
12830
  React.useEffect(function () {
12586
- props.visible ? show() : hide();
12831
+ props.visible ? show() : hide(); // eslint-disable-next-line react-hooks/exhaustive-deps
12587
12832
  }, [props.visible]);
12588
12833
  React.useEffect(function () {
12589
12834
  if (!props.target && !props.message) {
@@ -12592,7 +12837,7 @@ var ConfirmDialog = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
12592
12837
 
12593
12838
  return function () {
12594
12839
  OverlayService.off('confirm-dialog', confirm);
12595
- };
12840
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
12596
12841
  }, [props.target]);
12597
12842
  useUpdateEffect(function () {
12598
12843
  reshowState && show();
@@ -12872,7 +13117,7 @@ var ConfirmPopup = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
12872
13117
  };
12873
13118
 
12874
13119
  React.useEffect(function () {
12875
- props.visible ? show() : hide();
13120
+ props.visible ? show() : hide(); // eslint-disable-next-line react-hooks/exhaustive-deps
12876
13121
  }, [props.visible]);
12877
13122
  React.useEffect(function () {
12878
13123
  if (!props.target && !props.message) {
@@ -12881,7 +13126,7 @@ var ConfirmPopup = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
12881
13126
 
12882
13127
  return function () {
12883
13128
  OverlayService.off('confirm-popup', confirm);
12884
- };
13129
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
12885
13130
  }, [props.target]);
12886
13131
  useUpdateEffect(function () {
12887
13132
  reshowState && show();
@@ -13094,6 +13339,7 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
13094
13339
  var createSubmenu = function createSubmenu(item) {
13095
13340
  if (item.items) {
13096
13341
  return /*#__PURE__*/React.createElement(ContextMenuSub, {
13342
+ menuProps: props.menuProps,
13097
13343
  model: item.items,
13098
13344
  resetMenu: item !== activeItemState,
13099
13345
  onLeafClick: props.onLeafClick
@@ -13114,8 +13360,10 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
13114
13360
  });
13115
13361
  var iconClassName = classNames('p-menuitem-icon', item.icon);
13116
13362
  var submenuIconClassName = 'p-submenu-icon pi pi-angle-right';
13117
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
13118
- className: iconClassName
13363
+ var icon = IconUtils.getJSXIcon(item.icon, {
13364
+ className: 'p-menuitem-icon'
13365
+ }, {
13366
+ props: props.menuProps
13119
13367
  });
13120
13368
  var label = item.label && /*#__PURE__*/React.createElement("span", {
13121
13369
  className: "p-menuitem-text"
@@ -13395,6 +13643,7 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
13395
13643
  onClick: onMenuClick,
13396
13644
  onMouseEnter: onMenuMouseEnter
13397
13645
  }), /*#__PURE__*/React.createElement(ContextMenuSub, {
13646
+ menuProps: props,
13398
13647
  model: props.model,
13399
13648
  root: true,
13400
13649
  resetMenu: resetMenuState,
@@ -14593,12 +14842,15 @@ var InputNumber = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
14593
14842
 
14594
14843
  var onInputBlur = function onInputBlur(event) {
14595
14844
  setFocusedState(false);
14596
- var currentValue = inputRef.current.value;
14597
14845
 
14598
- if (isValueChanged(currentValue, props.value)) {
14599
- var newValue = validateValue(parseValue(currentValue));
14600
- updateInputValue(newValue);
14601
- updateModel(event, newValue);
14846
+ if (inputRef.current) {
14847
+ var currentValue = inputRef.current.value;
14848
+
14849
+ if (isValueChanged(currentValue, props.value)) {
14850
+ var newValue = validateValue(parseValue(currentValue));
14851
+ updateInputValue(newValue);
14852
+ updateModel(event, newValue);
14853
+ }
14602
14854
  }
14603
14855
 
14604
14856
  props.onBlur && props.onBlur(event);
@@ -15031,10 +15283,6 @@ PrevPageLink.defaultProps = {
15031
15283
  template: null
15032
15284
  };
15033
15285
 
15034
- function _readOnlyError(name) {
15035
- throw new TypeError("\"" + name + "\" is read-only");
15036
- }
15037
-
15038
15286
  var DropdownItem = /*#__PURE__*/React.memo(function (props) {
15039
15287
  var onClick = function onClick(event) {
15040
15288
  if (props.onClick) {
@@ -15049,7 +15297,7 @@ var DropdownItem = /*#__PURE__*/React.memo(function (props) {
15049
15297
  'p-highlight': props.selected,
15050
15298
  'p-disabled': props.disabled,
15051
15299
  'p-dropdown-item-empty': !props.label || props.label.length === 0
15052
- }, props.option.className);
15300
+ }, props.option && props.option.className);
15053
15301
  var content = props.template ? ObjectUtils.getJSXElement(props.template, props.option) : props.label;
15054
15302
  return /*#__PURE__*/React.createElement("li", {
15055
15303
  className: className,
@@ -15563,7 +15811,7 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
15563
15811
 
15564
15812
  if (searchValue.current) {
15565
15813
  var searchIndex = getSelectedOptionIndex();
15566
- var newOption = props.optionGroupLabel ? searchOptionInGroup(searchIndex) : searchOption((_readOnlyError("searchIndex")));
15814
+ var newOption = props.optionGroupLabel ? searchOptionInGroup(searchIndex) : searchOption(searchIndex + 1);
15567
15815
 
15568
15816
  if (newOption) {
15569
15817
  selectItem({
@@ -17531,7 +17779,7 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
17531
17779
  var dataKeyValue = String(ObjectUtils.resolveFieldData(data, dataKey));
17532
17780
  editingRows = props.editingRows ? _objectSpread$l({}, props.editingRows) : {};
17533
17781
 
17534
- if (!editing) {
17782
+ if (!isEditing) {
17535
17783
  delete editingRows[dataKeyValue]; // if the key value was changed, stop editing for the new key value too
17536
17784
 
17537
17785
  var newDataKeyValue = String(ObjectUtils.resolveFieldData(newData, dataKey));
@@ -18960,7 +19208,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
18960
19208
  unbindOverlayListener = _useOverlayListener2[1];
18961
19209
 
18962
19210
  var hasFilter = function hasFilter() {
18963
- return filterStoreModel && (filterStoreModel.operator ? !isFilterBlank(filterStoreModel.constraints[0].value) : !isFilterBlank(filterStoreModel.value));
19211
+ return filterStoreModel && filterModel && (filterStoreModel.operator ? filterStoreModel.constraints[0].value !== filterModel.constraints[0].value : filterStoreModel.value !== filterModel.value);
18964
19212
  };
18965
19213
 
18966
19214
  var hasRowFilter = function hasRowFilter() {
@@ -20372,6 +20620,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
20372
20620
  var wrapperRef = React.useRef(null);
20373
20621
  var reorderIndicatorUpRef = React.useRef(null);
20374
20622
  var reorderIndicatorDownRef = React.useRef(null);
20623
+ var colReorderIconWidth = React.useRef(null);
20624
+ var colReorderIconHeight = React.useRef(null);
20375
20625
  var resizeHelperRef = React.useRef(null);
20376
20626
  var draggedColumnElement = React.useRef(null);
20377
20627
  var draggedColumn = React.useRef(null);
@@ -20976,8 +21226,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
20976
21226
  return;
20977
21227
  }
20978
21228
 
20979
- colReorderIconWidth = DomHandler.getHiddenElementOuterWidth(reorderIndicatorUpRef.current);
20980
- colReorderIconHeight = DomHandler.getHiddenElementOuterHeight(reorderIndicatorUpRef.current);
21229
+ colReorderIconWidth.current = DomHandler.getHiddenElementOuterWidth(reorderIndicatorUpRef.current);
21230
+ colReorderIconHeight.current = DomHandler.getHiddenElementOuterHeight(reorderIndicatorUpRef.current);
20981
21231
  draggedColumn.current = column;
20982
21232
  draggedColumnElement.current = findParentHeader(event.currentTarget);
20983
21233
  event.dataTransfer.setData('text', 'b'); // Firefox requires this to make dragging possible
@@ -20995,16 +21245,16 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
20995
21245
  var dropHeaderOffset = DomHandler.getOffset(dropHeader);
20996
21246
  var targetLeft = dropHeaderOffset.left - containerOffset.left;
20997
21247
  var columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;
20998
- reorderIndicatorUpRef.current.style.top = dropHeaderOffset.top - containerOffset.top - (colReorderIconHeight - 1) + 'px';
21248
+ reorderIndicatorUpRef.current.style.top = dropHeaderOffset.top - containerOffset.top - (colReorderIconHeight.current - 1) + 'px';
20999
21249
  reorderIndicatorDownRef.current.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + 'px';
21000
21250
 
21001
21251
  if (event.pageX > columnCenter) {
21002
- reorderIndicatorUpRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(colReorderIconWidth / 2) + 'px';
21003
- reorderIndicatorDownRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(colReorderIconWidth / 2) + 'px';
21252
+ reorderIndicatorUpRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(colReorderIconWidth.current / 2) + 'px';
21253
+ reorderIndicatorDownRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(colReorderIconWidth.current / 2) + 'px';
21004
21254
  dropPosition.current = 1;
21005
21255
  } else {
21006
- reorderIndicatorUpRef.current.style.left = targetLeft - Math.ceil(colReorderIconWidth / 2) + 'px';
21007
- reorderIndicatorDownRef.current.style.left = targetLeft - Math.ceil(colReorderIconWidth / 2) + 'px';
21256
+ reorderIndicatorUpRef.current.style.left = targetLeft - Math.ceil(colReorderIconWidth.current / 2) + 'px';
21257
+ reorderIndicatorDownRef.current.style.left = targetLeft - Math.ceil(colReorderIconWidth.current / 2) + 'px';
21008
21258
  dropPosition.current = -1;
21009
21259
  }
21010
21260
 
@@ -21414,7 +21664,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21414
21664
  var filterMatchMode = filterMeta.matchMode === 'custom' ? "custom_".concat(field) : filterMeta.matchMode || FilterMatchMode.STARTS_WITH;
21415
21665
  var dataFieldValue = ObjectUtils.resolveFieldData(rowData, field);
21416
21666
  var filterConstraint = FilterService.filters[filterMatchMode];
21417
- return filterConstraint(dataFieldValue, filterValue, props.filterLocale, index);
21667
+ return ObjectUtils.isFunction(filterConstraint) && filterConstraint(dataFieldValue, filterValue, props.filterLocale, index);
21418
21668
  };
21419
21669
 
21420
21670
  var cloneFilters = function cloneFilters(filters) {
@@ -21734,7 +21984,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21734
21984
 
21735
21985
  var groupRowSortField = getGroupRowSortField();
21736
21986
  var filters = d_filtersState;
21737
- var filtersStore = getFilters();
21987
+ var filtersStore = !props.onFilter && props.filters || getFilters();
21738
21988
  var processedData = options.items,
21739
21989
  columns = options.columns;
21740
21990
  return /*#__PURE__*/React.createElement(TableHeader, {
@@ -22637,9 +22887,11 @@ var Dock = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (prop
22637
22887
  'p-disabled': disabled
22638
22888
  });
22639
22889
  var iconClassName = classNames('p-dock-action-icon', _icon);
22640
- var icon = typeof _icon === 'string' ? /*#__PURE__*/React.createElement("span", {
22641
- className: iconClassName
22642
- }) : ObjectUtils.getJSXElement(_icon, props);
22890
+ var icon = IconUtils.getJSXIcon(_icon, {
22891
+ className: 'p-dock-action-icon'
22892
+ }, {
22893
+ props: props
22894
+ });
22643
22895
  var content = /*#__PURE__*/React.createElement("a", {
22644
22896
  href: url || '#',
22645
22897
  role: "menuitem",
@@ -23100,6 +23352,10 @@ Fieldset.defaultProps = {
23100
23352
  onClick: null
23101
23353
  };
23102
23354
 
23355
+ function _readOnlyError(name) {
23356
+ throw new TypeError("\"" + name + "\" is read-only");
23357
+ }
23358
+
23103
23359
  var UIMessage = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
23104
23360
  var _props$message = props.message,
23105
23361
  severity = _props$message.severity,
@@ -24955,23 +25211,16 @@ var GMap = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (prop
24955
25211
  });
24956
25212
  };
24957
25213
 
24958
- var getMap = function getMap() {
24959
- return map.current;
24960
- };
24961
-
24962
- useMountEffect(function () {
24963
- initMap();
24964
- });
24965
- useUpdateEffect(function () {
24966
- if (prevOverlays.current) {
24967
- var _iterator2 = _createForOfIteratorHelper$9(prevOverlays.current),
25214
+ var removeOverlays = function removeOverlays(overlays) {
25215
+ if (overlays) {
25216
+ var _iterator2 = _createForOfIteratorHelper$9(overlays),
24968
25217
  _step2;
24969
25218
 
24970
25219
  try {
24971
25220
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
24972
25221
  var overlay = _step2.value;
24973
- google.maps.event.clearInstanceListeners(overlay);
24974
25222
  overlay.setMap(null);
25223
+ unbindOverlayEvents(overlay);
24975
25224
  }
24976
25225
  } catch (err) {
24977
25226
  _iterator2.e(err);
@@ -24979,9 +25228,31 @@ var GMap = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (prop
24979
25228
  _iterator2.f();
24980
25229
  }
24981
25230
  }
25231
+ };
25232
+
25233
+ var unbindOverlayEvents = function unbindOverlayEvents(overlay) {
25234
+ google.maps.event.clearListeners(overlay, 'click');
25235
+
25236
+ if (overlay.getDraggable()) {
25237
+ google.maps.event.clearListeners(overlay, 'dragstart');
25238
+ google.maps.event.clearListeners(overlay, 'drag');
25239
+ google.maps.event.clearListeners(overlay, 'dragend');
25240
+ }
25241
+ };
24982
25242
 
25243
+ var getMap = function getMap() {
25244
+ return map.current;
25245
+ };
25246
+
25247
+ useMountEffect(function () {
25248
+ initMap();
25249
+ });
25250
+ useUpdateEffect(function () {
24983
25251
  initOverlays(props.overlays);
24984
- }, [props.overlays]);
25252
+ return function () {
25253
+ removeOverlays(prevOverlays.current);
25254
+ };
25255
+ });
24985
25256
  React.useImperativeHandle(ref, function () {
24986
25257
  return {
24987
25258
  getMap: getMap
@@ -25559,6 +25830,8 @@ var InputMask = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
25559
25830
  value: getValue()
25560
25831
  });
25561
25832
  }
25833
+
25834
+ updateModel(e);
25562
25835
  };
25563
25836
 
25564
25837
  var onBlur = function onBlur(e) {
@@ -25951,7 +26224,6 @@ var InputMask = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
25951
26224
  onInput: onInput,
25952
26225
  onPaste: handleInputChange,
25953
26226
  required: props.required,
25954
- "aria-labelledby": props.ariaLabelledBy,
25955
26227
  tooltip: props.tooltip,
25956
26228
  tooltipOptions: props.tooltipOptions
25957
26229
  }));
@@ -25979,7 +26251,6 @@ InputMask.defaultProps = {
25979
26251
  required: false,
25980
26252
  tooltip: null,
25981
26253
  tooltipOptions: null,
25982
- ariaLabelledBy: null,
25983
26254
  onComplete: null,
25984
26255
  onChange: null,
25985
26256
  onFocus: null,
@@ -26033,12 +26304,6 @@ var InputSwitch = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
26033
26304
  props.onBlur && props.onBlur(event);
26034
26305
  };
26035
26306
 
26036
- var onKeyDown = function onKeyDown(event) {
26037
- if (event.key === 'Enter') {
26038
- onClick(event);
26039
- }
26040
- };
26041
-
26042
26307
  React.useEffect(function () {
26043
26308
  ObjectUtils.combinedRefs(inputRef, props.inputRef);
26044
26309
  }, [inputRef, props.inputRef]);
@@ -26047,7 +26312,7 @@ var InputSwitch = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
26047
26312
  var className = classNames('p-inputswitch p-component', {
26048
26313
  'p-inputswitch-checked': checked,
26049
26314
  'p-disabled': props.disabled,
26050
- 'p-inputswitch-focus': focusedState
26315
+ 'p-focus': focusedState
26051
26316
  }, props.className);
26052
26317
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", _extends({
26053
26318
  ref: elementRef,
@@ -26069,11 +26334,12 @@ var InputSwitch = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
26069
26334
  onChange: toggle,
26070
26335
  onFocus: onFocus,
26071
26336
  onBlur: onBlur,
26072
- onKeyDown: onKeyDown,
26073
26337
  disabled: props.disabled,
26074
26338
  role: "switch",
26339
+ tabIndex: props.tabIndex,
26075
26340
  "aria-checked": checked,
26076
- "aria-labelledby": props.ariaLabelledBy
26341
+ "aria-labelledby": props['aria-labelledby'],
26342
+ "aria-label": props['aria-label']
26077
26343
  })), /*#__PURE__*/React.createElement("span", {
26078
26344
  className: "p-inputswitch-slider"
26079
26345
  })), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
@@ -26090,13 +26356,15 @@ InputSwitch.defaultProps = {
26090
26356
  className: null,
26091
26357
  inputId: null,
26092
26358
  name: null,
26359
+ tabIndex: null,
26093
26360
  checked: false,
26094
26361
  trueValue: true,
26095
26362
  falseValue: false,
26096
26363
  disabled: false,
26097
26364
  tooltip: null,
26098
26365
  tooltipOptions: null,
26099
- ariaLabelledBy: null,
26366
+ 'aria-label': null,
26367
+ 'aria-labelledby': null,
26100
26368
  onChange: null,
26101
26369
  onFocus: null,
26102
26370
  onBlur: null
@@ -27134,8 +27402,10 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
27134
27402
  'p-disabled': item.disabled
27135
27403
  });
27136
27404
  var iconClassName = classNames(item.icon, 'p-menuitem-icon');
27137
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
27138
- className: iconClassName
27405
+ var icon = IconUtils.getJSXIcon(item.icon, {
27406
+ className: 'p-menuitem-icon'
27407
+ }, {
27408
+ props: props
27139
27409
  });
27140
27410
  var label = item.label && /*#__PURE__*/React.createElement("span", {
27141
27411
  className: "p-menuitem-text"
@@ -27235,9 +27505,10 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
27235
27505
  var linkClassName = classNames('p-menuitem-link', {
27236
27506
  'p-disabled': category.disabled
27237
27507
  });
27238
- var iconClassName = classNames('p-menuitem-icon', category.icon);
27239
- var icon = category.icon && /*#__PURE__*/React.createElement("span", {
27240
- className: iconClassName
27508
+ var icon = IconUtils.getJSXIcon(category.icon, {
27509
+ className: 'p-menuitem-icon'
27510
+ }, {
27511
+ props: props
27241
27512
  });
27242
27513
  var label = category.label && /*#__PURE__*/React.createElement("span", {
27243
27514
  className: "p-menuitem-text"
@@ -27943,8 +28214,10 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (prop
27943
28214
  'p-disabled': item.disabled
27944
28215
  });
27945
28216
  var iconClassName = classNames('p-menuitem-icon', item.icon);
27946
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
27947
- className: iconClassName
28217
+ var icon = IconUtils.getJSXIcon(item.icon, {
28218
+ className: 'p-menuitem-icon'
28219
+ }, {
28220
+ props: props
27948
28221
  });
27949
28222
  var label = item.label && /*#__PURE__*/React.createElement("span", {
27950
28223
  className: "p-menuitem-text"
@@ -28219,6 +28492,7 @@ var MenubarSub = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
28219
28492
  var createSubmenu = function createSubmenu(item) {
28220
28493
  if (item.items) {
28221
28494
  return /*#__PURE__*/React.createElement(MenubarSub, {
28495
+ menuProps: props.menuProps,
28222
28496
  model: item.items,
28223
28497
  mobileActive: props.mobileActive,
28224
28498
  onLeafClick: onLeafClick,
@@ -28243,8 +28517,10 @@ var MenubarSub = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
28243
28517
  'pi-angle-down': props.root,
28244
28518
  'pi-angle-right': !props.root
28245
28519
  });
28246
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
28247
- className: iconClassName
28520
+ var icon = IconUtils.getJSXIcon(item.icon, {
28521
+ className: 'p-menuitem-icon'
28522
+ }, {
28523
+ props: props.menuProps
28248
28524
  });
28249
28525
  var label = item.label && /*#__PURE__*/React.createElement("span", {
28250
28526
  className: "p-menuitem-text"
@@ -28423,6 +28699,7 @@ var Menubar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
28423
28699
  var menuButton = createMenuButton();
28424
28700
  var submenu = /*#__PURE__*/React.createElement(MenubarSub, {
28425
28701
  ref: rootMenuRef,
28702
+ menuProps: props,
28426
28703
  model: props.model,
28427
28704
  root: true,
28428
28705
  mobileActive: mobileActiveState,
@@ -30955,6 +31232,7 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
30955
31232
  ref: submenuRef,
30956
31233
  className: className
30957
31234
  }, /*#__PURE__*/React.createElement(PanelMenuSub, {
31235
+ menuProps: props.menuProps,
30958
31236
  model: item.items,
30959
31237
  multiple: props.multiple
30960
31238
  })));
@@ -30975,8 +31253,10 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
30975
31253
  'pi-angle-right': !active,
30976
31254
  'pi-angle-down': active
30977
31255
  });
30978
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
30979
- className: iconClassName
31256
+ var icon = IconUtils.getJSXIcon(item.icon, {
31257
+ className: 'p-menuitem-icon'
31258
+ }, {
31259
+ props: props.menuProps
30980
31260
  });
30981
31261
  var label = item.label && /*#__PURE__*/React.createElement("span", {
30982
31262
  className: "p-menuitem-text"
@@ -31132,12 +31412,14 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
31132
31412
  ' pi-chevron-down': active
31133
31413
  });
31134
31414
  var iconClassName = classNames('p-menuitem-icon', item.icon);
31415
+ var icon = IconUtils.getJSXIcon(item.icon, {
31416
+ className: 'p-menuitem-icon'
31417
+ }, {
31418
+ props: props
31419
+ });
31135
31420
  var submenuIcon = item.items && /*#__PURE__*/React.createElement("span", {
31136
31421
  className: submenuIconClassName
31137
31422
  });
31138
- var itemIcon = item.icon && /*#__PURE__*/React.createElement("span", {
31139
- className: iconClassName
31140
- });
31141
31423
  var label = item.label && /*#__PURE__*/React.createElement("span", {
31142
31424
  className: "p-menuitem-text"
31143
31425
  }, item.label);
@@ -31155,7 +31437,7 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
31155
31437
  id: headerId,
31156
31438
  "aria-controls": contentId,
31157
31439
  "aria-disabled": item.disabled
31158
- }, submenuIcon, itemIcon, label);
31440
+ }, submenuIcon, icon, label);
31159
31441
 
31160
31442
  if (item.template) {
31161
31443
  var defaultContentOptions = {
@@ -31200,6 +31482,7 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
31200
31482
  }, /*#__PURE__*/React.createElement("div", {
31201
31483
  className: "p-panelmenu-content"
31202
31484
  }, /*#__PURE__*/React.createElement(PanelMenuSub, {
31485
+ menuProps: props,
31203
31486
  model: item.items,
31204
31487
  className: "p-panelmenu-root-submenu",
31205
31488
  multiple: props.multiple
@@ -33338,6 +33621,7 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33338
33621
  var createSubmenu = function createSubmenu(item) {
33339
33622
  if (item.items) {
33340
33623
  return /*#__PURE__*/React.createElement(SlideMenuSub, {
33624
+ menuProps: props.menuProps,
33341
33625
  model: item.items,
33342
33626
  index: props.index + 1,
33343
33627
  menuWidth: props.menuWidth,
@@ -33359,8 +33643,10 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33359
33643
  }, item.className);
33360
33644
  var iconClassName = classNames('p-menuitem-icon', item.icon);
33361
33645
  var submenuIconClassName = 'p-submenu-icon pi pi-fw pi-angle-right';
33362
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
33363
- className: iconClassName
33646
+ var icon = IconUtils.getJSXIcon(item.icon, {
33647
+ className: 'p-menuitem-icon'
33648
+ }, {
33649
+ props: props.menuProps
33364
33650
  });
33365
33651
  var label = item.label && /*#__PURE__*/React.createElement("span", {
33366
33652
  className: "p-menuitem-text"
@@ -33584,6 +33870,7 @@ var SlideMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
33584
33870
  className: "p-slidemenu-content",
33585
33871
  ref: slideMenuContent
33586
33872
  }, /*#__PURE__*/React.createElement(SlideMenuSub, {
33873
+ menuProps: props,
33587
33874
  model: props.model,
33588
33875
  root: true,
33589
33876
  index: 0,
@@ -34115,11 +34402,11 @@ var SpeedDial = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
34115
34402
  'p-disabled': disabled
34116
34403
  });
34117
34404
  var iconClassName = classNames('p-speeddial-action-icon', _icon);
34118
-
34119
- var icon = _icon && /*#__PURE__*/React.createElement("span", {
34120
- className: iconClassName
34405
+ var icon = IconUtils.getJSXIcon(_icon, {
34406
+ className: 'p-speeddial-action-icon'
34407
+ }, {
34408
+ props: props
34121
34409
  });
34122
-
34123
34410
  var content = /*#__PURE__*/React.createElement("a", {
34124
34411
  href: url || '#',
34125
34412
  role: "menuitem",
@@ -34169,15 +34456,20 @@ var SpeedDial = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
34169
34456
  var createButton = function createButton() {
34170
34457
  var _classNames;
34171
34458
 
34459
+ var showIconVisible = !visible && !!props.showIcon || !props.hideIcon;
34460
+ var hideIconVisible = visible && !!props.hideIcon;
34172
34461
  var className = classNames('p-speeddial-button p-button-rounded', {
34173
34462
  'p-speeddial-rotate': props.rotateAnimation && !props.hideIcon
34174
34463
  }, props.buttonClassName);
34175
34464
  var iconClassName = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(props.showIcon), !visible && !!props.showIcon || !props.hideIcon), _defineProperty(_classNames, "".concat(props.hideIcon), visible && !!props.hideIcon), _classNames));
34465
+ var icon = IconUtils.getJSXIcon(showIconVisible ? props.showIcon : hideIconVisible ? props.hideIcon : null, undefined, {
34466
+ props: props
34467
+ });
34176
34468
  var content = /*#__PURE__*/React.createElement(Button, {
34177
34469
  type: "button",
34178
34470
  style: props.buttonStyle,
34179
34471
  className: className,
34180
- icon: iconClassName,
34472
+ icon: icon,
34181
34473
  onClick: onClick,
34182
34474
  disabled: props.disabled
34183
34475
  });
@@ -34288,9 +34580,10 @@ var SplitButtonItem = /*#__PURE__*/React.memo(function (props) {
34288
34580
  'p-disabled': disabled
34289
34581
  });
34290
34582
  var iconClassName = classNames('p-menuitem-icon', _icon);
34291
-
34292
- var icon = _icon && /*#__PURE__*/React.createElement("span", {
34293
- className: iconClassName
34583
+ var icon = IconUtils.getJSXIcon(_icon, {
34584
+ className: 'p-menuitem-icon'
34585
+ }, {
34586
+ props: props.splitButtonProps
34294
34587
  });
34295
34588
 
34296
34589
  var label = _label && /*#__PURE__*/React.createElement("span", {
@@ -34462,6 +34755,7 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
34462
34755
  if (props.model) {
34463
34756
  return props.model.map(function (menuitem, index) {
34464
34757
  return /*#__PURE__*/React.createElement(SplitButtonItem, {
34758
+ splitButtonProps: props,
34465
34759
  menuitem: menuitem,
34466
34760
  key: index,
34467
34761
  onItemClick: onItemClick
@@ -34865,6 +35159,12 @@ var Steps = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
34865
35159
  'p-highlight p-steps-current': active,
34866
35160
  'p-disabled': disabled
34867
35161
  });
35162
+ var iconClassName = classNames('p-menuitem-icon', item.icon);
35163
+ var icon = IconUtils.getJSXIcon(item.icon, {
35164
+ className: 'p-menuitem-icon'
35165
+ }, {
35166
+ props: props
35167
+ });
34868
35168
  var label = item.label && /*#__PURE__*/React.createElement("span", {
34869
35169
  className: "p-steps-title"
34870
35170
  }, item.label);
@@ -34879,7 +35179,7 @@ var Steps = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
34879
35179
  tabIndex: tabIndex
34880
35180
  }, /*#__PURE__*/React.createElement("span", {
34881
35181
  className: "p-steps-number"
34882
- }, index + 1), label);
35182
+ }, index + 1), icon, label);
34883
35183
 
34884
35184
  if (item.template) {
34885
35185
  var defaultContentOptions = {
@@ -34889,6 +35189,7 @@ var Steps = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
34889
35189
  className: 'p-menuitem-link',
34890
35190
  labelClassName: 'p-steps-title',
34891
35191
  numberClassName: 'p-steps-number',
35192
+ iconClassName: iconClassName,
34892
35193
  element: content,
34893
35194
  props: props,
34894
35195
  tabIndex: tabIndex,
@@ -35222,9 +35523,10 @@ var TabMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
35222
35523
  'p-disabled': disabled
35223
35524
  }, _className);
35224
35525
  var iconClassName = classNames('p-menuitem-icon', _icon);
35225
-
35226
- var icon = _icon && /*#__PURE__*/React.createElement("span", {
35227
- className: iconClassName
35526
+ var icon = IconUtils.getJSXIcon(_icon, {
35527
+ className: 'p-menuitem-icon'
35528
+ }, {
35529
+ props: props
35228
35530
  });
35229
35531
 
35230
35532
  var label = _label && /*#__PURE__*/React.createElement("span", {
@@ -36066,6 +36368,7 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
36066
36368
  var createSubmenu = function createSubmenu(item) {
36067
36369
  if (item.items) {
36068
36370
  return /*#__PURE__*/React.createElement(TieredMenuSub, {
36371
+ menuProps: props.menuProps,
36069
36372
  model: item.items,
36070
36373
  onLeafClick: onLeafClick,
36071
36374
  popup: props.popup,
@@ -36097,9 +36400,10 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
36097
36400
  });
36098
36401
  var iconClassName = classNames('p-menuitem-icon', _icon);
36099
36402
  var submenuIconClassName = 'p-submenu-icon pi pi-angle-right';
36100
-
36101
- var icon = _icon && /*#__PURE__*/React.createElement("span", {
36102
- className: iconClassName
36403
+ var icon = IconUtils.getJSXIcon(_icon, {
36404
+ className: 'p-menuitem-icon'
36405
+ }, {
36406
+ props: props.menuProps
36103
36407
  });
36104
36408
 
36105
36409
  var label = _label && /*#__PURE__*/React.createElement("span", {
@@ -36284,6 +36588,7 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
36284
36588
  }, otherProps, {
36285
36589
  onClick: onPanelClick
36286
36590
  }), /*#__PURE__*/React.createElement(TieredMenuSub, {
36591
+ menuProps: props,
36287
36592
  model: props.model,
36288
36593
  root: true,
36289
36594
  popup: props.popup
@@ -36606,7 +36911,7 @@ var ToggleButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
36606
36911
  };
36607
36912
 
36608
36913
  var onKeyDown = function onKeyDown(event) {
36609
- if (event.key === 'Enter') {
36914
+ if (event.keyCode === 32) {
36610
36915
  toggle(event);
36611
36916
  event.preventDefault();
36612
36917
  }
@@ -36648,7 +36953,8 @@ var ToggleButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
36648
36953
  onBlur: props.onBlur,
36649
36954
  onKeyDown: onKeyDown,
36650
36955
  tabIndex: tabIndex,
36651
- "aria-labelledby": props.ariaLabelledBy
36956
+ role: "button",
36957
+ "aria-pressed": props.checked
36652
36958
  }), iconElement, /*#__PURE__*/React.createElement("span", {
36653
36959
  className: "p-button-label"
36654
36960
  }, label), /*#__PURE__*/React.createElement(Ripple, null)), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
@@ -36671,7 +36977,6 @@ ToggleButton.defaultProps = {
36671
36977
  tabIndex: 0,
36672
36978
  tooltip: null,
36673
36979
  tooltipOptions: null,
36674
- ariaLabelledBy: null,
36675
36980
  onChange: null,
36676
36981
  onFocus: null,
36677
36982
  onBlur: null
@@ -38374,7 +38679,6 @@ var TreeSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
38374
38679
  updateTreeState();
38375
38680
  }
38376
38681
 
38377
- scrollInView();
38378
38682
  selfChange.current = false;
38379
38683
  }
38380
38684
  }, [props.value]);
@@ -41239,4 +41543,4 @@ TriStateCheckbox.defaultProps = {
41239
41543
  onChange: null
41240
41544
  };
41241
41545
 
41242
- 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, useTimeout, useUnmountEffect, useUpdateEffect };
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 };