primereact 10.3.1 → 10.3.3

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 (578) hide show
  1. package/accordion/accordion.cjs.js +14 -13
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.esm.js +7 -6
  4. package/accordion/accordion.esm.min.js +1 -1
  5. package/accordion/accordion.js +14 -13
  6. package/accordion/accordion.min.js +1 -1
  7. package/api/api.cjs.js +20 -0
  8. package/api/api.cjs.min.js +1 -1
  9. package/api/api.d.ts +6 -2
  10. package/api/api.esm.js +20 -0
  11. package/api/api.esm.min.js +1 -1
  12. package/api/api.js +20 -0
  13. package/api/api.min.js +1 -1
  14. package/autocomplete/autocomplete.cjs.js +21 -19
  15. package/autocomplete/autocomplete.cjs.min.js +1 -1
  16. package/autocomplete/autocomplete.esm.js +4 -2
  17. package/autocomplete/autocomplete.esm.min.js +1 -1
  18. package/autocomplete/autocomplete.js +21 -19
  19. package/autocomplete/autocomplete.min.js +1 -1
  20. package/avatar/avatar.cjs.js +6 -4
  21. package/avatar/avatar.cjs.min.js +1 -1
  22. package/avatar/avatar.esm.js +3 -1
  23. package/avatar/avatar.esm.min.js +1 -1
  24. package/avatar/avatar.js +7 -6
  25. package/avatar/avatar.min.js +1 -1
  26. package/avatargroup/avatargroup.cjs.js +3 -1
  27. package/avatargroup/avatargroup.cjs.min.js +1 -1
  28. package/avatargroup/avatargroup.esm.js +3 -1
  29. package/avatargroup/avatargroup.esm.min.js +1 -1
  30. package/avatargroup/avatargroup.js +4 -3
  31. package/avatargroup/avatargroup.min.js +1 -1
  32. package/badge/badge.cjs.js +3 -1
  33. package/badge/badge.cjs.min.js +1 -1
  34. package/badge/badge.esm.js +3 -1
  35. package/badge/badge.esm.min.js +1 -1
  36. package/badge/badge.js +4 -3
  37. package/badge/badge.min.js +1 -1
  38. package/blockui/blockui.cjs.js +3 -2
  39. package/blockui/blockui.cjs.min.js +1 -1
  40. package/blockui/blockui.esm.js +3 -2
  41. package/blockui/blockui.esm.min.js +1 -1
  42. package/blockui/blockui.js +3 -2
  43. package/blockui/blockui.min.js +1 -1
  44. package/breadcrumb/breadcrumb.cjs.js +12 -11
  45. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  46. package/breadcrumb/breadcrumb.esm.js +3 -2
  47. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  48. package/breadcrumb/breadcrumb.js +12 -11
  49. package/breadcrumb/breadcrumb.min.js +1 -1
  50. package/button/button.cjs.js +9 -6
  51. package/button/button.cjs.min.js +1 -1
  52. package/button/button.esm.js +4 -1
  53. package/button/button.esm.min.js +1 -1
  54. package/button/button.js +10 -8
  55. package/button/button.min.js +1 -1
  56. package/calendar/calendar.cjs.js +571 -211
  57. package/calendar/calendar.cjs.min.js +1 -1
  58. package/calendar/calendar.d.ts +4 -0
  59. package/calendar/calendar.esm.js +506 -146
  60. package/calendar/calendar.esm.min.js +1 -1
  61. package/calendar/calendar.js +571 -211
  62. package/calendar/calendar.min.js +1 -1
  63. package/card/card.cjs.js +11 -9
  64. package/card/card.cjs.min.js +1 -1
  65. package/card/card.esm.js +4 -2
  66. package/card/card.esm.min.js +1 -1
  67. package/card/card.js +10 -9
  68. package/card/card.min.js +1 -1
  69. package/cascadeselect/cascadeselect.cjs.js +19 -17
  70. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  71. package/cascadeselect/cascadeselect.esm.js +5 -3
  72. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  73. package/cascadeselect/cascadeselect.js +19 -17
  74. package/cascadeselect/cascadeselect.min.js +1 -1
  75. package/chart/chart.cjs.js +4 -3
  76. package/chart/chart.cjs.min.js +1 -1
  77. package/chart/chart.esm.js +3 -2
  78. package/chart/chart.esm.min.js +1 -1
  79. package/chart/chart.js +5 -4
  80. package/chart/chart.min.js +1 -1
  81. package/checkbox/checkbox.cjs.js +6 -5
  82. package/checkbox/checkbox.cjs.min.js +1 -1
  83. package/checkbox/checkbox.esm.js +3 -2
  84. package/checkbox/checkbox.esm.min.js +1 -1
  85. package/checkbox/checkbox.js +6 -5
  86. package/checkbox/checkbox.min.js +1 -1
  87. package/chip/chip.cjs.js +8 -6
  88. package/chip/chip.cjs.min.js +1 -1
  89. package/chip/chip.esm.js +4 -2
  90. package/chip/chip.esm.min.js +1 -1
  91. package/chip/chip.js +9 -8
  92. package/chip/chip.min.js +1 -1
  93. package/chips/chips.cjs.js +8 -7
  94. package/chips/chips.cjs.min.js +1 -1
  95. package/chips/chips.esm.js +3 -2
  96. package/chips/chips.esm.min.js +1 -1
  97. package/chips/chips.js +8 -7
  98. package/chips/chips.min.js +1 -1
  99. package/colorpicker/colorpicker.cjs.js +9 -8
  100. package/colorpicker/colorpicker.cjs.min.js +1 -1
  101. package/colorpicker/colorpicker.esm.js +2 -1
  102. package/colorpicker/colorpicker.esm.min.js +1 -1
  103. package/colorpicker/colorpicker.js +9 -8
  104. package/colorpicker/colorpicker.min.js +1 -1
  105. package/column/column.d.ts +1 -1
  106. package/componentbase/componentbase.cjs.js +13 -42
  107. package/componentbase/componentbase.cjs.min.js +1 -1
  108. package/componentbase/componentbase.esm.js +14 -43
  109. package/componentbase/componentbase.esm.min.js +1 -1
  110. package/componentbase/componentbase.js +13 -42
  111. package/componentbase/componentbase.min.js +1 -1
  112. package/confirmdialog/confirmdialog.cjs.js +13 -6
  113. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  114. package/confirmdialog/confirmdialog.esm.js +11 -4
  115. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  116. package/confirmdialog/confirmdialog.js +13 -6
  117. package/confirmdialog/confirmdialog.min.js +1 -1
  118. package/confirmpopup/confirmpopup.cjs.js +10 -9
  119. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  120. package/confirmpopup/confirmpopup.esm.js +4 -3
  121. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  122. package/confirmpopup/confirmpopup.js +10 -9
  123. package/confirmpopup/confirmpopup.min.js +1 -1
  124. package/contextmenu/contextmenu.cjs.js +17 -15
  125. package/contextmenu/contextmenu.cjs.min.js +1 -1
  126. package/contextmenu/contextmenu.esm.js +8 -6
  127. package/contextmenu/contextmenu.esm.min.js +1 -1
  128. package/contextmenu/contextmenu.js +17 -15
  129. package/contextmenu/contextmenu.min.js +1 -1
  130. package/core/core.js +568 -212
  131. package/core/core.min.js +16 -16
  132. package/datascroller/datascroller.cjs.js +8 -7
  133. package/datascroller/datascroller.cjs.min.js +1 -1
  134. package/datascroller/datascroller.esm.js +3 -2
  135. package/datascroller/datascroller.esm.min.js +1 -1
  136. package/datascroller/datascroller.js +8 -7
  137. package/datascroller/datascroller.min.js +1 -1
  138. package/datatable/datatable.cjs.js +138 -122
  139. package/datatable/datatable.cjs.min.js +1 -1
  140. package/datatable/datatable.esm.js +44 -28
  141. package/datatable/datatable.esm.min.js +1 -1
  142. package/datatable/datatable.js +138 -122
  143. package/datatable/datatable.min.js +1 -1
  144. package/dataview/dataview.cjs.js +27 -25
  145. package/dataview/dataview.cjs.min.js +1 -1
  146. package/dataview/dataview.d.ts +6 -0
  147. package/dataview/dataview.esm.js +27 -25
  148. package/dataview/dataview.esm.min.js +1 -1
  149. package/dataview/dataview.js +27 -25
  150. package/dataview/dataview.min.js +1 -1
  151. package/deferredcontent/deferredcontent.cjs.js +3 -3
  152. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  153. package/deferredcontent/deferredcontent.esm.js +3 -3
  154. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  155. package/deferredcontent/deferredcontent.js +4 -3
  156. package/deferredcontent/deferredcontent.min.js +1 -1
  157. package/dialog/dialog.cjs.js +14 -13
  158. package/dialog/dialog.cjs.min.js +1 -1
  159. package/dialog/dialog.esm.js +4 -3
  160. package/dialog/dialog.esm.min.js +1 -1
  161. package/dialog/dialog.js +14 -13
  162. package/dialog/dialog.min.js +1 -1
  163. package/divider/divider.cjs.js +6 -4
  164. package/divider/divider.cjs.min.js +1 -1
  165. package/divider/divider.esm.js +4 -2
  166. package/divider/divider.esm.min.js +1 -1
  167. package/divider/divider.js +5 -4
  168. package/divider/divider.min.js +1 -1
  169. package/dock/dock.cjs.js +10 -9
  170. package/dock/dock.cjs.min.js +1 -1
  171. package/dock/dock.esm.js +3 -2
  172. package/dock/dock.esm.min.js +1 -1
  173. package/dock/dock.js +10 -9
  174. package/dock/dock.min.js +1 -1
  175. package/dropdown/dropdown.cjs.js +41 -33
  176. package/dropdown/dropdown.cjs.min.js +1 -1
  177. package/dropdown/dropdown.esm.js +16 -8
  178. package/dropdown/dropdown.esm.min.js +1 -1
  179. package/dropdown/dropdown.js +41 -33
  180. package/dropdown/dropdown.min.js +1 -1
  181. package/editor/editor.cjs.js +8 -7
  182. package/editor/editor.cjs.min.js +1 -1
  183. package/editor/editor.esm.js +4 -3
  184. package/editor/editor.esm.min.js +1 -1
  185. package/editor/editor.js +8 -7
  186. package/editor/editor.min.js +1 -1
  187. package/fieldset/fieldset.cjs.js +9 -8
  188. package/fieldset/fieldset.cjs.min.js +1 -1
  189. package/fieldset/fieldset.esm.js +3 -2
  190. package/fieldset/fieldset.esm.min.js +1 -1
  191. package/fieldset/fieldset.js +9 -8
  192. package/fieldset/fieldset.min.js +1 -1
  193. package/fileupload/fileupload.cjs.js +25 -24
  194. package/fileupload/fileupload.cjs.min.js +1 -1
  195. package/fileupload/fileupload.esm.js +5 -4
  196. package/fileupload/fileupload.esm.min.js +1 -1
  197. package/fileupload/fileupload.js +26 -26
  198. package/fileupload/fileupload.min.js +1 -1
  199. package/galleria/galleria.cjs.js +12 -11
  200. package/galleria/galleria.cjs.min.js +1 -1
  201. package/galleria/galleria.esm.js +3 -2
  202. package/galleria/galleria.esm.min.js +1 -1
  203. package/galleria/galleria.js +13 -12
  204. package/galleria/galleria.min.js +1 -1
  205. package/hooks/hooks.cjs.js +43 -22
  206. package/hooks/hooks.cjs.min.js +1 -1
  207. package/hooks/hooks.d.ts +4 -0
  208. package/hooks/hooks.esm.js +45 -25
  209. package/hooks/hooks.esm.min.js +1 -1
  210. package/hooks/hooks.js +43 -22
  211. package/hooks/hooks.min.js +1 -1
  212. package/image/image.cjs.js +27 -44
  213. package/image/image.cjs.min.js +1 -1
  214. package/image/image.esm.js +8 -25
  215. package/image/image.esm.min.js +1 -1
  216. package/image/image.js +27 -44
  217. package/image/image.min.js +1 -1
  218. package/inplace/inplace.cjs.js +5 -4
  219. package/inplace/inplace.cjs.min.js +1 -1
  220. package/inplace/inplace.esm.js +3 -2
  221. package/inplace/inplace.esm.min.js +1 -1
  222. package/inplace/inplace.js +5 -4
  223. package/inplace/inplace.min.js +1 -1
  224. package/inputmask/inputmask.cjs.js +15 -6
  225. package/inputmask/inputmask.cjs.min.js +1 -1
  226. package/inputmask/inputmask.esm.js +15 -6
  227. package/inputmask/inputmask.esm.min.js +1 -1
  228. package/inputmask/inputmask.js +15 -6
  229. package/inputmask/inputmask.min.js +1 -1
  230. package/inputnumber/inputnumber.cjs.js +21 -7
  231. package/inputnumber/inputnumber.cjs.min.js +1 -1
  232. package/inputnumber/inputnumber.esm.js +17 -3
  233. package/inputnumber/inputnumber.esm.min.js +1 -1
  234. package/inputnumber/inputnumber.js +21 -7
  235. package/inputnumber/inputnumber.min.js +1 -1
  236. package/inputswitch/inputswitch.cjs.js +5 -4
  237. package/inputswitch/inputswitch.cjs.min.js +1 -1
  238. package/inputswitch/inputswitch.esm.js +3 -2
  239. package/inputswitch/inputswitch.esm.min.js +1 -1
  240. package/inputswitch/inputswitch.js +5 -4
  241. package/inputswitch/inputswitch.min.js +1 -1
  242. package/inputtext/inputtext.cjs.js +3 -1
  243. package/inputtext/inputtext.cjs.min.js +1 -1
  244. package/inputtext/inputtext.esm.js +3 -1
  245. package/inputtext/inputtext.esm.min.js +1 -1
  246. package/inputtext/inputtext.js +4 -3
  247. package/inputtext/inputtext.min.js +1 -1
  248. package/inputtextarea/inputtextarea.cjs.js +3 -1
  249. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  250. package/inputtextarea/inputtextarea.esm.js +3 -1
  251. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  252. package/inputtextarea/inputtextarea.js +4 -3
  253. package/inputtextarea/inputtextarea.min.js +1 -1
  254. package/knob/knob.cjs.js +7 -6
  255. package/knob/knob.cjs.min.js +1 -1
  256. package/knob/knob.esm.js +3 -2
  257. package/knob/knob.esm.min.js +1 -1
  258. package/knob/knob.js +8 -7
  259. package/knob/knob.min.js +1 -1
  260. package/listbox/listbox.cjs.js +17 -13
  261. package/listbox/listbox.cjs.min.js +1 -1
  262. package/listbox/listbox.esm.js +9 -5
  263. package/listbox/listbox.esm.min.js +1 -1
  264. package/listbox/listbox.js +17 -13
  265. package/listbox/listbox.min.js +1 -1
  266. package/megamenu/megamenu.cjs.js +27 -26
  267. package/megamenu/megamenu.cjs.min.js +1 -1
  268. package/megamenu/megamenu.esm.js +6 -5
  269. package/megamenu/megamenu.esm.min.js +1 -1
  270. package/megamenu/megamenu.js +27 -26
  271. package/megamenu/megamenu.min.js +1 -1
  272. package/mention/mention.cjs.js +133 -54
  273. package/mention/mention.cjs.min.js +1 -1
  274. package/mention/mention.d.ts +4 -0
  275. package/mention/mention.esm.js +128 -49
  276. package/mention/mention.esm.min.js +1 -1
  277. package/mention/mention.js +133 -54
  278. package/mention/mention.min.js +1 -1
  279. package/menu/menu.cjs.js +16 -16
  280. package/menu/menu.cjs.min.js +1 -1
  281. package/menu/menu.esm.js +8 -8
  282. package/menu/menu.esm.min.js +1 -1
  283. package/menu/menu.js +16 -16
  284. package/menu/menu.min.js +1 -1
  285. package/menubar/menubar.cjs.js +19 -17
  286. package/menubar/menubar.cjs.min.js +1 -1
  287. package/menubar/menubar.esm.js +8 -6
  288. package/menubar/menubar.esm.min.js +1 -1
  289. package/menubar/menubar.js +19 -17
  290. package/menubar/menubar.min.js +1 -1
  291. package/message/message.cjs.js +5 -3
  292. package/message/message.cjs.min.js +1 -1
  293. package/message/message.esm.js +3 -1
  294. package/message/message.esm.min.js +1 -1
  295. package/message/message.js +6 -5
  296. package/message/message.min.js +1 -1
  297. package/messages/messages.cjs.js +4 -3
  298. package/messages/messages.cjs.min.js +1 -1
  299. package/messages/messages.esm.js +2 -1
  300. package/messages/messages.esm.min.js +1 -1
  301. package/messages/messages.js +5 -4
  302. package/messages/messages.min.js +1 -1
  303. package/multiselect/multiselect.cjs.js +43 -38
  304. package/multiselect/multiselect.cjs.min.js +1 -1
  305. package/multiselect/multiselect.esm.js +9 -4
  306. package/multiselect/multiselect.esm.min.js +1 -1
  307. package/multiselect/multiselect.js +44 -39
  308. package/multiselect/multiselect.min.js +1 -1
  309. package/multistatecheckbox/multistatecheckbox.cjs.js +5 -4
  310. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  311. package/multistatecheckbox/multistatecheckbox.esm.js +3 -2
  312. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  313. package/multistatecheckbox/multistatecheckbox.js +5 -4
  314. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  315. package/orderlist/orderlist.cjs.js +20 -17
  316. package/orderlist/orderlist.cjs.min.js +1 -1
  317. package/orderlist/orderlist.d.ts +1 -1
  318. package/orderlist/orderlist.esm.js +5 -2
  319. package/orderlist/orderlist.esm.min.js +1 -1
  320. package/orderlist/orderlist.js +20 -17
  321. package/orderlist/orderlist.min.js +1 -1
  322. package/organizationchart/organizationchart.cjs.js +22 -19
  323. package/organizationchart/organizationchart.cjs.min.js +1 -1
  324. package/organizationchart/organizationchart.esm.js +5 -2
  325. package/organizationchart/organizationchart.esm.min.js +1 -1
  326. package/organizationchart/organizationchart.js +21 -19
  327. package/organizationchart/organizationchart.min.js +1 -1
  328. package/overlaypanel/overlaypanel.cjs.js +7 -6
  329. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  330. package/overlaypanel/overlaypanel.esm.js +4 -3
  331. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  332. package/overlaypanel/overlaypanel.js +7 -6
  333. package/overlaypanel/overlaypanel.min.js +1 -1
  334. package/package.json +1 -1
  335. package/paginator/paginator.cjs.js +291 -21
  336. package/paginator/paginator.cjs.min.js +1 -1
  337. package/paginator/paginator.esm.js +285 -15
  338. package/paginator/paginator.esm.min.js +1 -1
  339. package/paginator/paginator.js +291 -21
  340. package/paginator/paginator.min.js +1 -1
  341. package/panel/panel.cjs.js +11 -10
  342. package/panel/panel.cjs.min.js +1 -1
  343. package/panel/panel.esm.js +3 -2
  344. package/panel/panel.esm.min.js +1 -1
  345. package/panel/panel.js +11 -10
  346. package/panel/panel.min.js +1 -1
  347. package/panelmenu/panelmenu.cjs.js +38 -33
  348. package/panelmenu/panelmenu.cjs.min.js +1 -1
  349. package/panelmenu/panelmenu.esm.js +19 -14
  350. package/panelmenu/panelmenu.esm.min.js +1 -1
  351. package/panelmenu/panelmenu.js +38 -33
  352. package/panelmenu/panelmenu.min.js +1 -1
  353. package/passthrough/index.cjs.js +5 -3
  354. package/passthrough/index.cjs.min.js +1 -1
  355. package/passthrough/index.d.ts +1 -0
  356. package/passthrough/index.esm.js +5 -3
  357. package/passthrough/index.esm.min.js +1 -1
  358. package/passthrough/index.js +5 -3
  359. package/passthrough/index.min.js +1 -1
  360. package/passthrough/tailwind/index.cjs.js +245 -238
  361. package/passthrough/tailwind/index.cjs.min.js +1 -1
  362. package/passthrough/tailwind/index.esm.js +245 -238
  363. package/passthrough/tailwind/index.esm.min.js +1 -1
  364. package/passthrough/tailwind/index.js +245 -238
  365. package/passthrough/tailwind/index.min.js +1 -1
  366. package/password/password.cjs.js +11 -10
  367. package/password/password.cjs.min.js +1 -1
  368. package/password/password.esm.js +4 -3
  369. package/password/password.esm.min.js +1 -1
  370. package/password/password.js +11 -10
  371. package/password/password.min.js +1 -1
  372. package/picklist/picklist.cjs.js +36 -11
  373. package/picklist/picklist.cjs.min.js +1 -1
  374. package/picklist/picklist.d.ts +1 -1
  375. package/picklist/picklist.esm.js +27 -2
  376. package/picklist/picklist.esm.min.js +1 -1
  377. package/picklist/picklist.js +36 -11
  378. package/picklist/picklist.min.js +1 -1
  379. package/primereact.all.cjs.js +1281 -461
  380. package/primereact.all.cjs.min.js +1 -1
  381. package/primereact.all.esm.js +1280 -462
  382. package/primereact.all.esm.min.js +1 -1
  383. package/primereact.all.js +1281 -461
  384. package/primereact.all.min.js +1 -1
  385. package/progressbar/progressbar.cjs.js +8 -6
  386. package/progressbar/progressbar.cjs.min.js +1 -1
  387. package/progressbar/progressbar.esm.js +3 -1
  388. package/progressbar/progressbar.esm.min.js +1 -1
  389. package/progressbar/progressbar.js +9 -8
  390. package/progressbar/progressbar.min.js +1 -1
  391. package/progressspinner/progressspinner.cjs.js +5 -3
  392. package/progressspinner/progressspinner.cjs.min.js +1 -1
  393. package/progressspinner/progressspinner.esm.js +3 -1
  394. package/progressspinner/progressspinner.esm.min.js +1 -1
  395. package/progressspinner/progressspinner.js +6 -5
  396. package/progressspinner/progressspinner.min.js +1 -1
  397. package/radiobutton/radiobutton.cjs.js +6 -5
  398. package/radiobutton/radiobutton.cjs.min.js +1 -1
  399. package/radiobutton/radiobutton.esm.js +3 -2
  400. package/radiobutton/radiobutton.esm.min.js +1 -1
  401. package/radiobutton/radiobutton.js +6 -5
  402. package/radiobutton/radiobutton.min.js +1 -1
  403. package/rating/rating.cjs.js +9 -7
  404. package/rating/rating.cjs.min.js +1 -1
  405. package/rating/rating.esm.js +4 -2
  406. package/rating/rating.esm.min.js +1 -1
  407. package/rating/rating.js +9 -8
  408. package/rating/rating.min.js +1 -1
  409. package/ripple/ripple.cjs.js +2 -1
  410. package/ripple/ripple.cjs.min.js +1 -1
  411. package/ripple/ripple.esm.js +3 -2
  412. package/ripple/ripple.esm.min.js +1 -1
  413. package/ripple/ripple.js +2 -1
  414. package/ripple/ripple.min.js +1 -1
  415. package/row/row.cjs.js +4 -2
  416. package/row/row.cjs.min.js +1 -1
  417. package/row/row.esm.js +4 -2
  418. package/row/row.esm.min.js +1 -1
  419. package/row/row.js +4 -3
  420. package/row/row.min.js +1 -1
  421. package/scrollpanel/scrollpanel.cjs.js +7 -6
  422. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  423. package/scrollpanel/scrollpanel.esm.js +3 -2
  424. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  425. package/scrollpanel/scrollpanel.js +8 -7
  426. package/scrollpanel/scrollpanel.min.js +1 -1
  427. package/scrolltop/scrolltop.cjs.js +4 -3
  428. package/scrolltop/scrolltop.cjs.min.js +1 -1
  429. package/scrolltop/scrolltop.esm.js +3 -2
  430. package/scrolltop/scrolltop.esm.min.js +1 -1
  431. package/scrolltop/scrolltop.js +4 -3
  432. package/scrolltop/scrolltop.min.js +1 -1
  433. package/selectbutton/selectbutton.cjs.js +6 -3
  434. package/selectbutton/selectbutton.cjs.min.js +1 -1
  435. package/selectbutton/selectbutton.esm.js +4 -1
  436. package/selectbutton/selectbutton.esm.min.js +1 -1
  437. package/selectbutton/selectbutton.js +7 -5
  438. package/selectbutton/selectbutton.min.js +1 -1
  439. package/sidebar/sidebar.cjs.js +10 -9
  440. package/sidebar/sidebar.cjs.min.js +1 -1
  441. package/sidebar/sidebar.esm.js +4 -3
  442. package/sidebar/sidebar.esm.min.js +1 -1
  443. package/sidebar/sidebar.js +10 -9
  444. package/sidebar/sidebar.min.js +1 -1
  445. package/skeleton/skeleton.cjs.js +3 -1
  446. package/skeleton/skeleton.cjs.min.js +1 -1
  447. package/skeleton/skeleton.esm.js +3 -1
  448. package/skeleton/skeleton.esm.min.js +1 -1
  449. package/skeleton/skeleton.js +4 -3
  450. package/skeleton/skeleton.min.js +1 -1
  451. package/slidemenu/slidemenu.cjs.js +17 -15
  452. package/slidemenu/slidemenu.cjs.min.js +1 -1
  453. package/slidemenu/slidemenu.esm.js +5 -3
  454. package/slidemenu/slidemenu.esm.min.js +1 -1
  455. package/slidemenu/slidemenu.js +17 -15
  456. package/slidemenu/slidemenu.min.js +1 -1
  457. package/slider/slider.cjs.js +5 -4
  458. package/slider/slider.cjs.min.js +1 -1
  459. package/slider/slider.esm.js +3 -2
  460. package/slider/slider.esm.min.js +1 -1
  461. package/slider/slider.js +5 -4
  462. package/slider/slider.min.js +1 -1
  463. package/speeddial/speeddial.cjs.js +9 -8
  464. package/speeddial/speeddial.cjs.min.js +1 -1
  465. package/speeddial/speeddial.esm.js +4 -3
  466. package/speeddial/speeddial.esm.min.js +1 -1
  467. package/speeddial/speeddial.js +9 -8
  468. package/speeddial/speeddial.min.js +1 -1
  469. package/splitbutton/splitbutton.cjs.js +21 -18
  470. package/splitbutton/splitbutton.cjs.min.js +1 -1
  471. package/splitbutton/splitbutton.esm.js +11 -8
  472. package/splitbutton/splitbutton.esm.min.js +1 -1
  473. package/splitbutton/splitbutton.js +21 -18
  474. package/splitbutton/splitbutton.min.js +1 -1
  475. package/splitter/splitter.cjs.js +5 -4
  476. package/splitter/splitter.cjs.min.js +1 -1
  477. package/splitter/splitter.esm.js +3 -2
  478. package/splitter/splitter.esm.min.js +1 -1
  479. package/splitter/splitter.js +5 -4
  480. package/splitter/splitter.min.js +1 -1
  481. package/steps/steps.cjs.js +8 -7
  482. package/steps/steps.cjs.min.js +1 -1
  483. package/steps/steps.esm.js +3 -2
  484. package/steps/steps.esm.min.js +1 -1
  485. package/steps/steps.js +8 -7
  486. package/steps/steps.min.js +1 -1
  487. package/tabmenu/tabmenu.cjs.js +8 -7
  488. package/tabmenu/tabmenu.cjs.min.js +1 -1
  489. package/tabmenu/tabmenu.esm.js +3 -2
  490. package/tabmenu/tabmenu.esm.min.js +1 -1
  491. package/tabmenu/tabmenu.js +8 -7
  492. package/tabmenu/tabmenu.min.js +1 -1
  493. package/tabview/tabview.cjs.js +17 -15
  494. package/tabview/tabview.cjs.min.js +1 -1
  495. package/tabview/tabview.esm.js +4 -2
  496. package/tabview/tabview.esm.min.js +1 -1
  497. package/tabview/tabview.js +17 -15
  498. package/tabview/tabview.min.js +1 -1
  499. package/tag/tag.cjs.js +5 -3
  500. package/tag/tag.cjs.min.js +1 -1
  501. package/tag/tag.esm.js +3 -1
  502. package/tag/tag.esm.min.js +1 -1
  503. package/tag/tag.js +6 -5
  504. package/tag/tag.min.js +1 -1
  505. package/terminal/terminal.cjs.js +11 -9
  506. package/terminal/terminal.cjs.min.js +1 -1
  507. package/terminal/terminal.esm.js +3 -1
  508. package/terminal/terminal.esm.min.js +1 -1
  509. package/terminal/terminal.js +12 -11
  510. package/terminal/terminal.min.js +1 -1
  511. package/tieredmenu/tieredmenu.cjs.js +17 -15
  512. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  513. package/tieredmenu/tieredmenu.esm.js +9 -7
  514. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  515. package/tieredmenu/tieredmenu.js +17 -15
  516. package/tieredmenu/tieredmenu.min.js +1 -1
  517. package/timeline/timeline.cjs.js +10 -8
  518. package/timeline/timeline.cjs.min.js +1 -1
  519. package/timeline/timeline.esm.js +3 -1
  520. package/timeline/timeline.esm.min.js +1 -1
  521. package/timeline/timeline.js +10 -9
  522. package/timeline/timeline.min.js +1 -1
  523. package/toast/toast.cjs.js +32 -10
  524. package/toast/toast.cjs.min.js +1 -1
  525. package/toast/toast.esm.js +24 -2
  526. package/toast/toast.esm.min.js +1 -1
  527. package/toast/toast.js +32 -10
  528. package/toast/toast.min.js +1 -1
  529. package/togglebutton/togglebutton.cjs.js +4 -3
  530. package/togglebutton/togglebutton.cjs.min.js +1 -1
  531. package/togglebutton/togglebutton.esm.js +3 -2
  532. package/togglebutton/togglebutton.esm.min.js +1 -1
  533. package/togglebutton/togglebutton.js +4 -3
  534. package/togglebutton/togglebutton.min.js +1 -1
  535. package/toolbar/toolbar.cjs.js +7 -5
  536. package/toolbar/toolbar.cjs.min.js +1 -1
  537. package/toolbar/toolbar.esm.js +3 -1
  538. package/toolbar/toolbar.esm.min.js +1 -1
  539. package/toolbar/toolbar.js +7 -6
  540. package/toolbar/toolbar.min.js +1 -1
  541. package/tooltip/tooltip.cjs.js +4 -3
  542. package/tooltip/tooltip.cjs.min.js +1 -1
  543. package/tooltip/tooltip.esm.js +3 -2
  544. package/tooltip/tooltip.esm.min.js +1 -1
  545. package/tooltip/tooltip.js +4 -3
  546. package/tooltip/tooltip.min.js +1 -1
  547. package/tree/tree.cjs.js +39 -35
  548. package/tree/tree.cjs.min.js +1 -1
  549. package/tree/tree.esm.js +20 -16
  550. package/tree/tree.esm.min.js +1 -1
  551. package/tree/tree.js +40 -37
  552. package/tree/tree.min.js +1 -1
  553. package/treeselect/treeselect.cjs.js +26 -24
  554. package/treeselect/treeselect.cjs.min.js +1 -1
  555. package/treeselect/treeselect.esm.js +6 -4
  556. package/treeselect/treeselect.esm.min.js +1 -1
  557. package/treeselect/treeselect.js +26 -24
  558. package/treeselect/treeselect.min.js +1 -1
  559. package/treetable/treetable.cjs.js +277 -131
  560. package/treetable/treetable.cjs.min.js +1 -1
  561. package/treetable/treetable.esm.js +224 -78
  562. package/treetable/treetable.esm.min.js +1 -1
  563. package/treetable/treetable.js +277 -131
  564. package/treetable/treetable.min.js +1 -1
  565. package/tristatecheckbox/tristatecheckbox.cjs.js +6 -5
  566. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  567. package/tristatecheckbox/tristatecheckbox.esm.js +3 -2
  568. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  569. package/tristatecheckbox/tristatecheckbox.js +6 -5
  570. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  571. package/utils/utils.cjs.js +45 -5
  572. package/utils/utils.cjs.min.js +1 -1
  573. package/utils/utils.d.ts +2 -1
  574. package/utils/utils.esm.js +45 -6
  575. package/utils/utils.esm.min.js +1 -1
  576. package/utils/utils.js +45 -5
  577. package/utils/utils.min.js +1 -1
  578. package/web-types.json +17 -2
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import * as React from 'react';
3
- import PrimeReact, { PrimeReactContext, localeOptions, localeOption } from 'primereact/api';
3
+ import PrimeReact, { localeOption, PrimeReactContext, localeOptions } from 'primereact/api';
4
4
  import { Button } from 'primereact/button';
