primereact 8.0.0-rc.1 → 8.0.0-rc.2

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 (349) hide show
  1. package/README.md +4 -2
  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.js +1 -1
  40. package/calendar/calendar.cjs.js +314 -151
  41. package/calendar/calendar.cjs.min.js +1 -1
  42. package/calendar/calendar.d.ts +8 -0
  43. package/calendar/calendar.esm.js +314 -151
  44. package/calendar/calendar.esm.min.js +1 -1
  45. package/calendar/calendar.js +315 -152
  46. package/calendar/calendar.min.css +1 -1
  47. package/calendar/calendar.min.js +1 -1
  48. package/captcha/captcha.d.ts +1 -0
  49. package/card/card.d.ts +1 -0
  50. package/carousel/carousel.d.ts +1 -0
  51. package/cascadeselect/cascadeselect.d.ts +4 -2
  52. package/chart/chart.d.ts +1 -0
  53. package/checkbox/checkbox.cjs.js +5 -13
  54. package/checkbox/checkbox.cjs.min.js +1 -1
  55. package/checkbox/checkbox.d.ts +2 -2
  56. package/checkbox/checkbox.esm.js +5 -13
  57. package/checkbox/checkbox.esm.min.js +1 -1
  58. package/checkbox/checkbox.js +5 -13
  59. package/checkbox/checkbox.min.js +1 -1
  60. package/chip/chip.d.ts +1 -0
  61. package/chips/chips.d.ts +1 -0
  62. package/colorpicker/colorpicker.d.ts +1 -0
  63. package/column/column.d.ts +2 -1
  64. package/columngroup/columngroup.d.ts +3 -1
  65. package/common/common.min.css +1 -1
  66. package/confirmdialog/confirmdialog.cjs.js +2 -2
  67. package/confirmdialog/confirmdialog.d.ts +1 -0
  68. package/confirmdialog/confirmdialog.esm.js +2 -2
  69. package/confirmdialog/confirmdialog.js +2 -2
  70. package/confirmpopup/confirmpopup.cjs.js +2 -2
  71. package/confirmpopup/confirmpopup.d.ts +1 -0
  72. package/confirmpopup/confirmpopup.esm.js +2 -2
  73. package/confirmpopup/confirmpopup.js +2 -2
  74. package/contextmenu/contextmenu.cjs.js +6 -2
  75. package/contextmenu/contextmenu.cjs.min.js +1 -1
  76. package/contextmenu/contextmenu.d.ts +1 -0
  77. package/contextmenu/contextmenu.esm.js +7 -3
  78. package/contextmenu/contextmenu.esm.min.js +1 -1
  79. package/contextmenu/contextmenu.js +6 -2
  80. package/contextmenu/contextmenu.min.js +1 -1
  81. package/core/core.js +197 -134
  82. package/core/core.min.js +9 -9
  83. package/datascroller/datascroller.d.ts +1 -0
  84. package/datatable/datatable.cjs.js +4 -4
  85. package/datatable/datatable.cjs.min.js +1 -1
  86. package/datatable/datatable.d.ts +2 -1
  87. package/datatable/datatable.esm.js +4 -4
  88. package/datatable/datatable.esm.min.js +1 -1
  89. package/datatable/datatable.js +4 -4
  90. package/datatable/datatable.min.js +1 -1
  91. package/dataview/dataview.d.ts +2 -0
  92. package/deferredcontent/deferredcontent.d.ts +1 -0
  93. package/dialog/dialog.d.ts +1 -0
  94. package/divider/divider.d.ts +1 -0
  95. package/dock/dock.cjs.js +5 -3
  96. package/dock/dock.cjs.min.js +1 -1
  97. package/dock/dock.d.ts +1 -0
  98. package/dock/dock.esm.js +6 -4
  99. package/dock/dock.esm.min.js +1 -1
  100. package/dock/dock.js +5 -3
  101. package/dock/dock.min.js +1 -1
  102. package/dropdown/dropdown.cjs.js +2 -6
  103. package/dropdown/dropdown.cjs.min.js +1 -1
  104. package/dropdown/dropdown.d.ts +4 -2
  105. package/dropdown/dropdown.esm.js +2 -6
  106. package/dropdown/dropdown.esm.min.js +1 -1
  107. package/dropdown/dropdown.js +2 -6
  108. package/dropdown/dropdown.min.js +1 -1
  109. package/editor/editor.d.ts +1 -0
  110. package/fieldset/fieldset.d.ts +1 -0
  111. package/fileupload/fileupload.d.ts +2 -1
  112. package/fullcalendar/fullcalendar.d.ts +1 -0
  113. package/galleria/galleria.d.ts +1 -0
  114. package/gmap/gmap.cjs.js +27 -12
  115. package/gmap/gmap.cjs.min.js +1 -1
  116. package/gmap/gmap.d.ts +1 -0
  117. package/gmap/gmap.esm.js +27 -12
  118. package/gmap/gmap.esm.min.js +1 -1
  119. package/gmap/gmap.js +27 -12
  120. package/gmap/gmap.min.js +1 -1
  121. package/image/image.d.ts +1 -0
  122. package/inplace/inplace.d.ts +7 -2
  123. package/inputmask/inputmask.cjs.js +2 -0
  124. package/inputmask/inputmask.cjs.min.js +1 -1
  125. package/inputmask/inputmask.d.ts +1 -0
  126. package/inputmask/inputmask.esm.js +2 -0
  127. package/inputmask/inputmask.esm.min.js +1 -1
  128. package/inputmask/inputmask.js +2 -0
  129. package/inputmask/inputmask.min.js +1 -1
  130. package/inputnumber/inputnumber.cjs.js +8 -5
  131. package/inputnumber/inputnumber.cjs.min.js +1 -1
  132. package/inputnumber/inputnumber.d.ts +1 -0
  133. package/inputnumber/inputnumber.esm.js +8 -5
  134. package/inputnumber/inputnumber.esm.min.js +1 -1
  135. package/inputnumber/inputnumber.js +8 -5
  136. package/inputnumber/inputnumber.min.js +1 -1
  137. package/inputswitch/inputswitch.cjs.js +7 -10
  138. package/inputswitch/inputswitch.cjs.min.js +1 -1
  139. package/inputswitch/inputswitch.d.ts +2 -1
  140. package/inputswitch/inputswitch.esm.js +7 -10
  141. package/inputswitch/inputswitch.esm.min.js +1 -1
  142. package/inputswitch/inputswitch.js +7 -10
  143. package/inputswitch/inputswitch.min.js +1 -1
  144. package/inputtext/inputtext.cjs.js +12 -2
  145. package/inputtext/inputtext.cjs.min.js +1 -1
  146. package/inputtext/inputtext.d.ts +1 -0
  147. package/inputtext/inputtext.esm.js +12 -2
  148. package/inputtext/inputtext.esm.min.js +1 -1
  149. package/inputtext/inputtext.js +12 -2
  150. package/inputtext/inputtext.min.js +1 -1
  151. package/inputtextarea/inputtextarea.d.ts +1 -0
  152. package/keyfilter/keyfilter.cjs.js +54 -1
  153. package/keyfilter/keyfilter.cjs.min.js +1 -1
  154. package/keyfilter/keyfilter.esm.js +54 -1
  155. package/keyfilter/keyfilter.esm.min.js +1 -1
  156. package/keyfilter/keyfilter.js +146 -93
  157. package/keyfilter/keyfilter.min.js +1 -1
  158. package/knob/knob.d.ts +1 -0
  159. package/listbox/listbox.d.ts +4 -2
  160. package/megamenu/megamenu.cjs.js +8 -5
  161. package/megamenu/megamenu.cjs.min.js +1 -1
  162. package/megamenu/megamenu.d.ts +1 -0
  163. package/megamenu/megamenu.esm.js +9 -6
  164. package/megamenu/megamenu.esm.min.js +1 -1
  165. package/megamenu/megamenu.js +8 -5
  166. package/megamenu/megamenu.min.js +1 -1
  167. package/mention/mention.d.ts +1 -0
  168. package/menu/menu.cjs.js +4 -2
  169. package/menu/menu.cjs.min.js +1 -1
  170. package/menu/menu.d.ts +1 -0
  171. package/menu/menu.esm.js +5 -3
  172. package/menu/menu.esm.min.js +1 -1
  173. package/menu/menu.js +4 -2
  174. package/menu/menu.min.js +1 -1
  175. package/menubar/menubar.cjs.js +6 -2
  176. package/menubar/menubar.cjs.min.js +1 -1
  177. package/menubar/menubar.d.ts +1 -0
  178. package/menubar/menubar.esm.js +7 -3
  179. package/menubar/menubar.esm.min.js +1 -1
  180. package/menubar/menubar.js +6 -2
  181. package/menubar/menubar.min.js +1 -1
  182. package/menuitem/menuitem.d.ts +0 -2
  183. package/message/message.d.ts +1 -0
  184. package/messages/messages.d.ts +1 -0
  185. package/multiselect/multiselect.cjs.js +5 -13
  186. package/multiselect/multiselect.cjs.min.js +1 -1
  187. package/multiselect/multiselect.d.ts +4 -2
  188. package/multiselect/multiselect.esm.js +5 -13
  189. package/multiselect/multiselect.esm.min.js +1 -1
  190. package/multiselect/multiselect.js +5 -13
  191. package/multiselect/multiselect.min.js +1 -1
  192. package/multistatecheckbox/multistatecheckbox.d.ts +1 -0
  193. package/orderlist/orderlist.d.ts +1 -0
  194. package/organizationchart/organizationchart.d.ts +1 -0
  195. package/overlaypanel/overlaypanel.d.ts +1 -0
  196. package/package.json +3 -2
  197. package/paginator/paginator.cjs.js +11 -5
  198. package/paginator/paginator.d.ts +1 -0
  199. package/paginator/paginator.esm.js +11 -5
  200. package/paginator/paginator.js +11 -5
  201. package/panel/panel.d.ts +1 -0
  202. package/panelmenu/panelmenu.cjs.js +12 -6
  203. package/panelmenu/panelmenu.cjs.min.js +1 -1
  204. package/panelmenu/panelmenu.d.ts +1 -0
  205. package/panelmenu/panelmenu.esm.js +13 -7
  206. package/panelmenu/panelmenu.esm.min.js +1 -1
  207. package/panelmenu/panelmenu.js +12 -6
  208. package/panelmenu/panelmenu.min.js +1 -1
  209. package/password/password.d.ts +1 -0
  210. package/picklist/picklist.d.ts +1 -0
  211. package/primereact.all.cjs.js +506 -257
  212. package/primereact.all.cjs.min.js +1 -1
  213. package/primereact.all.esm.js +506 -257
  214. package/primereact.all.esm.min.js +1 -1
  215. package/primereact.all.js +506 -257
  216. package/primereact.all.min.js +1 -1
  217. package/progressbar/progressbar.d.ts +1 -0
  218. package/progressspinner/progressspinner.d.ts +2 -1
  219. package/radiobutton/radiobutton.d.ts +2 -1
  220. package/rating/rating.d.ts +1 -0
  221. package/resources/primereact.css +165 -140
  222. package/resources/primereact.min.css +1 -1
  223. package/resources/themes/arya-blue/theme.css +51 -13
  224. package/resources/themes/arya-green/theme.css +51 -13
  225. package/resources/themes/arya-orange/theme.css +51 -13
  226. package/resources/themes/arya-purple/theme.css +51 -13
  227. package/resources/themes/bootstrap4-dark-blue/theme.css +51 -13
  228. package/resources/themes/bootstrap4-dark-purple/theme.css +51 -13
  229. package/resources/themes/bootstrap4-light-blue/theme.css +51 -13
  230. package/resources/themes/bootstrap4-light-purple/theme.css +51 -13
  231. package/resources/themes/fluent-light/theme.css +51 -13
  232. package/resources/themes/lara-dark-blue/theme.css +51 -13
  233. package/resources/themes/lara-dark-indigo/theme.css +51 -13
  234. package/resources/themes/lara-dark-purple/theme.css +51 -13
  235. package/resources/themes/lara-dark-teal/theme.css +51 -13
  236. package/resources/themes/lara-light-blue/theme.css +51 -13
  237. package/resources/themes/lara-light-indigo/theme.css +51 -13
  238. package/resources/themes/lara-light-purple/theme.css +51 -13
  239. package/resources/themes/lara-light-teal/theme.css +51 -13
  240. package/resources/themes/luna-amber/theme.css +51 -13
  241. package/resources/themes/luna-blue/theme.css +51 -13
  242. package/resources/themes/luna-green/theme.css +51 -13
  243. package/resources/themes/luna-pink/theme.css +51 -13
  244. package/resources/themes/md-dark-deeppurple/theme.css +54 -13
  245. package/resources/themes/md-dark-indigo/theme.css +54 -13
  246. package/resources/themes/md-light-deeppurple/theme.css +54 -13
  247. package/resources/themes/md-light-indigo/theme.css +54 -13
  248. package/resources/themes/mdc-dark-deeppurple/theme.css +54 -13
  249. package/resources/themes/mdc-dark-indigo/theme.css +54 -13
  250. package/resources/themes/mdc-light-deeppurple/theme.css +54 -13
  251. package/resources/themes/mdc-light-indigo/theme.css +54 -13
  252. package/resources/themes/nova/theme.css +51 -13
  253. package/resources/themes/nova-accent/theme.css +51 -13
  254. package/resources/themes/nova-alt/theme.css +51 -13
  255. package/resources/themes/rhea/theme.css +51 -13
  256. package/resources/themes/saga-blue/theme.css +51 -13
  257. package/resources/themes/saga-green/theme.css +51 -13
  258. package/resources/themes/saga-orange/theme.css +51 -13
  259. package/resources/themes/saga-purple/theme.css +51 -13
  260. package/resources/themes/tailwind-light/theme.css +50 -12
  261. package/resources/themes/vela-blue/theme.css +51 -13
  262. package/resources/themes/vela-green/theme.css +51 -13
  263. package/resources/themes/vela-orange/theme.css +51 -13
  264. package/resources/themes/vela-purple/theme.css +51 -13
  265. package/ripple/ripple.cjs.js +1 -0
  266. package/ripple/ripple.cjs.min.js +1 -1
  267. package/ripple/ripple.d.ts +3 -1
  268. package/ripple/ripple.esm.js +1 -0
  269. package/ripple/ripple.esm.min.js +1 -1
  270. package/ripple/ripple.js +1 -0
  271. package/ripple/ripple.min.js +1 -1
  272. package/row/row.d.ts +1 -0
  273. package/scrollpanel/scrollpanel.d.ts +1 -0
  274. package/scrolltop/scrolltop.d.ts +1 -0
  275. package/selectbutton/selectbutton.d.ts +4 -2
  276. package/selectitem/selectitem.d.ts +2 -0
  277. package/sidebar/sidebar.d.ts +1 -0
  278. package/skeleton/skeleton.d.ts +1 -0
  279. package/slidemenu/slidemenu.cjs.js +6 -2
  280. package/slidemenu/slidemenu.cjs.min.js +1 -1
  281. package/slidemenu/slidemenu.d.ts +1 -0
  282. package/slidemenu/slidemenu.esm.js +7 -3
  283. package/slidemenu/slidemenu.esm.min.js +1 -1
  284. package/slidemenu/slidemenu.js +6 -2
  285. package/slidemenu/slidemenu.min.js +1 -1
  286. package/slider/slider.d.ts +1 -0
  287. package/speeddial/speeddial.cjs.js +10 -5
  288. package/speeddial/speeddial.cjs.min.js +1 -1
  289. package/speeddial/speeddial.d.ts +1 -0
  290. package/speeddial/speeddial.esm.js +11 -6
  291. package/speeddial/speeddial.esm.min.js +1 -1
  292. package/speeddial/speeddial.js +10 -5
  293. package/speeddial/speeddial.min.js +1 -1
  294. package/splitbutton/splitbutton.cjs.js +5 -3
  295. package/splitbutton/splitbutton.cjs.min.js +1 -1
  296. package/splitbutton/splitbutton.d.ts +1 -0
  297. package/splitbutton/splitbutton.esm.js +6 -4
  298. package/splitbutton/splitbutton.esm.min.js +1 -1
  299. package/splitbutton/splitbutton.js +5 -3
  300. package/splitbutton/splitbutton.min.js +1 -1
  301. package/splitter/splitter.d.ts +2 -0
  302. package/steps/steps.cjs.js +8 -1
  303. package/steps/steps.cjs.min.js +1 -1
  304. package/steps/steps.d.ts +1 -0
  305. package/steps/steps.esm.js +9 -2
  306. package/steps/steps.esm.min.js +1 -1
  307. package/steps/steps.js +8 -1
  308. package/steps/steps.min.js +1 -1
  309. package/styleclass/styleclass.d.ts +1 -0
  310. package/tabmenu/tabmenu.cjs.js +4 -3
  311. package/tabmenu/tabmenu.cjs.min.js +1 -1
  312. package/tabmenu/tabmenu.d.ts +1 -0
  313. package/tabmenu/tabmenu.esm.js +5 -4
  314. package/tabmenu/tabmenu.esm.min.js +1 -1
  315. package/tabmenu/tabmenu.js +4 -3
  316. package/tabmenu/tabmenu.min.js +1 -1
  317. package/tabview/tabview.d.ts +2 -0
  318. package/tag/tag.d.ts +1 -0
  319. package/terminal/terminal.d.ts +1 -0
  320. package/tieredmenu/tieredmenu.cjs.js +6 -3
  321. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  322. package/tieredmenu/tieredmenu.d.ts +1 -0
  323. package/tieredmenu/tieredmenu.esm.js +7 -4
  324. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  325. package/tieredmenu/tieredmenu.js +6 -3
  326. package/tieredmenu/tieredmenu.min.js +1 -1
  327. package/timeline/timeline.d.ts +1 -0
  328. package/toast/toast.d.ts +1 -0
  329. package/togglebutton/togglebutton.d.ts +1 -0
  330. package/toolbar/toolbar.d.ts +1 -0
  331. package/tooltip/tooltip.d.ts +1 -0
  332. package/tree/tree.d.ts +1 -0
  333. package/treeselect/treeselect.cjs.js +0 -1
  334. package/treeselect/treeselect.cjs.min.js +1 -1
  335. package/treeselect/treeselect.d.ts +2 -1
  336. package/treeselect/treeselect.esm.js +0 -1
  337. package/treeselect/treeselect.esm.min.js +1 -1
  338. package/treeselect/treeselect.js +0 -1
  339. package/treeselect/treeselect.min.js +1 -1
  340. package/treetable/treetable.d.ts +2 -1
  341. package/tristatecheckbox/tristatecheckbox.d.ts +1 -0
  342. package/utils/utils.cjs.js +11 -8
  343. package/utils/utils.cjs.min.js +1 -1
  344. package/utils/utils.esm.js +11 -8
  345. package/utils/utils.esm.min.js +1 -1
  346. package/utils/utils.js +11 -8
  347. package/utils/utils.min.js +1 -1
  348. package/virtualscroller/virtualscroller.d.ts +1 -0
  349. package/web-types.json +7 -13
