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
@@ -152,13 +152,14 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
152
152
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
153
153
  }
154
154
 
155
- 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";
155
+ 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";
156
156
  var classes = {
157
157
  root: function root(_ref) {
158
158
  var props = _ref.props,
159
159
  focusedState = _ref.focusedState,
160
- isFilled = _ref.isFilled;
161
- return utils.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));
160
+ isFilled = _ref.isFilled,
161
+ panelVisible = _ref.panelVisible;
162
+ return utils.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));
162
163
  },
163
164
  dropdownButton: 'p-datepicker-trigger',
164
165
  buttonbar: 'p-datepicker-buttonbar',
@@ -237,6 +238,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
237
238
  __TYPE: 'Calendar',
238
239
  appendTo: null,
239
240
  ariaLabelledBy: null,
241
+ ariaLabel: null,
240
242
  autoZIndex: true,
241
243
  autoFocus: false,
242
244
  baseZIndex: 0,
@@ -337,18 +339,23 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
337
339
 
338
340
  var CalendarPanel = /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
339
341
  var cx = props.cx;
342
+ var mergeProps = hooks.useMergeProps();
340
343
  var createElement = function createElement() {
341
- var panelProps = utils.mergeProps({
344
+ var panelProps = mergeProps({
342
345
  className: cx('panel', {
343
346
  panelClassName: props.className
344
347
  }),
345
348
  style: props.style,
349
+ role: props.inline ? null : 'dialog',
350
+ id: props.id,
351
+ 'aria-label': PrimeReact.localeOption('chooseDate', props.locale),
352
+ 'aria-modal': props.inline ? null : 'true',
346
353
  onClick: props.onClick,
347
354
  onMouseUp: props.onMouseUp
348
355
  }, props.ptm('panel', {
349
356
  hostName: props.hostName
350
357
  }));
351
- var transitionProps = utils.mergeProps({
358
+ var transitionProps = mergeProps({
352
359
  classNames: cx('transition'),
353
360
  "in": props["in"],
354
361
  timeout: {
@@ -384,6 +391,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
384
391
  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); }
385
392
  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; }
386
393
  var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
394
+ var mergeProps = hooks.useMergeProps();
387
395
  var context = React__namespace.useContext(PrimeReact.PrimeReactContext);
388
396
  var props = CalendarBase.getProps(inProps, context);
389
397
  var _React$useState = React__namespace.useState(false),
@@ -398,6 +406,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
398
406
  _React$useState6 = _slicedToArray(_React$useState5, 2),
399
407
  viewDateState = _React$useState6[0],
400
408
  setViewDateState = _React$useState6[1];
409
+ var _React$useState7 = React__namespace.useState(props.id),
410
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
411
+ idState = _React$useState8[0],
412
+ setIdState = _React$useState8[1];
401
413
  var metaData = {
402
414
  props: props,
403
415
  state: {
@@ -426,26 +438,29 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
426
438
  var isOverlayClicked = React__namespace.useRef(false);
427
439
  var previousButton = React__namespace.useRef(false);
428
440
  var nextButton = React__namespace.useRef(false);
441
+ var viewChangedWithKeyDown = React__namespace.useRef(false);
429
442
  var onChangeRef = React__namespace.useRef(null);
430
- var _React$useState7 = React__namespace.useState('date'),
431
- _React$useState8 = _slicedToArray(_React$useState7, 2),
432
- currentView = _React$useState8[0],
433
- setCurrentView = _React$useState8[1];
434
- var _React$useState9 = React__namespace.useState(null),
443
+ var isClearClicked = React__namespace.useRef(false);
444
+ var _React$useState9 = React__namespace.useState('date'),
435
445
  _React$useState10 = _slicedToArray(_React$useState9, 2),
436
- currentMonth = _React$useState10[0],
437
- setCurrentMonth = _React$useState10[1];
446
+ currentView = _React$useState10[0],
447
+ setCurrentView = _React$useState10[1];
438
448
  var _React$useState11 = React__namespace.useState(null),
439
449
  _React$useState12 = _slicedToArray(_React$useState11, 2),
440
- currentYear = _React$useState12[0],
441
- setCurrentYear = _React$useState12[1];
442
- var _React$useState13 = React__namespace.useState([]),
450
+ currentMonth = _React$useState12[0],
451
+ setCurrentMonth = _React$useState12[1];
452
+ var _React$useState13 = React__namespace.useState(null),
443
453
  _React$useState14 = _slicedToArray(_React$useState13, 2),
444
- yearOptions = _React$useState14[0],
445
- setYearOptions = _React$useState14[1];
454
+ currentYear = _React$useState14[0],
455
+ setCurrentYear = _React$useState14[1];
456
+ var _React$useState15 = React__namespace.useState([]),
457
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
458
+ yearOptions = _React$useState16[0],
459
+ setYearOptions = _React$useState16[1];
446
460
  var previousValue = hooks.usePrevious(props.value);
447
461
  var visible = props.inline || (props.onVisibleChange ? props.visible : overlayVisibleState);
448
462
  var attributeSelector = utils.UniqueComponentId();
463
+ var panelId = idState + '_panel';
449
464
  var _useOverlayListener = hooks.useOverlayListener({
450
465
  target: elementRef,
451
466
  overlay: overlayRef,
@@ -453,7 +468,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
453
468
  var type = _ref.type,
454
469
  valid = _ref.valid;
455
470
  if (valid) {
456
- type === 'outside' ? !isOverlayClicked.current && !isNavIconClicked(event.target) && hide('outside') : hide();
471
+ type === 'outside' ? !isOverlayClicked.current && !isNavIconClicked(event.target) && hide('outside', reFocusInputField) : hide(null, reFocusInputField);
457
472
  }
458
473
  isOverlayClicked.current = false;
459
474
  },
@@ -483,21 +498,34 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
483
498
  setFocusedState(false);
484
499
  };
485
500
  var onInputKeyDown = function onInputKeyDown(event) {
486
- switch (event.which) {
487
- //escape
488
- case 27:
501
+ switch (event.code) {
502
+ case 'ArrowDown':
489
503
  {
490
- hide();
504
+ if (!overlayVisibleState) {
505
+ show();
506
+ } else {
507
+ focusToFirstCell();
508
+ event.preventDefault();
509
+ }
491
510
  break;
492
511
  }
493
-
494
- //tab
495
- case 9:
512
+ case 'Escape':
496
513
  {
497
- visible && trapFocus(event);
514
+ hide();
498
515
  props.touchUI && disableModality();
499
516
  break;
500
517
  }
518
+ case 'Tab':
519
+ {
520
+ if (overlayRef && overlayRef.current) {
521
+ utils.DomHandler.getFocusableElements(overlayRef.current).forEach(function (el) {
522
+ return el.tabIndex = '-1';
523
+ });
524
+ hide();
525
+ props.touchUI && disableModality();
526
+ }
527
+ break;
528
+ }
501
529
  }
502
530
  };
503
531
  var onUserInput = function onUserInput(event) {
@@ -560,28 +588,40 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
560
588
  navForward(event);
561
589
  };
562
590
  var onContainerButtonKeydown = function onContainerButtonKeydown(event) {
563
- switch (event.which) {
564
- //tab
565
- case 9:
566
- trapFocus(event);
591
+ switch (event.code) {
592
+ case 'Tab':
593
+ !props.inline && trapFocus(event);
567
594
  break;
568
-
569
- //escape
570
- case 27:
595
+ case 'Escape':
571
596
  hide(null, reFocusInputField);
572
597
  event.preventDefault();
573
598
  break;
574
599
  }
575
600
  };
601
+ var onPickerKeyDown = function onPickerKeyDown(event, type, direction) {
602
+ if (event.code === 'Enter' || event.code === 'Space') {
603
+ onTimePickerElementMouseDown(event, type, direction);
604
+ event.preventDefault();
605
+ return;
606
+ }
607
+ onContainerButtonKeydown(event);
608
+ };
609
+ var onPickerKeyUp = function onPickerKeyUp(event) {
610
+ if (event.code === 'Enter' || event.code === 'Space') {
611
+ onTimePickerElementMouseUp();
612
+ event.preventDefault();
613
+ return;
614
+ }
615
+ };
576
616
  var trapFocus = function trapFocus(event) {
577
- event.preventDefault();
617
+ event === null || event === void 0 || event.preventDefault();
578
618
  var focusableElements = utils.DomHandler.getFocusableElements(overlayRef.current);
579
619
  if (focusableElements && focusableElements.length > 0) {
580
620
  if (!document.activeElement) {
581
621
  focusableElements[0].focus();
582
622
  } else {
583
623
  var focusedIndex = focusableElements.indexOf(document.activeElement);
584
- if (event.shiftKey) {
624
+ if (event !== null && event !== void 0 && event.shiftKey) {
585
625
  if (focusedIndex === -1 || focusedIndex === 0) focusableElements[focusableElements.length - 1].focus();else focusableElements[focusedIndex - 1].focus();
586
626
  } else {
587
627
  if (focusedIndex === -1 || focusedIndex === focusableElements.length - 1) focusableElements[0].focus();else focusableElements[focusedIndex + 1].focus();
@@ -614,7 +654,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
614
654
  };
615
655
  var initFocusableCell = function initFocusableCell() {
616
656
  var cell;
617
- if (props.view === 'month') {
657
+ if (currentView === 'month') {
618
658
  var cells = utils.DomHandler.find(overlayRef.current, '[data-pc-section="monthpicker"] [data-pc-section="month"]');
619
659
  var selectedCell = utils.DomHandler.findSingle(overlayRef.current, '[data-pc-section="monthpicker"] [data-pc-section="month"][data-p-highlight="true"]');
620
660
  cells.forEach(function (cell) {
@@ -632,6 +672,27 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
632
672
  cell.tabIndex = '0';
633
673
  }
634
674
  };
675
+ var focusToFirstCell = function focusToFirstCell() {
676
+ if (currentView) {
677
+ var cell;
678
+ if (currentView === 'date') {
679
+ cell = utils.DomHandler.findSingle(overlayRef.current, 'span[data-p-highlight="true"]');
680
+ if (!cell) {
681
+ var todayCell = utils.DomHandler.findSingle(overlayRef.current, 'td.p-datepicker-today span:not(.p-disabled)');
682
+ cell = todayCell || utils.DomHandler.findSingle(overlayRef.current, 'table td span:not([data-p-disabled="true"])');
683
+ }
684
+ } else if (currentView === 'month' || currentView === 'year') {
685
+ cell = utils.DomHandler.findSingle(overlayRef.current, 'span[data-p-highlight="true"]');
686
+ if (!cell) {
687
+ cell = utils.DomHandler.findSingle(overlayRef.current, "[data-pc-section=\"".concat(currentView, "picker\"] [data-pc-section=\"").concat(currentView, "\"]:not([data-p-disabled=\"true\"])"));
688
+ }
689
+ }
690
+ if (cell) {
691
+ cell.tabIndex = '0';
692
+ cell && cell.focus();
693
+ }
694
+ }
695
+ };
635
696
  var navBackward = function navBackward(event) {
636
697
  if (props.disabled) {
637
698
  event.preventDefault();
@@ -761,6 +822,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
761
822
  props.onTodayButtonClick && props.onTodayButtonClick(event);
762
823
  };
763
824
  var onClearButtonClick = function onClearButtonClick(event) {
825
+ isClearClicked.current = true;
764
826
  updateModel(event, null);
765
827
  updateInputfield(null);
766
828
  hide();
@@ -1242,23 +1304,29 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
1242
1304
  var onDateCellKeydown = function onDateCellKeydown(event, date, groupIndex) {
1243
1305
  var cellContent = event.currentTarget;
1244
1306
  var cell = cellContent.parentElement;
1245
- switch (event.which) {
1246
- //down arrow
1247
- case 40:
1307
+ var cellIndex = utils.DomHandler.index(cell);
1308
+ switch (event.code) {
1309
+ case 'ArrowDown':
1248
1310
  {
1249
1311
  cellContent.tabIndex = '-1';
1250
- var cellIndex = utils.DomHandler.index(cell);
1251
1312
  var nextRow = cell.parentElement.nextElementSibling;
1252
1313
  if (nextRow) {
1253
- var focusCell = nextRow.children[cellIndex].children[0];
1254
- if (utils.DomHandler.hasClass(focusCell, 'p-disabled')) {
1314
+ var tableRowIndex = utils.DomHandler.index(cell.parentElement);
1315
+ var tableRows = Array.from(cell.parentElement.parentElement.children);
1316
+ var nextTableRows = tableRows.slice(tableRowIndex + 1);
1317
+ var hasNextFocusableDate = nextTableRows.find(function (el) {
1318
+ var focusCell = el.children[cellIndex].children[0];
1319
+ return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
1320
+ });
1321
+ if (hasNextFocusableDate) {
1322
+ var focusCell = hasNextFocusableDate.children[cellIndex].children[0];
1323
+ focusCell.tabIndex = '0';
1324
+ focusCell.focus();
1325
+ } else {
1255
1326
  navigation.current = {
1256
1327
  backward: false
1257
1328
  };
1258
1329
  navForward(event);
1259
- } else {
1260
- nextRow.children[cellIndex].children[0].tabIndex = '0';
1261
- nextRow.children[cellIndex].children[0].focus();
1262
1330
  }
1263
1331
  } else {
1264
1332
  navigation.current = {
@@ -1269,46 +1337,58 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
1269
1337
  event.preventDefault();
1270
1338
  break;
1271
1339
  }
1272
-
1273
- //up arrow
1274
- case 38:
1340
+ case 'ArrowUp':
1275
1341
  {
1276
1342
  cellContent.tabIndex = '-1';
1277
- var _cellIndex = utils.DomHandler.index(cell);
1278
- var prevRow = cell.parentElement.previousElementSibling;
1279
- if (prevRow) {
1280
- var _focusCell = prevRow.children[_cellIndex].children[0];
1281
- if (utils.DomHandler.hasClass(_focusCell, 'p-disabled')) {
1343
+ if (event.altKey) {
1344
+ hide(null, reFocusInputField);
1345
+ } else {
1346
+ var prevRow = cell.parentElement.previousElementSibling;
1347
+ if (prevRow) {
1348
+ var _tableRowIndex = utils.DomHandler.index(cell.parentElement);
1349
+ var _tableRows = Array.from(cell.parentElement.parentElement.children);
1350
+ var prevTableRows = _tableRows.slice(0, _tableRowIndex).reverse();
1351
+ var _hasNextFocusableDate = prevTableRows.find(function (el) {
1352
+ var focusCell = el.children[cellIndex].children[0];
1353
+ return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
1354
+ });
1355
+ if (_hasNextFocusableDate) {
1356
+ var _focusCell = _hasNextFocusableDate.children[cellIndex].children[0];
1357
+ _focusCell.tabIndex = '0';
1358
+ _focusCell.focus();
1359
+ } else {
1360
+ navigation.current = {
1361
+ backward: true
1362
+ };
1363
+ navBackward(event);
1364
+ }
1365
+ } else {
1282
1366
  navigation.current = {
1283
1367
  backward: true
1284
1368
  };
1285
1369
  navBackward(event);
1286
- } else {
1287
- _focusCell.tabIndex = '0';
1288
- _focusCell.focus();
1289
1370
  }
1290
- } else {
1291
- navigation.current = {
1292
- backward: true
1293
- };
1294
- navBackward(event);
1295
1371
  }
1296
1372
  event.preventDefault();
1297
1373
  break;
1298
1374
  }
1299
-
1300
- //left arrow
1301
- case 37:
1375
+ case 'ArrowLeft':
1302
1376
  {
1303
1377
  cellContent.tabIndex = '-1';
1304
1378
  var prevCell = cell.previousElementSibling;
1305
1379
  if (prevCell) {
1306
- var _focusCell2 = prevCell.children[0];
1307
- if (utils.DomHandler.hasClass(_focusCell2, 'p-disabled')) {
1308
- navigateToMonth(true, groupIndex, event);
1309
- } else {
1380
+ var cells = Array.from(cell.parentElement.children);
1381
+ var prevCells = cells.slice(0, cellIndex).reverse();
1382
+ var _hasNextFocusableDate2 = prevCells.find(function (el) {
1383
+ var focusCell = el.children[0];
1384
+ return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
1385
+ });
1386
+ if (_hasNextFocusableDate2) {
1387
+ var _focusCell2 = _hasNextFocusableDate2.children[0];
1310
1388
  _focusCell2.tabIndex = '0';
1311
1389
  _focusCell2.focus();
1390
+ } else {
1391
+ navigateToMonth(true, groupIndex, event);
1312
1392
  }
1313
1393
  } else {
1314
1394
  navigateToMonth(true, groupIndex, event);
@@ -1316,19 +1396,23 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
1316
1396
  event.preventDefault();
1317
1397
  break;
1318
1398
  }
1319
-
1320
- //right arrow
1321
- case 39:
1399
+ case 'ArrowRight':
1322
1400
  {
1323
1401
  cellContent.tabIndex = '-1';
1324
1402
  var nextCell = cell.nextElementSibling;
1325
1403
  if (nextCell) {
1326
- var _focusCell3 = nextCell.children[0];
1327
- if (utils.DomHandler.hasClass(_focusCell3, 'p-disabled')) {
1328
- navigateToMonth(false, groupIndex, event);
1329
- } else {
1404
+ var _cells = Array.from(cell.parentElement.children);
1405
+ var nextCells = _cells.slice(cellIndex + 1);
1406
+ var _hasNextFocusableDate3 = nextCells.find(function (el) {
1407
+ var focusCell = el.children[0];
1408
+ return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
1409
+ });
1410
+ if (_hasNextFocusableDate3) {
1411
+ var _focusCell3 = _hasNextFocusableDate3.children[0];
1330
1412
  _focusCell3.tabIndex = '0';
1331
1413
  _focusCell3.focus();
1414
+ } else {
1415
+ navigateToMonth(false, groupIndex, event);
1332
1416
  }
1333
1417
  } else {
1334
1418
  navigateToMonth(false, groupIndex, event);
@@ -1336,27 +1420,75 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
1336
1420
  event.preventDefault();
1337
1421
  break;
1338
1422
  }
1339
-
1340
- //enter
1341
- case 13:
1423
+ case 'Enter':
1424
+ case 'NumpadEnter':
1425
+ case 'Space':
1342
1426
  {
1343
1427
  onDateSelect(event, date);
1344
1428
  event.preventDefault();
1345
1429
  break;
1346
1430
  }
1347
-
1348
- //escape
1349
- case 27:
1431
+ case 'Escape':
1350
1432
  {
1351
1433
  hide(null, reFocusInputField);
1352
1434
  event.preventDefault();
1353
1435
  break;
1354
1436
  }
1355
-
1356
- //tab
1357
- case 9:
1437
+ case 'Tab':
1358
1438
  {
1359
- trapFocus(event);
1439
+ if (!props.inline) trapFocus(event);
1440
+ break;
1441
+ }
1442
+ case 'Home':
1443
+ {
1444
+ cellContent.tabIndex = '-1';
1445
+ var currentRow = cell.parentElement;
1446
+ var _focusCell4 = currentRow.children[0].children[0];
1447
+ if (utils.DomHandler.getAttribute(_focusCell4, 'data-p-disabled')) {
1448
+ navigateToMonth(groupIndex, true, event);
1449
+ } else {
1450
+ _focusCell4.tabIndex = '0';
1451
+ _focusCell4.focus();
1452
+ }
1453
+ event.preventDefault();
1454
+ break;
1455
+ }
1456
+ case 'End':
1457
+ {
1458
+ cellContent.tabIndex = '-1';
1459
+ var _currentRow = cell.parentElement;
1460
+ var _focusCell5 = _currentRow.children[_currentRow.children.length - 1].children[0];
1461
+ if (utils.DomHandler.getAttribute(_focusCell5, 'data-p-disabled')) {
1462
+ navigateToMonth(groupIndex, false, event);
1463
+ } else {
1464
+ _focusCell5.tabIndex = '0';
1465
+ _focusCell5.focus();
1466
+ }
1467
+ event.preventDefault();
1468
+ break;
1469
+ }
1470
+ case 'PageUp':
1471
+ {
1472
+ cellContent.tabIndex = '-1';
1473
+ if (event.shiftKey) {
1474
+ navigation.current = {
1475
+ backward: true
1476
+ };
1477
+ navBackward(event);
1478
+ } else navigateToMonth(groupIndex, true, event);
1479
+ event.preventDefault();
1480
+ break;
1481
+ }
1482
+ case 'PageDown':
1483
+ {
1484
+ cellContent.tabIndex = '-1';
1485
+ if (event.shiftKey) {
1486
+ navigation.current = {
1487
+ backward: false
1488
+ };
1489
+ navForward(event);
1490
+ } else navigateToMonth(groupIndex, false, event);
1491
+ event.preventDefault();
1360
1492
  break;
1361
1493
  }
1362
1494
  }
@@ -1383,18 +1515,18 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
1383
1515
  navForward(event);
1384
1516
  } else {
1385
1517
  var nextMonthContainer = overlayRef.current.children[groupIndex + 1];
1386
- var _focusCell4 = utils.DomHandler.findSingle(nextMonthContainer, 'table td span:not([data-p-disabled="true"])');
1387
- _focusCell4.tabIndex = '0';
1388
- _focusCell4.focus();
1518
+ var _focusCell6 = utils.DomHandler.findSingle(nextMonthContainer, 'table td span:not([data-p-disabled="true"])');
1519
+ _focusCell6.tabIndex = '0';
1520
+ _focusCell6.focus();
1389
1521
  }
1390
1522
  }
1391
1523
  };
1392
1524
  var onMonthCellKeydown = function onMonthCellKeydown(event, index) {
1393
1525
  var cell = event.currentTarget;
1394
- switch (event.which) {
1526
+ switch (event.code) {
1395
1527
  //arrows
1396
- case 38:
1397
- case 40:
1528
+ case 'ArrowUp':
1529
+ case 'ArrowDown':
1398
1530
  {
1399
1531
  cell.tabIndex = '-1';
1400
1532
  var cells = cell.parentElement.children;
@@ -1407,51 +1539,162 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
1407
1539
  event.preventDefault();
1408
1540
  break;
1409
1541
  }
1410
-
1411
- //left arrow
1412
- case 37:
1542
+ case 'ArrowLeft':
1413
1543
  {
1414
1544
  cell.tabIndex = '-1';
1415
1545
  var prevCell = cell.previousElementSibling;
1416
1546
  if (prevCell) {
1417
1547
  prevCell.tabIndex = '0';
1418
1548
  prevCell.focus();
1549
+ } else {
1550
+ navigation.current = {
1551
+ backward: true
1552
+ };
1553
+ navBackward(event);
1419
1554
  }
1420
1555
  event.preventDefault();
1421
1556
  break;
1422
1557
  }
1423
-
1424
- //right arrow
1425
- case 39:
1558
+ case 'ArrowRight':
1426
1559
  {
1427
1560
  cell.tabIndex = '-1';
1428
1561
  var _nextCell = cell.nextElementSibling;
1429
1562
  if (_nextCell) {
1430
1563
  _nextCell.tabIndex = '0';
1431
1564
  _nextCell.focus();
1565
+ } else {
1566
+ navigation.current = {
1567
+ backward: false
1568
+ };
1569
+ navForward(event);
1432
1570
  }
1433
1571
  event.preventDefault();
1434
1572
  break;
1435
1573
  }
1436
-
1437
- //enter
1438
- case 13:
1574
+ case 'PageUp':
1575
+ {
1576
+ if (event.shiftKey) return;
1577
+ navigation.current = {
1578
+ backward: true
1579
+ };
1580
+ navBackward(event);
1581
+ break;
1582
+ }
1583
+ case 'PageDown':
1439
1584
  {
1585
+ if (event.shiftKey) return;
1586
+ navigation.current = {
1587
+ backward: false
1588
+ };
1589
+ navForward(event);
1590
+ break;
1591
+ }
1592
+ case 'Enter':
1593
+ case 'NumpadEnter':
1594
+ case 'Space':
1595
+ {
1596
+ if (props.view !== 'month') viewChangedWithKeyDown.current = true;
1440
1597
  onMonthSelect(event, index);
1441
1598
  event.preventDefault();
1442
1599
  break;
1443
1600
  }
1444
-
1445
- //escape
1446
- case 27:
1601
+ case 'Escape':
1447
1602
  {
1448
1603
  hide(null, reFocusInputField);
1449
1604
  event.preventDefault();
1450
1605
  break;
1451
1606
  }
1452
-
1453
- //tab
1454
- case 9:
1607
+ case 'Tab':
1608
+ {
1609
+ trapFocus(event);
1610
+ break;
1611
+ }
1612
+ }
1613
+ };
1614
+ var onYearCellKeydown = function onYearCellKeydown(event, index) {
1615
+ var cell = event.currentTarget;
1616
+ switch (event.code) {
1617
+ //arrows
1618
+ case 'ArrowUp':
1619
+ case 'ArrowDown':
1620
+ {
1621
+ cell.tabIndex = '-1';
1622
+ var cells = cell.parentElement.children;
1623
+ var cellIndex = utils.DomHandler.index(cell);
1624
+ var nextCell = cells[event.code === 'ArrowDown' ? cellIndex + 2 : cellIndex - 2];
1625
+ if (nextCell) {
1626
+ nextCell.tabIndex = '0';
1627
+ nextCell.focus();
1628
+ }
1629
+ event.preventDefault();
1630
+ break;
1631
+ }
1632
+ case 'ArrowLeft':
1633
+ {
1634
+ cell.tabIndex = '-1';
1635
+ var prevCell = cell.previousElementSibling;
1636
+ if (prevCell) {
1637
+ prevCell.tabIndex = '0';
1638
+ prevCell.focus();
1639
+ } else {
1640
+ navigation.current = {
1641
+ backward: true
1642
+ };
1643
+ navBackward(event);
1644
+ }
1645
+ event.preventDefault();
1646
+ break;
1647
+ }
1648
+ case 'ArrowRight':
1649
+ {
1650
+ cell.tabIndex = '-1';
1651
+ var _nextCell2 = cell.nextElementSibling;
1652
+ if (_nextCell2) {
1653
+ _nextCell2.tabIndex = '0';
1654
+ _nextCell2.focus();
1655
+ } else {
1656
+ navigation.current = {
1657
+ backward: false
1658
+ };
1659
+ navForward(event);
1660
+ }
1661
+ event.preventDefault();
1662
+ break;
1663
+ }
1664
+ case 'PageUp':
1665
+ {
1666
+ if (event.shiftKey) return;
1667
+ navigation.current = {
1668
+ backward: true
1669
+ };
1670
+ navBackward(event);
1671
+ break;
1672
+ }
1673
+ case 'PageDown':
1674
+ {
1675
+ if (event.shiftKey) return;
1676
+ navigation.current = {
1677
+ backward: false
1678
+ };
1679
+ navForward(event);
1680
+ break;
1681
+ }
1682
+ case 'Enter':
1683
+ case 'NumpadEnter':
1684
+ case 'Space':
1685
+ {
1686
+ if (props.view !== 'year') viewChangedWithKeyDown.current = true;
1687
+ onYearSelect(event, index);
1688
+ event.preventDefault();
1689
+ break;
1690
+ }
1691
+ case 'Escape':
1692
+ {
1693
+ hide(null, reFocusInputField);
1694
+ event.preventDefault();
1695
+ break;
1696
+ }
1697
+ case 'Tab':
1455
1698
  {
1456
1699
  trapFocus(event);
1457
1700
  break;
@@ -1568,10 +1811,16 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
1568
1811
  return _currentYear;
1569
1812
  };
1570
1813
  var switchToMonthView = function switchToMonthView(event) {
1814
+ if (event && event.code && (event.code === 'Enter' || event.code === 'Space')) {
1815
+ viewChangedWithKeyDown.current = true;
1816
+ }
1571
1817
  setCurrentView('month');
1572
1818
  event.preventDefault();
1573
1819
  };
1574
1820
  var switchToYearView = function switchToYearView(event) {
1821
+ if (event && event.code && (event.code === 'Enter' || event.code === 'Space')) {
1822
+ viewChangedWithKeyDown.current = true;
1823
+ }
1575
1824
  setCurrentView('year');
1576
1825
  event.preventDefault();
1577
1826
  };
@@ -1597,6 +1846,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
1597
1846
  month: month + 1,
1598
1847
  year: currentYear
1599
1848
  });
1849
+ updateViewDate(event, currentDate);
1600
1850
  }
1601
1851
  };
1602
1852
  var onYearSelect = function onYearSelect(event, year) {
@@ -1711,7 +1961,6 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
1711
1961
  var onOverlayEntered = function onOverlayEntered() {
1712
1962
  bindOverlayListener();
1713
1963
  props.onShow && props.onShow();
1714
- utils.DomHandler.focusFirstElement(overlayRef.current);
1715
1964
  setFocusedState(false);
1716
1965
  };
1717
1966
  var onOverlayExit = function onOverlayExit() {
@@ -2387,8 +2636,13 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2387
2636
  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)) {
2388
2637
  throw new Error('Invalid time');
2389
2638
  } else {
2390
- if (props.hourFormat === '12' && h !== 12 && ampm === 'PM') {
2391
- h += 12;
2639
+ if (props.hourFormat === '12') {
2640
+ if (h !== 12 && ampm === 'PM') {
2641
+ h += 12;
2642
+ }
2643
+ if (h === 12 && ampm === 'AM') {
2644
+ h -= 12;
2645
+ }
2392
2646
  }
2393
2647
  return {
2394
2648
  hour: h,
@@ -2577,6 +2831,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2577
2831
  setCurrentMonth(viewDate.getMonth());
2578
2832
  setCurrentYear(viewDate.getFullYear());
2579
2833
  setCurrentView(props.view);
2834
+ if (!idState) {
2835
+ var uniqueId = utils.UniqueComponentId();
2836
+ !idState && setIdState(uniqueId);
2837
+ }
2580
2838
  if (props.inline) {
2581
2839
  overlayRef && overlayRef.current.setAttribute(attributeSelector, '');
2582
2840
  if (!props.disabled) {
@@ -2624,8 +2882,14 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2624
2882
  // eslint-disable-next-line react-hooks/exhaustive-deps
2625
2883
  }, [props.disabled, props.mask, props.readOnlyInput]);
2626
2884
  hooks.useUpdateEffect(function () {
2627
- setCurrentView(props.view);
2885
+ if (viewChangedWithKeyDown.current) {
2886
+ setCurrentView(props.view);
2887
+ }
2888
+ viewChangedWithKeyDown.current = false;
2628
2889
  }, [props.view]);
2890
+ hooks.useUpdateEffect(function () {
2891
+ focusToFirstCell();
2892
+ }, [currentView]);
2629
2893
  hooks.useUpdateEffect(function () {
2630
2894
  if (!props.onViewDateChange && !viewStateChanged.current) {
2631
2895
  setValue(props.value);
@@ -2716,12 +2980,16 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2716
2980
  if (Array.isArray(prevPropValue)) {
2717
2981
  prevPropValue = prevPropValue[0];
2718
2982
  }
2983
+ var viewDate = props.viewDate && isValidDate(props.viewDate) ? props.viewDate : propValue && isValidDate(propValue) ? propValue : new Date();
2984
+ if (isClearClicked.current && props.showTime) {
2985
+ viewDate.setHours(0, 0, 0);
2986
+ isClearClicked.current = false;
2987
+ }
2719
2988
  if (!prevPropValue && propValue || propValue && propValue instanceof Date && propValue.getTime() !== prevPropValue.getTime()) {
2720
- var viewDate = props.viewDate && isValidDate(props.viewDate) ? props.viewDate : propValue && isValidDate(propValue) ? propValue : new Date();
2721
2989
  validateDate(viewDate);
2722
- setViewDateState(viewDate);
2723
- viewStateChanged.current = true;
2724
2990
  }
2991
+ setViewDateState(viewDate);
2992
+ viewStateChanged.current = true;
2725
2993
  };
2726
2994
  var createBackwardNavigator = function createBackwardNavigator(isVisible) {
2727
2995
  var navigatorProps = isVisible ? {
@@ -2734,16 +3002,22 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2734
3002
  visibility: 'hidden'
2735
3003
  }
2736
3004
  };
2737
- var previousIconProps = utils.mergeProps({
3005
+ var previousIconProps = mergeProps({
2738
3006
  className: cx('previousIcon')
2739
3007
  }, ptm('previousIcon'));
2740
3008
  var icon = props.prevIcon || /*#__PURE__*/React__namespace.createElement(chevronleft.ChevronLeftIcon, previousIconProps);
2741
3009
  var backwardNavigatorIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread({}, previousIconProps), {
2742
3010
  props: props
2743
3011
  });
2744
- var previousButtonProps = utils.mergeProps(_objectSpread({
3012
+ var _localeOptions4 = PrimeReact.localeOptions(props.locale),
3013
+ prevDecade = _localeOptions4.prevDecade,
3014
+ prevYear = _localeOptions4.prevYear,
3015
+ prevMonth = _localeOptions4.prevMonth;
3016
+ var previousButtonLabel = currentView === 'year' ? prevDecade : currentView === 'month' ? prevYear : prevMonth;
3017
+ var previousButtonProps = mergeProps(_objectSpread({
2745
3018
  type: 'button',
2746
- className: cx('previousButton')
3019
+ className: cx('previousButton'),
3020
+ 'aria-label': previousButtonLabel
2747
3021
  }, navigatorProps), ptm('previousButton'));
2748
3022
  return /*#__PURE__*/React__namespace.createElement("button", _extends({
2749
3023
  ref: previousButton
@@ -2760,16 +3034,22 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2760
3034
  visibility: 'hidden'
2761
3035
  }
2762
3036
  };
2763
- var nextIconProps = utils.mergeProps({
3037
+ var nextIconProps = mergeProps({
2764
3038
  className: cx('nextIcon')
2765
3039
  }, ptm('nextIcon'));
2766
3040
  var icon = props.nextIcon || /*#__PURE__*/React__namespace.createElement(chevronright.ChevronRightIcon, nextIconProps);
2767
3041
  var forwardNavigatorIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread({}, nextIconProps), {
2768
3042
  props: props
2769
3043
  });
2770
- var nextButtonProps = utils.mergeProps(_objectSpread({
3044
+ var _localeOptions5 = PrimeReact.localeOptions(props.locale),
3045
+ nextDecade = _localeOptions5.nextDecade,
3046
+ nextYear = _localeOptions5.nextYear,
3047
+ nextMonth = _localeOptions5.nextMonth;
3048
+ var nextButtonLabel = currentView === 'year' ? nextDecade : currentView === 'month' ? nextYear : nextMonth;
3049
+ var nextButtonProps = mergeProps(_objectSpread({
2771
3050
  type: 'button',
2772
- className: cx('nextButton')
3051
+ className: cx('nextButton'),
3052
+ 'aria-label': nextButtonLabel
2773
3053
  }, navigatorProps), ptm('nextButton'));
2774
3054
  return /*#__PURE__*/React__namespace.createElement("button", _extends({
2775
3055
  ref: nextButton
@@ -2795,7 +3075,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2795
3075
  var displayedMonthNames = displayedMonthOptions.map(function (option) {
2796
3076
  return option.label;
2797
3077
  });
2798
- var selectProps = utils.mergeProps({
3078
+ var selectProps = mergeProps({
2799
3079
  className: cx('select'),
2800
3080
  onChange: function onChange(e) {
2801
3081
  return onMonthDropdownChange(e, e.target.value);
@@ -2803,7 +3083,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2803
3083
  value: viewMonth
2804
3084
  }, ptm('select'));
2805
3085
  var _content = /*#__PURE__*/React__namespace.createElement("select", selectProps, displayedMonthOptions.map(function (option) {
2806
- var optionProps = utils.mergeProps({
3086
+ var optionProps = mergeProps({
2807
3087
  value: option.value
2808
3088
  }, ptm('option'));
2809
3089
  return /*#__PURE__*/React__namespace.createElement("option", _extends({}, optionProps, {
@@ -2824,8 +3104,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2824
3104
  }
2825
3105
  return _content;
2826
3106
  }
2827
- var monthTitleProps = utils.mergeProps({
3107
+ var monthTitleProps = mergeProps({
2828
3108
  className: cx('monthTitle'),
3109
+ onKeyDown: onContainerButtonKeydown,
3110
+ 'aria-label': PrimeReact.localeOption('chooseMonth', props.locale),
2829
3111
  onClick: switchToMonthView,
2830
3112
  disabled: switchViewButtonDisabled()
2831
3113
  }, ptm('monthTitle'));
@@ -2845,7 +3127,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2845
3127
  var displayedYearNames = _yearOptions2.filter(function (year) {
2846
3128
  return !(props.minDate && props.minDate.getFullYear() > year) && !(props.maxDate && props.maxDate.getFullYear() < year);
2847
3129
  });
2848
- var selectProps = utils.mergeProps({
3130
+ var selectProps = mergeProps({
2849
3131
  className: cx('select'),
2850
3132
  onChange: function onChange(e) {
2851
3133
  return onYearDropdownChange(e, e.target.value);
@@ -2853,7 +3135,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2853
3135
  value: viewYear
2854
3136
  }, ptm('select'));
2855
3137
  var _content2 = /*#__PURE__*/React__namespace.createElement("select", selectProps, displayedYearNames.map(function (year) {
2856
- var optionProps = utils.mergeProps({
3138
+ var optionProps = mergeProps({
2857
3139
  value: year
2858
3140
  }, ptm('option'));
2859
3141
  return /*#__PURE__*/React__namespace.createElement("option", _extends({}, optionProps, {
@@ -2882,8 +3164,9 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2882
3164
  return _content2;
2883
3165
  }
2884
3166
  var displayYear = props.numberOfMonths > 1 ? metaYear : currentYear;
2885
- var yearTitleProps = utils.mergeProps({
3167
+ var yearTitleProps = mergeProps({
2886
3168
  className: cx('yearTitle'),
3169
+ 'aria-label': PrimeReact.localeOption('chooseYear', props.locale),
2887
3170
  onClick: function onClick(e) {
2888
3171
  return switchToYearView(e);
2889
3172
  },
@@ -2893,11 +3176,11 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2893
3176
  };
2894
3177
  var createTitleDecadeElement = function createTitleDecadeElement() {
2895
3178
  var years = yearPickerValues();
2896
- var decadeTitleProps = utils.mergeProps({
3179
+ var decadeTitleProps = mergeProps({
2897
3180
  className: cx('decadeTitle')
2898
3181
  }, ptm('decadeTitle'));
2899
3182
  if (currentView === 'year') {
2900
- var decadeTitleTextProps = utils.mergeProps(ptm('decadeTitleText'));
3183
+ var decadeTitleTextProps = mergeProps(ptm('decadeTitleText'));
2901
3184
  return /*#__PURE__*/React__namespace.createElement("span", decadeTitleProps, props.decadeTemplate ? props.decadeTemplate(years) : /*#__PURE__*/React__namespace.createElement("span", decadeTitleTextProps, "".concat(yearPickerValues()[0], " - ").concat(yearPickerValues()[yearPickerValues().length - 1])));
2902
3185
  }
2903
3186
  return null;
@@ -2906,15 +3189,15 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2906
3189
  var month = createTitleMonthElement(monthMetaData.month, index);
2907
3190
  var year = createTitleYearElement(monthMetaData.year);
2908
3191
  var decade = createTitleDecadeElement();
2909
- var titleProps = utils.mergeProps({
3192
+ var titleProps = mergeProps({
2910
3193
  className: cx('title')
2911
3194
  }, ptm('title'));
2912
3195
  var showMonthAfterYear = PrimeReact.localeOption('showMonthAfterYear', props.locale);
2913
3196
  return /*#__PURE__*/React__namespace.createElement("div", titleProps, showMonthAfterYear ? year : month, showMonthAfterYear ? month : year, decade);
2914
3197
  };
2915
3198
  var createDayNames = function createDayNames(weekDays) {
2916
- var weekDayProps = utils.mergeProps(ptm('weekDay'));
2917
- var tableHeaderCellProps = utils.mergeProps({
3199
+ var weekDayProps = mergeProps(ptm('weekDay'));
3200
+ var tableHeaderCellProps = mergeProps({
2918
3201
  scope: 'col'
2919
3202
  }, ptm('tableHeaderCell'));
2920
3203
  var dayNames = weekDays.map(function (weekDay, index) {
@@ -2923,7 +3206,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2923
3206
  }), /*#__PURE__*/React__namespace.createElement("span", weekDayProps, weekDay));
2924
3207
  });
2925
3208
  if (props.showWeek) {
2926
- var weekHeaderProps = utils.mergeProps({
3209
+ var weekHeaderProps = mergeProps({
2927
3210
  scope: 'col',
2928
3211
  className: cx('weekHeader'),
2929
3212
  'data-p-disabled': props.showWeek
@@ -2932,7 +3215,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2932
3215
  disabled: props.showWeek
2933
3216
  }
2934
3217
  }));
2935
- var weekLabel = utils.mergeProps(ptm('weekLabel'));
3218
+ var weekLabel = mergeProps(ptm('weekLabel'));
2936
3219
  var weekHeader = /*#__PURE__*/React__namespace.createElement("th", _extends({}, weekHeaderProps, {
2937
3220
  key: "wn"
2938
3221
  }), /*#__PURE__*/React__namespace.createElement("span", weekLabel, PrimeReact.localeOption('weekHeader', props.locale)));
@@ -2942,25 +3225,33 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2942
3225
  };
2943
3226
  var createDateCellContent = function createDateCellContent(date, className, groupIndex) {
2944
3227
  var content = props.dateTemplate ? props.dateTemplate(date) : date.day;
2945
- var dayLabelProps = utils.mergeProps({
3228
+ var selected = isSelected(date);
3229
+ var dayLabelProps = mergeProps({
2946
3230
  className: cx('dayLabel', {
2947
3231
  className: className
2948
3232
  }),
3233
+ 'aria-selected': selected,
3234
+ 'aria-disabled': !date.selectable,
2949
3235
  onClick: function onClick(e) {
2950
3236
  return onDateSelect(e, date);
2951
3237
  },
2952
3238
  onKeyDown: function onKeyDown(e) {
2953
3239
  return onDateCellKeydown(e, date, groupIndex);
2954
3240
  },
2955
- 'data-p-highlight': isSelected(date),
3241
+ 'data-p-highlight': selected,
2956
3242
  'data-p-disabled': !date.selectable
2957
3243
  }, ptm('dayLabel', {
2958
3244
  context: {
2959
- selected: isSelected(date),
3245
+ selected: selected,
2960
3246
  disabled: !date.selectable
2961
3247
  }
2962
3248
  }));
2963
- return /*#__PURE__*/React__namespace.createElement("span", dayLabelProps, content);
3249
+ return /*#__PURE__*/React__namespace.createElement("span", dayLabelProps, content, selected && /*#__PURE__*/React__namespace.createElement("div", {
3250
+ "aria-live": "polite",
3251
+ className: "p-hidden-accessible",
3252
+ "data-p-hidden-accessible": true,
3253
+ pt: ptm('hiddenSelectedDay')
3254
+ }));
2964
3255
  };
2965
3256
  var createWeek = function createWeek(weekDates, weekNumber, groupIndex) {
2966
3257
  var week = weekDates.map(function (date) {
@@ -2970,10 +3261,11 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2970
3261
  'p-disabled': !date.selectable
2971
3262
  });
2972
3263
  var content = date.otherMonth && !props.showOtherMonths ? null : createDateCellContent(date, dateClassName, groupIndex);
2973
- var dayProps = utils.mergeProps({
3264
+ var dayProps = mergeProps({
2974
3265
  className: cx('day', {
2975
3266
  date: date
2976
3267
  }),
3268
+ 'aria-label': date.day,
2977
3269
  'data-p-today': date.today,
2978
3270
  'data-p-other-month': date.otherMonth
2979
3271
  }, ptm('day', {
@@ -2988,10 +3280,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
2988
3280
  }), content);
2989
3281
  });
2990
3282
  if (props.showWeek) {
2991
- var weekNumberProps = utils.mergeProps({
3283
+ var weekNumberProps = mergeProps({
2992
3284
  className: cx('weekNumber')
2993
3285
  }, ptm('weekNumber'));
2994
- var weekLabelContainerProps = utils.mergeProps({
3286
+ var weekLabelContainerProps = mergeProps({
2995
3287
  className: cx('weekLabelContainer'),
2996
3288
  'data-p-disabled': props.showWeek
2997
3289
  }, ptm('weekLabelContainer', {
@@ -3007,7 +3299,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3007
3299
  return week;
3008
3300
  };
3009
3301
  var createDates = function createDates(monthMetaData, groupIndex) {
3010
- var tableBodyRowProps = utils.mergeProps(ptm('tableBodyRowProps'));
3302
+ var tableBodyRowProps = mergeProps(ptm('tableBodyRowProps'));
3011
3303
  return monthMetaData.dates.map(function (weekDates, index) {
3012
3304
  return /*#__PURE__*/React__namespace.createElement("tr", _extends({}, tableBodyRowProps, {
3013
3305
  key: index
@@ -3017,16 +3309,17 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3017
3309
  var createDateViewGrid = function createDateViewGrid(monthMetaData, weekDays, groupIndex) {
3018
3310
  var dayNames = createDayNames(weekDays);
3019
3311
  var dates = createDates(monthMetaData, groupIndex);
3020
- var containerProps = utils.mergeProps({
3312
+ var containerProps = mergeProps({
3021
3313
  className: cx('container'),
3022
3314
  key: utils.UniqueComponentId('calendar_container_')
3023
3315
  }, ptm('container'));
3024
- var tableProps = utils.mergeProps({
3316
+ var tableProps = mergeProps({
3317
+ role: 'grid',
3025
3318
  className: cx('table')
3026
3319
  }, ptm('table'));
3027
- var tableHeaderProps = utils.mergeProps(ptm('tableHeader'));
3028
- var tableHeaderRowProps = utils.mergeProps(ptm('tableHeaderRow'));
3029
- var tableBodyProps = utils.mergeProps(ptm('tableBody'));
3320
+ var tableHeaderProps = mergeProps(ptm('tableHeader'));
3321
+ var tableHeaderRowProps = mergeProps(ptm('tableHeaderRow'));
3322
+ var tableBodyProps = mergeProps(ptm('tableBody'));
3030
3323
  return currentView === 'date' && /*#__PURE__*/React__namespace.createElement("div", containerProps, /*#__PURE__*/React__namespace.createElement("table", tableProps, /*#__PURE__*/React__namespace.createElement("thead", tableHeaderProps, /*#__PURE__*/React__namespace.createElement("tr", tableHeaderRowProps, dayNames)), /*#__PURE__*/React__namespace.createElement("tbody", tableBodyProps, dates)));
3031
3324
  };
3032
3325
  var createMonth = function createMonth(monthMetaData, index) {
@@ -3037,10 +3330,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3037
3330
  var dateViewGrid = createDateViewGrid(monthMetaData, weekDays, index);
3038
3331
  var header = props.headerTemplate ? props.headerTemplate() : null;
3039
3332
  var monthKey = monthMetaData.month + '-' + monthMetaData.year;
3040
- var groupProps = utils.mergeProps({
3333
+ var groupProps = mergeProps({
3041
3334
  className: cx('group')
3042
3335
  }, ptm('group'));
3043
- var headerProps = utils.mergeProps({
3336
+ var headerProps = mergeProps({
3044
3337
  className: cx('header'),
3045
3338
  key: index
3046
3339
  }, ptm('header'));
@@ -3050,7 +3343,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3050
3343
  };
3051
3344
  var createMonths = function createMonths(monthsMetaData) {
3052
3345
  var groups = monthsMetaData.map(createMonth);
3053
- var groupContainerProps = utils.mergeProps({
3346
+ var groupContainerProps = mergeProps({
3054
3347
  className: cx('groupContainer')
3055
3348
  }, ptm('groupContainer'));
3056
3349
  return /*#__PURE__*/React__namespace.createElement("div", groupContainerProps, groups);
@@ -3082,16 +3375,16 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3082
3375
  var forwardNavigator = createForwardNavigator(true);
3083
3376
  var yearElement = createTitleYearElement(getViewDate().getFullYear());
3084
3377
  var decade = createTitleDecadeElement();
3085
- var groupContainerProps = utils.mergeProps({
3378
+ var groupContainerProps = mergeProps({
3086
3379
  className: cx('groupContainer')
3087
3380
  }, ptm('groupContainer'));
3088
- var groupProps = utils.mergeProps({
3381
+ var groupProps = mergeProps({
3089
3382
  className: cx('group')
3090
3383
  }, ptm('group'));
3091
- var headerProps = utils.mergeProps({
3384
+ var headerProps = mergeProps({
3092
3385
  className: cx('header')
3093
3386
  }, ptm('header'));
3094
- var titleProps = utils.mergeProps({
3387
+ var titleProps = mergeProps({
3095
3388
  className: cx('title')
3096
3389
  }, ptm('title'));
3097
3390
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", groupContainerProps, /*#__PURE__*/React__namespace.createElement("div", groupProps, /*#__PURE__*/React__namespace.createElement("div", headerProps, backwardNavigator, /*#__PURE__*/React__namespace.createElement("div", titleProps, yearElement, decade), forwardNavigator))));
@@ -3106,8 +3399,8 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3106
3399
  }
3107
3400
  return null;
3108
3401
  };
3109
- var incrementIconProps = utils.mergeProps(ptm('incrementIcon'));
3110
- var decrementIconProps = utils.mergeProps(ptm('decrementIcon'));
3402
+ var incrementIconProps = mergeProps(ptm('incrementIcon'));
3403
+ var decrementIconProps = mergeProps(ptm('decrementIcon'));
3111
3404
  var incrementIcon = utils.IconUtils.getJSXIcon(props.incrementIcon || /*#__PURE__*/React__namespace.createElement(chevronup.ChevronUpIcon, incrementIconProps), _objectSpread({}, incrementIconProps), {
3112
3405
  props: props
3113
3406
  });
@@ -3124,34 +3417,41 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3124
3417
  if (props.hourFormat === '12') {
3125
3418
  if (hour === 0) hour = 12;else if (hour > 11 && hour !== 12) hour = hour - 12;
3126
3419
  }
3127
- var hourProps = utils.mergeProps(ptm('hour'));
3420
+ var hourProps = mergeProps(ptm('hour'));
3421
+ var _localeOptions6 = PrimeReact.localeOptions(props.locale),
3422
+ nextHour = _localeOptions6.nextHour,
3423
+ prevHour = _localeOptions6.prevHour;
3128
3424
  var hourDisplay = hour < 10 ? '0' + hour : hour;
3129
- var hourPickerProps = utils.mergeProps({
3425
+ var hourPickerProps = mergeProps({
3130
3426
  className: cx('hourPicker')
3131
3427
  }, ptm('hourPicker'));
3132
- var incrementButtonProps = utils.mergeProps({
3428
+ var incrementButtonProps = mergeProps({
3133
3429
  type: 'button',
3134
3430
  className: cx('incrementButton'),
3431
+ 'aria-label': nextHour,
3135
3432
  onMouseDown: function onMouseDown(e) {
3136
3433
  return onTimePickerElementMouseDown(e, 0, 1);
3137
3434
  },
3138
3435
  onMouseUp: onTimePickerElementMouseUp,
3139
3436
  onMouseLeave: onTimePickerElementMouseLeave,
3140
3437
  onKeyDown: function onKeyDown(e) {
3141
- return onContainerButtonKeydown(e);
3142
- }
3438
+ return onPickerKeyDown(e, 0, 1);
3439
+ },
3440
+ onKeyUp: onPickerKeyUp
3143
3441
  }, ptm('incrementButton'));
3144
- var decrementButtonProps = utils.mergeProps({
3442
+ var decrementButtonProps = mergeProps({
3145
3443
  type: 'button',
3146
3444
  className: cx('decrementButton'),
3445
+ 'aria-label': prevHour,
3147
3446
  onMouseDown: function onMouseDown(e) {
3148
3447
  return onTimePickerElementMouseDown(e, 0, -1);
3149
3448
  },
3150
3449
  onMouseUp: onTimePickerElementMouseUp,
3151
3450
  onMouseLeave: onTimePickerElementMouseLeave,
3152
3451
  onKeyDown: function onKeyDown(e) {
3153
- return onContainerButtonKeydown(e);
3154
- }
3452
+ return onPickerKeyDown(e, 0, -1);
3453
+ },
3454
+ onKeyUp: onPickerKeyUp
3155
3455
  }, ptm('decrementButton'));
3156
3456
  return /*#__PURE__*/React__namespace.createElement("div", hourPickerProps, /*#__PURE__*/React__namespace.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)), /*#__PURE__*/React__namespace.createElement("span", hourProps, hourDisplay), /*#__PURE__*/React__namespace.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)));
3157
3457
  };
@@ -3159,69 +3459,83 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3159
3459
  var currentTime = getCurrentDateTime();
3160
3460
  var minute = doStepMinute(currentTime.getMinutes());
3161
3461
  minute = minute > 59 ? minute - 60 : minute;
3162
- var minuteProps = utils.mergeProps(ptm('minute'));
3462
+ var minuteProps = mergeProps(ptm('minute'));
3463
+ var _localeOptions7 = PrimeReact.localeOptions(props.locale),
3464
+ nextMinute = _localeOptions7.nextMinute,
3465
+ prevMinute = _localeOptions7.prevMinute;
3163
3466
  var minuteDisplay = minute < 10 ? '0' + minute : minute;
3164
- var minutePickerProps = utils.mergeProps({
3467
+ var minutePickerProps = mergeProps({
3165
3468
  className: cx('minutePicker')
3166
3469
  }, ptm('minutePicker'));
3167
- var incrementButtonProps = utils.mergeProps({
3470
+ var incrementButtonProps = mergeProps({
3168
3471
  type: 'button',
3169
3472
  className: cx('incrementButton'),
3473
+ 'aria-label': nextMinute,
3170
3474
  onMouseDown: function onMouseDown(e) {
3171
3475
  return onTimePickerElementMouseDown(e, 1, 1);
3172
3476
  },
3173
3477
  onMouseUp: onTimePickerElementMouseUp,
3174
3478
  onMouseLeave: onTimePickerElementMouseLeave,
3175
3479
  onKeyDown: function onKeyDown(e) {
3176
- return onContainerButtonKeydown(e);
3177
- }
3480
+ return onPickerKeyDown(e, 1, 1);
3481
+ },
3482
+ onKeyUp: onPickerKeyUp
3178
3483
  }, ptm('incrementButton'));
3179
- var decrementButtonProps = utils.mergeProps({
3484
+ var decrementButtonProps = mergeProps({
3180
3485
  type: 'button',
3181
3486
  className: cx('decrementButton'),
3487
+ 'aria-label': prevMinute,
3182
3488
  onMouseDown: function onMouseDown(e) {
3183
3489
  return onTimePickerElementMouseDown(e, 1, -1);
3184
3490
  },
3185
3491
  onMouseUp: onTimePickerElementMouseUp,
3186
3492
  onMouseLeave: onTimePickerElementMouseLeave,
3187
3493
  onKeyDown: function onKeyDown(e) {
3188
- return onContainerButtonKeydown(e);
3189
- }
3494
+ return onPickerKeyDown(e, 1, -1);
3495
+ },
3496
+ onKeyUp: onPickerKeyUp
3190
3497
  }, ptm('decrementButton'));
3191
3498
  return /*#__PURE__*/React__namespace.createElement("div", minutePickerProps, /*#__PURE__*/React__namespace.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)), /*#__PURE__*/React__namespace.createElement("span", minuteProps, minuteDisplay), /*#__PURE__*/React__namespace.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)));
3192
3499
  };
3193
3500
  var createSecondPicker = function createSecondPicker() {
3194
3501
  if (props.showSeconds) {
3195
3502
  var currentTime = getCurrentDateTime();
3196
- var secondProps = utils.mergeProps(ptm('second'));
3503
+ var _localeOptions8 = PrimeReact.localeOptions(props.locale),
3504
+ nextSecond = _localeOptions8.nextSecond,
3505
+ prevSecond = _localeOptions8.prevSecond;
3506
+ var secondProps = mergeProps(ptm('second'));
3197
3507
  var second = currentTime.getSeconds();
3198
3508
  var secondDisplay = second < 10 ? '0' + second : second;
3199
- var secondPickerProps = utils.mergeProps({
3509
+ var secondPickerProps = mergeProps({
3200
3510
  className: cx('secondPicker')
3201
3511
  }, ptm('secondPicker'));
3202
- var incrementButtonProps = utils.mergeProps({
3512
+ var incrementButtonProps = mergeProps({
3203
3513
  type: 'button',
3204
3514
  className: cx('incrementButton'),
3515
+ 'aria-label': nextSecond,
3205
3516
  onMouseDown: function onMouseDown(e) {
3206
3517
  return onTimePickerElementMouseDown(e, 2, 1);
3207
3518
  },
3208
3519
  onMouseUp: onTimePickerElementMouseUp,
3209
3520
  onMouseLeave: onTimePickerElementMouseLeave,
3210
3521
  onKeyDown: function onKeyDown(e) {
3211
- return onContainerButtonKeydown(e);
3212
- }
3522
+ return onPickerKeyDown(e, 2, 1);
3523
+ },
3524
+ onKeyUp: onPickerKeyUp
3213
3525
  }, ptm('incrementButton'));
3214
- var decrementButtonProps = utils.mergeProps({
3526
+ var decrementButtonProps = mergeProps({
3215
3527
  type: 'button',
3216
3528
  className: cx('decrementButton'),
3529
+ 'aria-label': prevSecond,
3217
3530
  onMouseDown: function onMouseDown(e) {
3218
3531
  return onTimePickerElementMouseDown(e, 2, -1);
3219
3532
  },
3220
3533
  onMouseUp: onTimePickerElementMouseUp,
3221
3534
  onMouseLeave: onTimePickerElementMouseLeave,
3222
3535
  onKeyDown: function onKeyDown(e) {
3223
- return onContainerButtonKeydown(e);
3224
- }
3536
+ return onPickerKeyDown(e, 2, -1);
3537
+ },
3538
+ onKeyUp: onPickerKeyUp
3225
3539
  }, ptm('decrementButton'));
3226
3540
  return /*#__PURE__*/React__namespace.createElement("div", secondPickerProps, /*#__PURE__*/React__namespace.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)), /*#__PURE__*/React__namespace.createElement("span", secondProps, secondDisplay), /*#__PURE__*/React__namespace.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)));
3227
3541
  }
@@ -3230,35 +3544,42 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3230
3544
  var createMiliSecondPicker = function createMiliSecondPicker() {
3231
3545
  if (props.showMillisec) {
3232
3546
  var currentTime = getCurrentDateTime();
3233
- var millisecondProps = utils.mergeProps(ptm('millisecond'));
3547
+ var _localeOptions9 = PrimeReact.localeOptions(props.locale),
3548
+ nextMilliSecond = _localeOptions9.nextMilliSecond,
3549
+ prevMilliSecond = _localeOptions9.prevMilliSecond;
3550
+ var millisecondProps = mergeProps(ptm('millisecond'));
3234
3551
  var millisecond = currentTime.getMilliseconds();
3235
3552
  var millisecondDisplay = millisecond < 100 ? (millisecond < 10 ? '00' : '0') + millisecond : millisecond;
3236
- var millisecondPickerProps = utils.mergeProps({
3553
+ var millisecondPickerProps = mergeProps({
3237
3554
  className: cx('millisecondPicker')
3238
3555
  }, ptm('millisecondPicker'));
3239
- var incrementButtonProps = utils.mergeProps({
3556
+ var incrementButtonProps = mergeProps({
3240
3557
  type: 'button',
3241
3558
  className: cx('incrementButton'),
3559
+ 'aria-label': nextMilliSecond,
3242
3560
  onMouseDown: function onMouseDown(e) {
3243
3561
  return onTimePickerElementMouseDown(e, 3, 1);
3244
3562
  },
3245
3563
  onMouseUp: onTimePickerElementMouseUp,
3246
3564
  onMouseLeave: onTimePickerElementMouseLeave,
3247
3565
  onKeyDown: function onKeyDown(e) {
3248
- return onContainerButtonKeydown(e);
3249
- }
3566
+ return onPickerKeyDown(e, 3, 1);
3567
+ },
3568
+ onKeyUp: onPickerKeyUp
3250
3569
  }, ptm('incrementButton'));
3251
- var decrementButtonProps = utils.mergeProps({
3570
+ var decrementButtonProps = mergeProps({
3252
3571
  type: 'button',
3253
3572
  className: cx('decrementButton'),
3573
+ 'aria-label': prevMilliSecond,
3254
3574
  onMouseDown: function onMouseDown(e) {
3255
3575
  return onTimePickerElementMouseDown(e, 3, -1);
3256
3576
  },
3257
3577
  onMouseUp: onTimePickerElementMouseUp,
3258
3578
  onMouseLeave: onTimePickerElementMouseLeave,
3259
3579
  onKeyDown: function onKeyDown(e) {
3260
- return onContainerButtonKeydown(e);
3261
- }
3580
+ return onPickerKeyDown(e, 3, -1);
3581
+ },
3582
+ onKeyUp: onPickerKeyUp
3262
3583
  }, ptm('decrementButton'));
3263
3584
  return /*#__PURE__*/React__namespace.createElement("div", millisecondPickerProps, /*#__PURE__*/React__namespace.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)), /*#__PURE__*/React__namespace.createElement("span", millisecondProps, millisecondDisplay), /*#__PURE__*/React__namespace.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)));
3264
3585
  }
@@ -3267,22 +3588,27 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3267
3588
  var createAmPmPicker = function createAmPmPicker() {
3268
3589
  if (props.hourFormat === '12') {
3269
3590
  var currentTime = getCurrentDateTime();
3591
+ var _localeOptions10 = PrimeReact.localeOptions(props.locale),
3592
+ am = _localeOptions10.am,
3593
+ pm = _localeOptions10.pm;
3270
3594
  var hour = currentTime.getHours();
3271
3595
  var display = hour > 11 ? 'PM' : 'AM';
3272
- var ampmProps = utils.mergeProps(ptm('ampm'));
3273
- var ampmPickerProps = utils.mergeProps({
3596
+ var ampmProps = mergeProps(ptm('ampm'));
3597
+ var ampmPickerProps = mergeProps({
3274
3598
  className: cx('ampmPicker')
3275
3599
  }, ptm('ampmPicker'));
3276
- var incrementButtonProps = utils.mergeProps({
3600
+ var incrementButtonProps = mergeProps({
3277
3601
  type: 'button',
3278
3602
  className: cx('incrementButton'),
3603
+ 'aria-label': am,
3279
3604
  onClick: function onClick(e) {
3280
3605
  return toggleAmPm(e);
3281
3606
  }
3282
3607
  }, ptm('incrementButton'));
3283
- var decrementButtonProps = utils.mergeProps({
3608
+ var decrementButtonProps = mergeProps({
3284
3609
  type: 'button',
3285
3610
  className: cx('decrementButton'),
3611
+ 'aria-label': pm,
3286
3612
  onClick: function onClick(e) {
3287
3613
  return toggleAmPm(e);
3288
3614
  }
@@ -3292,15 +3618,15 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3292
3618
  return null;
3293
3619
  };
3294
3620
  var createSeparator = function createSeparator(separator) {
3295
- var separatorContainerProps = utils.mergeProps({
3621
+ var separatorContainerProps = mergeProps({
3296
3622
  className: cx('separatorContainer')
3297
3623
  }, ptm('separatorContainer'));
3298
- var separatorProps = utils.mergeProps(ptm('separator'));
3624
+ var separatorProps = mergeProps(ptm('separator'));
3299
3625
  return /*#__PURE__*/React__namespace.createElement("div", separatorContainerProps, /*#__PURE__*/React__namespace.createElement("span", separatorProps, separator));
3300
3626
  };
3301
3627
  var createTimePicker = function createTimePicker() {
3302
3628
  if ((props.showTime || props.timeOnly) && currentView === 'date') {
3303
- var timePickerProps = utils.mergeProps({
3629
+ var timePickerProps = mergeProps({
3304
3630
  className: cx('timePicker')
3305
3631
  }, ptm('timePicker'));
3306
3632
  return /*#__PURE__*/React__namespace.createElement("div", timePickerProps, createHourPicker(), createSeparator(':'), createMinutePicker(), props.showSeconds && createSeparator(':'), createSecondPicker(), props.showMillisec && createSeparator('.'), createMiliSecondPicker(), props.hourFormat === '12' && createSeparator(':'), createAmPmPicker());
@@ -3314,6 +3640,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3314
3640
  id: props.inputId,
3315
3641
  name: props.name,
3316
3642
  type: "text",
3643
+ role: "combobox",
3317
3644
  className: props.inputClassName,
3318
3645
  style: props.inputStyle,
3319
3646
  readOnly: props.readOnlyInput,
@@ -3326,7 +3653,12 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3326
3653
  onFocus: onInputFocus,
3327
3654
  onBlur: onInputBlur,
3328
3655
  onKeyDown: onInputKeyDown,
3656
+ "aria-expanded": overlayVisibleState,
3657
+ "aria-autocomplete": "none",
3658
+ "aria-haspopup": "dialog",
3659
+ "aria-controls": panelId,
3329
3660
  "aria-labelledby": props.ariaLabelledBy,
3661
+ "aria-label": props.ariaLabel,
3330
3662
  inputMode: props.inputMode,
3331
3663
  tooltip: props.tooltip,
3332
3664
  tooltipOptions: props.tooltipOptions,
@@ -3346,6 +3678,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3346
3678
  onClick: onButtonClick,
3347
3679
  tabIndex: "-1",
3348
3680
  disabled: props.disabled,
3681
+ "aria-haspopup": "dialog",
3682
+ "aria-label": PrimeReact.localeOption('chooseDate', props.locale),
3683
+ "aria-expanded": overlayVisibleState,
3684
+ "aria-controls": panelId,
3349
3685
  className: cx('dropdownButton'),
3350
3686
  pt: ptm('dropdownButton'),
3351
3687
  __parentMetadata: {
@@ -3365,21 +3701,27 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3365
3701
  };
3366
3702
  var createButtonBar = function createButtonBar() {
3367
3703
  if (props.showButtonBar) {
3368
- var _localeOptions4 = PrimeReact.localeOptions(props.locale),
3369
- today = _localeOptions4.today,
3370
- clear = _localeOptions4.clear;
3371
- var buttonbarProps = utils.mergeProps({
3704
+ var _localeOptions11 = PrimeReact.localeOptions(props.locale),
3705
+ today = _localeOptions11.today,
3706
+ clear = _localeOptions11.clear,
3707
+ now = _localeOptions11.now;
3708
+ var nowDate = new Date();
3709
+ var isHidden = props.minDate && props.minDate > nowDate || props.maxDate && props.maxDate < nowDate;
3710
+ var buttonbarProps = mergeProps({
3372
3711
  className: cx('buttonbar')
3373
3712
  }, ptm('buttonbar'));
3374
3713
  return /*#__PURE__*/React__namespace.createElement("div", buttonbarProps, /*#__PURE__*/React__namespace.createElement(button.Button, {
3375
3714
  type: "button",
3376
- label: today,
3715
+ label: props.showTime ? now : today,
3377
3716
  onClick: onTodayButtonClick,
3378
3717
  onKeyDown: function onKeyDown(e) {
3379
3718
  return onContainerButtonKeydown(e);
3380
3719
  },
3381
3720
  className: utils.classNames(props.todayButtonClassName, cx('todayButton')),
3382
- pt: ptm('todayButton')
3721
+ pt: ptm('todayButton'),
3722
+ style: isHidden ? {
3723
+ visibility: 'hidden'
3724
+ } : undefined
3383
3725
  }), /*#__PURE__*/React__namespace.createElement(button.Button, {
3384
3726
  type: "button",
3385
3727
  label: clear,
@@ -3396,7 +3738,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3396
3738
  var createFooter = function createFooter() {
3397
3739
  if (props.footerTemplate) {
3398
3740
  var _content3 = props.footerTemplate();
3399
- var footerProps = utils.mergeProps({
3741
+ var footerProps = mergeProps({
3400
3742
  className: cx('footer')
3401
3743
  }, ptm('footer'));
3402
3744
  return /*#__PURE__*/React__namespace.createElement("div", footerProps, _content3);
@@ -3405,11 +3747,12 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3405
3747
  };
3406
3748
  var createMonthPicker = function createMonthPicker() {
3407
3749
  if (currentView === 'month') {
3408
- var monthPickerProps = utils.mergeProps({
3750
+ var monthPickerProps = mergeProps({
3409
3751
  className: cx('monthPicker')
3410
3752
  }, ptm('monthPicker'));
3411
3753
  return /*#__PURE__*/React__namespace.createElement("div", monthPickerProps, monthPickerValues().map(function (m, i) {
3412
- var monthProps = utils.mergeProps({
3754
+ var selected = isMonthSelected(i);
3755
+ var monthProps = mergeProps({
3413
3756
  className: cx('month', {
3414
3757
  isMonthSelected: isMonthSelected,
3415
3758
  isMonthYearDisabled: isMonthYearDisabled,
@@ -3423,29 +3766,35 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3423
3766
  return onMonthCellKeydown(event, i);
3424
3767
  },
3425
3768
  'data-p-disabled': isMonthYearDisabled(i, currentYear),
3426
- 'data-p-highlight': isMonthSelected(i)
3769
+ 'data-p-highlight': selected
3427
3770
  }, ptm('month', {
3428
3771
  context: {
3429
3772
  month: m,
3430
3773
  monthIndex: i,
3431
- selected: isMonthSelected(i),
3774
+ selected: selected,
3432
3775
  disabled: isMonthYearDisabled(i, currentYear)
3433
3776
  }
3434
3777
  }));
3435
3778
  return /*#__PURE__*/React__namespace.createElement("span", _extends({}, monthProps, {
3436
3779
  key: "month".concat(i + 1)
3437
- }), m);
3780
+ }), m, selected && /*#__PURE__*/React__namespace.createElement("div", {
3781
+ "aria-live": "polite",
3782
+ className: "p-hidden-accessible",
3783
+ "data-p-hidden-accessible": true,
3784
+ pt: ptm('hiddenMonth')
3785
+ }, m));
3438
3786
  }));
3439
3787
  }
3440
3788
  return null;
3441
3789
  };
3442
3790
  var createYearPicker = function createYearPicker() {
3443
3791
  if (currentView === 'year') {
3444
- var yearPickerProps = utils.mergeProps({
3792
+ var yearPickerProps = mergeProps({
3445
3793
  className: cx('yearPicker')
3446
3794
  }, ptm('yearPicker'));
3447
3795
  return /*#__PURE__*/React__namespace.createElement("div", yearPickerProps, yearPickerValues().map(function (y, i) {
3448
- var yearProps = utils.mergeProps({
3796
+ var selected = isYearSelected(y);
3797
+ var yearProps = mergeProps({
3449
3798
  className: cx('year', {
3450
3799
  isYearSelected: isYearSelected,
3451
3800
  isMonthYearDisabled: isMonthYearDisabled,
@@ -3454,19 +3803,27 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3454
3803
  onClick: function onClick(event) {
3455
3804
  return onYearSelect(event, y);
3456
3805
  },
3806
+ onKeyDown: function onKeyDown(event) {
3807
+ return onYearCellKeydown(event, y);
3808
+ },
3457
3809
  'data-p-highlight': isYearSelected(y),
3458
3810
  'data-p-disabled': isMonthYearDisabled(-1, y)
3459
3811
  }, ptm('year', {
3460
3812
  context: {
3461
3813
  year: y,
3462
3814
  yearIndex: i,
3463
- selected: isYearSelected(i),
3815
+ selected: selected,
3464
3816
  disabled: isMonthYearDisabled(-1, y)
3465
3817
  }
3466
3818
  }));
3467
3819
  return /*#__PURE__*/React__namespace.createElement("span", _extends({}, yearProps, {
3468
3820
  key: "year".concat(i + 1)
3469
- }), y);
3821
+ }), y, selected && /*#__PURE__*/React__namespace.createElement("div", {
3822
+ "aria-live": "polite",
3823
+ className: "p-hidden-accessible",
3824
+ "data-p-hidden-accessible": true,
3825
+ pt: ptm('hiddenYear')
3826
+ }, y));
3470
3827
  }));
3471
3828
  }
3472
3829
  return null;
@@ -3489,11 +3846,12 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3489
3846
  var monthPicker = createMonthPicker();
3490
3847
  var yearPicker = createYearPicker();
3491
3848
  var isFilled = utils.DomHandler.hasClass(inputRef.current, 'p-filled') && inputRef.current.value !== '';
3492
- var rootProps = utils.mergeProps({
3849
+ var rootProps = mergeProps({
3493
3850
  id: props.id,
3494
3851
  className: utils.classNames(props.className, cx('root', {
3495
3852
  focusedState: focusedState,
3496
- isFilled: isFilled
3853
+ isFilled: isFilled,
3854
+ panelVisible: visible
3497
3855
  })),
3498
3856
  style: props.style
3499
3857
  }, CalendarBase.getOtherProps(props), ptm('root'));
@@ -3501,6 +3859,8 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
3501
3859
  ref: elementRef
3502
3860
  }, rootProps), content, /*#__PURE__*/React__namespace.createElement(CalendarPanel, {
3503
3861
  hostName: "Calendar",
3862
+ id: panelId,
3863
+ locale: props.locale,
3504
3864
  ref: overlayRef,
3505
3865
  className: panelClassName,
3506
3866
  style: props.panelStyle,