5
5
  import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
6
- import { usePrevious, useOverlayListener, useMountEffect, useUpdateEffect, useUnmountEffect } from 'primereact/hooks';
6
+ import { useMergeProps, usePrevious, useOverlayListener, useMountEffect, useUpdateEffect, useUnmountEffect } from 'primereact/hooks';
7
7
  import { CalendarIcon } from 'primereact/icons/calendar';
8
8
  import { ChevronDownIcon } from 'primereact/icons/chevrondown';
9
9
  import { ChevronLeftIcon } from 'primereact/icons/chevronleft';
@@ -12,7 +12,7 @@ import { ChevronUpIcon } from 'primereact/icons/chevronup';
12
12
  import { InputText } from 'primereact/inputtext';
13
13
  import { OverlayService } from 'primereact/overlayservice';
14
14
  import { Ripple } from 'primereact/ripple';
15
- import { classNames, mergeProps, UniqueComponentId, DomHandler, ObjectUtils, mask, ZIndexUtils, IconUtils } from 'primereact/utils';
15
+ import { classNames, UniqueComponentId, DomHandler, ObjectUtils, mask, ZIndexUtils, IconUtils } from 'primereact/utils';
16
16
  import { CSSTransition } from 'primereact/csstransition';
17
17
  import { Portal } from 'primereact/portal';