@@ -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() {
@@ -3120,7 +3123,7 @@ var Accordion = /*#__PURE__*/React.forwardRef(function (props, ref) {
3120
3123
  idState = _React$useState2[0],
3121
3124
  setIdState = _React$useState2[1];
3122
3125
 
3123
- var _React$useState3 = React.useState(null),
3126
+ var _React$useState3 = React.useState(props.activeIndex),
3124
3127
  _React$useState4 = _slicedToArray(_React$useState3, 2),
3125
3128
  activeIndexState = _React$useState4[0],
3126
3129
  setActiveIndexState = _React$useState4[1];
@@ -3368,6 +3371,7 @@ var Ripple = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function ()
3368
3371
  }
3369
3372
  });
3370
3373
  return PrimeReact.ripple ? /*#__PURE__*/React.createElement("span", {
3374
+ role: "presentation",
3371
3375
  ref: inkRef,
3372
3376
  className: "p-ink",
3373
3377
  onAnimationEnd: onAnimationEnd
@@ -4005,8 +4009,10 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pr
4005
4009
  var icon = createIcon();
4006
4010
  var label = createLabel();
4007
4011
  var badge = createBadge();
4012
+ var defaultAriaLabel = props.label ? props.label + (props.badge ? ' ' + props.badge : '') : '';
4008
4013
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", _extends({
4009
- ref: elementRef
4014
+ ref: elementRef,
4015
+ "aria-label": defaultAriaLabel
4010
4016
  }, otherProps, {
4011
4017
  className: className,
4012
4018
  disabled: disabled
@@ -4088,12 +4094,15 @@ var KeyFilter = {
4088
4094
  getCharCode: function getCharCode(e) {
4089
4095
  return e.charCode || e.keyCode || e.which;
4090
4096
  },
4097
+ getRegex: function getRegex(keyfilter) {
4098
+ return KeyFilter.DEFAULT_MASKS[keyfilter] ? KeyFilter.DEFAULT_MASKS[keyfilter] : keyfilter;
4099
+ },
4091
4100
  onKeyPress: function onKeyPress(e, keyfilter, validateOnly) {
4092
4101
  if (validateOnly) {
4093
4102
  return;
4094
4103
  }
4095
4104
 
4096
- var regex = KeyFilter.DEFAULT_MASKS[keyfilter] ? KeyFilter.DEFAULT_MASKS[keyfilter] : keyfilter;
4105
+ var regex = this.getRegex(keyfilter);
4097
4106
  var browser = DomHandler.getBrowser();
4098
4107
 
4099
4108
  if (e.ctrlKey || e.altKey) {
@@ -4117,6 +4126,21 @@ var KeyFilter = {
4117
4126
  e.preventDefault();
4118
4127
  }
4119
4128
  },
4129
+ onPaste: function onPaste(e, keyfilter, validateOnly) {
4130
+ if (validateOnly) {
4131
+ return;
4132
+ }
4133
+
4134
+ var regex = this.getRegex(keyfilter);
4135
+ var clipboard = e.clipboardData.getData("text"); // loop over each letter pasted and if any fail prevent the paste
4136
+
4137
+ _toConsumableArray(clipboard).forEach(function (c) {
4138
+ if (!regex.test(c)) {
4139
+ e.preventDefault();
4140
+ return false;
4141
+ }
4142
+ });
4143
+ },
4120
4144
  validate: function validate(e, keyfilter) {
4121
4145
  var value = e.target.value,
4122
4146
  validatePattern = true;
@@ -4155,6 +4179,14 @@ var InputText = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
4155
4179
  }
4156
4180
  };
4157
4181
 
4182
+ var onPaste = function onPaste(event) {
4183
+ props.onPaste && props.onPaste(event);
4184
+
4185
+ if (props.keyfilter) {
4186
+ KeyFilter.onPaste(event, props.keyfilter, props.validateOnly);
4187
+ }
4188
+ };
4189
+
4158
4190
  var isFilled = React.useMemo(function () {
4159
4191
  return ObjectUtils.isNotEmpty(props.value) || ObjectUtils.isNotEmpty(props.defaultValue) || elementRef.current && ObjectUtils.isNotEmpty(elementRef.current.value);
4160
4192
  }, [props.value, props.defaultValue]);
@@ -4172,7 +4204,8 @@ var InputText = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
4172
4204
  }, otherProps, {
4173
4205
  className: className,
4174
4206
  onInput: onInput,
4175
- onKeyPress: onKeyPress
4207
+ onKeyPress: onKeyPress,
4208
+ onPaste: onPaste
4176
4209
  })), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
