primeng 16.7.2 → 16.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/breadcrumb/breadcrumb.interface.d.ts +2 -2
  2. package/calendar/calendar.d.ts +10 -1
  3. package/chart/chart.d.ts +11 -1
  4. package/chips/chips.d.ts +1 -2
  5. package/dropdown/dropdown.d.ts +7 -3
  6. package/esm2022/accordion/accordion.mjs +10 -10
  7. package/esm2022/animate/animate.mjs +7 -7
  8. package/esm2022/animateonscroll/animateonscroll.mjs +7 -7
  9. package/esm2022/api/confirmationservice.mjs +3 -3
  10. package/esm2022/api/contextmenuservice.mjs +3 -3
  11. package/esm2022/api/filterservice.mjs +3 -3
  12. package/esm2022/api/messageservice.mjs +3 -3
  13. package/esm2022/api/overlayservice.mjs +3 -3
  14. package/esm2022/api/primengconfig.mjs +3 -3
  15. package/esm2022/api/shared.mjs +13 -13
  16. package/esm2022/api/treedragdropservice.mjs +3 -3
  17. package/esm2022/autocomplete/autocomplete.mjs +38 -18
  18. package/esm2022/autofocus/autofocus.mjs +7 -7
  19. package/esm2022/avatar/avatar.mjs +7 -7
  20. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  21. package/esm2022/badge/badge.mjs +10 -10
  22. package/esm2022/baseicon/baseicon.mjs +3 -3
  23. package/esm2022/blockui/blockui.mjs +7 -7
  24. package/esm2022/breadcrumb/breadcrumb.interface.mjs +1 -1
  25. package/esm2022/breadcrumb/breadcrumb.mjs +7 -7
  26. package/esm2022/button/button.mjs +10 -10
  27. package/esm2022/calendar/calendar.mjs +180 -34
  28. package/esm2022/card/card.mjs +7 -7
  29. package/esm2022/carousel/carousel.mjs +7 -7
  30. package/esm2022/cascadeselect/cascadeselect.mjs +10 -10
  31. package/esm2022/chart/chart.mjs +24 -10
  32. package/esm2022/checkbox/checkbox.mjs +7 -7
  33. package/esm2022/chip/chip.mjs +7 -7
  34. package/esm2022/chips/chips.mjs +15 -18
  35. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  36. package/esm2022/confirmdialog/confirmdialog.mjs +7 -7
  37. package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
  38. package/esm2022/contextmenu/contextmenu.mjs +18 -14
  39. package/esm2022/dataview/dataview.mjs +10 -10
  40. package/esm2022/defer/defer.mjs +7 -7
  41. package/esm2022/dialog/dialog.mjs +7 -7
  42. package/esm2022/divider/divider.mjs +7 -7
  43. package/esm2022/dock/dock.mjs +7 -7
  44. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  45. package/esm2022/dropdown/dropdown.mjs +90 -51
  46. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  47. package/esm2022/dynamicdialog/dynamicdialog.mjs +7 -7
  48. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  49. package/esm2022/editor/editor.mjs +7 -7
  50. package/esm2022/fieldset/fieldset.mjs +7 -7
  51. package/esm2022/fileupload/fileupload.mjs +18 -11
  52. package/esm2022/focustrap/focustrap.mjs +7 -7
  53. package/esm2022/galleria/galleria.mjs +19 -19
  54. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  55. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  56. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  57. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  58. package/esm2022/icons/angledown/angledown.mjs +3 -3
  59. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  60. package/esm2022/icons/angleright/angleright.mjs +3 -3
  61. package/esm2022/icons/angleup/angleup.mjs +3 -3
  62. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  63. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  64. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  65. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  66. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  67. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  68. package/esm2022/icons/ban/ban.mjs +3 -3
  69. package/esm2022/icons/bars/bars.mjs +3 -3
  70. package/esm2022/icons/calendar/calendar.mjs +3 -3
  71. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  72. package/esm2022/icons/caretright/caretright.mjs +3 -3
  73. package/esm2022/icons/check/check.mjs +3 -3
  74. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  75. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  76. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  77. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  78. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  79. package/esm2022/icons/eye/eye.mjs +3 -3
  80. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  81. package/esm2022/icons/filter/filter.mjs +3 -3
  82. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  83. package/esm2022/icons/home/home.mjs +3 -3
  84. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  85. package/esm2022/icons/minus/minus.mjs +3 -3
  86. package/esm2022/icons/pencil/pencil.mjs +3 -3
  87. package/esm2022/icons/plus/plus.mjs +3 -3
  88. package/esm2022/icons/refresh/refresh.mjs +3 -3
  89. package/esm2022/icons/search/search.mjs +3 -3
  90. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  91. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  92. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  93. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  94. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  95. package/esm2022/icons/spinner/spinner.mjs +3 -3
  96. package/esm2022/icons/star/star.mjs +3 -3
  97. package/esm2022/icons/starfill/starfill.mjs +3 -3
  98. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  99. package/esm2022/icons/times/times.mjs +3 -3
  100. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  101. package/esm2022/icons/trash/trash.mjs +3 -3
  102. package/esm2022/icons/undo/undo.mjs +3 -3
  103. package/esm2022/icons/upload/upload.mjs +3 -3
  104. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  105. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  106. package/esm2022/image/image.mjs +7 -7
  107. package/esm2022/inplace/inplace.mjs +13 -13
  108. package/esm2022/inputmask/inputmask.mjs +7 -7
  109. package/esm2022/inputnumber/inputnumber.mjs +7 -7
  110. package/esm2022/inputswitch/inputswitch.mjs +7 -7
  111. package/esm2022/inputtext/inputtext.mjs +7 -7
  112. package/esm2022/inputtextarea/inputtextarea.mjs +7 -7
  113. package/esm2022/keyfilter/keyfilter.mjs +7 -7
  114. package/esm2022/knob/knob.mjs +7 -7
  115. package/esm2022/listbox/listbox.interface.mjs +1 -1
  116. package/esm2022/listbox/listbox.mjs +52 -18
  117. package/esm2022/megamenu/megamenu.mjs +12 -14
  118. package/esm2022/menu/menu.mjs +13 -13
  119. package/esm2022/menubar/menubar.mjs +15 -15
  120. package/esm2022/message/message.mjs +7 -7
  121. package/esm2022/messages/messages.mjs +10 -10
  122. package/esm2022/multiselect/multiselect.interface.mjs +1 -1
  123. package/esm2022/multiselect/multiselect.mjs +110 -44
  124. package/esm2022/orderlist/orderlist.mjs +331 -103
  125. package/esm2022/organizationchart/organizationchart.mjs +54 -53
  126. package/esm2022/overlay/overlay.mjs +9 -9
  127. package/esm2022/overlaypanel/overlaypanel.mjs +7 -7
  128. package/esm2022/paginator/paginator.mjs +76 -25
  129. package/esm2022/panel/panel.mjs +10 -8
  130. package/esm2022/panelmenu/panelmenu.mjs +13 -13
  131. package/esm2022/password/password.mjs +13 -13
  132. package/esm2022/picklist/picklist.mjs +601 -135
  133. package/esm2022/progressbar/progressbar.mjs +7 -7
  134. package/esm2022/progressspinner/progressspinner.mjs +7 -7
  135. package/esm2022/radiobutton/radiobutton.mjs +10 -10
  136. package/esm2022/rating/rating.mjs +7 -7
  137. package/esm2022/ripple/ripple.mjs +7 -7
  138. package/esm2022/scroller/scroller.mjs +20 -16
  139. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  140. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  141. package/esm2022/selectbutton/selectbutton.mjs +7 -7
  142. package/esm2022/sidebar/sidebar.mjs +11 -11
  143. package/esm2022/skeleton/skeleton.mjs +7 -7
  144. package/esm2022/slidemenu/slidemenu.mjs +10 -10
  145. package/esm2022/slider/slider.mjs +7 -7
  146. package/esm2022/speeddial/speeddial.mjs +7 -7
  147. package/esm2022/spinner/spinner.mjs +7 -7
  148. package/esm2022/splitbutton/splitbutton.mjs +7 -7
  149. package/esm2022/splitter/splitter.mjs +10 -10
  150. package/esm2022/steps/steps.mjs +7 -7
  151. package/esm2022/styleclass/styleclass.mjs +7 -7
  152. package/esm2022/table/table.mjs +284 -154
  153. package/esm2022/tabmenu/tabmenu.mjs +7 -7
  154. package/esm2022/tabview/tabview.mjs +77 -32
  155. package/esm2022/tag/tag.mjs +7 -7
  156. package/esm2022/terminal/terminal.mjs +7 -7
  157. package/esm2022/terminal/terminalservice.mjs +3 -3
  158. package/esm2022/tieredmenu/tieredmenu.mjs +10 -10
  159. package/esm2022/timeline/timeline.mjs +25 -21
  160. package/esm2022/toast/toast.mjs +13 -13
  161. package/esm2022/togglebutton/togglebutton.mjs +7 -7
  162. package/esm2022/toolbar/toolbar.mjs +7 -7
  163. package/esm2022/tooltip/tooltip.mjs +9 -9
  164. package/esm2022/tree/tree.mjs +172 -92
  165. package/esm2022/treeselect/treeselect.mjs +134 -37
  166. package/esm2022/treetable/treetable.mjs +242 -128
  167. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +7 -7
  168. package/esm2022/virtualscroller/virtualscroller.mjs +14 -14
  169. package/fesm2022/primeng-accordion.mjs +10 -10
  170. package/fesm2022/primeng-animate.mjs +7 -7
  171. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  172. package/fesm2022/primeng-api.mjs +34 -34
  173. package/fesm2022/primeng-autocomplete.mjs +37 -17
  174. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  175. package/fesm2022/primeng-autofocus.mjs +7 -7
  176. package/fesm2022/primeng-avatar.mjs +7 -7
  177. package/fesm2022/primeng-avatargroup.mjs +7 -7
  178. package/fesm2022/primeng-badge.mjs +10 -10
  179. package/fesm2022/primeng-baseicon.mjs +3 -3
  180. package/fesm2022/primeng-blockui.mjs +7 -7
  181. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  182. package/fesm2022/primeng-button.mjs +10 -10
  183. package/fesm2022/primeng-calendar.mjs +179 -33
  184. package/fesm2022/primeng-calendar.mjs.map +1 -1
  185. package/fesm2022/primeng-card.mjs +7 -7
  186. package/fesm2022/primeng-carousel.mjs +7 -7
  187. package/fesm2022/primeng-cascadeselect.mjs +10 -10
  188. package/fesm2022/primeng-chart.mjs +23 -9
  189. package/fesm2022/primeng-chart.mjs.map +1 -1
  190. package/fesm2022/primeng-checkbox.mjs +7 -7
  191. package/fesm2022/primeng-chip.mjs +7 -7
  192. package/fesm2022/primeng-chips.mjs +14 -17
  193. package/fesm2022/primeng-chips.mjs.map +1 -1
  194. package/fesm2022/primeng-colorpicker.mjs +7 -7
  195. package/fesm2022/primeng-confirmdialog.mjs +7 -7
  196. package/fesm2022/primeng-confirmpopup.mjs +7 -7
  197. package/fesm2022/primeng-contextmenu.mjs +17 -13
  198. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  199. package/fesm2022/primeng-dataview.mjs +10 -10
  200. package/fesm2022/primeng-defer.mjs +7 -7
  201. package/fesm2022/primeng-dialog.mjs +7 -7
  202. package/fesm2022/primeng-divider.mjs +7 -7
  203. package/fesm2022/primeng-dock.mjs +7 -7
  204. package/fesm2022/primeng-dragdrop.mjs +10 -10
  205. package/fesm2022/primeng-dropdown.mjs +89 -50
  206. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  207. package/fesm2022/primeng-dynamicdialog.mjs +13 -13
  208. package/fesm2022/primeng-editor.mjs +7 -7
  209. package/fesm2022/primeng-fieldset.mjs +7 -7
  210. package/fesm2022/primeng-fileupload.mjs +17 -10
  211. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  212. package/fesm2022/primeng-focustrap.mjs +7 -7
  213. package/fesm2022/primeng-galleria.mjs +19 -19
  214. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  215. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  216. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  217. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  218. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  219. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  220. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  221. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  222. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  223. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  224. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  225. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  226. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  227. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  228. package/fesm2022/primeng-icons-ban.mjs +3 -3
  229. package/fesm2022/primeng-icons-bars.mjs +3 -3
  230. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  231. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  232. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  233. package/fesm2022/primeng-icons-check.mjs +3 -3
  234. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  235. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  236. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  237. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  238. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  239. package/fesm2022/primeng-icons-eye.mjs +3 -3
  240. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  241. package/fesm2022/primeng-icons-filter.mjs +3 -3
  242. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  243. package/fesm2022/primeng-icons-home.mjs +3 -3
  244. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  245. package/fesm2022/primeng-icons-minus.mjs +3 -3
  246. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  247. package/fesm2022/primeng-icons-plus.mjs +3 -3
  248. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  249. package/fesm2022/primeng-icons-search.mjs +3 -3
  250. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  251. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  252. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  253. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  254. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  255. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  256. package/fesm2022/primeng-icons-star.mjs +3 -3
  257. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  258. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  259. package/fesm2022/primeng-icons-times.mjs +3 -3
  260. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  261. package/fesm2022/primeng-icons-trash.mjs +3 -3
  262. package/fesm2022/primeng-icons-undo.mjs +3 -3
  263. package/fesm2022/primeng-icons-upload.mjs +3 -3
  264. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  265. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  266. package/fesm2022/primeng-image.mjs +7 -7
  267. package/fesm2022/primeng-inplace.mjs +13 -13
  268. package/fesm2022/primeng-inputmask.mjs +7 -7
  269. package/fesm2022/primeng-inputnumber.mjs +7 -7
  270. package/fesm2022/primeng-inputswitch.mjs +7 -7
  271. package/fesm2022/primeng-inputtext.mjs +7 -7
  272. package/fesm2022/primeng-inputtextarea.mjs +7 -7
  273. package/fesm2022/primeng-keyfilter.mjs +7 -7
  274. package/fesm2022/primeng-knob.mjs +7 -7
  275. package/fesm2022/primeng-listbox.mjs +51 -17
  276. package/fesm2022/primeng-listbox.mjs.map +1 -1
  277. package/fesm2022/primeng-megamenu.mjs +11 -13
  278. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  279. package/fesm2022/primeng-menu.mjs +13 -13
  280. package/fesm2022/primeng-menubar.mjs +14 -14
  281. package/fesm2022/primeng-menubar.mjs.map +1 -1
  282. package/fesm2022/primeng-message.mjs +7 -7
  283. package/fesm2022/primeng-messages.mjs +9 -9
  284. package/fesm2022/primeng-messages.mjs.map +1 -1
  285. package/fesm2022/primeng-multiselect.mjs +109 -43
  286. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  287. package/fesm2022/primeng-orderlist.mjs +334 -106
  288. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  289. package/fesm2022/primeng-organizationchart.mjs +52 -50
  290. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  291. package/fesm2022/primeng-overlay.mjs +8 -8
  292. package/fesm2022/primeng-overlay.mjs.map +1 -1
  293. package/fesm2022/primeng-overlaypanel.mjs +7 -7
  294. package/fesm2022/primeng-paginator.mjs +79 -27
  295. package/fesm2022/primeng-paginator.mjs.map +1 -1
  296. package/fesm2022/primeng-panel.mjs +9 -7
  297. package/fesm2022/primeng-panel.mjs.map +1 -1
  298. package/fesm2022/primeng-panelmenu.mjs +13 -13
  299. package/fesm2022/primeng-password.mjs +13 -13
  300. package/fesm2022/primeng-picklist.mjs +604 -138
  301. package/fesm2022/primeng-picklist.mjs.map +1 -1
  302. package/fesm2022/primeng-progressbar.mjs +7 -7
  303. package/fesm2022/primeng-progressspinner.mjs +7 -7
  304. package/fesm2022/primeng-radiobutton.mjs +10 -10
  305. package/fesm2022/primeng-rating.mjs +7 -7
  306. package/fesm2022/primeng-ripple.mjs +7 -7
  307. package/fesm2022/primeng-scroller.mjs +19 -15
  308. package/fesm2022/primeng-scroller.mjs.map +1 -1
  309. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  310. package/fesm2022/primeng-scrolltop.mjs +7 -7
  311. package/fesm2022/primeng-selectbutton.mjs +7 -7
  312. package/fesm2022/primeng-sidebar.mjs +10 -10
  313. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  314. package/fesm2022/primeng-skeleton.mjs +7 -7
  315. package/fesm2022/primeng-slidemenu.mjs +10 -10
  316. package/fesm2022/primeng-slider.mjs +7 -7
  317. package/fesm2022/primeng-speeddial.mjs +7 -7
  318. package/fesm2022/primeng-spinner.mjs +7 -7
  319. package/fesm2022/primeng-splitbutton.mjs +7 -7
  320. package/fesm2022/primeng-splitter.mjs +9 -9
  321. package/fesm2022/primeng-splitter.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +7 -7
  323. package/fesm2022/primeng-styleclass.mjs +7 -7
  324. package/fesm2022/primeng-table.mjs +283 -153
  325. package/fesm2022/primeng-table.mjs.map +1 -1
  326. package/fesm2022/primeng-tabmenu.mjs +7 -7
  327. package/fesm2022/primeng-tabview.mjs +76 -31
  328. package/fesm2022/primeng-tabview.mjs.map +1 -1
  329. package/fesm2022/primeng-tag.mjs +7 -7
  330. package/fesm2022/primeng-terminal.mjs +10 -10
  331. package/fesm2022/primeng-tieredmenu.mjs +10 -10
  332. package/fesm2022/primeng-timeline.mjs +25 -21
  333. package/fesm2022/primeng-timeline.mjs.map +1 -1
  334. package/fesm2022/primeng-toast.mjs +12 -12
  335. package/fesm2022/primeng-toast.mjs.map +1 -1
  336. package/fesm2022/primeng-togglebutton.mjs +7 -7
  337. package/fesm2022/primeng-toolbar.mjs +7 -7
  338. package/fesm2022/primeng-tooltip.mjs +8 -8
  339. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  340. package/fesm2022/primeng-tree.mjs +171 -91
  341. package/fesm2022/primeng-tree.mjs.map +1 -1
  342. package/fesm2022/primeng-treeselect.mjs +133 -36
  343. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  344. package/fesm2022/primeng-treetable.mjs +241 -127
  345. package/fesm2022/primeng-treetable.mjs.map +1 -1
  346. package/fesm2022/primeng-tristatecheckbox.mjs +7 -7
  347. package/fesm2022/primeng-virtualscroller.mjs +13 -13
  348. package/fesm2022/primeng-virtualscroller.mjs.map +1 -1
  349. package/listbox/listbox.d.ts +19 -2
  350. package/listbox/listbox.interface.d.ts +16 -1
  351. package/multiselect/multiselect.d.ts +31 -5
  352. package/multiselect/multiselect.interface.d.ts +15 -0
  353. package/orderlist/orderlist.d.ts +59 -7
  354. package/organizationchart/organizationchart.d.ts +3 -4
  355. package/package.json +54 -54
  356. package/paginator/paginator.d.ts +3 -3
  357. package/picklist/picklist.d.ts +64 -7
  358. package/resources/components/dropdown/dropdown.css +1 -7
  359. package/resources/components/messages/messages.css +1 -0
  360. package/resources/components/table/table.css +3 -3
  361. package/resources/components/toast/toast.css +1 -0
  362. package/resources/themes/arya-blue/theme.css +40 -14
  363. package/resources/themes/arya-green/theme.css +40 -14
  364. package/resources/themes/arya-orange/theme.css +40 -14
  365. package/resources/themes/arya-purple/theme.css +40 -14
  366. package/resources/themes/bootstrap4-dark-blue/theme.css +40 -14
  367. package/resources/themes/bootstrap4-dark-purple/theme.css +40 -14
  368. package/resources/themes/bootstrap4-light-blue/theme.css +40 -14
  369. package/resources/themes/bootstrap4-light-purple/theme.css +40 -14
  370. package/resources/themes/fluent-light/theme.css +40 -14
  371. package/resources/themes/lara-dark-blue/theme.css +40 -14
  372. package/resources/themes/lara-dark-indigo/theme.css +40 -14
  373. package/resources/themes/lara-dark-purple/theme.css +40 -14
  374. package/resources/themes/lara-dark-teal/theme.css +40 -14
  375. package/resources/themes/lara-light-blue/theme.css +40 -14
  376. package/resources/themes/lara-light-indigo/theme.css +40 -14
  377. package/resources/themes/lara-light-purple/theme.css +40 -14
  378. package/resources/themes/lara-light-teal/theme.css +40 -14
  379. package/resources/themes/luna-amber/theme.css +40 -14
  380. package/resources/themes/luna-blue/theme.css +40 -14
  381. package/resources/themes/luna-green/theme.css +40 -14
  382. package/resources/themes/luna-pink/theme.css +40 -14
  383. package/resources/themes/md-dark-deeppurple/theme.css +40 -14
  384. package/resources/themes/md-dark-indigo/theme.css +40 -14
  385. package/resources/themes/md-light-deeppurple/theme.css +40 -14
  386. package/resources/themes/md-light-indigo/theme.css +40 -14
  387. package/resources/themes/mdc-dark-deeppurple/theme.css +40 -14
  388. package/resources/themes/mdc-dark-indigo/theme.css +40 -14
  389. package/resources/themes/mdc-light-deeppurple/theme.css +40 -14
  390. package/resources/themes/mdc-light-indigo/theme.css +40 -14
  391. package/resources/themes/mira/theme.css +40 -14
  392. package/resources/themes/nano/theme.css +40 -14
  393. package/resources/themes/nova/theme.css +40 -14
  394. package/resources/themes/nova-accent/theme.css +40 -14
  395. package/resources/themes/nova-alt/theme.css +40 -14
  396. package/resources/themes/rhea/theme.css +40 -14
  397. package/resources/themes/saga-blue/theme.css +40 -14
  398. package/resources/themes/saga-green/theme.css +40 -14
  399. package/resources/themes/saga-orange/theme.css +40 -14
  400. package/resources/themes/saga-purple/theme.css +40 -14
  401. package/resources/themes/soho-dark/theme.css +40 -14
  402. package/resources/themes/soho-light/theme.css +40 -14
  403. package/resources/themes/tailwind-light/theme.css +40 -14
  404. package/resources/themes/vela-blue/theme.css +40 -14
  405. package/resources/themes/vela-green/theme.css +40 -14
  406. package/resources/themes/vela-orange/theme.css +40 -14
  407. package/resources/themes/vela-purple/theme.css +40 -14
  408. package/resources/themes/viva-dark/theme.css +40 -14
  409. package/resources/themes/viva-light/theme.css +40 -14
  410. package/scroller/scroller.d.ts +2 -3
  411. package/table/table.d.ts +20 -9
  412. package/tabview/tabview.d.ts +19 -2
  413. package/timeline/timeline.d.ts +1 -1
  414. package/tree/tree.d.ts +12 -1
  415. package/treeselect/treeselect.d.ts +14 -1
  416. package/treetable/treetable.d.ts +16 -2
  417. package/virtualscroller/virtualscroller.d.ts +1 -2