18
18
 
@@ -143,13 +143,14 @@ function _slicedToArray(arr, i) {
143
143
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
144
144
  }
145
145
 
146
- var styles = "\n@layer primereact {\n .p-calendar {\n position: relative;\n display: inline-flex;\n max-width: 100%;\n }\n \n .p-calendar .p-inputtext {\n flex: 1 1 auto;\n width: 1%;\n }\n \n .p-calendar-w-btn-right .p-inputtext {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n \n .p-calendar-w-btn-right .p-datepicker-trigger {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n \n .p-calendar-w-btn-left .p-inputtext {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n \n .p-calendar-w-btn-left .p-datepicker-trigger {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n \n /* Fluid */\n .p-fluid .p-calendar {\n display: flex;\n }\n \n .p-fluid .p-calendar .p-inputtext {\n width: 1%;\n }\n \n /* Datepicker */\n .p-calendar .p-datepicker {\n min-width: 100%;\n }\n \n .p-datepicker {\n width: auto;\n position: absolute;\n top: 0;\n left: 0;\n }\n \n .p-datepicker-inline {\n display: inline-block;\n position: static;\n overflow-x: auto;\n }\n \n /* Header */\n .p-datepicker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n \n .p-datepicker-header .p-datepicker-title {\n margin: 0 auto;\n }\n \n .p-datepicker-prev,\n .p-datepicker-next {\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n }\n \n /* Multiple Month DatePicker */\n .p-datepicker-multiple-month .p-datepicker-group-container {\n display: flex;\n }\n \n .p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group {\n flex: 1 1 auto;\n }\n \n /* Multiple Month DatePicker */\n .p-datepicker-multiple-month .p-datepicker-group-container {\n display: flex;\n }\n \n /* DatePicker Table */\n .p-datepicker table {\n width: 100%;\n border-collapse: collapse;\n }\n \n .p-datepicker td > span {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n margin: 0 auto;\n overflow: hidden;\n position: relative;\n }\n \n /* Month Picker */\n .p-monthpicker-month {\n width: 33.3%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n }\n \n /* Button Bar */\n .p-datepicker-buttonbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n \n /* Time Picker */\n .p-timepicker {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n \n .p-timepicker button {\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n }\n \n .p-timepicker > div {\n display: flex;\n align-items: center;\n flex-direction: column;\n }\n \n /* Touch UI */\n .p-datepicker-touch-ui,\n .p-calendar .p-datepicker-touch-ui {\n position: fixed;\n top: 50%;\n left: 50%;\n min-width: 80vw;\n transform: translate(-50%, -50%);\n }\n \n /* Year Picker */\n .p-yearpicker-year {\n width: 50%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n }\n}\n";
146
+ var styles = "\n@layer primereact {\n .p-calendar {\n position: relative;\n display: inline-flex;\n max-width: 100%;\n }\n\n .p-calendar .p-inputtext {\n flex: 1 1 auto;\n width: 1%;\n }\n\n .p-calendar-w-btn-right .p-inputtext {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .p-calendar-w-btn-right .p-datepicker-trigger {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .p-calendar-w-btn-left .p-inputtext {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .p-calendar-w-btn-left .p-datepicker-trigger {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n /* Fluid */\n .p-fluid .p-calendar {\n display: flex;\n }\n\n .p-fluid .p-calendar .p-inputtext {\n width: 1%;\n }\n\n /* Datepicker */\n .p-calendar .p-datepicker {\n min-width: 100%;\n }\n\n .p-datepicker {\n width: auto;\n position: absolute;\n top: 0;\n left: 0;\n }\n\n .p-datepicker-inline {\n display: inline-block;\n position: static;\n overflow-x: auto;\n }\n\n /* Header */\n .p-datepicker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .p-datepicker-header .p-datepicker-title {\n margin: 0 auto;\n }\n\n .p-datepicker-prev,\n .p-datepicker-next {\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n }\n\n /* Multiple Month DatePicker */\n .p-datepicker-multiple-month .p-datepicker-group-container {\n display: flex;\n }\n\n .p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group {\n flex: 1 1 auto;\n }\n\n /* Multiple Month DatePicker */\n .p-datepicker-multiple-month .p-datepicker-group-container {\n display: flex;\n }\n\n /* DatePicker Table */\n .p-datepicker table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .p-datepicker td > span {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n margin: 0 auto;\n overflow: hidden;\n position: relative;\n }\n\n /* Month Picker */\n .p-monthpicker-month {\n width: 33.3%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n }\n\n /* Button Bar */\n .p-datepicker-buttonbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n /* Time Picker */\n .p-timepicker {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .p-timepicker button {\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n }\n\n .p-timepicker > div {\n display: flex;\n align-items: center;\n flex-direction: column;\n }\n\n /* Touch UI */\n .p-datepicker-touch-ui,\n .p-calendar .p-datepicker-touch-ui {\n position: fixed;\n top: 50%;\n left: 50%;\n min-width: 80vw;\n transform: translate(-50%, -50%);\n }\n\n /* Year Picker */\n .p-yearpicker-year {\n width: 50%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n }\n}\n";
147
147
  var classes = {
148
148
  root: function root(_ref) {
149
149
  var props = _ref.props,
150
150
  focusedState = _ref.focusedState,
151
- isFilled = _ref.isFilled;
152
- return classNames('p-calendar p-component p-inputwrapper', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "p-calendar-w-btn p-calendar-w-btn-".concat(props.iconPos), props.showIcon), 'p-calendar-disabled', props.disabled), 'p-calendar-timeonly', props.timeOnly), 'p-inputwrapper-filled', props.value || isFilled), 'p-inputwrapper-focus', focusedState));
151
+ isFilled = _ref.isFilled,
152
+ panelVisible = _ref.panelVisible;
153
+ return classNames('p-calendar p-component p-inputwrapper', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "p-calendar-w-btn p-calendar-w-btn-".concat(props.iconPos), props.showIcon), 'p-calendar-disabled', props.disabled), 'p-calendar-timeonly', props.timeOnly), 'p-inputwrapper-filled', props.value || isFilled), 'p-inputwrapper-focus', focusedState), 'p-focus', focusedState || panelVisible));
153
154
  },