4177
4210
  target: elementRef,
4178
4211
  content: props.tooltip
@@ -4186,7 +4219,8 @@ InputText.defaultProps = {
4186
4219
  tooltip: null,
4187
4220
  tooltipOptions: null,
4188
4221
  onInput: null,
4189
- onKeyPress: null
4222
+ onKeyPress: null,
4223
+ onPaste: null
4190
4224
  };
4191
4225
 
4192
4226
  var OverlayService = EventBus();
@@ -5208,6 +5242,11 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5208
5242
  };
5209
5243
 
5210
5244
  var updateModel = function updateModel(event, value) {
5245
+ // #2176 only call change if value actually changed
5246
+ if (selectedItem && selectedItem.current === value) {
5247
+ return;
5248
+ }
5249
+
5211
5250
  if (props.onChange) {
5212
5251
  props.onChange({
5213
5252
  originalEvent: event,
@@ -5999,7 +6038,7 @@ var BreadCrumb = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
5999
6038
  var home = props.home;
6000
6039
 
6001
6040
  if (home) {
6002
- var icon = home.icon,
6041
+ var _icon = home.icon,
6003
6042
  target = home.target,
6004
6043
  url = home.url,
6005
6044
  disabled = home.disabled,
@@ -6010,7 +6049,11 @@ var BreadCrumb = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
6010
6049
  'p-disabled': disabled
6011
6050
  }, _className);
6012
6051
 
6013
- var iconClassName = classNames('p-menuitem-icon', icon);
6052
+ var icon = IconUtils.getJSXIcon(_icon, {
6053
+ className: 'p-menuitem-icon'
6054
+ }, {
6055
+ props: props
6056
+ });
6014
6057
  return /*#__PURE__*/React.createElement("li", {
6015
6058
  className: _className2,
6016
6059
  style: style
@@ -6022,9 +6065,7 @@ var BreadCrumb = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
6022
6065
  onClick: function onClick(event) {
6023
6066
  return itemClick(event, home);
6024
6067
  }
6025
- }, /*#__PURE__*/React.createElement("span", {
6026
- className: iconClassName
6027
- })));
6068
+ }, icon));
6028
6069
  }
6029
6070
 
6030
6071
  return null;
@@ -6179,8 +6220,30 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6179
6220
  var overlayEventListener = React.useRef(null);
6180
6221
  var touchUIMaskClickListener = React.useRef(null);
6181
6222
  var isOverlayClicked = React.useRef(false);
6223
+
6224
+ var _React$useState7 = React.useState('date'),
6225
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
6226
+ currentView = _React$useState8[0],
6227
+ setCurrentView = _React$useState8[1];
6228
+
6229
+ var _React$useState9 = React.useState(null),
6230
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
6231
+ currentMonth = _React$useState10[0],
6232
+ setCurrentMonth = _React$useState10[1];
6233
+
6234
+ var _React$useState11 = React.useState(null),
6235
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
6236
+ currentYear = _React$useState12[0],
6237
+ setCurrentYear = _React$useState12[1];
6238
+
6239
+ var _React$useState13 = React.useState([]),
6240
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
6241
+ yearOptions = _React$useState14[0],
6242
+ setYearOptions = _React$useState14[1];
6243
+
6182
6244
  var previousValue = usePrevious(props.value);
6183
6245
  var visible = props.inline || (props.onVisibleChange ? props.visible : overlayVisibleState);
6246
+ var attributeSelector = UniqueComponentId();
6184
6247
 