@@ -76,6 +76,11 @@ class Calendar {
76
76
  * @group Props
77
77
  */
78
78
  ariaLabelledBy;
79
+ /**
80
+ * Defines a string that labels the input for accessibility.
81
+ * @group Props
82
+ */
83
+ ariaLabel;
79
84
  /**
80
85
  * Defines a string that labels the icon button for accessibility.
81
86
  * @group Props
@@ -592,6 +597,7 @@ class Calendar {
592
597
  _responsiveOptions;
593
598
  currentView;
594
599
  attributeSelector;
600
+ panelId;
595
601
  _numberOfMonths = 1;
596
602
  _firstDayOfWeek;
597
603
  _view = 'date';
@@ -601,6 +607,15 @@ class Calendar {
601
607
  get locale() {
602
608
  return this._locale;
603
609
  }
610
+ get iconButtonAriaLabel() {
611
+ return this.iconAriaLabel ? this.iconAriaLabel : this.getTranslation('chooseDate');
612
+ }
613
+ get prevIconAriaLabel() {
614
+ return this.currentView === 'year' ? this.getTranslation('prevDecade') : this.currentView === 'month' ? this.getTranslation('prevYear') : this.getTranslation('prevMonth');
615
+ }
616
+ get nextIconAriaLabel() {
617
+ return this.currentView === 'year' ? this.getTranslation('nextDecade') : this.currentView === 'month' ? this.getTranslation('nextYear') : this.getTranslation('nextMonth');
618
+ }
604
619
  constructor(document, el, renderer, cd, zone, config, overlayService) {
605
620
  this.document = document;
606
621
  this.el = el;
@@ -613,6 +628,7 @@ class Calendar {
613
628
  }
614
629
  ngOnInit() {
615
630
  this.attributeSelector = UniqueComponentId();
631
+ this.panelId = this.attributeSelector + '_panel';
616
632
  const date = this.defaultDate || new Date();
617
633
  this.createResponsiveStyle();
618
634
  this.currentMonth = date.getMonth();
@@ -1344,6 +1360,7 @@ class Calendar {
1344
1360
  break;
1345
1361
  //escape
1346
1362
  case 27:
1363
+ this.inputfieldViewChild?.nativeElement.focus();
1347
1364
  this.overlayVisible = false;
1348
1365
  event.preventDefault();
1349
1366
  break;
@@ -1359,6 +1376,7 @@ class Calendar {
1359
1376
  }
1360
1377
  else if (event.keyCode === 27) {
1361
1378
  if (this.overlayVisible) {
1379
+ this.inputfieldViewChild?.nativeElement.focus();
1362
1380
  this.overlayVisible = false;
1363
1381
  event.preventDefault();
1364
1382
  }
@@ -1476,6 +1494,7 @@ class Calendar {
1476
1494
  }
1477
1495
  //escape
1478
1496
  case 27: {
1497
+ this.inputfieldViewChild?.nativeElement.focus();
1479
1498
  this.overlayVisible = false;
1480
1499
  event.preventDefault();
1481
1500
  break;
@@ -1549,6 +1568,7 @@ class Calendar {
1549
1568
  }
1550
1569
  //escape
1551
1570
  case 27: {
1571
+ this.inputfieldViewChild?.nativeElement.focus();
1552
1572
  this.overlayVisible = false;
1553
1573
  event.preventDefault();
1554
1574
  break;
@@ -1622,6 +1642,7 @@ class Calendar {
1622
1642
  }
1623
1643
  //escape
1624
1644
  case 27: {
1645
+ this.inputfieldViewChild?.nativeElement.focus();
1625
1646
  this.overlayVisible = false;
1626
1647
  event.preventDefault();
1627
1648
  break;
@@ -1781,11 +1802,23 @@ class Calendar {
1781
1802
  }
1782
1803
  }
1783
1804
  else {
1784
- if (focusedIndex == -1 || focusedIndex === focusableElements.length - 1) {
1805
+ if (focusedIndex == -1) {
1806
+ if (this.timeOnly) {
1807
+ focusableElements[0].focus();
1808
+ }
1809
+ else {
1810
+ let spanIndex = 0;
1811
+ for (let i = 0; i < focusableElements.length; i++) {
1812
+ if (focusableElements[i].tagName === 'SPAN')
1813
+ spanIndex = i;
1814
+ }
1815
+ focusableElements[spanIndex].focus();
1816
+ }
1817
+ }
1818
+ else if (focusedIndex === focusableElements.length - 1) {
1785
1819
  if (!this.focusTrap && focusedIndex != -1)
1786
1820
  return this.hideOverlay();
1787
- else
1788
- focusableElements[0].focus();
1821
+ focusableElements[0].focus();
1789
1822
  }
1790
1823
  else {
1791
1824
  focusableElements[focusedIndex + 1].focus();
@@ -2144,6 +2177,7 @@ class Calendar {
2144
2177
  }
2145
2178
  }
2146
2179
  hideOverlay() {
2180
+ this.inputfieldViewChild?.nativeElement.focus();
2147
2181
  this.overlayVisible = false;
2148
2182
  this.clearTimePickerTimer();
2149
2183
  if (this.touchUI) {
@@ -2245,6 +2279,7 @@ class Calendar {
2245
2279
  DomHandler.addMultipleClasses(this.mask, maskStyleClass);
2246
2280
  this.maskClickListener = this.renderer.listen(this.mask, 'click', (event) => {
2247
2281
  this.disableModality();
2282
+ this.overlayVisible = false;
2248
2283
  });
2249
2284
  this.renderer.appendChild(this.document.body, this.mask);
2250
2285
  DomHandler.blockBodyScroll();
@@ -2273,7 +2308,7 @@ class Calendar {
2273
2308
  }
2274
2309
  }
2275
2310
  if (!hasBlockerMasks) {
2276
- DomHandler.blockBodyScroll();
2311
+ DomHandler.unblockBodyScroll();
2277
2312
  }
2278
2313
  this.unbindAnimationEndListener();
2279
2314
  this.unbindMaskClickListener();
@@ -2606,8 +2641,9 @@ class Calendar {
2606
2641
  this.filled = (this.inputFieldValue && this.inputFieldValue != '');
2607
2642
  }
2608
2643
  onTodayButtonClick(event) {
2609
- let date = new Date();
2610
- let dateMeta = { day: date.getDate(), month: date.getMonth(), year: date.getFullYear(), otherMonth: date.getMonth() !== this.currentMonth || date.getFullYear() !== this.currentYear, today: true, selectable: true };
2644
+ const date = new Date();
2645
+ const dateMeta = { day: date.getDate(), month: date.getMonth(), year: date.getFullYear(), otherMonth: date.getMonth() !== this.currentMonth || date.getFullYear() !== this.currentYear, today: true, selectable: true };
2646
+ this.createMonths(date.getMonth(), date.getFullYear());
2611
2647
  this.onDateSelect(event, dateMeta);
2612
2648
  this.onTodayClick.emit(event);
2613
2649
  }
@@ -2742,17 +2778,24 @@ class Calendar {
2742
2778
  this.restoreOverlayAppend();
2743
2779
  this.onOverlayHide();
2744
2780
  }
2745
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Calendar, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.PrimeNGConfig }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
2746
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: Calendar, selector: "p-calendar", inputs: { style: "style", styleClass: "styleClass", inputStyle: "inputStyle", inputId: "inputId", name: "name", inputStyleClass: "inputStyleClass", placeholder: "placeholder", ariaLabelledBy: "ariaLabelledBy", iconAriaLabel: "iconAriaLabel", disabled: "disabled", dateFormat: "dateFormat", multipleSeparator: "multipleSeparator", rangeSeparator: "rangeSeparator", inline: "inline", showOtherMonths: "showOtherMonths", selectOtherMonths: "selectOtherMonths", showIcon: "showIcon", icon: "icon", appendTo: "appendTo", readonlyInput: "readonlyInput", shortYearCutoff: "shortYearCutoff", monthNavigator: "monthNavigator", yearNavigator: "yearNavigator", hourFormat: "hourFormat", timeOnly: "timeOnly", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond", showSeconds: "showSeconds", required: "required", showOnFocus: "showOnFocus", showWeek: "showWeek", showClear: "showClear", dataType: "dataType", selectionMode: "selectionMode", maxDateCount: "maxDateCount", showButtonBar: "showButtonBar", todayButtonStyleClass: "todayButtonStyleClass", clearButtonStyleClass: "clearButtonStyleClass", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", panelStyleClass: "panelStyleClass", panelStyle: "panelStyle", keepInvalid: "keepInvalid", hideOnDateTimeSelect: "hideOnDateTimeSelect", touchUI: "touchUI", timeSeparator: "timeSeparator", focusTrap: "focusTrap", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", tabindex: "tabindex", minDate: "minDate", maxDate: "maxDate", disabledDates: "disabledDates", disabledDays: "disabledDays", yearRange: "yearRange", showTime: "showTime", responsiveOptions: "responsiveOptions", numberOfMonths: "numberOfMonths", firstDayOfWeek: "firstDayOfWeek", locale: "locale", view: "view", defaultDate: "defaultDate" }, outputs: { onFocus: "onFocus", onBlur: "onBlur", onClose: "onClose", onSelect: "onSelect", onClear: "onClear", onInput: "onInput", onTodayClick: "onTodayClick", onClearClick: "onClearClick", onMonthChange: "onMonthChange", onYearChange: "onYearChange", onClickOutside: "onClickOutside", onShow: "onShow" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focus", "class.p-calendar-clearable": "showClear && !disabled" }, classAttribute: "p-element p-inputwrapper" }, providers: [CALENDAR_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "inputfieldViewChild", first: true, predicate: ["inputfield"], descendants: true }, { propertyName: "content", first: true, predicate: ["contentWrapper"], descendants: true }], ngImport: i0, template: `
2747
- <span #container [ngClass]="{ 'p-calendar': true, 'p-calendar-w-btn': showIcon, 'p-calendar-timeonly': timeOnly, 'p-calendar-disabled': disabled, 'p-focus': focus }" [ngStyle]="style" [class]="styleClass">
2781
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Calendar, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.PrimeNGConfig }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
2782
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: Calendar, selector: "p-calendar", inputs: { style: "style", styleClass: "styleClass", inputStyle: "inputStyle", inputId: "inputId", name: "name", inputStyleClass: "inputStyleClass", placeholder: "placeholder", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", iconAriaLabel: "iconAriaLabel", disabled: "disabled", dateFormat: "dateFormat", multipleSeparator: "multipleSeparator", rangeSeparator: "rangeSeparator", inline: "inline", showOtherMonths: "showOtherMonths", selectOtherMonths: "selectOtherMonths", showIcon: "showIcon", icon: "icon", appendTo: "appendTo", readonlyInput: "readonlyInput", shortYearCutoff: "shortYearCutoff", monthNavigator: "monthNavigator", yearNavigator: "yearNavigator", hourFormat: "hourFormat", timeOnly: "timeOnly", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond", showSeconds: "showSeconds", required: "required", showOnFocus: "showOnFocus", showWeek: "showWeek", showClear: "showClear", dataType: "dataType", selectionMode: "selectionMode", maxDateCount: "maxDateCount", showButtonBar: "showButtonBar", todayButtonStyleClass: "todayButtonStyleClass", clearButtonStyleClass: "clearButtonStyleClass", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", panelStyleClass: "panelStyleClass", panelStyle: "panelStyle", keepInvalid: "keepInvalid", hideOnDateTimeSelect: "hideOnDateTimeSelect", touchUI: "touchUI", timeSeparator: "timeSeparator", focusTrap: "focusTrap", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", tabindex: "tabindex", minDate: "minDate", maxDate: "maxDate", disabledDates: "disabledDates", disabledDays: "disabledDays", yearRange: "yearRange", showTime: "showTime", responsiveOptions: "responsiveOptions", numberOfMonths: "numberOfMonths", firstDayOfWeek: "firstDayOfWeek", locale: "locale", view: "view", defaultDate: "defaultDate" }, outputs: { onFocus: "onFocus", onBlur: "onBlur", onClose: "onClose", onSelect: "onSelect", onClear: "onClear", onInput: "onInput", onTodayClick: "onTodayClick", onClearClick: "onClearClick", onMonthChange: "onMonthChange", onYearChange: "onYearChange", onClickOutside: "onClickOutside", onShow: "onShow" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focus", "class.p-calendar-clearable": "showClear && !disabled" }, classAttribute: "p-element p-inputwrapper" }, providers: [CALENDAR_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "inputfieldViewChild", first: true, predicate: ["inputfield"], descendants: true }, { propertyName: "content", first: true, predicate: ["contentWrapper"], descendants: true }], ngImport: i0, template: `
2783
+ <span #container [ngClass]="{ 'p-calendar': true, 'p-calendar-w-btn': showIcon, 'p-calendar-timeonly': timeOnly, 'p-calendar-disabled': disabled, 'p-focus': focus || overlayVisible }" [ngStyle]="style" [class]="styleClass">
2748
2784
  <ng-template [ngIf]="!inline">
2749
2785
  <input
2750
2786
  #inputfield
2751
2787
  type="text"
2788
+ role="combobox"
2752
2789
  [attr.id]="inputId"
2753
2790
  [attr.name]="name"
2754
2791
  [attr.required]="required"
2755
2792
  [attr.aria-required]="required"
2793
+ aria-autocomplete="none"
2794
+ aria-haspopup="dialog"
2795
+ [attr.aria-expanded]="overlayVisible"
2796
+ [attr.aria-controls]="panelId"
2797
+ [attr.aria-labelledby]="ariaLabelledBy"
2798
+ [attr.aria-label]="ariaLabel"
2756
2799
  [value]="inputFieldValue"
2757
2800
  (focus)="onInputFocus($event)"
2758
2801
  (keydown)="onInputKeydown($event)"
@@ -2768,7 +2811,6 @@ class Calendar {
2768
2811
  [attr.inputmode]="touchUI ? 'off' : null"
2769
2812
  [ngClass]="'p-inputtext p-component'"
2770
2813
  autocomplete="off"
2771
- [attr.aria-labelledby]="ariaLabelledBy"
2772
2814
  />
2773
2815
  <ng-container *ngIf="showClear && !disabled && value != null">
2774
2816
  <TimesIcon *ngIf="!clearIconTemplate" [styleClass]="'p-calendar-clear-icon'" (click)="clear()" />
@@ -2776,7 +2818,20 @@ class Calendar {
2776
2818
  <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
2777
2819
  </span>
2778
2820
  </ng-container>
2779
- <button type="button" [attr.aria-label]="iconAriaLabel" pButton pRipple *ngIf="showIcon" (click)="onButtonClick($event, inputfield)" class="p-datepicker-trigger p-button-icon-only" [disabled]="disabled" tabindex="0">
2821
+ <button
2822
+ type="button"
2823
+ [attr.aria-label]="iconButtonAriaLabel"
2824
+ aria-haspopup="dialog"
2825
+ [attr.aria-expanded]="overlayVisible"
2826
+ [attr.aria-controls]="panelId"
2827
+ pButton
2828
+ pRipple
2829
+ *ngIf="showIcon"
2830
+ (click)="onButtonClick($event, inputfield)"
2831
+ class="p-datepicker-trigger p-button-icon-only"
2832
+ [disabled]="disabled"
2833
+ tabindex="0"
2834
+ >
2780
2835
  <span *ngIf="icon" [ngClass]="icon"></span>
2781
2836
  <ng-container *ngIf="!icon">
2782
2837
  <CalendarIcon *ngIf="!triggerIconTemplate" />
@@ -2802,6 +2857,9 @@ class Calendar {
2802
2857
  ? { value: 'visibleTouchUI', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }
2803
2858
  : { value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }
2804
2859
  "
2860
+ [attr.aria-label]="getTranslation('chooseDate')"
2861
+ [attr.role]="inline ? null : 'dialog'"
2862
+ [attr.aria-modal]="inline ? null : 'true'"
2805
2863
  [@.disabled]="inline === true"
2806
2864
  (@overlayAnimation.start)="onOverlayAnimationStart($event)"
2807
2865
  (@overlayAnimation.done)="onOverlayAnimationDone($event)"
@@ -2814,17 +2872,33 @@ class Calendar {
2814
2872
  <div class="p-datepicker-group-container">
2815
2873
  <div class="p-datepicker-group" *ngFor="let month of months; let i = index">
2816
2874
  <div class="p-datepicker-header">
2817
- <button (keydown)="onContainerButtonKeydown($event)" class="p-datepicker-prev p-link" (click)="onPrevButtonClick($event)" *ngIf="i === 0" type="button" pRipple>
2875
+ <button (keydown)="onContainerButtonKeydown($event)" class="p-datepicker-prev p-link" (click)="onPrevButtonClick($event)" *ngIf="i === 0" type="button" [attr.aria-label]="prevIconAriaLabel" pRipple>
2818
2876
  <ChevronLeftIcon [styleClass]="'p-datepicker-prev-icon'" *ngIf="!previousIconTemplate" />
2819
2877
  <span *ngIf="previousIconTemplate" class="p-datepicker-prev-icon">
2820
2878
  <ng-template *ngTemplateOutlet="previousIconTemplate"></ng-template>
2821
2879
  </span>
2822
2880
  </button>
2823
2881
  <div class="p-datepicker-title">
2824
- <button type="button" (click)="switchToMonthView($event)" (keydown)="onContainerButtonKeydown($event)" *ngIf="currentView === 'date'" class="p-datepicker-month p-link" [disabled]="switchViewButtonDisabled()">
2882
+ <button
2883
+ type="button"
2884
+ (click)="switchToMonthView($event)"
2885
+ (keydown)="onContainerButtonKeydown($event)"
2886
+ *ngIf="currentView === 'date'"
2887
+ class="p-datepicker-month p-link"
2888
+ [disabled]="switchViewButtonDisabled()"
2889
+ [attr.aria-label]="this.getTranslation('chooseMonth')"
2890
+ >
2825
2891
  {{ getMonthName(month.month) }}
2826
2892
  </button>
2827
- <button type="button" (click)="switchToYearView($event)" (keydown)="onContainerButtonKeydown($event)" *ngIf="currentView !== 'year'" class="p-datepicker-year p-link" [disabled]="switchViewButtonDisabled()">
2893
+ <button
2894
+ type="button"
2895
+ (click)="switchToYearView($event)"
2896
+ (keydown)="onContainerButtonKeydown($event)"
2897
+ *ngIf="currentView !== 'year'"
2898
+ class="p-datepicker-year p-link"
2899
+ [disabled]="switchViewButtonDisabled()"
2900
+ [attr.aria-label]="getTranslation('chooseYear')"
2901
+ >
2828
2902
  {{ getYear(month) }}
2829
2903
  </button>
2830
2904
  <span class="p-datepicker-decade" *ngIf="currentView === 'year'">
@@ -2838,6 +2912,7 @@ class Calendar {
2838
2912
  (click)="onNextButtonClick($event)"
2839
2913
  [style.display]="numberOfMonths === 1 ? 'inline-flex' : i === numberOfMonths - 1 ? 'inline-flex' : 'none'"
2840
2914
  type="button"
2915
+ [attr.aria-label]="nextIconAriaLabel"
2841
2916
  pRipple
2842
2917
  >
2843
2918
  <ChevronRightIcon [styleClass]="'p-datepicker-next-icon'" *ngIf="!nextIconTemplate" />
@@ -2847,7 +2922,7 @@ class Calendar {
2847
2922
  </button>
2848
2923
  </div>
2849
2924
  <div class="p-datepicker-calendar-container" *ngIf="currentView === 'date'">
2850
- <table class="p-datepicker-calendar">
2925
+ <table class="p-datepicker-calendar" role="grid">
2851
2926
  <thead>
2852
2927
  <tr>
2853
2928
  <th *ngIf="showWeek" class="p-datepicker-weekheader p-disabled">
@@ -2865,7 +2940,7 @@ class Calendar {
2865
2940
  {{ month.weekNumbers[j] }}
2866
2941
  </span>
2867
2942
  </td>
2868
- <td *ngFor="let date of week" [ngClass]="{ 'p-datepicker-other-month': date.otherMonth, 'p-datepicker-today': date.today }">
2943
+ <td *ngFor="let date of week" [attr.aria-label]="date.day" [ngClass]="{ 'p-datepicker-other-month': date.otherMonth, 'p-datepicker-today': date.today }">
2869
2944
  <ng-container *ngIf="date.otherMonth ? showOtherMonths : true">
2870
2945
  <span
2871
2946
  [ngClass]="{ 'p-highlight': isSelected(date) && date.selectable, 'p-disabled': !date.selectable }"
@@ -2882,6 +2957,9 @@ class Calendar {
2882
2957
  <ng-container *ngTemplateOutlet="disabledDateTemplate; context: { $implicit: date }"></ng-container>
2883
2958
  </ng-container>
2884
2959
  </span>
2960
+ <div *ngIf="isSelected(date)" class="p-hidden-accessible" aria-live="polite">
2961
+ {{ date.day }}
2962
+ </div>
2885
2963
  </ng-container>
2886
2964
  </td>
2887
2965
  </tr>
@@ -2900,6 +2978,9 @@ class Calendar {
2900
2978
  pRipple
2901
2979
  >
2902
2980
  {{ m }}
2981
+ <div *ngIf="isMonthSelected(i)" class="p-hidden-accessible" aria-live="polite">
2982
+ {{ m }}
2983
+ </div>
2903
2984
  </span>
2904
2985
  </div>
2905
2986
  <div class="p-yearpicker" *ngIf="currentView === 'year'">
@@ -2912,6 +2993,9 @@ class Calendar {
2912
2993
  pRipple
2913
2994
  >
2914
2995
  {{ y }}
2996
+ <div *ngIf="isYearSelected(y)" class="p-hidden-accessible" aria-live="polite">
2997
+ {{ y }}
2998
+ </div>
2915
2999
  </span>
2916
3000
  </div>
2917
3001
  </ng-container>
@@ -2928,6 +3012,7 @@ class Calendar {
2928
3012
  (keyup.enter)="onTimePickerElementMouseUp($event)"
2929
3013
  (keyup.space)="onTimePickerElementMouseUp($event)"
2930
3014
  (mouseleave)="onTimePickerElementMouseLeave()"
3015
+ [attr.aria-label]="getTranslation('nextHour')"
2931
3016
  pRipple
2932
3017
  >
2933
3018
  <ChevronUpIcon *ngIf="!incrementIconTemplate" />
@@ -2945,6 +3030,7 @@ class Calendar {
2945
3030
  (keyup.enter)="onTimePickerElementMouseUp($event)"
2946
3031
  (keyup.space)="onTimePickerElementMouseUp($event)"
2947
3032
  (mouseleave)="onTimePickerElementMouseLeave()"
3033
+ [attr.aria-label]="getTranslation('prevHour')"
2948
3034
  pRipple
2949
3035
  >
2950
3036
  <ChevronDownIcon *ngIf="!decrementIconTemplate" />
@@ -2966,6 +3052,7 @@ class Calendar {
2966
3052
  (keyup.enter)="onTimePickerElementMouseUp($event)"
2967
3053
  (keyup.space)="onTimePickerElementMouseUp($event)"
2968
3054
  (mouseleave)="onTimePickerElementMouseLeave()"
3055
+ [attr.aria-label]="getTranslation('nextMinute')"
2969
3056
  pRipple
2970
3057
  >
2971
3058
  <ChevronUpIcon *ngIf="!incrementIconTemplate" />
@@ -2983,6 +3070,7 @@ class Calendar {
2983
3070
  (keyup.enter)="onTimePickerElementMouseUp($event)"
2984
3071
  (keyup.space)="onTimePickerElementMouseUp($event)"
2985
3072
  (mouseleave)="onTimePickerElementMouseLeave()"
3073
+ [attr.aria-label]="getTranslation('prevMinute')"
2986
3074
  pRipple
2987
3075
  >
2988
3076
  <ChevronDownIcon *ngIf="!decrementIconTemplate" />
@@ -3004,6 +3092,7 @@ class Calendar {
3004
3092
  (keyup.enter)="onTimePickerElementMouseUp($event)"
3005
3093
  (keyup.space)="onTimePickerElementMouseUp($event)"
3006
3094
  (mouseleave)="onTimePickerElementMouseLeave()"
3095
+ [attr.aria-label]="getTranslation('nextSecond')"
3007
3096
  pRipple
3008
3097
  >
3009
3098
  <ChevronUpIcon *ngIf="!incrementIconTemplate" />
@@ -3021,6 +3110,7 @@ class Calendar {
3021
3110
  (keyup.enter)="onTimePickerElementMouseUp($event)"
3022
3111
  (keyup.space)="onTimePickerElementMouseUp($event)"
3023
3112
  (mouseleave)="onTimePickerElementMouseLeave()"
3113
+ [attr.aria-label]="getTranslation('prevSecond')"
3024
3114
  pRipple
3025
3115
  >
3026
3116
  <ChevronDownIcon *ngIf="!decrementIconTemplate" />
@@ -3028,12 +3118,12 @@ class Calendar {
3028
3118
  </button>
3029
3119
  </div>
3030
3120
  <div class="p-ampm-picker" *ngIf="hourFormat == '12'">
3031
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (click)="toggleAMPM($event)" (keydown.enter)="toggleAMPM($event)" pRipple>
3121
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (click)="toggleAMPM($event)" (keydown.enter)="toggleAMPM($event)" [attr.aria-label]="getTranslation('am')" pRipple>
3032
3122
  <ChevronUpIcon *ngIf="!incrementIconTemplate" />
3033
3123
  <ng-template *ngTemplateOutlet="incrementIconTemplate"></ng-template>
3034
3124
  </button>
3035
3125
  <span>{{ pm ? 'PM' : 'AM' }}</span>
3036
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (click)="toggleAMPM($event)" (keydown.enter)="toggleAMPM($event)" pRipple>
3126
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (click)="toggleAMPM($event)" (keydown.enter)="toggleAMPM($event)" [attr.aria-label]="getTranslation('pm')" pRipple>
3037
3127
  <ChevronDownIcon *ngIf="!decrementIconTemplate" />
3038
3128
  <ng-template *ngTemplateOutlet="decrementIconTemplate"></ng-template>
3039
3129
  </button>
@@ -3065,18 +3155,25 @@ class Calendar {
3065
3155
  ])
3066
3156
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3067
3157
  }
3068
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Calendar, decorators: [{
3158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Calendar, decorators: [{
3069
3159
  type: Component,
3070
3160
  args: [{ selector: 'p-calendar', template: `
3071
- <span #container [ngClass]="{ 'p-calendar': true, 'p-calendar-w-btn': showIcon, 'p-calendar-timeonly': timeOnly, 'p-calendar-disabled': disabled, 'p-focus': focus }" [ngStyle]="style" [class]="styleClass">
3161
+ <span #container [ngClass]="{ 'p-calendar': true, 'p-calendar-w-btn': showIcon, 'p-calendar-timeonly': timeOnly, 'p-calendar-disabled': disabled, 'p-focus': focus || overlayVisible }" [ngStyle]="style" [class]="styleClass">
3072
3162
  <ng-template [ngIf]="!inline">
3073
3163
  <input
3074
3164
  #inputfield
3075
3165
  type="text"
3166
+ role="combobox"
3076
3167
  [attr.id]="inputId"
3077
3168
  [attr.name]="name"
3078
3169
  [attr.required]="required"
3079
3170
  [attr.aria-required]="required"
3171
+ aria-autocomplete="none"
3172
+ aria-haspopup="dialog"
3173
+ [attr.aria-expanded]="overlayVisible"
3174
+ [attr.aria-controls]="panelId"
3175
+ [attr.aria-labelledby]="ariaLabelledBy"
3176
+ [attr.aria-label]="ariaLabel"
3080
3177
  [value]="inputFieldValue"
3081
3178
  (focus)="onInputFocus($event)"
3082
3179
  (keydown)="onInputKeydown($event)"
@@ -3092,7 +3189,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3092
3189
  [attr.inputmode]="touchUI ? 'off' : null"
3093
3190
  [ngClass]="'p-inputtext p-component'"
3094
3191
  autocomplete="off"
3095
- [attr.aria-labelledby]="ariaLabelledBy"
3096
3192
  />
3097
3193
  <ng-container *ngIf="showClear && !disabled && value != null">
3098
3194
  <TimesIcon *ngIf="!clearIconTemplate" [styleClass]="'p-calendar-clear-icon'" (click)="clear()" />
@@ -3100,7 +3196,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3100
3196
  <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
3101
3197
  </span>
3102
3198
  </ng-container>
3103
- <button type="button" [attr.aria-label]="iconAriaLabel" pButton pRipple *ngIf="showIcon" (click)="onButtonClick($event, inputfield)" class="p-datepicker-trigger p-button-icon-only" [disabled]="disabled" tabindex="0">
3199
+ <button
3200
+ type="button"
3201
+ [attr.aria-label]="iconButtonAriaLabel"
3202
+ aria-haspopup="dialog"
3203
+ [attr.aria-expanded]="overlayVisible"
3204
+ [attr.aria-controls]="panelId"
3205
+ pButton
3206
+ pRipple
3207
+ *ngIf="showIcon"
3208
+ (click)="onButtonClick($event, inputfield)"
3209
+ class="p-datepicker-trigger p-button-icon-only"
3210
+ [disabled]="disabled"
3211
+ tabindex="0"
3212
+ >
3104
3213
  <span *ngIf="icon" [ngClass]="icon"></span>
3105
3214
  <ng-container *ngIf="!icon">
3106
3215
  <CalendarIcon *ngIf="!triggerIconTemplate" />
@@ -3126,6 +3235,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3126
3235
  ? { value: 'visibleTouchUI', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }
3127
3236
  : { value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }
3128
3237
  "
3238
+ [attr.aria-label]="getTranslation('chooseDate')"
3239
+ [attr.role]="inline ? null : 'dialog'"
3240
+ [attr.aria-modal]="inline ? null : 'true'"
3129
3241
  [@.disabled]="inline === true"
3130
3242
  (@overlayAnimation.start)="onOverlayAnimationStart($event)"
3131
3243
  (@overlayAnimation.done)="onOverlayAnimationDone($event)"
@@ -3138,17 +3250,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3138
3250
  <div class="p-datepicker-group-container">
3139
3251
  <div class="p-datepicker-group" *ngFor="let month of months; let i = index">
3140
3252
  <div class="p-datepicker-header">
3141
- <button (keydown)="onContainerButtonKeydown($event)" class="p-datepicker-prev p-link" (click)="onPrevButtonClick($event)" *ngIf="i === 0" type="button" pRipple>
3253
+ <button (keydown)="onContainerButtonKeydown($event)" class="p-datepicker-prev p-link" (click)="onPrevButtonClick($event)" *ngIf="i === 0" type="button" [attr.aria-label]="prevIconAriaLabel" pRipple>
3142
3254
  <ChevronLeftIcon [styleClass]="'p-datepicker-prev-icon'" *ngIf="!previousIconTemplate" />
3143
3255
  <span *ngIf="previousIconTemplate" class="p-datepicker-prev-icon">
3144
3256
  <ng-template *ngTemplateOutlet="previousIconTemplate"></ng-template>
3145
3257
  </span>
3146
3258
  </button>
3147
3259
  <div class="p-datepicker-title">
3148
- <button type="button" (click)="switchToMonthView($event)" (keydown)="onContainerButtonKeydown($event)" *ngIf="currentView === 'date'" class="p-datepicker-month p-link" [disabled]="switchViewButtonDisabled()">
3260
+ <button
3261
+ type="button"
3262
+ (click)="switchToMonthView($event)"
3263
+ (keydown)="onContainerButtonKeydown($event)"
3264
+ *ngIf="currentView === 'date'"
3265
+ class="p-datepicker-month p-link"
3266
+ [disabled]="switchViewButtonDisabled()"
3267
+ [attr.aria-label]="this.getTranslation('chooseMonth')"
3268
+ >
3149
3269
  {{ getMonthName(month.month) }}
3150
3270
  </button>
3151
- <button type="button" (click)="switchToYearView($event)" (keydown)="onContainerButtonKeydown($event)" *ngIf="currentView !== 'year'" class="p-datepicker-year p-link" [disabled]="switchViewButtonDisabled()">
3271
+ <button
3272
+ type="button"
3273
+ (click)="switchToYearView($event)"
3274
+ (keydown)="onContainerButtonKeydown($event)"
3275
+ *ngIf="currentView !== 'year'"
3276
+ class="p-datepicker-year p-link"
3277
+ [disabled]="switchViewButtonDisabled()"
3278
+ [attr.aria-label]="getTranslation('chooseYear')"
3279
+ >
3152
3280
  {{ getYear(month) }}
3153
3281
  </button>
3154
3282
  <span class="p-datepicker-decade" *ngIf="currentView === 'year'">
@@ -3162,6 +3290,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3162
3290
  (click)="onNextButtonClick($event)"
3163
3291
  [style.display]="numberOfMonths === 1 ? 'inline-flex' : i === numberOfMonths - 1 ? 'inline-flex' : 'none'"
3164
3292
  type="button"
3293
+ [attr.aria-label]="nextIconAriaLabel"
3165
3294
  pRipple
3166
3295
  >
3167
3296
  <ChevronRightIcon [styleClass]="'p-datepicker-next-icon'" *ngIf="!nextIconTemplate" />
@@ -3171,7 +3300,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3171
3300
  </button>
3172
3301
  </div>
3173
3302
  <div class="p-datepicker-calendar-container" *ngIf="currentView === 'date'">
3174
- <table class="p-datepicker-calendar">
3303
+ <table class="p-datepicker-calendar" role="grid">
3175
3304
  <thead>
3176
3305
  <tr>
3177
3306
  <th *ngIf="showWeek" class="p-datepicker-weekheader p-disabled">
@@ -3189,7 +3318,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3189
3318
  {{ month.weekNumbers[j] }}
3190
3319
  </span>
3191
3320
  </td>
3192
- <td *ngFor="let date of week" [ngClass]="{ 'p-datepicker-other-month': date.otherMonth, 'p-datepicker-today': date.today }">
3321
+ <td *ngFor="let date of week" [attr.aria-label]="date.day" [ngClass]="{ 'p-datepicker-other-month': date.otherMonth, 'p-datepicker-today': date.today }">
3193
3322
  <ng-container *ngIf="date.otherMonth ? showOtherMonths : true">
3194
3323
  <span
3195
3324
  [ngClass]="{ 'p-highlight': isSelected(date) && date.selectable, 'p-disabled': !date.selectable }"
@@ -3206,6 +3335,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3206
3335
  <ng-container *ngTemplateOutlet="disabledDateTemplate; context: { $implicit: date }"></ng-container>
3207
3336
  </ng-container>
3208
3337
  </span>
3338
+ <div *ngIf="isSelected(date)" class="p-hidden-accessible" aria-live="polite">
3339
+ {{ date.day }}
3340
+ </div>
3209
3341
  </ng-container>
3210
3342
  </td>
3211
3343
  </tr>
@@ -3224,6 +3356,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3224
3356
  pRipple
3225
3357
  >
3226
3358
  {{ m }}
3359
+ <div *ngIf="isMonthSelected(i)" class="p-hidden-accessible" aria-live="polite">
3360
+ {{ m }}
3361
+ </div>
3227
3362
  </span>
3228
3363
  </div>
3229
3364
  <div class="p-yearpicker" *ngIf="currentView === 'year'">
@@ -3236,6 +3371,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3236
3371
  pRipple
3237
3372
  >
3238
3373
  {{ y }}
3374
+ <div *ngIf="isYearSelected(y)" class="p-hidden-accessible" aria-live="polite">
3375
+ {{ y }}
3376
+ </div>
3239
3377
  </span>
3240
3378
  </div>
3241
3379
  </ng-container>
@@ -3252,6 +3390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3252
3390
  (keyup.enter)="onTimePickerElementMouseUp($event)"
3253
3391
  (keyup.space)="onTimePickerElementMouseUp($event)"
3254
3392
  (mouseleave)="onTimePickerElementMouseLeave()"
3393
+ [attr.aria-label]="getTranslation('nextHour')"
3255
3394
  pRipple
3256
3395
  >
3257
3396
  <ChevronUpIcon *ngIf="!incrementIconTemplate" />
@@ -3269,6 +3408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3269
3408
  (keyup.enter)="onTimePickerElementMouseUp($event)"
3270
3409
  (keyup.space)="onTimePickerElementMouseUp($event)"
3271
3410
  (mouseleave)="onTimePickerElementMouseLeave()"
3411
+ [attr.aria-label]="getTranslation('prevHour')"
3272
3412
  pRipple
3273
3413
  >
3274
3414
  <ChevronDownIcon *ngIf="!decrementIconTemplate" />
@@ -3290,6 +3430,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3290
3430
  (keyup.enter)="onTimePickerElementMouseUp($event)"
3291
3431
  (keyup.space)="onTimePickerElementMouseUp($event)"
3292
3432
  (mouseleave)="onTimePickerElementMouseLeave()"
3433
+ [attr.aria-label]="getTranslation('nextMinute')"
3293
3434
  pRipple
3294
3435
  >
3295
3436
  <ChevronUpIcon *ngIf="!incrementIconTemplate" />
@@ -3307,6 +3448,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3307
3448
  (keyup.enter)="onTimePickerElementMouseUp($event)"
3308
3449
  (keyup.space)="onTimePickerElementMouseUp($event)"
3309
3450
  (mouseleave)="onTimePickerElementMouseLeave()"
3451
+ [attr.aria-label]="getTranslation('prevMinute')"
3310
3452
  pRipple
3311
3453
  >
3312
3454
  <ChevronDownIcon *ngIf="!decrementIconTemplate" />
@@ -3328,6 +3470,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3328
3470
  (keyup.enter)="onTimePickerElementMouseUp($event)"
3329
3471
  (keyup.space)="onTimePickerElementMouseUp($event)"
3330
3472
  (mouseleave)="onTimePickerElementMouseLeave()"
3473
+ [attr.aria-label]="getTranslation('nextSecond')"
3331
3474
  pRipple
3332
3475
  >
3333
3476
  <ChevronUpIcon *ngIf="!incrementIconTemplate" />
@@ -3345,6 +3488,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3345
3488
  (keyup.enter)="onTimePickerElementMouseUp($event)"
3346
3489
  (keyup.space)="onTimePickerElementMouseUp($event)"
3347
3490
  (mouseleave)="onTimePickerElementMouseLeave()"
3491
+ [attr.aria-label]="getTranslation('prevSecond')"
3348
3492
  pRipple
3349
3493
  >
3350
3494
  <ChevronDownIcon *ngIf="!decrementIconTemplate" />
@@ -3352,12 +3496,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3352
3496
  </button>
3353
3497
  </div>
3354
3498
  <div class="p-ampm-picker" *ngIf="hourFormat == '12'">
3355
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (click)="toggleAMPM($event)" (keydown.enter)="toggleAMPM($event)" pRipple>
3499
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (click)="toggleAMPM($event)" (keydown.enter)="toggleAMPM($event)" [attr.aria-label]="getTranslation('am')" pRipple>
3356
3500
  <ChevronUpIcon *ngIf="!incrementIconTemplate" />
3357
3501
  <ng-template *ngTemplateOutlet="incrementIconTemplate"></ng-template>
3358
3502
  </button>
3359
3503
  <span>{{ pm ? 'PM' : 'AM' }}</span>
3360
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (click)="toggleAMPM($event)" (keydown.enter)="toggleAMPM($event)" pRipple>
3504
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (click)="toggleAMPM($event)" (keydown.enter)="toggleAMPM($event)" [attr.aria-label]="getTranslation('pm')" pRipple>
3361
3505
  <ChevronDownIcon *ngIf="!decrementIconTemplate" />
3362
3506
  <ng-template *ngTemplateOutlet="decrementIconTemplate"></ng-template>
3363
3507
  </button>
@@ -3412,6 +3556,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3412
3556
  type: Input
3413
3557
  }], ariaLabelledBy: [{
3414
3558
  type: Input
3559
+ }], ariaLabel: [{
3560
+ type: Input
3415
3561
  }], iconAriaLabel: [{
3416
3562
  type: Input
3417
3563
  }], disabled: [{
@@ -3560,11 +3706,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3560
3706
  args: ['contentWrapper', { static: false }]
3561
3707
  }] } });
3562
3708
  class CalendarModule {
3563
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: CalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3564
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: CalendarModule, declarations: [Calendar], imports: [CommonModule, ButtonModule, SharedModule, RippleModule, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, TimesIcon, CalendarIcon], exports: [Calendar, ButtonModule, SharedModule] });
3565
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: CalendarModule, imports: [CommonModule, ButtonModule, SharedModule, RippleModule, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, TimesIcon, CalendarIcon, ButtonModule, SharedModule] });
3709
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3710
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: CalendarModule, declarations: [Calendar], imports: [CommonModule, ButtonModule, SharedModule, RippleModule, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, TimesIcon, CalendarIcon], exports: [Calendar, ButtonModule, SharedModule] });
3711
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CalendarModule, imports: [CommonModule, ButtonModule, SharedModule, RippleModule, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, TimesIcon, CalendarIcon, ButtonModule, SharedModule] });
3566
3712
  }
3567
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: CalendarModule, decorators: [{
3713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CalendarModule, decorators: [{
3568
3714
  type: NgModule,
3569
3715
  args: [{
3570
3716
  imports: [CommonModule, ButtonModule, SharedModule, RippleModule, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, TimesIcon, CalendarIcon],