154
155
  dropdownButton: 'p-datepicker-trigger',
155
156
  buttonbar: 'p-datepicker-buttonbar',
@@ -228,6 +229,7 @@ var CalendarBase = ComponentBase.extend({
228
229
  __TYPE: 'Calendar',
229
230
  appendTo: null,
230
231
  ariaLabelledBy: null,
232
+ ariaLabel: null,
231
233
  autoZIndex: true,
232
234
  autoFocus: false,
233
235
  baseZIndex: 0,
@@ -328,12 +330,17 @@ var CalendarBase = ComponentBase.extend({
328
330
 
329
331
  var CalendarPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
330
332
  var cx = props.cx;
333
+ var mergeProps = useMergeProps();
331
334
  var createElement = function createElement() {
332
335
  var panelProps = mergeProps({
333
336
  className: cx('panel', {
334
337
  panelClassName: props.className
335
338
  }),
336
339
  style: props.style,
340
+ role: props.inline ? null : 'dialog',
341
+ id: props.id,
342
+ 'aria-label': localeOption('chooseDate', props.locale),
343
+ 'aria-modal': props.inline ? null : 'true',
337
344
  onClick: props.onClick,
338
345
  onMouseUp: props.onMouseUp
339
346
  }, props.ptm('panel', {
@@ -375,6 +382,7 @@ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol
375
382
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
376
383
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
377
384
  var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
385
+ var mergeProps = useMergeProps();
378
386
  var context = React.useContext(PrimeReactContext);
379
387
  var props = CalendarBase.getProps(inProps, context);
380
388
  var _React$useState = React.useState(false),
@@ -389,6 +397,10 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
389
397
  _React$useState6 = _slicedToArray(_React$useState5, 2),
390
398
  viewDateState = _React$useState6[0],
391
399
  setViewDateState = _React$useState6[1];
400
+ var _React$useState7 = React.useState(props.id),
401
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
402
+ idState = _React$useState8[0],
403
+ setIdState = _React$useState8[1];
392
404
  var metaData = {
393
405
  props: props,
394
406
  state: {
@@ -417,26 +429,29 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
417
429
  var isOverlayClicked = React.useRef(false);
418
430
  var previousButton = React.useRef(false);
419
431
  var nextButton = React.useRef(false);
432
+ var viewChangedWithKeyDown = React.useRef(false);
420
433
  var onChangeRef = React.useRef(null);
421
- var _React$useState7 = React.useState('date'),
422
- _React$useState8 = _slicedToArray(_React$useState7, 2),
423
- currentView = _React$useState8[0],
424
- setCurrentView = _React$useState8[1];
425
- var _React$useState9 = React.useState(null),
434
+ var isClearClicked = React.useRef(false);
435
+ var _React$useState9 = React.useState('date'),
426
436
  _React$useState10 = _slicedToArray(_React$useState9, 2),
427
- currentMonth = _React$useState10[0],
428
- setCurrentMonth = _React$useState10[1];
437
+ currentView = _React$useState10[0],
438
+ setCurrentView = _React$useState10[1];
429
439
  var _React$useState11 = React.useState(null),
430
440
  _React$useState12 = _slicedToArray(_React$useState11, 2),
431
- currentYear = _React$useState12[0],
432
- setCurrentYear = _React$useState12[1];
433
- var _React$useState13 = React.useState([]),
441
+ currentMonth = _React$useState12[0],
442
+ setCurrentMonth = _React$useState12[1];
443
+ var _React$useState13 = React.useState(null),
434
444
  _React$useState14 = _slicedToArray(_React$useState13, 2),
435
- yearOptions = _React$useState14[0],
436
- setYearOptions = _React$useState14[1];
445
+ currentYear = _React$useState14[0],
446
+ setCurrentYear = _React$useState14[1];
447
+ var _React$useState15 = React.useState([]),
448
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
449
+ yearOptions = _React$useState16[0],
450
+ setYearOptions = _React$useState16[1];
437
451
  var previousValue = usePrevious(props.value);
438
452
  var visible = props.inline || (props.onVisibleChange ? props.visible : overlayVisibleState);
439
453
  var attributeSelector = UniqueComponentId();
454
+ var panelId = idState + '_panel';
440
455
  var _useOverlayListener = useOverlayListener({
441
456
  target: elementRef,
442
457
  overlay: overlayRef,
@@ -444,7 +459,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
444
459
  var type = _ref.type,
445
460
  valid = _ref.valid;
446
461
  if (valid) {
447
- type === 'outside' ? !isOverlayClicked.current && !isNavIconClicked(event.target) && hide('outside') : hide();
462
+ type === 'outside' ? !isOverlayClicked.current && !isNavIconClicked(event.target) && hide('outside', reFocusInputField) : hide(null, reFocusInputField);
448
463
  }
449
464
  isOverlayClicked.current = false;
450
465
  },
@@ -474,21 +489,34 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
474
489
  setFocusedState(false);
475
490
  };
476
491
  var onInputKeyDown = function onInputKeyDown(event) {
477
- switch (event.which) {
478
- //escape
479
- case 27:
492
+ switch (event.code) {
493
+ case 'ArrowDown':
480
494
  {
481
- hide();
495
+ if (!overlayVisibleState) {
496
+ show();
497
+ } else {
498
+ focusToFirstCell();
499
+ event.preventDefault();
500
+ }
482
501
  break;
483
502
  }
484
-
485
- //tab
486
- case 9:
503
+ case 'Escape':
487
504
  {
488
- visible && trapFocus(event);
505
+ hide();
489
506
  props.touchUI && disableModality();
490
507
  break;
491
508
  }
509
+ case 'Tab':
510
+ {
511
+ if (overlayRef && overlayRef.current) {
512
+ DomHandler.getFocusableElements(overlayRef.current).forEach(function (el) {
513
+ return el.tabIndex = '-1';
514
+ });
515
+ hide();
516
+ props.touchUI && disableModality();
517
+ }
518
+ break;
519
+ }
492
520
  }
493
521
  };
494
522
  var onUserInput = function onUserInput(event) {
@@ -551,28 +579,40 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
551
579
  navForward(event);
552
580
  };
553
581
  var onContainerButtonKeydown = function onContainerButtonKeydown(event) {
554
- switch (event.which) {
555
- //tab
556
- case 9:
557
- trapFocus(event);
582
+ switch (event.code) {
583
+ case 'Tab':
584
+ !props.inline && trapFocus(event);
558
585
  break;
559
-
560
- //escape
561
- case 27:
586
+ case 'Escape':
562
587
  hide(null, reFocusInputField);
563
588
  event.preventDefault();
564
589
  break;
565
590
  }
566
591
  };
592
+ var onPickerKeyDown = function onPickerKeyDown(event, type, direction) {
593
+ if (event.code === 'Enter' || event.code === 'Space') {
594
+ onTimePickerElementMouseDown(event, type, direction);
595
+ event.preventDefault();
596
+ return;
597
+ }
598
+ onContainerButtonKeydown(event);
599
+ };
600
+ var onPickerKeyUp = function onPickerKeyUp(event) {
601
+ if (event.code === 'Enter' || event.code === 'Space') {
602
+ onTimePickerElementMouseUp();
603
+ event.preventDefault();
604
+ return;
605
+ }
606
+ };
567
607
  var trapFocus = function trapFocus(event) {
568
- event.preventDefault();
608
+ event === null || event === void 0 || event.preventDefault();
569
609
  var focusableElements = DomHandler.getFocusableElements(overlayRef.current);
570
610
  if (focusableElements && focusableElements.length > 0) {
571
611
  if (!document.activeElement) {
572
612
  focusableElements[0].focus();
573
613
  } else {
574
614
  var focusedIndex = focusableElements.indexOf(document.activeElement);
575
- if (event.shiftKey) {
615
+ if (event !== null && event !== void 0 && event.shiftKey) {
576
616
  if (focusedIndex === -1 || focusedIndex === 0) focusableElements[focusableElements.length - 1].focus();else focusableElements[focusedIndex - 1].focus();
577
617
  } else {
578
618
  if (focusedIndex === -1 || focusedIndex === focusableElements.length - 1) focusableElements[0].focus();else focusableElements[focusedIndex + 1].focus();
@@ -605,7 +645,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
605
645
  };
606
646
  var initFocusableCell = function initFocusableCell() {
607
647
  var cell;
608
- if (props.view === 'month') {
648
+ if (currentView === 'month') {
609
649
  var cells = DomHandler.find(overlayRef.current, '[data-pc-section="monthpicker"] [data-pc-section="month"]');
610
650
  var selectedCell = DomHandler.findSingle(overlayRef.current, '[data-pc-section="monthpicker"] [data-pc-section="month"][data-p-highlight="true"]');
611
651
  cells.forEach(function (cell) {
@@ -623,6 +663,27 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
623
663
  cell.tabIndex = '0';
624
664
  }
625
665
  };
666
+ var focusToFirstCell = function focusToFirstCell() {
667
+ if (currentView) {
668
+ var cell;
669
+ if (currentView === 'date') {
670
+ cell = DomHandler.findSingle(overlayRef.current, 'span[data-p-highlight="true"]');
671
+ if (!cell) {
672
+ var todayCell = DomHandler.findSingle(overlayRef.current, 'td.p-datepicker-today span:not(.p-disabled)');
673
+ cell = todayCell || DomHandler.findSingle(overlayRef.current, 'table td span:not([data-p-disabled="true"])');
674
+ }
675
+ } else if (currentView === 'month' || currentView === 'year') {
676
+ cell = DomHandler.findSingle(overlayRef.current, 'span[data-p-highlight="true"]');
677
+ if (!cell) {
678
+ cell = DomHandler.findSingle(overlayRef.current, "[data-pc-section=\"".concat(currentView, "picker\"] [data-pc-section=\"").concat(currentView, "\"]:not([data-p-disabled=\"true\"])"));
679
+ }
680
+ }
681
+ if (cell) {
682
+ cell.tabIndex = '0';
683
+ cell && cell.focus();
684
+ }
685
+ }
686
+ };
626
687
  var navBackward = function navBackward(event) {
627
688
  if (props.disabled) {
628
689
  event.preventDefault();
@@ -752,6 +813,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
752
813
  props.onTodayButtonClick && props.onTodayButtonClick(event);
753
814
  };
754
815
  var onClearButtonClick = function onClearButtonClick(event) {
816
+ isClearClicked.current = true;
755
817
  updateModel(event, null);
756
818
  updateInputfield(null);
757
819
  hide();
@@ -1233,23 +1295,29 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1233
1295
  var onDateCellKeydown = function onDateCellKeydown(event, date, groupIndex) {
1234
1296
  var cellContent = event.currentTarget;
1235
1297
  var cell = cellContent.parentElement;
1236
- switch (event.which) {
1237
- //down arrow
1238
- case 40:
1298
+ var cellIndex = DomHandler.index(cell);
1299
+ switch (event.code) {
1300
+ case 'ArrowDown':
1239
1301
  {
1240
1302
  cellContent.tabIndex = '-1';
1241
- var cellIndex = DomHandler.index(cell);
1242
1303
  var nextRow = cell.parentElement.nextElementSibling;
1243
1304
  if (nextRow) {
1244
- var focusCell = nextRow.children[cellIndex].children[0];
1245
- if (DomHandler.hasClass(focusCell, 'p-disabled')) {
1305
+ var tableRowIndex = DomHandler.index(cell.parentElement);
1306
+ var tableRows = Array.from(cell.parentElement.parentElement.children);
1307
+ var nextTableRows = tableRows.slice(tableRowIndex + 1);
1308
+ var hasNextFocusableDate = nextTableRows.find(function (el) {
1309
+ var focusCell = el.children[cellIndex].children[0];
1310
+ return !DomHandler.getAttribute(focusCell, 'data-p-disabled');
1311
+ });
1312
+ if (hasNextFocusableDate) {
1313
+ var focusCell = hasNextFocusableDate.children[cellIndex].children[0];
1314
+ focusCell.tabIndex = '0';
1315
+ focusCell.focus();
1316
+ } else {
1246
1317
  navigation.current = {
1247
1318
  backward: false
1248
1319
  };
1249
1320
  navForward(event);
1250
- } else {
1251
- nextRow.children[cellIndex].children[0].tabIndex = '0';
1252
- nextRow.children[cellIndex].children[0].focus();
1253
1321
  }
1254
1322
  } else {
1255
1323
  navigation.current = {
@@ -1260,46 +1328,58 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1260
1328
  event.preventDefault();
1261
1329
  break;
1262
1330
  }
1263
-
1264
- //up arrow
1265
- case 38:
1331
+ case 'ArrowUp':
1266
1332
  {
1267
1333
  cellContent.tabIndex = '-1';
1268
- var _cellIndex = DomHandler.index(cell);
1269
- var prevRow = cell.parentElement.previousElementSibling;
1270
- if (prevRow) {
1271
- var _focusCell = prevRow.children[_cellIndex].children[0];
1272
- if (DomHandler.hasClass(_focusCell, 'p-disabled')) {
1334
+ if (event.altKey) {
1335
+ hide(null, reFocusInputField);
1336
+ } else {
1337
+ var prevRow = cell.parentElement.previousElementSibling;
1338
+ if (prevRow) {
1339
+ var _tableRowIndex = DomHandler.index(cell.parentElement);
1340
+ var _tableRows = Array.from(cell.parentElement.parentElement.children);
1341
+ var prevTableRows = _tableRows.slice(0, _tableRowIndex).reverse();
1342
+ var _hasNextFocusableDate = prevTableRows.find(function (el) {
1343
+ var focusCell = el.children[cellIndex].children[0];
1344
+ return !DomHandler.getAttribute(focusCell, 'data-p-disabled');
1345
+ });
1346
+ if (_hasNextFocusableDate) {
1347
+ var _focusCell = _hasNextFocusableDate.children[cellIndex].children[0];
1348
+ _focusCell.tabIndex = '0';
1349
+ _focusCell.focus();
1350
+ } else {
1351
+ navigation.current = {
1352
+ backward: true
1353
+ };
1354
+ navBackward(event);
1355
+ }
1356
+ } else {
1273
1357
  navigation.current = {
1274
1358
  backward: true
1275
1359
  };
1276
1360
  navBackward(event);
1277
- } else {
1278
- _focusCell.tabIndex = '0';
1279
- _focusCell.focus();
1280
1361
  }
1281
- } else {
1282
- navigation.current = {
1283
- backward: true
1284
- };
1285
- navBackward(event);
1286
1362
  }
1287
1363
  event.preventDefault();
1288
1364
  break;
1289
1365
  }
1290
-
1291
- //left arrow
1292
- case 37:
1366
+ case 'ArrowLeft':
1293
1367
  {
1294
1368
  cellContent.tabIndex = '-1';
1295
1369
  var prevCell = cell.previousElementSibling;
1296
1370
  if (prevCell) {
1297
- var _focusCell2 = prevCell.children[0];
1298
- if (DomHandler.hasClass(_focusCell2, 'p-disabled')) {
1299
- navigateToMonth(true, groupIndex, event);
1300
- } else {
1371
+ var cells = Array.from(cell.parentElement.children);
1372
+ var prevCells = cells.slice(0, cellIndex).reverse();
1373
+ var _hasNextFocusableDate2 = prevCells.find(function (el) {
1374
+ var focusCell = el.children[0];
1375
+ return !DomHandler.getAttribute(focusCell, 'data-p-disabled');
1376
+ });
1377
+ if (_hasNextFocusableDate2) {
1378
+ var _focusCell2 = _hasNextFocusableDate2.children[0];
1301
1379
  _focusCell2.tabIndex = '0';
1302
1380
  _focusCell2.focus();
1381
+ } else {
1382
+ navigateToMonth(true, groupIndex, event);
1303
1383
  }
1304
1384
  } else {
1305
1385
  navigateToMonth(true, groupIndex, event);
@@ -1307,19 +1387,23 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1307
1387
  event.preventDefault();
1308
1388
  break;
1309
1389
  }
1310
-
1311
- //right arrow
1312
- case 39:
1390
+ case 'ArrowRight':
1313
1391
  {
1314
1392
  cellContent.tabIndex = '-1';
1315
1393
  var nextCell = cell.nextElementSibling;
1316
1394
  if (nextCell) {
1317
- var _focusCell3 = nextCell.children[0];
1318
- if (DomHandler.hasClass(_focusCell3, 'p-disabled')) {
1319
- navigateToMonth(false, groupIndex, event);
1320
- } else {
1395
+ var _cells = Array.from(cell.parentElement.children);
1396
+ var nextCells = _cells.slice(cellIndex + 1);
1397
+ var _hasNextFocusableDate3 = nextCells.find(function (el) {
1398
+ var focusCell = el.children[0];
1399
+ return !DomHandler.getAttribute(focusCell, 'data-p-disabled');
1400
+ });
1401
+ if (_hasNextFocusableDate3) {
1402
+ var _focusCell3 = _hasNextFocusableDate3.children[0];
1321
1403
  _focusCell3.tabIndex = '0';
1322
1404
  _focusCell3.focus();
1405
+ } else {
1406
+ navigateToMonth(false, groupIndex, event);
1323
1407
  }
1324
1408
  } else {
1325
1409
  navigateToMonth(false, groupIndex, event);
@@ -1327,27 +1411,75 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1327
1411
  event.preventDefault();
1328
1412
  break;
1329
1413
  }
1330
-
1331
- //enter
1332
- case 13:
1414
+ case 'Enter':
1415
+ case 'NumpadEnter':
1416
+ case 'Space':
1333
1417
  {
1334
1418
  onDateSelect(event, date);
1335
1419
  event.preventDefault();
1336
1420
  break;
1337
1421
  }
1338
-
1339
- //escape
1340
- case 27:
1422
+ case 'Escape':
1341
1423
  {
1342
1424
  hide(null, reFocusInputField);
1343
1425
  event.preventDefault();
1344
1426
  break;
1345
1427
  }
1346
-
1347
- //tab
1348
- case 9:
1428
+ case 'Tab':
1349
1429
  {
1350
- trapFocus(event);
1430
+ if (!props.inline) trapFocus(event);
1431
+ break;
1432
+ }
1433
+ case 'Home':
1434
+ {
1435
+ cellContent.tabIndex = '-1';
1436
+ var currentRow = cell.parentElement;
1437
+ var _focusCell4 = currentRow.children[0].children[0];
1438
+ if (DomHandler.getAttribute(_focusCell4, 'data-p-disabled')) {
1439
+ navigateToMonth(groupIndex, true, event);
1440
+ } else {
1441
+ _focusCell4.tabIndex = '0';
1442
+ _focusCell4.focus();
1443
+ }
1444
+ event.preventDefault();
1445
+ break;
1446
+ }
1447
+ case 'End':
1448
+ {
1449
+ cellContent.tabIndex = '-1';
1450
+ var _currentRow = cell.parentElement;
1451
+ var _focusCell5 = _currentRow.children[_currentRow.children.length - 1].children[0];
1452
+ if (DomHandler.getAttribute(_focusCell5, 'data-p-disabled')) {
1453
+ navigateToMonth(groupIndex, false, event);
1454
+ } else {
1455
+ _focusCell5.tabIndex = '0';
1456
+ _focusCell5.focus();
1457
+ }
1458
+ event.preventDefault();
1459
+ break;
1460
+ }
1461
+ case 'PageUp':
1462
+ {
1463
+ cellContent.tabIndex = '-1';
1464
+ if (event.shiftKey) {
1465
+ navigation.current = {
1466
+ backward: true
1467
+ };
1468
+ navBackward(event);
1469
+ } else navigateToMonth(groupIndex, true, event);
1470
+ event.preventDefault();
1471
+ break;
1472
+ }
1473
+ case 'PageDown':
1474
+ {
1475
+ cellContent.tabIndex = '-1';
1476
+ if (event.shiftKey) {
1477
+ navigation.current = {
1478
+ backward: false
1479
+ };
1480
+ navForward(event);
1481
+ } else navigateToMonth(groupIndex, false, event);
1482
+ event.preventDefault();
1351
1483
  break;
1352
1484
  }
1353
1485
  }
@@ -1374,18 +1506,18 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1374
1506
  navForward(event);
1375
1507
  } else {
1376
1508
  var nextMonthContainer = overlayRef.current.children[groupIndex + 1];
1377
- var _focusCell4 = DomHandler.findSingle(nextMonthContainer, 'table td span:not([data-p-disabled="true"])');
1378
- _focusCell4.tabIndex = '0';
1379
- _focusCell4.focus();
1509
+ var _focusCell6 = DomHandler.findSingle(nextMonthContainer, 'table td span:not([data-p-disabled="true"])');
1510
+ _focusCell6.tabIndex = '0';
1511
+ _focusCell6.focus();
1380
1512
  }
1381
1513
  }
1382
1514
  };
1383
1515
  var onMonthCellKeydown = function onMonthCellKeydown(event, index) {
1384
1516
  var cell = event.currentTarget;
1385
- switch (event.which) {
1517
+ switch (event.code) {
1386
1518
  //arrows
1387
- case 38:
1388
- case 40:
1519
+ case 'ArrowUp':
1520
+ case 'ArrowDown':
1389
1521
  {
1390
1522
  cell.tabIndex = '-1';
1391
1523
  var cells = cell.parentElement.children;
@@ -1398,51 +1530,162 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1398
1530
  event.preventDefault();
1399
1531
  break;
1400
1532
  }
1401
-
1402
- //left arrow
1403
- case 37:
1533
+ case 'ArrowLeft':
1404
1534
  {
1405
1535
  cell.tabIndex = '-1';
1406
1536
  var prevCell = cell.previousElementSibling;
1407
1537
  if (prevCell) {
1408
1538
  prevCell.tabIndex = '0';
1409
1539
  prevCell.focus();
1540
+ } else {
1541
+ navigation.current = {
1542
+ backward: true
1543
+ };
1544
+ navBackward(event);
1410
1545
  }
1411
1546
  event.preventDefault();
1412
1547
  break;
1413
1548
  }
1414
-
1415
- //right arrow
1416
- case 39:
1549
+ case 'ArrowRight':
1417
1550
  {
1418
1551
  cell.tabIndex = '-1';
1419
1552
  var _nextCell = cell.nextElementSibling;
1420
1553
  if (_nextCell) {
1421
1554
  _nextCell.tabIndex = '0';
1422
1555
  _nextCell.focus();
1556
+ } else {
1557
+ navigation.current = {
1558
+ backward: false
1559
+ };
1560
+ navForward(event);
1423
1561
  }
1424
1562
  event.preventDefault();
1425
1563
  break;
1426
1564
  }
1427
-
1428
- //enter
1429
- case 13:
1565
+ case 'PageUp':
1566
+ {
1567
+ if (event.shiftKey) return;
1568
+ navigation.current = {
1569
+ backward: true
1570
+ };
1571
+ navBackward(event);
1572
+ break;
1573
+ }
1574
+ case 'PageDown':
1430
1575
  {
1576
+ if (event.shiftKey) return;
1577
+ navigation.current = {
1578
+ backward: false
1579
+ };
1580
+ navForward(event);
1581
+ break;
1582
+ }
1583
+ case 'Enter':
1584
+ case 'NumpadEnter':
1585
+ case 'Space':
1586
+ {
1587
+ if (props.view !== 'month') viewChangedWithKeyDown.current = true;
1431
1588
  onMonthSelect(event, index);
1432
1589
  event.preventDefault();
1433
1590
  break;
1434
1591
  }
1435
-
1436
- //escape
1437
- case 27:
1592
+ case 'Escape':
1438
1593
  {
1439
1594
  hide(null, reFocusInputField);
1440
1595
  event.preventDefault();
1441
1596
  break;
1442
1597
  }
1443
-
1444
- //tab
1445
- case 9:
1598
+ case 'Tab':
1599
+ {
1600
+ trapFocus(event);
1601
+ break;
1602
+ }
1603
+ }
1604
+ };
1605
+ var onYearCellKeydown = function onYearCellKeydown(event, index) {
1606
+ var cell = event.currentTarget;
1607
+ switch (event.code) {
1608
+ //arrows
1609
+ case 'ArrowUp':
1610
+ case 'ArrowDown':
1611
+ {
1612
+ cell.tabIndex = '-1';
1613
+ var cells = cell.parentElement.children;
1614
+ var cellIndex = DomHandler.index(cell);
1615
+ var nextCell = cells[event.code === 'ArrowDown' ? cellIndex + 2 : cellIndex - 2];
1616
+ if (nextCell) {
1617
+ nextCell.tabIndex = '0';
1618
+ nextCell.focus();
1619
+ }
1620
+ event.preventDefault();
1621
+ break;
1622
+ }
1623
+ case 'ArrowLeft':
1624
+ {
1625
+ cell.tabIndex = '-1';
1626
+ var prevCell = cell.previousElementSibling;
1627
+ if (prevCell) {
1628
+ prevCell.tabIndex = '0';
1629
+ prevCell.focus();
1630
+ } else {
1631
+ navigation.current = {
1632
+ backward: true
1633
+ };
1634
+ navBackward(event);
1635
+ }
1636
+ event.preventDefault();
1637
+ break;
1638
+ }
1639
+ case 'ArrowRight':
1640
+ {
1641
+ cell.tabIndex = '-1';
1642
+ var _nextCell2 = cell.nextElementSibling;
1643
+ if (_nextCell2) {
1644
+ _nextCell2.tabIndex = '0';
1645
+ _nextCell2.focus();
1646
+ } else {
1647
+ navigation.current = {
1648
+ backward: false
1649
+ };
1650
+ navForward(event);
1651
+ }
1652
+ event.preventDefault();
1653
+ break;
1654
+ }
1655
+ case 'PageUp':
1656
+ {
1657
+ if (event.shiftKey) return;
1658
+ navigation.current = {
1659
+ backward: true
1660
+ };
1661
+ navBackward(event);
1662
+ break;
1663
+ }
1664
+ case 'PageDown':
1665
+ {
1666
+ if (event.shiftKey) return;
1667
+ navigation.current = {
1668
+ backward: false
1669
+ };
1670
+ navForward(event);
1671
+ break;
1672
+ }
1673
+ case 'Enter':
1674
+ case 'NumpadEnter':
1675
+ case 'Space':
1676
+ {
1677
+ if (props.view !== 'year') viewChangedWithKeyDown.current = true;
1678
+ onYearSelect(event, index);
1679
+ event.preventDefault();
1680
+ break;
1681
+ }
1682
+ case 'Escape':
1683
+ {
1684
+ hide(null, reFocusInputField);
1685
+ event.preventDefault();
1686
+ break;
1687
+ }
1688
+ case 'Tab':
1446
1689
  {
1447
1690
  trapFocus(event);
1448
1691
  break;
@@ -1559,10 +1802,16 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1559
1802
  return _currentYear;
1560
1803
  };
1561
1804
  var switchToMonthView = function switchToMonthView(event) {
1805
+ if (event && event.code && (event.code === 'Enter' || event.code === 'Space')) {
1806
+ viewChangedWithKeyDown.current = true;
1807
+ }
1562
1808
  setCurrentView('month');
1563
1809
  event.preventDefault();
1564
1810
  };
1565
1811
  var switchToYearView = function switchToYearView(event) {
1812
+ if (event && event.code && (event.code === 'Enter' || event.code === 'Space')) {
1813
+ viewChangedWithKeyDown.current = true;
1814
+ }
1566
1815
  setCurrentView('year');
1567
1816
  event.preventDefault();
1568
1817
  };
@@ -1588,6 +1837,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1588
1837
  month: month + 1,
1589
1838
  year: currentYear
1590
1839
  });
1840
+ updateViewDate(event, currentDate);
1591
1841
  }
1592
1842
  };
1593
1843
  var onYearSelect = function onYearSelect(event, year) {
@@ -1702,7 +1952,6 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1702
1952
  var onOverlayEntered = function onOverlayEntered() {
1703
1953
  bindOverlayListener();
1704
1954
  props.onShow && props.onShow();
1705
- DomHandler.focusFirstElement(overlayRef.current);
1706
1955
  setFocusedState(false);
1707
1956
  };
1708
1957
  var onOverlayExit = function onOverlayExit() {
@@ -2378,8 +2627,13 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2378
2627
  if (isNaN(h) || isNaN(m) || h > 23 || m > 59 || props.hourFormat === '12' && h > 12 || props.showSeconds && (isNaN(s) || s > 59) || props.showMillisec && (isNaN(s) || s > 1000)) {
2379
2628
  throw new Error('Invalid time');
2380
2629
  } else {
2381
- if (props.hourFormat === '12' && h !== 12 && ampm === 'PM') {
2382
- h += 12;
2630
+ if (props.hourFormat === '12') {
2631
+ if (h !== 12 && ampm === 'PM') {
2632
+ h += 12;
2633
+ }
2634
+ if (h === 12 && ampm === 'AM') {
2635
+ h -= 12;
2636
+ }
2383
2637
  }
2384
2638
  return {
2385
2639
  hour: h,
@@ -2568,6 +2822,10 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2568
2822
  setCurrentMonth(viewDate.getMonth());
2569
2823
  setCurrentYear(viewDate.getFullYear());
2570
2824
  setCurrentView(props.view);
2825
+ if (!idState) {
2826
+ var uniqueId = UniqueComponentId();
2827
+ !idState && setIdState(uniqueId);
2828
+ }
2571
2829
  if (props.inline) {
2572
2830
  overlayRef && overlayRef.current.setAttribute(attributeSelector, '');
2573
2831
  if (!props.disabled) {
@@ -2615,8 +2873,14 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2615
2873
  // eslint-disable-next-line react-hooks/exhaustive-deps
2616
2874
  }, [props.disabled, props.mask, props.readOnlyInput]);
2617
2875
  useUpdateEffect(function () {
2618
- setCurrentView(props.view);
2876
+ if (viewChangedWithKeyDown.current) {
2877
+ setCurrentView(props.view);
2878
+ }
2879
+ viewChangedWithKeyDown.current = false;
2619
2880
  }, [props.view]);
2881
+ useUpdateEffect(function () {
2882
+ focusToFirstCell();
2883
+ }, [currentView]);
2620
2884
  useUpdateEffect(function () {
2621
2885
  if (!props.onViewDateChange && !viewStateChanged.current) {
2622
2886
  setValue(props.value);
@@ -2707,12 +2971,16 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2707
2971
  if (Array.isArray(prevPropValue)) {
2708
2972
  prevPropValue = prevPropValue[0];
2709
2973
  }
2974
+ var viewDate = props.viewDate && isValidDate(props.viewDate) ? props.viewDate : propValue && isValidDate(propValue) ? propValue : new Date();
2975
+ if (isClearClicked.current && props.showTime) {
2976
+ viewDate.setHours(0, 0, 0);
2977
+ isClearClicked.current = false;
2978
+ }
2710
2979
  if (!prevPropValue && propValue || propValue && propValue instanceof Date && propValue.getTime() !== prevPropValue.getTime()) {
2711
- var viewDate = props.viewDate && isValidDate(props.viewDate) ? props.viewDate : propValue && isValidDate(propValue) ? propValue : new Date();
2712
2980
  validateDate(viewDate);
2713
- setViewDateState(viewDate);
2714
- viewStateChanged.current = true;
2715
2981
  }
2982
+ setViewDateState(viewDate);
2983
+ viewStateChanged.current = true;
2716
2984
  };
2717
2985
  var createBackwardNavigator = function createBackwardNavigator(isVisible) {
2718
2986
  var navigatorProps = isVisible ? {
@@ -2732,9 +3000,15 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2732
3000
  var backwardNavigatorIcon = IconUtils.getJSXIcon(icon, _objectSpread({}, previousIconProps), {
2733
3001
  props: props
2734
3002
  });
3003
+ var _localeOptions4 = localeOptions(props.locale),
3004
+ prevDecade = _localeOptions4.prevDecade,
3005
+ prevYear = _localeOptions4.prevYear,
3006
+ prevMonth = _localeOptions4.prevMonth;
3007
+ var previousButtonLabel = currentView === 'year' ? prevDecade : currentView === 'month' ? prevYear : prevMonth;
2735
3008
  var previousButtonProps = mergeProps(_objectSpread({
2736
3009
  type: 'button',
2737
- className: cx('previousButton')
3010
+ className: cx('previousButton'),
3011
+ 'aria-label': previousButtonLabel
2738
3012
  }, navigatorProps), ptm('previousButton'));
2739
3013
  return /*#__PURE__*/React.createElement("button", _extends({
2740
3014
  ref: previousButton
@@ -2758,9 +3032,15 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2758
3032
  var forwardNavigatorIcon = IconUtils.getJSXIcon(icon, _objectSpread({}, nextIconProps), {
2759
3033
  props: props
2760
3034
  });
3035
+ var _localeOptions5 = localeOptions(props.locale),
3036
+ nextDecade = _localeOptions5.nextDecade,
3037
+ nextYear = _localeOptions5.nextYear,
3038
+ nextMonth = _localeOptions5.nextMonth;
3039
+ var nextButtonLabel = currentView === 'year' ? nextDecade : currentView === 'month' ? nextYear : nextMonth;
2761
3040
  var nextButtonProps = mergeProps(_objectSpread({
2762
3041
  type: 'button',
2763
- className: cx('nextButton')
3042
+ className: cx('nextButton'),
3043
+ 'aria-label': nextButtonLabel
2764
3044
  }, navigatorProps), ptm('nextButton'));
2765
3045
  return /*#__PURE__*/React.createElement("button", _extends({
2766
3046
  ref: nextButton
@@ -2817,6 +3097,8 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2817
3097
  }
2818
3098
  var monthTitleProps = mergeProps({
2819
3099
  className: cx('monthTitle'),
3100
+ onKeyDown: onContainerButtonKeydown,
3101
+ 'aria-label': localeOption('chooseMonth', props.locale),
2820
3102
  onClick: switchToMonthView,
2821
3103
  disabled: switchViewButtonDisabled()
2822
3104
  }, ptm('monthTitle'));
@@ -2875,6 +3157,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2875
3157
  var displayYear = props.numberOfMonths > 1 ? metaYear : currentYear;
2876
3158
  var yearTitleProps = mergeProps({
2877
3159
  className: cx('yearTitle'),
3160
+ 'aria-label': localeOption('chooseYear', props.locale),
2878
3161
  onClick: function onClick(e) {
2879
3162
  return switchToYearView(e);
2880
3163
  },
@@ -2933,25 +3216,33 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2933
3216
  };
2934
3217
  var createDateCellContent = function createDateCellContent(date, className, groupIndex) {
2935
3218
  var content = props.dateTemplate ? props.dateTemplate(date) : date.day;
3219
+ var selected = isSelected(date);
2936
3220
  var dayLabelProps = mergeProps({
2937
3221
  className: cx('dayLabel', {
2938
3222
  className: className
2939
3223
  }),
3224
+ 'aria-selected': selected,
3225
+ 'aria-disabled': !date.selectable,
2940
3226
  onClick: function onClick(e) {
2941
3227
  return onDateSelect(e, date);
2942
3228
  },
2943
3229
  onKeyDown: function onKeyDown(e) {
2944
3230
  return onDateCellKeydown(e, date, groupIndex);
2945
3231
  },
2946
- 'data-p-highlight': isSelected(date),
3232
+ 'data-p-highlight': selected,
2947
3233
  'data-p-disabled': !date.selectable
2948
3234
  }, ptm('dayLabel', {
2949
3235
  context: {
2950
- selected: isSelected(date),
3236
+ selected: selected,
2951
3237
  disabled: !date.selectable
2952
3238
  }
2953
3239
  }));
2954
- return /*#__PURE__*/React.createElement("span", dayLabelProps, content);
3240
+ return /*#__PURE__*/React.createElement("span", dayLabelProps, content, selected && /*#__PURE__*/React.createElement("div", {
3241
+ "aria-live": "polite",
3242
+ className: "p-hidden-accessible",
3243
+ "data-p-hidden-accessible": true,
3244
+ pt: ptm('hiddenSelectedDay')
3245
+ }));
2955
3246
  };
2956
3247
  var createWeek = function createWeek(weekDates, weekNumber, groupIndex) {
2957
3248
  var week = weekDates.map(function (date) {
@@ -2965,6 +3256,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
2965
3256
  className: cx('day', {
2966
3257
  date: date
2967
3258
  }),
3259
+ 'aria-label': date.day,
2968
3260
  'data-p-today': date.today,
2969
3261
  'data-p-other-month': date.otherMonth
2970
3262
  }, ptm('day', {
@@ -3013,6 +3305,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3013
3305
  key: UniqueComponentId('calendar_container_')
3014
3306
  }, ptm('container'));
3015
3307
  var tableProps = mergeProps({
3308
+ role: 'grid',
3016
3309
  className: cx('table')
3017
3310
  }, ptm('table'));
3018
3311
  var tableHeaderProps = mergeProps(ptm('tableHeader'));
@@ -3116,6 +3409,9 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3116
3409
  if (hour === 0) hour = 12;else if (hour > 11 && hour !== 12) hour = hour - 12;
3117
3410
  }
3118
3411
  var hourProps = mergeProps(ptm('hour'));
3412
+ var _localeOptions6 = localeOptions(props.locale),
3413
+ nextHour = _localeOptions6.nextHour,
3414
+ prevHour = _localeOptions6.prevHour;
3119
3415
  var hourDisplay = hour < 10 ? '0' + hour : hour;
3120
3416
  var hourPickerProps = mergeProps({
3121
3417
  className: cx('hourPicker')
@@ -3123,26 +3419,30 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3123
3419
  var incrementButtonProps = mergeProps({
3124
3420
  type: 'button',
3125
3421
  className: cx('incrementButton'),
3422
+ 'aria-label': nextHour,
3126
3423
  onMouseDown: function onMouseDown(e) {
3127
3424
  return onTimePickerElementMouseDown(e, 0, 1);
3128
3425
  },
3129
3426
  onMouseUp: onTimePickerElementMouseUp,
3130
3427
  onMouseLeave: onTimePickerElementMouseLeave,
3131
3428
  onKeyDown: function onKeyDown(e) {
3132
- return onContainerButtonKeydown(e);
3133
- }
3429
+ return onPickerKeyDown(e, 0, 1);
3430
+ },
3431
+ onKeyUp: onPickerKeyUp
3134
3432
  }, ptm('incrementButton'));
3135
3433
  var decrementButtonProps = mergeProps({
3136
3434
  type: 'button',
3137
3435
  className: cx('decrementButton'),
3436
+ 'aria-label': prevHour,
3138
3437
  onMouseDown: function onMouseDown(e) {
3139
3438
  return onTimePickerElementMouseDown(e, 0, -1);
3140
3439
  },
3141
3440
  onMouseUp: onTimePickerElementMouseUp,
3142
3441
  onMouseLeave: onTimePickerElementMouseLeave,
3143
3442
  onKeyDown: function onKeyDown(e) {
3144
- return onContainerButtonKeydown(e);
3145
- }
3443
+ return onPickerKeyDown(e, 0, -1);
3444
+ },
3445
+ onKeyUp: onPickerKeyUp
3146
3446
  }, ptm('decrementButton'));
3147
3447
  return /*#__PURE__*/React.createElement("div", hourPickerProps, /*#__PURE__*/React.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React.createElement(Ripple, null)), /*#__PURE__*/React.createElement("span", hourProps, hourDisplay), /*#__PURE__*/React.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React.createElement(Ripple, null)));
3148
3448
  };
@@ -3151,6 +3451,9 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3151
3451
  var minute = doStepMinute(currentTime.getMinutes());
3152
3452
  minute = minute > 59 ? minute - 60 : minute;
3153
3453
  var minuteProps = mergeProps(ptm('minute'));
3454
+ var _localeOptions7 = localeOptions(props.locale),
3455
+ nextMinute = _localeOptions7.nextMinute,
3456
+ prevMinute = _localeOptions7.prevMinute;
3154
3457
  var minuteDisplay = minute < 10 ? '0' + minute : minute;
3155
3458
  var minutePickerProps = mergeProps({
3156
3459
  className: cx('minutePicker')
@@ -3158,32 +3461,39 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3158
3461
  var incrementButtonProps = mergeProps({
3159
3462
  type: 'button',
3160
3463
  className: cx('incrementButton'),
3464
+ 'aria-label': nextMinute,
3161
3465
  onMouseDown: function onMouseDown(e) {
3162
3466
  return onTimePickerElementMouseDown(e, 1, 1);
3163
3467
  },
3164
3468
  onMouseUp: onTimePickerElementMouseUp,
3165
3469
  onMouseLeave: onTimePickerElementMouseLeave,
3166
3470
  onKeyDown: function onKeyDown(e) {
3167
- return onContainerButtonKeydown(e);
3168
- }
3471
+ return onPickerKeyDown(e, 1, 1);
3472
+ },
3473
+ onKeyUp: onPickerKeyUp
3169
3474
  }, ptm('incrementButton'));
3170
3475
  var decrementButtonProps = mergeProps({
3171
3476
  type: 'button',
3172
3477
  className: cx('decrementButton'),
3478
+ 'aria-label': prevMinute,
3173
3479
  onMouseDown: function onMouseDown(e) {
3174
3480
  return onTimePickerElementMouseDown(e, 1, -1);
3175
3481
  },
3176
3482
  onMouseUp: onTimePickerElementMouseUp,
3177
3483
  onMouseLeave: onTimePickerElementMouseLeave,
3178
3484
  onKeyDown: function onKeyDown(e) {
3179
- return onContainerButtonKeydown(e);
3180
- }
3485
+ return onPickerKeyDown(e, 1, -1);
3486
+ },
3487
+ onKeyUp: onPickerKeyUp
3181
3488
  }, ptm('decrementButton'));
3182
3489
  return /*#__PURE__*/React.createElement("div", minutePickerProps, /*#__PURE__*/React.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React.createElement(Ripple, null)), /*#__PURE__*/React.createElement("span", minuteProps, minuteDisplay), /*#__PURE__*/React.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React.createElement(Ripple, null)));
3183
3490
  };
3184
3491
  var createSecondPicker = function createSecondPicker() {
3185
3492
  if (props.showSeconds) {
3186
3493
  var currentTime = getCurrentDateTime();
3494
+ var _localeOptions8 = localeOptions(props.locale),
3495
+ nextSecond = _localeOptions8.nextSecond,
3496
+ prevSecond = _localeOptions8.prevSecond;
3187
3497
  var secondProps = mergeProps(ptm('second'));
3188
3498
  var second = currentTime.getSeconds();
3189
3499
  var secondDisplay = second < 10 ? '0' + second : second;
@@ -3193,26 +3503,30 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3193
3503
  var incrementButtonProps = mergeProps({
3194
3504
  type: 'button',
3195
3505
  className: cx('incrementButton'),
3506
+ 'aria-label': nextSecond,
3196
3507
  onMouseDown: function onMouseDown(e) {
3197
3508
  return onTimePickerElementMouseDown(e, 2, 1);
3198
3509
  },
3199
3510
  onMouseUp: onTimePickerElementMouseUp,
3200
3511
  onMouseLeave: onTimePickerElementMouseLeave,
3201
3512
  onKeyDown: function onKeyDown(e) {
3202
- return onContainerButtonKeydown(e);
3203
- }
3513
+ return onPickerKeyDown(e, 2, 1);
3514
+ },
3515
+ onKeyUp: onPickerKeyUp
3204
3516
  }, ptm('incrementButton'));
3205
3517
  var decrementButtonProps = mergeProps({
3206
3518
  type: 'button',
3207
3519
  className: cx('decrementButton'),
3520
+ 'aria-label': prevSecond,
3208
3521
  onMouseDown: function onMouseDown(e) {
3209
3522
  return onTimePickerElementMouseDown(e, 2, -1);
3210
3523
  },
3211
3524
  onMouseUp: onTimePickerElementMouseUp,
3212
3525
  onMouseLeave: onTimePickerElementMouseLeave,
3213
3526
  onKeyDown: function onKeyDown(e) {
3214
- return onContainerButtonKeydown(e);
3215
- }
3527
+ return onPickerKeyDown(e, 2, -1);
3528
+ },
3529
+ onKeyUp: onPickerKeyUp
3216
3530
  }, ptm('decrementButton'));
3217
3531
  return /*#__PURE__*/React.createElement("div", secondPickerProps, /*#__PURE__*/React.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React.createElement(Ripple, null)), /*#__PURE__*/React.createElement("span", secondProps, secondDisplay), /*#__PURE__*/React.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React.createElement(Ripple, null)));
3218
3532
  }
@@ -3221,6 +3535,9 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3221
3535
  var createMiliSecondPicker = function createMiliSecondPicker() {
3222
3536
  if (props.showMillisec) {
3223
3537
  var currentTime = getCurrentDateTime();
3538
+ var _localeOptions9 = localeOptions(props.locale),
3539
+ nextMilliSecond = _localeOptions9.nextMilliSecond,
3540
+ prevMilliSecond = _localeOptions9.prevMilliSecond;
3224
3541
  var millisecondProps = mergeProps(ptm('millisecond'));
3225
3542
  var millisecond = currentTime.getMilliseconds();
3226
3543
  var millisecondDisplay = millisecond < 100 ? (millisecond < 10 ? '00' : '0') + millisecond : millisecond;
@@ -3230,26 +3547,30 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3230
3547
  var incrementButtonProps = mergeProps({
3231
3548
  type: 'button',
3232
3549
  className: cx('incrementButton'),
3550
+ 'aria-label': nextMilliSecond,
3233
3551
  onMouseDown: function onMouseDown(e) {
3234
3552
  return onTimePickerElementMouseDown(e, 3, 1);
3235
3553
  },
3236
3554
  onMouseUp: onTimePickerElementMouseUp,
3237
3555
  onMouseLeave: onTimePickerElementMouseLeave,
3238
3556
  onKeyDown: function onKeyDown(e) {
3239
- return onContainerButtonKeydown(e);
3240
- }
3557
+ return onPickerKeyDown(e, 3, 1);
3558
+ },
3559
+ onKeyUp: onPickerKeyUp
3241
3560
  }, ptm('incrementButton'));
3242
3561
  var decrementButtonProps = mergeProps({
3243
3562
  type: 'button',
3244
3563
  className: cx('decrementButton'),
3564
+ 'aria-label': prevMilliSecond,
3245
3565
  onMouseDown: function onMouseDown(e) {
3246
3566
  return onTimePickerElementMouseDown(e, 3, -1);
3247
3567
  },
3248
3568
  onMouseUp: onTimePickerElementMouseUp,
3249
3569
  onMouseLeave: onTimePickerElementMouseLeave,
3250
3570
  onKeyDown: function onKeyDown(e) {
3251
- return onContainerButtonKeydown(e);
3252
- }
3571
+ return onPickerKeyDown(e, 3, -1);
3572
+ },
3573
+ onKeyUp: onPickerKeyUp
3253
3574
  }, ptm('decrementButton'));
3254
3575
  return /*#__PURE__*/React.createElement("div", millisecondPickerProps, /*#__PURE__*/React.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React.createElement(Ripple, null)), /*#__PURE__*/React.createElement("span", millisecondProps, millisecondDisplay), /*#__PURE__*/React.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React.createElement(Ripple, null)));
3255
3576
  }
@@ -3258,6 +3579,9 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3258
3579
  var createAmPmPicker = function createAmPmPicker() {
3259
3580
  if (props.hourFormat === '12') {
3260
3581
  var currentTime = getCurrentDateTime();
3582
+ var _localeOptions10 = localeOptions(props.locale),
3583
+ am = _localeOptions10.am,
3584
+ pm = _localeOptions10.pm;
3261
3585
  var hour = currentTime.getHours();
3262
3586
  var display = hour > 11 ? 'PM' : 'AM';
3263
3587
  var ampmProps = mergeProps(ptm('ampm'));
@@ -3267,6 +3591,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3267
3591
  var incrementButtonProps = mergeProps({
3268
3592
  type: 'button',
3269
3593
  className: cx('incrementButton'),
3594
+ 'aria-label': am,
3270
3595
  onClick: function onClick(e) {
3271
3596
  return toggleAmPm(e);
3272
3597
  }
@@ -3274,6 +3599,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3274
3599
  var decrementButtonProps = mergeProps({
3275
3600
  type: 'button',
3276
3601
  className: cx('decrementButton'),
3602
+ 'aria-label': pm,
3277
3603
  onClick: function onClick(e) {
3278
3604
  return toggleAmPm(e);
3279
3605
  }
@@ -3305,6 +3631,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3305
3631
  id: props.inputId,
3306
3632
  name: props.name,
3307
3633
  type: "text",
3634
+ role: "combobox",
3308
3635
  className: props.inputClassName,
3309
3636
  style: props.inputStyle,
3310
3637
  readOnly: props.readOnlyInput,
@@ -3317,7 +3644,12 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3317
3644
  onFocus: onInputFocus,
3318
3645
  onBlur: onInputBlur,
3319
3646
  onKeyDown: onInputKeyDown,
3647
+ "aria-expanded": overlayVisibleState,
3648
+ "aria-autocomplete": "none",
3649
+ "aria-haspopup": "dialog",
3650
+ "aria-controls": panelId,
3320
3651
  "aria-labelledby": props.ariaLabelledBy,
3652
+ "aria-label": props.ariaLabel,
3321
3653
  inputMode: props.inputMode,
3322
3654
  tooltip: props.tooltip,
3323
3655
  tooltipOptions: props.tooltipOptions,
@@ -3337,6 +3669,10 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3337
3669
  onClick: onButtonClick,
3338
3670
  tabIndex: "-1",
3339
3671
  disabled: props.disabled,
3672
+ "aria-haspopup": "dialog",
3673
+ "aria-label": localeOption('chooseDate', props.locale),
3674
+ "aria-expanded": overlayVisibleState,
3675
+ "aria-controls": panelId,
3340
3676
  className: cx('dropdownButton'),
3341
3677
  pt: ptm('dropdownButton'),
3342
3678
  __parentMetadata: {
@@ -3356,21 +3692,27 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3356
3692
  };
3357
3693
  var createButtonBar = function createButtonBar() {
3358
3694
  if (props.showButtonBar) {
3359
- var _localeOptions4 = localeOptions(props.locale),
3360
- today = _localeOptions4.today,
3361
- clear = _localeOptions4.clear;
3695
+ var _localeOptions11 = localeOptions(props.locale),
3696
+ today = _localeOptions11.today,
3697
+ clear = _localeOptions11.clear,
3698
+ now = _localeOptions11.now;
3699
+ var nowDate = new Date();
3700
+ var isHidden = props.minDate && props.minDate > nowDate || props.maxDate && props.maxDate < nowDate;
3362
3701
  var buttonbarProps = mergeProps({
3363
3702
  className: cx('buttonbar')
3364
3703
  }, ptm('buttonbar'));
3365
3704
  return /*#__PURE__*/React.createElement("div", buttonbarProps, /*#__PURE__*/React.createElement(Button, {
3366
3705
  type: "button",
3367
- label: today,
3706
+ label: props.showTime ? now : today,
3368
3707
  onClick: onTodayButtonClick,
3369
3708
  onKeyDown: function onKeyDown(e) {
3370
3709
  return onContainerButtonKeydown(e);
3371
3710
  },
3372
3711
  className: classNames(props.todayButtonClassName, cx('todayButton')),
3373
- pt: ptm('todayButton')
3712
+ pt: ptm('todayButton'),
3713
+ style: isHidden ? {
3714
+ visibility: 'hidden'
3715
+ } : undefined
3374
3716
  }), /*#__PURE__*/React.createElement(Button, {
3375
3717
  type: "button",
3376
3718
  label: clear,
@@ -3400,6 +3742,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3400
3742
  className: cx('monthPicker')
3401
3743
  }, ptm('monthPicker'));
3402
3744
  return /*#__PURE__*/React.createElement("div", monthPickerProps, monthPickerValues().map(function (m, i) {
3745
+ var selected = isMonthSelected(i);
3403
3746
  var monthProps = mergeProps({
3404
3747
  className: cx('month', {
3405
3748
  isMonthSelected: isMonthSelected,
@@ -3414,18 +3757,23 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3414
3757
  return onMonthCellKeydown(event, i);
3415
3758
  },
3416
3759
  'data-p-disabled': isMonthYearDisabled(i, currentYear),
3417
- 'data-p-highlight': isMonthSelected(i)
3760
+ 'data-p-highlight': selected
3418
3761
  }, ptm('month', {
3419
3762
  context: {
3420
3763
  month: m,
3421
3764
  monthIndex: i,
3422
- selected: isMonthSelected(i),
3765
+ selected: selected,
3423
3766
  disabled: isMonthYearDisabled(i, currentYear)
3424
3767
  }
3425
3768
  }));
3426
3769
  return /*#__PURE__*/React.createElement("span", _extends({}, monthProps, {
3427
3770
  key: "month".concat(i + 1)
3428
- }), m);
3771
+ }), m, selected && /*#__PURE__*/React.createElement("div", {
3772
+ "aria-live": "polite",
3773
+ className: "p-hidden-accessible",
3774
+ "data-p-hidden-accessible": true,
3775
+ pt: ptm('hiddenMonth')
3776
+ }, m));
3429
3777
  }));
3430
3778
  }
3431
3779
  return null;
@@ -3436,6 +3784,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3436
3784
  className: cx('yearPicker')
3437
3785
  }, ptm('yearPicker'));
3438
3786
  return /*#__PURE__*/React.createElement("div", yearPickerProps, yearPickerValues().map(function (y, i) {
3787
+ var selected = isYearSelected(y);
3439
3788
  var yearProps = mergeProps({
3440
3789
  className: cx('year', {
3441
3790
  isYearSelected: isYearSelected,
@@ -3445,19 +3794,27 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3445
3794
  onClick: function onClick(event) {
3446
3795
  return onYearSelect(event, y);
3447
3796
  },
3797
+ onKeyDown: function onKeyDown(event) {
3798
+ return onYearCellKeydown(event, y);
3799
+ },
3448
3800
  'data-p-highlight': isYearSelected(y),
3449
3801
  'data-p-disabled': isMonthYearDisabled(-1, y)
3450
3802
  }, ptm('year', {
3451
3803
  context: {
3452
3804
  year: y,
3453
3805
  yearIndex: i,
3454
- selected: isYearSelected(i),
3806
+ selected: selected,
3455
3807
  disabled: isMonthYearDisabled(-1, y)
3456
3808
  }
3457
3809
  }));
3458
3810
  return /*#__PURE__*/React.createElement("span", _extends({}, yearProps, {
3459
3811
  key: "year".concat(i + 1)
3460
- }), y);
3812
+ }), y, selected && /*#__PURE__*/React.createElement("div", {
3813
+ "aria-live": "polite",
3814
+ className: "p-hidden-accessible",
3815
+ "data-p-hidden-accessible": true,
3816
+ pt: ptm('hiddenYear')
3817
+ }, y));
3461
3818
  }));
3462
3819
  }
3463
3820
  return null;
@@ -3484,7 +3841,8 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3484
3841
  id: props.id,
3485
3842
  className: classNames(props.className, cx('root', {
3486
3843
  focusedState: focusedState,
3487
- isFilled: isFilled
3844
+ isFilled: isFilled,
3845
+ panelVisible: visible
3488
3846
  })),
3489
3847
  style: props.style
3490
3848
  }, CalendarBase.getOtherProps(props), ptm('root'));
@@ -3492,6 +3850,8 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
3492
3850
  ref: elementRef
3493
3851
  }, rootProps), content, /*#__PURE__*/React.createElement(CalendarPanel, {
3494
3852
  hostName: "Calendar",
3853
+ id: panelId,
3854
+ locale: props.locale,
3495
3855
  ref: overlayRef,
3496
3856
  className: panelClassName,
3497
3857
  style: props.panelStyle,