6185
6248
  var _useOverlayListener = useOverlayListener({
6186
6249
  target: elementRef,
@@ -6356,7 +6419,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6356
6419
  if (navigation.current) {
6357
6420
  if (navigation.current.button) {
6358
6421
  initFocusableCell();
6359
- if (navigation.backward) DomHandler.findSingle(overlayRef.current, '.p-datepicker-prev').focus();else DomHandler.findSingle(overlayRef.current, '.p-datepicker-next').focus();
6422
+ if (navigation.current.backward) DomHandler.findSingle(overlayRef.current, '.p-datepicker-prev').focus();else DomHandler.findSingle(overlayRef.current, '.p-datepicker-next').focus();
6360
6423
  } else {
6361
6424
  var cell;
6362
6425
 
@@ -6412,16 +6475,22 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6412
6475
  var newViewDate = new Date(getViewDate().getTime());
6413
6476
  newViewDate.setDate(1);
6414
6477
 
6415
- if (props.view === 'date') {
6478
+ if (currentView === 'date') {
6416
6479
  if (newViewDate.getMonth() === 0) {
6417
6480
  newViewDate.setMonth(11);
6418
6481
  newViewDate.setFullYear(newViewDate.getFullYear() - 1);
6482
+ setCurrentMonth(11);
6483
+ decrementYear();
6419
6484
  } else {
6420
6485
  newViewDate.setMonth(newViewDate.getMonth() - 1);
6486
+ setCurrentMonth(function (prevState) {
6487
+ return prevState - 1;
6488
+ });
6421
6489
  }
6422
- } else if (props.view === 'month') {
6423
- var currentYear = newViewDate.getFullYear();
6424
- var newYear = currentYear - 1;
6490
+ } else if (currentView === 'month') {
6491
+ var _currentYear2 = newViewDate.getFullYear();
6492
+
6493
+ var newYear = _currentYear2 - 1;
6425
6494
 
6426
6495
  if (props.yearNavigator) {
6427
6496
  var minYear = parseInt(props.yearRange.split(':')[0], 10);
@@ -6434,6 +6503,12 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6434
6503
  newViewDate.setFullYear(newYear);
6435
6504
  }
6436
6505
 
6506
+ if (currentView === 'month') {
6507
+ decrementYear();
6508
+ } else if (currentView === 'year') {
6509
+ decrementDecade();
6510
+ }
6511
+
6437
6512
  updateViewDate(event, newViewDate);
6438
6513
  event.preventDefault();
6439
6514
  };
@@ -6447,16 +6522,22 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6447
6522
  var newViewDate = new Date(getViewDate().getTime());
6448
6523
  newViewDate.setDate(1);
6449
6524
 
6450
- if (props.view === 'date') {
6525
+ if (currentView === 'date') {
6451
6526
  if (newViewDate.getMonth() === 11) {
6452
6527
  newViewDate.setMonth(0);
6453
6528
  newViewDate.setFullYear(newViewDate.getFullYear() + 1);
6529
+ setCurrentMonth(0);
6530
+ incrementYear();
6454
6531
  } else {
6455
6532
  newViewDate.setMonth(newViewDate.getMonth() + 1);
6533
+ setCurrentMonth(function (prevState) {
6534
+ return prevState + 1;
6535
+ });
6456
6536
  }
6457
- } else if (props.view === 'month') {
6458
- var currentYear = newViewDate.getFullYear();
6459
- var newYear = currentYear + 1;
6537
+ } else if (currentView === 'month') {
6538
+ var _currentYear3 = newViewDate.getFullYear();
6539
+
6540
+ var newYear = _currentYear3 + 1;
6460
6541
 
6461
6542
  if (props.yearNavigator) {
6462
6543
  var maxYear = parseInt(props.yearRange.split(':')[1], 10);
@@ -6469,10 +6550,48 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
6469
6550
  newViewDate.setFullYear(newYear);
6470
6551
  }
6471
6552
 
6553
+ if (currentView === 'month') {
6554
+ incrementYear();
6555
+ } else if (currentView === 'year') {
6556
+ incrementDecade();
6557
+ }
6558
+
6472
6559
  updateViewDate(event, newViewDate);
6473
6560
  event.preventDefault();
6474
6561
  };
6475
6562
 
6563
+ var populateYearOptions = function populateYearOptions(start, end) {
6564
+ var _yearOptions = [];
6565
+
6566
+ for (var i = start; i <= end; i++) {
6567
+ yearOptions.push(i);
6568
+ }
6569
+
6570
+ setYearOptions(_yearOptions);
6571
+ };
6572
+
6573
+ var decrementYear = function decrementYear() {
6574
+ var _currentYear = currentYear - 1;
6575
+
6576
+ setCurrentYear(_currentYear);
6577
+
6578
+ if (props.yearNavigator && _currentYear < yearOptions[0]) {
6579
+ var difference = yearOptions[yearOptions.length - 1] - yearOptions[0];
6580
+ populateYearOptions(yearOptions[0] - difference, yearOptions[yearOptions.length - 1] - difference);
6581
+ }
6582
+ };
6583
+
6584
+ var incrementYear = function incrementYear() {
6585
+ var _currentYear = currentYear + 1;
6586
+
6587
+ setCurrentYear(_currentYear);
6588
+
6589
+ if (props.yearNavigator && _currentYear.current > yearOptions[yearOptions.length - 1]) {
6590
+ var difference = yearOptions[yearOptions.length - 1] - yearOptions[0];
6591
+ populateYearOptions(yearOptions[0] + difference, yearOptions[yearOptions.length - 1] + difference);
6592
+ }
6593
+ };
6594
+
6476
6595
  var onMonthDropdownChange = function onMonthDropdownChange(event, value) {
6477
6596
  var currentViewDate = getViewDate();
6478
6597
  var newViewDate = new Date(currentViewDate.getTime());
@@ -7169,84 +7288,6 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7169
7288
  }
7170
7289
  };
7171
7290
 
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
7291
  var onDateSelect = function onDateSelect(event, dateMeta, timeMeta) {
7251
7292
  if (props.disabled || !dateMeta.selectable) {
7252
7293
  event.preventDefault();
@@ -7364,16 +7405,70 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7364
7405
  updateInputfield(selectedValues);
7365
7406
  };
7366
7407
 
7367
- var onMonthSelect = function onMonthSelect(event, month) {
7368
- onDateSelect(event, {
7369
- year: getViewDate().getFullYear(),
7370
- month: month,
7371
- day: 1,
7372
- selectable: true
7408
+ var decrementDecade = function decrementDecade() {
7409
+ setCurrentYear(function (prevState) {
7410
+ return prevState - 10;
7411
+ });
7412
+ };
7413
+
7414
+ var incrementDecade = function incrementDecade() {
7415
+ setCurrentYear(function (prevState) {
7416
+ return prevState + 10;
7373
7417
  });
7418
+ };
7419
+
7420
+ var switchToMonthView = function switchToMonthView(event) {
7421
+ setCurrentView('month');
7374
7422
  event.preventDefault();
7375
7423
  };
7376
7424
 
7425
+ var switchToYearView = function switchToYearView(event) {
7426
+ setCurrentView('year');
7427
+ event.preventDefault();
7428
+ };
7429
+
7430
+ var onMonthSelect = function onMonthSelect(event, month) {
7431
+ if (props.view === 'month') {
7432
+ onDateSelect(event, {
7433
+ year: currentYear,
7434
+ month: month,
7435
+ day: 1,
7436
+ selectable: true
7437
+ });
7438
+ event.preventDefault();
7439
+ } else {
7440
+ setCurrentMonth(month);
7441
+ createMonthsMeta(month, currentYear);
7442
+ var currentDate = new Date(getCurrentDateTime().getTime());
7443
+ currentDate.setMonth(month);
7444
+ currentDate.setYear(currentYear);
7445
+ setViewDateState(currentDate);
7446
+ setCurrentView('date');
7447
+ props.onMonthChange && props.onMonthChange({
7448
+ month: month + 1,
7449
+ year: currentYear
7450
+ });
7451
+ }
7452
+ };
7453
+
7454
+ var onYearSelect = function onYearSelect(event, year) {
7455
+ if (props.view === 'year') {
7456
+ onDateSelect(event, {
7457
+ year: year,
7458
+ month: 0,
7459
+ day: 1,
7460
+ selectable: true
7461
+ });
7462
+ } else {
7463
+ setCurrentYear(year);
7464
+ setCurrentView('month');
7465
+ props.onMonthChange && props.onMonthChange({
7466
+ month: currentMonth + 1,
7467
+ year: year
7468
+ });
7469
+ }
7470
+ };
7471
+
7377
7472
  var updateModel = function updateModel(event, value) {
7378
7473
  if (props.onChange) {
7379
7474
  var newValue = value && value instanceof Date ? new Date(value.getTime()) : value;
@@ -7457,11 +7552,28 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7457
7552
  props.onHide && props.onHide();
7458
7553
  };
7459
7554
 
7555
+ var appendDisabled = function appendDisabled() {
7556
+ return props.appendTo === 'self' || props.inline;
7557
+ };
7558
+
7460
7559
  var alignOverlay = function alignOverlay() {
7461
7560
  if (props.touchUI) {
7462
7561
  enableModality();
7463
- } else {
7464
- DomHandler.alignOverlay(overlayRef.current, inputRef.current.parentElement, props.appendTo || PrimeReact.appendTo);
7562
+ } else if (overlayRef && overlayRef.current && inputRef && inputRef.current) {
7563
+ DomHandler.alignOverlay(overlayRef.current, inputRef.current, props.appendTo || PrimeReact.appendTo);
7564
+
7565
+ if (appendDisabled()) {
7566
+ DomHandler.relativePosition(overlayRef.current, inputRef.current);
7567
+ } else {
7568
+ if (currentView === 'date') {
7569
+ overlayRef.current.style.width = DomHandler.getOuterWidth(overlayRef.current) + 'px';
7570
+ overlayRef.current.style.minWidth = DomHandler.getOuterWidth(inputRef.current) + 'px';
7571
+ } else {
7572
+ overlayRef.current.style.width = DomHandler.getOuterWidth(inputRef.current) + 'px';
7573
+ }
7574
+
7575
+ DomHandler.absolutePosition(overlayRef.current, inputRef.current);
7576
+ }
7465
7577
  }
7466
7578
  };
7467
7579
 
@@ -7836,9 +7948,30 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
7836
7948
  }
7837
7949
  };
7838
7950
 
7951
+ var isComparable = function isComparable() {
7952
+ return props.value != null && typeof props.value !== 'string';
7953
+ };
7954
+
7839
7955
  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;
7956
+ if (isComparable()) {
7957
+ var value = isRangeSelection() ? props.value[0] : props.value;
7958
+ return !isMultipleSelection() ? value.getMonth() === month && value.getFullYear() === currentYear : false;
7959
+ }
7960
+
7961
+ return false;
7962
+ };
7963
+
7964
+ var isYearSelected = function isYearSelected(year) {
7965
+ if (isComparable()) {
7966
+ var value = isRangeSelection() ? props.value[0] : props.value;
7967
+ return !isMultipleSelection() && isComparable() ? value.getFullYear() === year : false;
7968
+ }
7969
+
7970
+ return false;
7971
+ };
7972
+
7973
+ var switchViewButtonDisabled = function switchViewButtonDisabled() {
7974
+ return props.numberOfMonths > 1 || props.disabled;
7842
7975
  };
7843
7976
 
7844
7977
  var isDateEquals = function isDateEquals(value, dateMeta) {
@@ -8398,9 +8531,20 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8398
8531
  var viewDate = getViewDate(props.viewDate);
8399
8532
  validateDate(viewDate);
8400
8533
  setViewDateState(viewDate);
8534
+ setCurrentMonth(viewDate.getMonth());
8535
+ setCurrentYear(viewDate.getFullYear());
8536
+ setCurrentView(props.view);
8401
8537
 
8402
8538
  if (props.inline) {
8403
- initFocusableCell();
8539
+ overlayRef && overlayRef.current.setAttribute(attributeSelector, '');
8540
+
8541
+ if (!props.disabled) {
8542
+ initFocusableCell();
8543
+
8544
+ if (props.numberOfMonths === 1) {
8545
+ overlayRef.current.style.width = DomHandler.getOuterWidth(overlayRef.current) + 'px';
8546
+ }
8547
+ }
8404
8548
  } else if (props.mask) {
8405
8549
  mask(inputRef.current, {
8406
8550
  mask: props.mask,
@@ -8438,7 +8582,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8438
8582
  }
8439
8583
  }, [props.onViewDateChange, props.value]);
8440
8584
  useUpdateEffect(function () {
8441
- if (previousValue !== props.value && (!viewStateChanged.current || !visible)) {
8585
+ if (previousValue !== props.value && (!viewStateChanged || !visible)) {
8442
8586
  updateInputfield(props.value);
8443
8587
  }
8444
8588
  }, [props.value, visible]);
@@ -8479,7 +8623,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8479
8623
  };
8480
8624
  return /*#__PURE__*/React.createElement("button", _extends({
8481
8625
  type: "button",
8482
- className: "p-datepicker-prev p-link"
8626
+ className: "p-datepicker-prev"
8483
8627
  }, navigatorProps), /*#__PURE__*/React.createElement("span", {
8484
8628
  className: "p-datepicker-prev-icon pi pi-chevron-left"
8485
8629
  }), /*#__PURE__*/React.createElement(Ripple, null));
@@ -8498,13 +8642,13 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8498
8642
  };
8499
8643
  return /*#__PURE__*/React.createElement("button", _extends({
8500
8644
  type: "button",
8501
- className: "p-datepicker-next p-link"
8645
+ className: "p-datepicker-next"
8502
8646
  }, navigatorProps), /*#__PURE__*/React.createElement("span", {
8503
8647
  className: "p-datepicker-next-icon pi pi-chevron-right"
8504
8648
  }), /*#__PURE__*/React.createElement(Ripple, null));
8505
8649
  };
8506
8650
 
8507
- var createTitleMonthElement = function createTitleMonthElement(month) {
8651
+ var createTitleMonthElement = function createTitleMonthElement() {
8508
8652
  var monthNames = localeOption('monthNames', props.locale);
8509
8653
 
8510
8654
  if (props.monthNavigator && props.view !== 'month') {
@@ -8552,25 +8696,28 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8552
8696
  return _content;
8553
8697
  }
8554
8698
 
8555
- return /*#__PURE__*/React.createElement("span", {
8556
- className: "p-datepicker-month"
8557
- }, monthNames[month]);
8699
+ return currentView === 'date' && /*#__PURE__*/React.createElement("button", {
8700
+ className: "p-datepicker-month p-link",
8701
+ onClick: switchToMonthView,
8702
+ disabled: switchViewButtonDisabled()
8703
+ }, monthNames[currentMonth]);
8558
8704
  };
8559
8705
 
8560
- var createTitleYearElement = function createTitleYearElement(year) {
8706
+ var createTitleYearElement = function createTitleYearElement() {
8561
8707
  if (props.yearNavigator) {
8562
- var yearOptions = [];
8708
+ var _yearOptions2 = [];
8563
8709
  var years = props.yearRange.split(':');
8564
8710
  var yearStart = parseInt(years[0], 10);
8565
8711
  var yearEnd = parseInt(years[1], 10);
8566
8712
 
8567
8713
  for (var i = yearStart; i <= yearEnd; i++) {
8568
- yearOptions.push(i);
8714
+ _yearOptions2.push(i);
8569
8715
  }
8570
8716
 
8571
8717
  var viewDate = getViewDate();
8572
8718
  var viewYear = viewDate.getFullYear();
8573
- var displayedYearNames = yearOptions.filter(function (year) {
8719
+
8720
+ var displayedYearNames = _yearOptions2.filter(function (year) {
8574
8721
  return !(props.minDate && props.minDate.getFullYear() > year) && !(props.maxDate && props.maxDate.getFullYear() < year);
8575
8722
  });
8576
8723
 
@@ -8610,17 +8757,32 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8610
8757
  return _content2;
8611
8758
  }
8612
8759
 
8613
- return /*#__PURE__*/React.createElement("span", {
8614
- className: "p-datepicker-year"
8615
- }, year);
8760
+ return currentView !== 'year' && /*#__PURE__*/React.createElement("button", {
8761
+ className: "p-datepicker-year p-link",
8762
+ onClick: switchToYearView,
8763
+ disabled: switchViewButtonDisabled()
8764
+ }, currentYear);
8765
+ };
8766
+
8767
+ var createTitleDecadeElement = function createTitleDecadeElement() {
8768
+ var years = yearPickerValues();
8769
+
8770
+ if (currentView === 'year') {
8771
+ return /*#__PURE__*/React.createElement("span", {
8772
+ className: "p-datepicker-decade"
8773
+ }, props.decadeTemplate ? props.decadeTemplate(years) : /*#__PURE__*/React.createElement("span", null, "".concat(yearPickerValues()[0], " - ").concat(yearPickerValues()[yearPickerValues().length - 1])));
8774
+ }
8775
+
8776
+ return null;
8616
8777
  };
8617
8778
 
8618
8779
  var createTitle = function createTitle(monthMetaData) {
8619
8780
  var month = createTitleMonthElement(monthMetaData.month);
8620
8781
  var year = createTitleYearElement(monthMetaData.year);
8782
+ var decade = createTitleDecadeElement();
8621
8783
  return /*#__PURE__*/React.createElement("div", {
8622
8784
  className: "p-datepicker-title"
8623
- }, month, year);
8785
+ }, month, year, decade);
8624
8786
  };
8625
8787
 
8626
8788
  var createDayNames = function createDayNames(weekDays) {
@@ -8698,7 +8860,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8698
8860
  var createDateViewGrid = function createDateViewGrid(monthMetaData, weekDays, groupIndex) {
8699
8861
  var dayNames = createDayNames(weekDays);
8700
8862
  var dates = createDates(monthMetaData, groupIndex);
8701
- return /*#__PURE__*/React.createElement("div", {
8863
+ return currentView === 'date' && /*#__PURE__*/React.createElement("div", {
8702
8864
  className: "p-datepicker-calendar-container"
8703
8865
  }, /*#__PURE__*/React.createElement("table", {
8704
8866
  className: "p-datepicker-calendar"
@@ -8734,39 +8896,33 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8734
8896
  return months;
8735
8897
  };
8736
8898
 
8737
- var createMonthViewMonth = function createMonthViewMonth(index) {
8738
- var className = classNames('p-monthpicker-month', {
8739
- 'p-highlight': isMonthSelected(index)
8740
- });
8899
+ var monthPickerValues = function monthPickerValues() {
8900
+ var monthPickerValues = [];
8741
8901
  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));
8902
+
8903
+ for (var i = 0; i <= 11; i++) {
8904
+ monthPickerValues.push(monthNamesShort[i]);
8905
+ }
8906
+
8907
+ return monthPickerValues;
8753
8908
  };
8754
8909
 
8755
- var createMonthViewMonths = function createMonthViewMonths() {
8756
- var months = [];
8910
+ var yearPickerValues = function yearPickerValues() {
8911
+ var yearPickerValues = [];
8912
+ var base = currentYear - currentYear % 10;
8757
8913
 
8758
- for (var i = 0; i <= 11; i++) {
8759
- months.push(createMonthViewMonth(i));
8914
+ for (var i = 0; i < 10; i++) {
8915
+ yearPickerValues.push(base + i);
8760
8916
  }
8761
8917
 
8762
- return months;
8918
+ return yearPickerValues;
8763
8919
  };
8764
8920
 
8765
- var createMonthView = function createMonthView() {
8921
+ var createMonthYearView = function createMonthYearView() {
8766
8922
  var backwardNavigator = createBackwardNavigator(true);
8767
8923
  var forwardNavigator = createForwardNavigator(true);
8768
8924
  var yearElement = createTitleYearElement(getViewDate().getFullYear());
8769
- var months = createMonthViewMonths();
8925
+ var decade = createTitleDecadeElement();
8770
8926
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
8771
8927
  className: "p-datepicker-group-container"
8772
8928
  }, /*#__PURE__*/React.createElement("div", {
@@ -8775,17 +8931,15 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8775
8931
  className: "p-datepicker-header"
8776
8932
  }, backwardNavigator, /*#__PURE__*/React.createElement("div", {
8777
8933
  className: "p-datepicker-title"
8778
- }, yearElement), forwardNavigator))), /*#__PURE__*/React.createElement("div", {
8779
- className: "p-monthpicker"
8780
- }, months));
8934
+ }, yearElement, decade), forwardNavigator))));
8781
8935
  };
8782
8936
 
8783
8937
  var createDatePicker = function createDatePicker() {
8784
8938
  if (!props.timeOnly) {
8785
8939
  if (props.view === 'date') {
8786
8940
  return createDateView();
8787
- } else if (props.view === 'month') {
8788
- return createMonthView();
8941
+ } else {
8942
+ return createMonthYearView();
8789
8943
  }
8790
8944
  }
8791
8945
 
@@ -8977,7 +9131,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8977
9131
  };
8978
9132
 
8979
9133
  var createTimePicker = function createTimePicker() {
8980
- if (props.showTime || props.timeOnly) {
9134
+ if ((props.showTime || props.timeOnly) && currentView === 'date') {
8981
9135
  return /*#__PURE__*/React.createElement("div", {
8982
9136
  className: "p-timepicker"
8983
9137
  }, createHourPicker(), createSeparator(':'), createMinutePicker(), props.showSeconds && createSeparator(':'), createSecondPicker(), props.showMillisec && createSeparator('.'), createMiliSecondPicker(), props.hourFormat === '12' && createSeparator(':'), createAmPmPicker());
@@ -9086,6 +9240,46 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9086
9240
  return null;
9087
9241
  };
9088
9242
 
9243
+ var createMonthPicker = function createMonthPicker() {
9244
+ if (currentView === 'month') {
9245
+ return /*#__PURE__*/React.createElement("div", {
9246
+ className: "p-monthpicker"
9247
+ }, monthPickerValues().map(function (m, i) {
9248
+ return /*#__PURE__*/React.createElement("span", {
9249
+ onClick: function onClick(event) {
9250
+ return onMonthSelect(event, i);
9251
+ },
9252
+ key: "month".concat(i + 1),
9253
+ className: classNames('p-monthpicker-month', {
9254
+ 'p-highlight': isMonthSelected(i)
9255
+ })
9256
+ }, m);
9257
+ }));
9258
+ }
9259
+
9260
+ return null;
9261
+ };
9262
+
9263
+ var createYearPicker = function createYearPicker() {
9264
+ if (currentView === 'year') {
9265
+ return /*#__PURE__*/React.createElement("div", {
9266
+ className: "p-yearpicker"
9267
+ }, yearPickerValues().map(function (y, i) {
9268
+ return /*#__PURE__*/React.createElement("span", {
9269
+ onClick: function onClick(event) {
9270
+ return onYearSelect(event, y);
9271
+ },
9272
+ key: "year".concat(i + 1),
9273
+ className: classNames('p-yearpicker-year', {
9274
+ 'p-highlight': isYearSelected(y)
9275
+ })
9276
+ }, y);
9277
+ }));
9278
+ }
9279
+
9280
+ return null;
9281
+ };
9282
+
9089
9283
  var otherProps = ObjectUtils.findDiffKeys(props, Calendar.defaultProps);
9090
9284
  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
9285
  var panelClassName = classNames('p-datepicker p-component', props.panelClassName, {
@@ -9093,7 +9287,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9093
9287
  'p-disabled': props.disabled,
9094
9288
  'p-datepicker-timeonly': props.timeOnly,
9095
9289
  'p-datepicker-multiple-month': props.numberOfMonths > 1,
9096
- 'p-datepicker-monthpicker': props.view === 'month',
9290
+ 'p-datepicker-monthpicker': currentView === 'month',
9097
9291
  'p-datepicker-touch-ui': props.touchUI
9098
9292
  });
9099
9293
  var content = createContent();
@@ -9101,6 +9295,8 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9101
9295
  var timePicker = createTimePicker();
9102
9296
  var buttonBar = createButtonBar();
9103
9297
  var footer = createFooter();
9298
+ var monthPicker = createMonthPicker();
9299
+ var yearPicker = createYearPicker();
9104
9300
  return /*#__PURE__*/React.createElement("span", _extends({
9105
9301
  ref: elementRef,
9106
9302
  id: props.id,
@@ -9120,7 +9316,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9120
9316
  onExit: onOverlayExit,
9121
9317
  onExited: onOverlayExited,
9122
9318
  transitionOptions: props.transitionOptions
9123
- }, datePicker, timePicker, buttonBar, footer));
9319
+ }, datePicker, timePicker, buttonBar, footer, monthPicker, yearPicker));
9124
9320
  }));
9125
9321
  Calendar.displayName = 'Calendar';
9126
9322
  Calendar.defaultProps = {
@@ -9189,6 +9385,7 @@ Calendar.defaultProps = {
9189
9385
  tooltipOptions: null,
9190
9386
  ariaLabelledBy: null,
9191
9387
  dateTemplate: null,
9388
+ decadeTemplate: null,
9192
9389
  headerTemplate: null,
9193
9390
  footerTemplate: null,
9194
9391
  monthNavigatorTemplate: null,
@@ -9204,7 +9401,8 @@ Calendar.defaultProps = {
9204
9401
  onTodayButtonClick: null,
9205
9402
  onClearButtonClick: null,
9206
9403
  onShow: null,
9207
- onHide: null
9404
+ onHide: null,
9405
+ onMonthChange: null
9208
9406
  };
9209
9407
 
9210
9408
  var Captcha = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -10683,13 +10881,6 @@ var Checkbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
10683
10881
  setFocusedState(false);
10684
10882
  };
10685
10883
 
10686
- var onKeyDown = function onKeyDown(event) {
10687
- if (event.key === 'Enter') {
10688
- onClick(event);
10689
- event.preventDefault();
10690
- }
10691
- };
10692
-
10693
10884
  var isChecked = function isChecked() {
10694
10885
  return props.checked === props.trueValue;
10695
10886
  };
@@ -10737,17 +10928,15 @@ var Checkbox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
10737
10928
  name: props.name,
10738
10929
  tabIndex: props.tabIndex,
10739
10930
  defaultChecked: checked,
10740
- "aria-labelledby": props.ariaLabelledBy,
10741
- onKeyDown: onKeyDown,
10931
+ "aria-labelledby": props['aria-labelledby'],
10932
+ "aria-label": props['aria-label'],
10742
10933
  onFocus: onFocus,
10743
10934
  onBlur: onBlur,
10744
10935
  disabled: props.disabled,
10745
10936
  readOnly: props.readOnly,
10746
10937
  required: props.required
10747
10938
  })), /*#__PURE__*/React.createElement("div", {
10748
- className: boxClass,
10749
- role: "checkbox",
10750
- "aria-checked": checked
10939
+ className: boxClass
10751
10940
  }, icon)), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
10752
10941
  target: elementRef,
10753
10942
  content: props.tooltip
@@ -10773,7 +10962,8 @@ Checkbox.defaultProps = {
10773
10962
  icon: 'pi pi-check',
10774
10963
  tooltip: null,
10775
10964
  tooltipOptions: null,
10776
- ariaLabelledBy: null,
10965
+ 'aria-label': null,
10966
+ 'aria-labelledby': null,
10777
10967
  onChange: null,
10778
10968
  onMouseDown: null,
10779
10969
  onContextMenu: null
@@ -12583,7 +12773,7 @@ var ConfirmDialog = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
12583
12773
  };
12584
12774
 
12585
12775
  React.useEffect(function () {
12586
- props.visible ? show() : hide();
12776
+ props.visible ? show() : hide(); // eslint-disable-next-line react-hooks/exhaustive-deps
12587
12777
  }, [props.visible]);
12588
12778
  React.useEffect(function () {
12589
12779
  if (!props.target && !props.message) {
@@ -12592,7 +12782,7 @@ var ConfirmDialog = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
12592
12782
 
12593
12783
  return function () {
12594
12784
  OverlayService.off('confirm-dialog', confirm);
12595
- };
12785
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
12596
12786
  }, [props.target]);
12597
12787
  useUpdateEffect(function () {
12598
12788
  reshowState && show();
@@ -12872,7 +13062,7 @@ var ConfirmPopup = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
12872
13062
  };
12873
13063
 
12874
13064
  React.useEffect(function () {
12875
- props.visible ? show() : hide();
13065
+ props.visible ? show() : hide(); // eslint-disable-next-line react-hooks/exhaustive-deps
12876
13066
  }, [props.visible]);
12877
13067
  React.useEffect(function () {
12878
13068
  if (!props.target && !props.message) {
@@ -12881,7 +13071,7 @@ var ConfirmPopup = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
12881
13071
 
12882
13072
  return function () {
12883
13073
  OverlayService.off('confirm-popup', confirm);
12884
- };
13074
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
12885
13075
  }, [props.target]);
12886
13076
  useUpdateEffect(function () {
12887
13077
  reshowState && show();
@@ -13094,6 +13284,7 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
13094
13284
  var createSubmenu = function createSubmenu(item) {
13095
13285
  if (item.items) {
13096
13286
  return /*#__PURE__*/React.createElement(ContextMenuSub, {
13287
+ menuProps: props.menuProps,
13097
13288
  model: item.items,
13098
13289
  resetMenu: item !== activeItemState,
13099
13290
  onLeafClick: props.onLeafClick
@@ -13114,8 +13305,10 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
13114
13305
  });
13115
13306
  var iconClassName = classNames('p-menuitem-icon', item.icon);
13116
13307
  var submenuIconClassName = 'p-submenu-icon pi pi-angle-right';
13117
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
13118
- className: iconClassName
13308
+ var icon = IconUtils.getJSXIcon(item.icon, {
13309
+ className: 'p-menuitem-icon'
13310
+ }, {
13311
+ props: props.menuProps
13119
13312
  });
13120
13313
  var label = item.label && /*#__PURE__*/React.createElement("span", {
13121
13314
  className: "p-menuitem-text"
@@ -13395,6 +13588,7 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
13395
13588
  onClick: onMenuClick,
13396
13589
  onMouseEnter: onMenuMouseEnter
13397
13590
  }), /*#__PURE__*/React.createElement(ContextMenuSub, {
13591
+ menuProps: props,
13398
13592
  model: props.model,
13399
13593
  root: true,
13400
13594
  resetMenu: resetMenuState,
@@ -14593,12 +14787,15 @@ var InputNumber = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
14593
14787
 
14594
14788
  var onInputBlur = function onInputBlur(event) {
14595
14789
  setFocusedState(false);
14596
- var currentValue = inputRef.current.value;
14597
14790
 
14598
- if (isValueChanged(currentValue, props.value)) {
14599
- var newValue = validateValue(parseValue(currentValue));
14600
- updateInputValue(newValue);
14601
- updateModel(event, newValue);
14791
+ if (inputRef.current) {
14792
+ var currentValue = inputRef.current.value;
14793
+
14794
+ if (isValueChanged(currentValue, props.value)) {
14795
+ var newValue = validateValue(parseValue(currentValue));
14796
+ updateInputValue(newValue);
14797
+ updateModel(event, newValue);
14798
+ }
14602
14799
  }
14603
14800
 
14604
14801
  props.onBlur && props.onBlur(event);
@@ -15031,10 +15228,6 @@ PrevPageLink.defaultProps = {
15031
15228
  template: null
15032
15229
  };
15033
15230
 
15034
- function _readOnlyError(name) {
15035
- throw new TypeError("\"" + name + "\" is read-only");
15036
- }
15037
-
15038
15231
  var DropdownItem = /*#__PURE__*/React.memo(function (props) {
15039
15232
  var onClick = function onClick(event) {
15040
15233
  if (props.onClick) {
@@ -15049,7 +15242,7 @@ var DropdownItem = /*#__PURE__*/React.memo(function (props) {
15049
15242
  'p-highlight': props.selected,
15050
15243
  'p-disabled': props.disabled,
15051
15244
  'p-dropdown-item-empty': !props.label || props.label.length === 0
15052
- }, props.option.className);
15245
+ }, props.option && props.option.className);
15053
15246
  var content = props.template ? ObjectUtils.getJSXElement(props.template, props.option) : props.label;
15054
15247
  return /*#__PURE__*/React.createElement("li", {
15055
15248
  className: className,
@@ -15563,7 +15756,7 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
15563
15756
 
15564
15757
  if (searchValue.current) {
15565
15758
  var searchIndex = getSelectedOptionIndex();
15566
- var newOption = props.optionGroupLabel ? searchOptionInGroup(searchIndex) : searchOption((_readOnlyError("searchIndex")));
15759
+ var newOption = props.optionGroupLabel ? searchOptionInGroup(searchIndex) : searchOption(searchIndex + 1);
15567
15760
 
15568
15761
  if (newOption) {
15569
15762
  selectItem({
@@ -17531,7 +17724,7 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
17531
17724
  var dataKeyValue = String(ObjectUtils.resolveFieldData(data, dataKey));
17532
17725
  editingRows = props.editingRows ? _objectSpread$l({}, props.editingRows) : {};
17533
17726
 
17534
- if (!editing) {
17727
+ if (!isEditing) {
17535
17728
  delete editingRows[dataKeyValue]; // if the key value was changed, stop editing for the new key value too
17536
17729
 
17537
17730
  var newDataKeyValue = String(ObjectUtils.resolveFieldData(newData, dataKey));
@@ -18960,7 +19153,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
18960
19153
  unbindOverlayListener = _useOverlayListener2[1];
18961
19154
 
18962
19155
  var hasFilter = function hasFilter() {
18963
- return filterStoreModel && (filterStoreModel.operator ? !isFilterBlank(filterStoreModel.constraints[0].value) : !isFilterBlank(filterStoreModel.value));
19156
+ return filterStoreModel && filterModel && (filterStoreModel.operator ? filterStoreModel.constraints[0].value !== filterModel.constraints[0].value : filterStoreModel.value !== filterModel.value);
18964
19157
  };
18965
19158
 
18966
19159
  var hasRowFilter = function hasRowFilter() {
@@ -21414,7 +21607,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21414
21607
  var filterMatchMode = filterMeta.matchMode === 'custom' ? "custom_".concat(field) : filterMeta.matchMode || FilterMatchMode.STARTS_WITH;
21415
21608
  var dataFieldValue = ObjectUtils.resolveFieldData(rowData, field);
21416
21609
  var filterConstraint = FilterService.filters[filterMatchMode];
21417
- return filterConstraint(dataFieldValue, filterValue, props.filterLocale, index);
21610
+ return ObjectUtils.isFunction(filterConstraint) && filterConstraint(dataFieldValue, filterValue, props.filterLocale, index);
21418
21611
  };
21419
21612
 
21420
21613
  var cloneFilters = function cloneFilters(filters) {
@@ -21734,7 +21927,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
21734
21927
 
21735
21928
  var groupRowSortField = getGroupRowSortField();
21736
21929
  var filters = d_filtersState;
21737
- var filtersStore = getFilters();
21930
+ var filtersStore = !props.onFilter && props.filters || getFilters();
21738
21931
  var processedData = options.items,
21739
21932
  columns = options.columns;
21740
21933
  return /*#__PURE__*/React.createElement(TableHeader, {
@@ -22637,9 +22830,11 @@ var Dock = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (prop
22637
22830
  'p-disabled': disabled
22638
22831
  });
22639
22832
  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);
22833
+ var icon = IconUtils.getJSXIcon(_icon, {
22834
+ className: 'p-dock-action-icon'
22835
+ }, {
22836
+ props: props
22837
+ });
22643
22838
  var content = /*#__PURE__*/React.createElement("a", {
22644
22839
  href: url || '#',
22645
22840
  role: "menuitem",
@@ -23100,6 +23295,10 @@ Fieldset.defaultProps = {
23100
23295
  onClick: null
23101
23296
  };
23102
23297
 
23298
+ function _readOnlyError(name) {
23299
+ throw new TypeError("\"" + name + "\" is read-only");
23300
+ }
23301
+
23103
23302
  var UIMessage = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
23104
23303
  var _props$message = props.message,
23105
23304
  severity = _props$message.severity,
@@ -24955,23 +25154,16 @@ var GMap = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (prop
24955
25154
  });
24956
25155
  };
24957
25156
 
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),
25157
+ var removeOverlays = function removeOverlays(overlays) {
25158
+ if (overlays) {
25159
+ var _iterator2 = _createForOfIteratorHelper$9(overlays),
24968
25160
  _step2;
24969
25161
 
24970
25162
  try {
24971
25163
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
24972
25164
  var overlay = _step2.value;
24973
- google.maps.event.clearInstanceListeners(overlay);
24974
25165
  overlay.setMap(null);
25166
+ unbindOverlayEvents(overlay);
24975
25167
  }
24976
25168
  } catch (err) {
24977
25169
  _iterator2.e(err);
@@ -24979,9 +25171,31 @@ var GMap = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (prop
24979
25171
  _iterator2.f();
24980
25172
  }
24981
25173
  }
25174
+ };
25175
+
25176
+ var unbindOverlayEvents = function unbindOverlayEvents(overlay) {
25177
+ google.maps.event.clearListeners(overlay, 'click');
25178
+
25179
+ if (overlay.getDraggable()) {
25180
+ google.maps.event.clearListeners(overlay, 'dragstart');
25181
+ google.maps.event.clearListeners(overlay, 'drag');
25182
+ google.maps.event.clearListeners(overlay, 'dragend');
25183
+ }
25184
+ };
25185
+
25186
+ var getMap = function getMap() {
25187
+ return map.current;
25188
+ };
24982
25189
 
25190
+ useMountEffect(function () {
25191
+ initMap();
25192
+ });
25193
+ useUpdateEffect(function () {
24983
25194
  initOverlays(props.overlays);
24984
- }, [props.overlays]);
25195
+ return function () {
25196
+ removeOverlays(prevOverlays.current);
25197
+ };
25198
+ });
24985
25199
  React.useImperativeHandle(ref, function () {
24986
25200
  return {
24987
25201
  getMap: getMap
@@ -25559,6 +25773,8 @@ var InputMask = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
25559
25773
  value: getValue()
25560
25774
  });
25561
25775
  }
25776
+
25777
+ updateModel(e);
25562
25778
  };
25563
25779
 
25564
25780
  var onBlur = function onBlur(e) {
@@ -26033,12 +26249,6 @@ var InputSwitch = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
26033
26249
  props.onBlur && props.onBlur(event);
26034
26250
  };
26035
26251
 
26036
- var onKeyDown = function onKeyDown(event) {
26037
- if (event.key === 'Enter') {
26038
- onClick(event);
26039
- }
26040
- };
26041
-
26042
26252
  React.useEffect(function () {
26043
26253
  ObjectUtils.combinedRefs(inputRef, props.inputRef);
26044
26254
  }, [inputRef, props.inputRef]);
@@ -26047,7 +26257,7 @@ var InputSwitch = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
26047
26257
  var className = classNames('p-inputswitch p-component', {
26048
26258
  'p-inputswitch-checked': checked,
26049
26259
  'p-disabled': props.disabled,
26050
- 'p-inputswitch-focus': focusedState
26260
+ 'p-focus': focusedState
26051
26261
  }, props.className);
26052
26262
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", _extends({
26053
26263
  ref: elementRef,
@@ -26069,11 +26279,12 @@ var InputSwitch = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
26069
26279
  onChange: toggle,
26070
26280
  onFocus: onFocus,
26071
26281
  onBlur: onBlur,
26072
- onKeyDown: onKeyDown,
26073
26282
  disabled: props.disabled,
26074
26283
  role: "switch",
26284
+ tabIndex: props.tabIndex,
26075
26285
  "aria-checked": checked,
26076
- "aria-labelledby": props.ariaLabelledBy
26286
+ "aria-labelledby": props['aria-labelledby'],
26287
+ "aria-label": props['aria-label']
26077
26288
  })), /*#__PURE__*/React.createElement("span", {
26078
26289
  className: "p-inputswitch-slider"
26079
26290
  })), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
@@ -26090,13 +26301,15 @@ InputSwitch.defaultProps = {
26090
26301
  className: null,
26091
26302
  inputId: null,
26092
26303
  name: null,
26304
+ tabIndex: null,
26093
26305
  checked: false,
26094
26306
  trueValue: true,
26095
26307
  falseValue: false,
26096
26308
  disabled: false,
26097
26309
  tooltip: null,
26098
26310
  tooltipOptions: null,
26099
- ariaLabelledBy: null,
26311
+ 'aria-label': null,
26312
+ 'aria-labelledby': null,
26100
26313
  onChange: null,
26101
26314
  onFocus: null,
26102
26315
  onBlur: null
@@ -27134,8 +27347,10 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
27134
27347
  'p-disabled': item.disabled
27135
27348
  });
27136
27349
  var iconClassName = classNames(item.icon, 'p-menuitem-icon');
27137
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
27138
- className: iconClassName
27350
+ var icon = IconUtils.getJSXIcon(item.icon, {
27351
+ className: 'p-menuitem-icon'
27352
+ }, {
27353
+ props: props
27139
27354
  });
27140
27355
  var label = item.label && /*#__PURE__*/React.createElement("span", {
27141
27356
  className: "p-menuitem-text"
@@ -27235,9 +27450,10 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
27235
27450
  var linkClassName = classNames('p-menuitem-link', {
27236
27451
  'p-disabled': category.disabled
27237
27452
  });
27238
- var iconClassName = classNames('p-menuitem-icon', category.icon);
27239
- var icon = category.icon && /*#__PURE__*/React.createElement("span", {
27240
- className: iconClassName
27453
+ var icon = IconUtils.getJSXIcon(category.icon, {
27454
+ className: 'p-menuitem-icon'
27455
+ }, {
27456
+ props: props
27241
27457
  });
27242
27458
  var label = category.label && /*#__PURE__*/React.createElement("span", {
27243
27459
  className: "p-menuitem-text"
@@ -27943,8 +28159,10 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (prop
27943
28159
  'p-disabled': item.disabled
27944
28160
  });
27945
28161
  var iconClassName = classNames('p-menuitem-icon', item.icon);
27946
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
27947
- className: iconClassName
28162
+ var icon = IconUtils.getJSXIcon(item.icon, {
28163
+ className: 'p-menuitem-icon'
28164
+ }, {
28165
+ props: props
27948
28166
  });
27949
28167
  var label = item.label && /*#__PURE__*/React.createElement("span", {
27950
28168
  className: "p-menuitem-text"
@@ -28219,6 +28437,7 @@ var MenubarSub = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
28219
28437
  var createSubmenu = function createSubmenu(item) {
28220
28438
  if (item.items) {
28221
28439
  return /*#__PURE__*/React.createElement(MenubarSub, {
28440
+ menuProps: props.menuProps,
28222
28441
  model: item.items,
28223
28442
  mobileActive: props.mobileActive,
28224
28443
  onLeafClick: onLeafClick,
@@ -28243,8 +28462,10 @@ var MenubarSub = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
28243
28462
  'pi-angle-down': props.root,
28244
28463
  'pi-angle-right': !props.root
28245
28464
  });
28246
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
28247
- className: iconClassName
28465
+ var icon = IconUtils.getJSXIcon(item.icon, {
28466
+ className: 'p-menuitem-icon'
28467
+ }, {
28468
+ props: props.menuProps
28248
28469
  });
28249
28470
  var label = item.label && /*#__PURE__*/React.createElement("span", {
28250
28471
  className: "p-menuitem-text"
@@ -28423,6 +28644,7 @@ var Menubar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
28423
28644
  var menuButton = createMenuButton();
28424
28645
  var submenu = /*#__PURE__*/React.createElement(MenubarSub, {
28425
28646
  ref: rootMenuRef,
28647
+ menuProps: props,
28426
28648
  model: props.model,
28427
28649
  root: true,
28428
28650
  mobileActive: mobileActiveState,
@@ -30955,6 +31177,7 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
30955
31177
  ref: submenuRef,
30956
31178
  className: className
30957
31179
  }, /*#__PURE__*/React.createElement(PanelMenuSub, {
31180
+ menuProps: props.menuProps,
30958
31181
  model: item.items,
30959
31182
  multiple: props.multiple
30960
31183
  })));
@@ -30975,8 +31198,10 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
30975
31198
  'pi-angle-right': !active,
30976
31199
  'pi-angle-down': active
30977
31200
  });
30978
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
30979
- className: iconClassName
31201
+ var icon = IconUtils.getJSXIcon(item.icon, {
31202
+ className: 'p-menuitem-icon'
31203
+ }, {
31204
+ props: props.menuProps
30980
31205
  });
30981
31206
  var label = item.label && /*#__PURE__*/React.createElement("span", {
30982
31207
  className: "p-menuitem-text"
@@ -31132,12 +31357,14 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
31132
31357
  ' pi-chevron-down': active
31133
31358
  });
31134
31359
  var iconClassName = classNames('p-menuitem-icon', item.icon);
31360
+ var icon = IconUtils.getJSXIcon(item.icon, {
31361
+ className: 'p-menuitem-icon'
31362
+ }, {
31363
+ props: props
31364
+ });
31135
31365
  var submenuIcon = item.items && /*#__PURE__*/React.createElement("span", {
31136
31366
  className: submenuIconClassName
31137
31367
  });
31138
- var itemIcon = item.icon && /*#__PURE__*/React.createElement("span", {
31139
- className: iconClassName
31140
- });
31141
31368
  var label = item.label && /*#__PURE__*/React.createElement("span", {
31142
31369
  className: "p-menuitem-text"
31143
31370
  }, item.label);
@@ -31155,7 +31382,7 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
31155
31382
  id: headerId,
31156
31383
  "aria-controls": contentId,
31157
31384
  "aria-disabled": item.disabled
31158
- }, submenuIcon, itemIcon, label);
31385
+ }, submenuIcon, icon, label);
31159
31386
 
31160
31387
  if (item.template) {
31161
31388
  var defaultContentOptions = {
@@ -31200,6 +31427,7 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
31200
31427
  }, /*#__PURE__*/React.createElement("div", {
31201
31428
  className: "p-panelmenu-content"
31202
31429
  }, /*#__PURE__*/React.createElement(PanelMenuSub, {
31430
+ menuProps: props,
31203
31431
  model: item.items,
31204
31432
  className: "p-panelmenu-root-submenu",
31205
31433
  multiple: props.multiple
@@ -33338,6 +33566,7 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33338
33566
  var createSubmenu = function createSubmenu(item) {
33339
33567
  if (item.items) {
33340
33568
  return /*#__PURE__*/React.createElement(SlideMenuSub, {
33569
+ menuProps: props.menuProps,
33341
33570
  model: item.items,
33342
33571
  index: props.index + 1,
33343
33572
  menuWidth: props.menuWidth,
@@ -33359,8 +33588,10 @@ var SlideMenuSub = /*#__PURE__*/React.memo(function (props) {
33359
33588
  }, item.className);
33360
33589
  var iconClassName = classNames('p-menuitem-icon', item.icon);
33361
33590
  var submenuIconClassName = 'p-submenu-icon pi pi-fw pi-angle-right';
33362
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
33363
- className: iconClassName
33591
+ var icon = IconUtils.getJSXIcon(item.icon, {
33592
+ className: 'p-menuitem-icon'
33593
+ }, {
33594
+ props: props.menuProps
33364
33595
  });
33365
33596
  var label = item.label && /*#__PURE__*/React.createElement("span", {
33366
33597
  className: "p-menuitem-text"
@@ -33584,6 +33815,7 @@ var SlideMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
33584
33815
  className: "p-slidemenu-content",
33585
33816
  ref: slideMenuContent
33586
33817
  }, /*#__PURE__*/React.createElement(SlideMenuSub, {
33818
+ menuProps: props,
33587
33819
  model: props.model,
33588
33820
  root: true,
33589
33821
  index: 0,
@@ -34115,11 +34347,11 @@ var SpeedDial = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
34115
34347
  'p-disabled': disabled
34116
34348
  });
34117
34349
  var iconClassName = classNames('p-speeddial-action-icon', _icon);
34118
-
34119
- var icon = _icon && /*#__PURE__*/React.createElement("span", {
34120
- className: iconClassName
34350
+ var icon = IconUtils.getJSXIcon(_icon, {
34351
+ className: 'p-speeddial-action-icon'
34352
+ }, {
34353
+ props: props
34121
34354
  });
34122
-
34123
34355
  var content = /*#__PURE__*/React.createElement("a", {
34124
34356
  href: url || '#',
34125
34357
  role: "menuitem",
@@ -34169,15 +34401,20 @@ var SpeedDial = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
34169
34401
  var createButton = function createButton() {
34170
34402
  var _classNames;
34171
34403
 
34404
+ var showIconVisible = !visible && !!props.showIcon || !props.hideIcon;
34405
+ var hideIconVisible = visible && !!props.hideIcon;
34172
34406
  var className = classNames('p-speeddial-button p-button-rounded', {
34173
34407
  'p-speeddial-rotate': props.rotateAnimation && !props.hideIcon
34174
34408
  }, props.buttonClassName);
34175
34409
  var iconClassName = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(props.showIcon), !visible && !!props.showIcon || !props.hideIcon), _defineProperty(_classNames, "".concat(props.hideIcon), visible && !!props.hideIcon), _classNames));
34410
+ var icon = IconUtils.getJSXIcon(showIconVisible ? props.showIcon : hideIconVisible ? props.hideIcon : null, undefined, {
34411
+ props: props
34412
+ });
34176
34413
  var content = /*#__PURE__*/React.createElement(Button, {
34177
34414
  type: "button",
34178
34415
  style: props.buttonStyle,
34179
34416
  className: className,
34180
- icon: iconClassName,
34417
+ icon: icon,
34181
34418
  onClick: onClick,
34182
34419
  disabled: props.disabled
34183
34420
  });
@@ -34288,9 +34525,10 @@ var SplitButtonItem = /*#__PURE__*/React.memo(function (props) {
34288
34525
  'p-disabled': disabled
34289
34526
  });
34290
34527
  var iconClassName = classNames('p-menuitem-icon', _icon);
34291
-
34292
- var icon = _icon && /*#__PURE__*/React.createElement("span", {
34293
- className: iconClassName
34528
+ var icon = IconUtils.getJSXIcon(_icon, {
34529
+ className: 'p-menuitem-icon'
34530
+ }, {
34531
+ props: props.splitButtonProps
34294
34532
  });
34295
34533
 
34296
34534
  var label = _label && /*#__PURE__*/React.createElement("span", {
@@ -34462,6 +34700,7 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
34462
34700
  if (props.model) {
34463
34701
  return props.model.map(function (menuitem, index) {
34464
34702
  return /*#__PURE__*/React.createElement(SplitButtonItem, {
34703
+ splitButtonProps: props,
34465
34704
  menuitem: menuitem,
34466
34705
  key: index,
34467
34706
  onItemClick: onItemClick
@@ -34865,6 +35104,12 @@ var Steps = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
34865
35104
  'p-highlight p-steps-current': active,
34866
35105
  'p-disabled': disabled
34867
35106
  });
35107
+ var iconClassName = classNames('p-menuitem-icon', item.icon);
35108
+ var icon = IconUtils.getJSXIcon(item.icon, {
35109
+ className: 'p-menuitem-icon'
35110
+ }, {
35111
+ props: props
35112
+ });
34868
35113
  var label = item.label && /*#__PURE__*/React.createElement("span", {
34869
35114
  className: "p-steps-title"
34870
35115
  }, item.label);
@@ -34879,7 +35124,7 @@ var Steps = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
34879
35124
  tabIndex: tabIndex
34880
35125
  }, /*#__PURE__*/React.createElement("span", {
34881
35126
  className: "p-steps-number"
34882
- }, index + 1), label);
35127
+ }, index + 1), icon, label);
34883
35128
 
34884
35129
  if (item.template) {
34885
35130
  var defaultContentOptions = {
@@ -34889,6 +35134,7 @@ var Steps = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (pro
34889
35134
  className: 'p-menuitem-link',
34890
35135
  labelClassName: 'p-steps-title',
34891
35136
  numberClassName: 'p-steps-number',
35137
+ iconClassName: iconClassName,
34892
35138
  element: content,
34893
35139
  props: props,
34894
35140
  tabIndex: tabIndex,
@@ -35222,9 +35468,10 @@ var TabMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
35222
35468
  'p-disabled': disabled
35223
35469
  }, _className);
35224
35470
  var iconClassName = classNames('p-menuitem-icon', _icon);
35225
-
35226
- var icon = _icon && /*#__PURE__*/React.createElement("span", {
35227
- className: iconClassName
35471
+ var icon = IconUtils.getJSXIcon(_icon, {
35472
+ className: 'p-menuitem-icon'
35473
+ }, {
35474
+ props: props
35228
35475
  });
35229
35476
 
35230
35477
  var label = _label && /*#__PURE__*/React.createElement("span", {
@@ -36066,6 +36313,7 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
36066
36313
  var createSubmenu = function createSubmenu(item) {
36067
36314
  if (item.items) {
36068
36315
  return /*#__PURE__*/React.createElement(TieredMenuSub, {
36316
+ menuProps: props.menuProps,
36069
36317
  model: item.items,
36070
36318
  onLeafClick: onLeafClick,
36071
36319
  popup: props.popup,
@@ -36097,9 +36345,10 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
36097
36345
  });
36098
36346
  var iconClassName = classNames('p-menuitem-icon', _icon);
36099
36347
  var submenuIconClassName = 'p-submenu-icon pi pi-angle-right';
36100
-
36101
- var icon = _icon && /*#__PURE__*/React.createElement("span", {
36102
- className: iconClassName
36348
+ var icon = IconUtils.getJSXIcon(_icon, {
36349
+ className: 'p-menuitem-icon'
36350
+ }, {
36351
+ props: props.menuProps
36103
36352
  });
36104
36353
 
36105
36354
  var label = _label && /*#__PURE__*/React.createElement("span", {
@@ -36284,6 +36533,7 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
36284
36533
  }, otherProps, {
36285
36534
  onClick: onPanelClick
36286
36535
  }), /*#__PURE__*/React.createElement(TieredMenuSub, {
36536
+ menuProps: props,
36287
36537
  model: props.model,
36288
36538
  root: true,
36289
36539
  popup: props.popup
@@ -38374,7 +38624,6 @@ var TreeSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
38374
38624
  updateTreeState();
38375
38625
  }
38376
38626
 
38377
- scrollInView();
38378
38627
  selfChange.current = false;
38379
38628
  }
38380
38629
  }, [props.value]);