primeng 16.1.0 → 16.2.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 (419) hide show
  1. package/accordion/accordion.d.ts +14 -2
  2. package/api/primengconfig.d.ts +1 -1
  3. package/api/translation.d.ts +78 -23
  4. package/button/button.d.ts +1 -1
  5. package/carousel/carousel.d.ts +17 -1
  6. package/confirmdialog/confirmdialog.d.ts +7 -1
  7. package/contextmenu/contextmenu.d.ts +3 -1
  8. package/dialog/dialog.d.ts +1 -0
  9. package/dynamicdialog/dynamicdialog-config.d.ts +4 -0
  10. package/dynamicdialog/dynamicdialog.d.ts +2 -0
  11. package/esm2022/accordion/accordion.mjs +45 -17
  12. package/esm2022/animate/animate.mjs +7 -7
  13. package/esm2022/api/confirmationservice.mjs +3 -3
  14. package/esm2022/api/contextmenuservice.mjs +3 -3
  15. package/esm2022/api/filterservice.mjs +3 -3
  16. package/esm2022/api/messageservice.mjs +3 -3
  17. package/esm2022/api/overlayservice.mjs +3 -3
  18. package/esm2022/api/primengconfig.mjs +4 -4
  19. package/esm2022/api/shared.mjs +13 -13
  20. package/esm2022/api/translation.mjs +1 -1
  21. package/esm2022/api/treedragdropservice.mjs +3 -3
  22. package/esm2022/autocomplete/autocomplete.mjs +7 -7
  23. package/esm2022/autofocus/autofocus.mjs +7 -7
  24. package/esm2022/avatar/avatar.mjs +7 -7
  25. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  26. package/esm2022/badge/badge.mjs +10 -10
  27. package/esm2022/baseicon/baseicon.mjs +3 -3
  28. package/esm2022/blockui/blockui.mjs +7 -7
  29. package/esm2022/breadcrumb/breadcrumb.mjs +7 -7
  30. package/esm2022/button/button.mjs +44 -31
  31. package/esm2022/calendar/calendar.mjs +7 -7
  32. package/esm2022/card/card.mjs +7 -7
  33. package/esm2022/carousel/carousel.mjs +153 -27
  34. package/esm2022/cascadeselect/cascadeselect.mjs +10 -10
  35. package/esm2022/chart/chart.mjs +7 -7
  36. package/esm2022/checkbox/checkbox.mjs +7 -7
  37. package/esm2022/chip/chip.mjs +7 -7
  38. package/esm2022/chips/chips.mjs +7 -7
  39. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  40. package/esm2022/confirmdialog/confirmdialog.mjs +28 -12
  41. package/esm2022/confirmpopup/confirmpopup.mjs +10 -8
  42. package/esm2022/contextmenu/contextmenu.mjs +19 -15
  43. package/esm2022/dataview/dataview.mjs +10 -10
  44. package/esm2022/defer/defer.mjs +7 -7
  45. package/esm2022/dialog/dialog.mjs +21 -16
  46. package/esm2022/divider/divider.mjs +7 -7
  47. package/esm2022/dock/dock.mjs +7 -7
  48. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  49. package/esm2022/dropdown/dropdown.mjs +10 -10
  50. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  51. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +5 -1
  52. package/esm2022/dynamicdialog/dynamicdialog.mjs +23 -13
  53. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  54. package/esm2022/editor/editor.mjs +7 -7
  55. package/esm2022/fieldset/fieldset.mjs +7 -7
  56. package/esm2022/fileupload/fileupload.mjs +56 -48
  57. package/esm2022/focustrap/focustrap.mjs +7 -7
  58. package/esm2022/galleria/galleria.mjs +257 -48
  59. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  60. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  61. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  62. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  63. package/esm2022/icons/angledown/angledown.mjs +3 -3
  64. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  65. package/esm2022/icons/angleright/angleright.mjs +3 -3
  66. package/esm2022/icons/angleup/angleup.mjs +3 -3
  67. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  68. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  69. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  70. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  71. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  72. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  73. package/esm2022/icons/ban/ban.mjs +3 -3
  74. package/esm2022/icons/bars/bars.mjs +3 -3
  75. package/esm2022/icons/calendar/calendar.mjs +3 -3
  76. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  77. package/esm2022/icons/caretright/caretright.mjs +3 -3
  78. package/esm2022/icons/check/check.mjs +3 -3
  79. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  80. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  81. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  82. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  83. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  84. package/esm2022/icons/eye/eye.mjs +3 -3
  85. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  86. package/esm2022/icons/filter/filter.mjs +3 -3
  87. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  88. package/esm2022/icons/home/home.mjs +3 -3
  89. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  90. package/esm2022/icons/minus/minus.mjs +3 -3
  91. package/esm2022/icons/pencil/pencil.mjs +3 -3
  92. package/esm2022/icons/plus/plus.mjs +3 -3
  93. package/esm2022/icons/refresh/refresh.mjs +3 -3
  94. package/esm2022/icons/search/search.mjs +3 -3
  95. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  96. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  97. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  98. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  99. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  100. package/esm2022/icons/spinner/spinner.mjs +3 -3
  101. package/esm2022/icons/star/star.mjs +3 -3
  102. package/esm2022/icons/starfill/starfill.mjs +3 -3
  103. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  104. package/esm2022/icons/times/times.mjs +3 -3
  105. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  106. package/esm2022/icons/trash/trash.mjs +3 -3
  107. package/esm2022/icons/undo/undo.mjs +3 -3
  108. package/esm2022/icons/upload/upload.mjs +3 -3
  109. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  110. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  111. package/esm2022/image/image.mjs +67 -26
  112. package/esm2022/inplace/inplace.mjs +13 -13
  113. package/esm2022/inputmask/inputmask.mjs +7 -7
  114. package/esm2022/inputnumber/inputnumber.mjs +18 -8
  115. package/esm2022/inputswitch/inputswitch.mjs +7 -7
  116. package/esm2022/inputtext/inputtext.mjs +7 -7
  117. package/esm2022/inputtextarea/inputtextarea.mjs +7 -7
  118. package/esm2022/keyfilter/keyfilter.mjs +7 -7
  119. package/esm2022/knob/knob.mjs +7 -7
  120. package/esm2022/listbox/listbox.mjs +7 -7
  121. package/esm2022/megamenu/megamenu.mjs +23 -14
  122. package/esm2022/menu/menu.mjs +20 -20
  123. package/esm2022/menubar/menubar.mjs +28 -19
  124. package/esm2022/message/message.mjs +7 -7
  125. package/esm2022/messages/messages.mjs +34 -34
  126. package/esm2022/multiselect/multiselect.mjs +12 -11
  127. package/esm2022/orderlist/orderlist.mjs +7 -7
  128. package/esm2022/organizationchart/organizationchart.mjs +15 -15
  129. package/esm2022/overlay/overlay.mjs +7 -7
  130. package/esm2022/overlaypanel/overlaypanel.mjs +12 -8
  131. package/esm2022/paginator/paginator.mjs +7 -7
  132. package/esm2022/panel/panel.mjs +7 -7
  133. package/esm2022/panelmenu/panelmenu.mjs +54 -35
  134. package/esm2022/password/password.mjs +13 -13
  135. package/esm2022/picklist/picklist.mjs +7 -7
  136. package/esm2022/progressbar/progressbar.mjs +7 -7
  137. package/esm2022/progressspinner/progressspinner.mjs +7 -7
  138. package/esm2022/radiobutton/radiobutton.mjs +10 -10
  139. package/esm2022/rating/rating.mjs +7 -7
  140. package/esm2022/ripple/ripple.mjs +7 -7
  141. package/esm2022/scroller/scroller.mjs +7 -7
  142. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  143. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  144. package/esm2022/selectbutton/selectbutton.mjs +9 -9
  145. package/esm2022/sidebar/sidebar.mjs +51 -20
  146. package/esm2022/skeleton/skeleton.mjs +7 -7
  147. package/esm2022/slidemenu/slidemenu.mjs +26 -19
  148. package/esm2022/slider/slider.mjs +7 -7
  149. package/esm2022/speeddial/speeddial.mjs +297 -21
  150. package/esm2022/spinner/spinner.mjs +7 -7
  151. package/esm2022/splitbutton/splitbutton.mjs +70 -15
  152. package/esm2022/splitter/splitter.mjs +7 -7
  153. package/esm2022/steps/steps.mjs +7 -7
  154. package/esm2022/styleclass/styleclass.mjs +7 -7
  155. package/esm2022/table/table.mjs +82 -82
  156. package/esm2022/tabmenu/tabmenu.mjs +20 -10
  157. package/esm2022/tabview/tabview.mjs +72 -23
  158. package/esm2022/tag/tag.mjs +7 -7
  159. package/esm2022/terminal/terminal.mjs +7 -7
  160. package/esm2022/terminal/terminalservice.mjs +3 -3
  161. package/esm2022/tieredmenu/tieredmenu.mjs +26 -15
  162. package/esm2022/timeline/timeline.mjs +9 -9
  163. package/esm2022/toast/toast.mjs +63 -35
  164. package/esm2022/togglebutton/togglebutton.mjs +9 -9
  165. package/esm2022/toolbar/toolbar.mjs +7 -7
  166. package/esm2022/tooltip/tooltip.mjs +14 -9
  167. package/esm2022/tree/tree.mjs +10 -10
  168. package/esm2022/treeselect/treeselect.mjs +7 -7
  169. package/esm2022/treetable/treetable.mjs +55 -55
  170. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +7 -7
  171. package/esm2022/virtualscroller/virtualscroller.mjs +7 -7
  172. package/fesm2022/primeng-accordion.mjs +44 -16
  173. package/fesm2022/primeng-accordion.mjs.map +1 -1
  174. package/fesm2022/primeng-animate.mjs +7 -7
  175. package/fesm2022/primeng-api.mjs +34 -34
  176. package/fesm2022/primeng-api.mjs.map +1 -1
  177. package/fesm2022/primeng-autocomplete.mjs +7 -7
  178. package/fesm2022/primeng-autofocus.mjs +7 -7
  179. package/fesm2022/primeng-avatar.mjs +7 -7
  180. package/fesm2022/primeng-avatargroup.mjs +7 -7
  181. package/fesm2022/primeng-badge.mjs +10 -10
  182. package/fesm2022/primeng-baseicon.mjs +3 -3
  183. package/fesm2022/primeng-blockui.mjs +7 -7
  184. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  185. package/fesm2022/primeng-button.mjs +43 -30
  186. package/fesm2022/primeng-button.mjs.map +1 -1
  187. package/fesm2022/primeng-calendar.mjs +7 -7
  188. package/fesm2022/primeng-card.mjs +7 -7
  189. package/fesm2022/primeng-carousel.mjs +152 -26
  190. package/fesm2022/primeng-carousel.mjs.map +1 -1
  191. package/fesm2022/primeng-cascadeselect.mjs +10 -10
  192. package/fesm2022/primeng-chart.mjs +7 -7
  193. package/fesm2022/primeng-checkbox.mjs +7 -7
  194. package/fesm2022/primeng-chip.mjs +7 -7
  195. package/fesm2022/primeng-chips.mjs +7 -7
  196. package/fesm2022/primeng-colorpicker.mjs +7 -7
  197. package/fesm2022/primeng-confirmdialog.mjs +27 -11
  198. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  199. package/fesm2022/primeng-confirmpopup.mjs +9 -7
  200. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  201. package/fesm2022/primeng-contextmenu.mjs +18 -14
  202. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  203. package/fesm2022/primeng-dataview.mjs +10 -10
  204. package/fesm2022/primeng-defer.mjs +7 -7
  205. package/fesm2022/primeng-dialog.mjs +20 -15
  206. package/fesm2022/primeng-dialog.mjs.map +1 -1
  207. package/fesm2022/primeng-divider.mjs +7 -7
  208. package/fesm2022/primeng-dock.mjs +7 -7
  209. package/fesm2022/primeng-dragdrop.mjs +10 -10
  210. package/fesm2022/primeng-dropdown.mjs +10 -10
  211. package/fesm2022/primeng-dynamicdialog.mjs +32 -18
  212. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  213. package/fesm2022/primeng-editor.mjs +7 -7
  214. package/fesm2022/primeng-fieldset.mjs +7 -7
  215. package/fesm2022/primeng-fileupload.mjs +55 -47
  216. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  217. package/fesm2022/primeng-focustrap.mjs +7 -7
  218. package/fesm2022/primeng-galleria.mjs +256 -47
  219. package/fesm2022/primeng-galleria.mjs.map +1 -1
  220. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  221. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  222. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  223. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  224. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  225. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  226. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  227. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  228. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  229. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  230. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  231. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  232. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  233. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  234. package/fesm2022/primeng-icons-ban.mjs +3 -3
  235. package/fesm2022/primeng-icons-bars.mjs +3 -3
  236. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  237. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  238. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  239. package/fesm2022/primeng-icons-check.mjs +3 -3
  240. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  241. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  242. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  243. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  244. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  245. package/fesm2022/primeng-icons-eye.mjs +3 -3
  246. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  247. package/fesm2022/primeng-icons-filter.mjs +3 -3
  248. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  249. package/fesm2022/primeng-icons-home.mjs +3 -3
  250. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  251. package/fesm2022/primeng-icons-minus.mjs +3 -3
  252. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  253. package/fesm2022/primeng-icons-plus.mjs +3 -3
  254. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  255. package/fesm2022/primeng-icons-search.mjs +3 -3
  256. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  257. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  258. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  259. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  260. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  261. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  262. package/fesm2022/primeng-icons-star.mjs +3 -3
  263. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  264. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  265. package/fesm2022/primeng-icons-times.mjs +3 -3
  266. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  267. package/fesm2022/primeng-icons-trash.mjs +3 -3
  268. package/fesm2022/primeng-icons-undo.mjs +3 -3
  269. package/fesm2022/primeng-icons-upload.mjs +3 -3
  270. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  271. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  272. package/fesm2022/primeng-image.mjs +66 -25
  273. package/fesm2022/primeng-image.mjs.map +1 -1
  274. package/fesm2022/primeng-inplace.mjs +13 -13
  275. package/fesm2022/primeng-inputmask.mjs +7 -7
  276. package/fesm2022/primeng-inputnumber.mjs +17 -7
  277. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  278. package/fesm2022/primeng-inputswitch.mjs +7 -7
  279. package/fesm2022/primeng-inputtext.mjs +7 -7
  280. package/fesm2022/primeng-inputtextarea.mjs +7 -7
  281. package/fesm2022/primeng-keyfilter.mjs +7 -7
  282. package/fesm2022/primeng-knob.mjs +7 -7
  283. package/fesm2022/primeng-listbox.mjs +7 -7
  284. package/fesm2022/primeng-megamenu.mjs +22 -13
  285. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  286. package/fesm2022/primeng-menu.mjs +19 -19
  287. package/fesm2022/primeng-menu.mjs.map +1 -1
  288. package/fesm2022/primeng-menubar.mjs +27 -18
  289. package/fesm2022/primeng-menubar.mjs.map +1 -1
  290. package/fesm2022/primeng-message.mjs +7 -7
  291. package/fesm2022/primeng-messages.mjs +33 -33
  292. package/fesm2022/primeng-messages.mjs.map +1 -1
  293. package/fesm2022/primeng-multiselect.mjs +11 -10
  294. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  295. package/fesm2022/primeng-orderlist.mjs +7 -7
  296. package/fesm2022/primeng-organizationchart.mjs +14 -14
  297. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  298. package/fesm2022/primeng-overlay.mjs +7 -7
  299. package/fesm2022/primeng-overlaypanel.mjs +11 -7
  300. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  301. package/fesm2022/primeng-paginator.mjs +7 -7
  302. package/fesm2022/primeng-panel.mjs +7 -7
  303. package/fesm2022/primeng-panelmenu.mjs +53 -34
  304. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  305. package/fesm2022/primeng-password.mjs +13 -13
  306. package/fesm2022/primeng-picklist.mjs +7 -7
  307. package/fesm2022/primeng-progressbar.mjs +7 -7
  308. package/fesm2022/primeng-progressspinner.mjs +7 -7
  309. package/fesm2022/primeng-radiobutton.mjs +10 -10
  310. package/fesm2022/primeng-rating.mjs +7 -7
  311. package/fesm2022/primeng-ripple.mjs +7 -7
  312. package/fesm2022/primeng-scroller.mjs +7 -7
  313. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  314. package/fesm2022/primeng-scrolltop.mjs +7 -7
  315. package/fesm2022/primeng-selectbutton.mjs +9 -9
  316. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  317. package/fesm2022/primeng-sidebar.mjs +50 -19
  318. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  319. package/fesm2022/primeng-skeleton.mjs +7 -7
  320. package/fesm2022/primeng-slidemenu.mjs +25 -18
  321. package/fesm2022/primeng-slidemenu.mjs.map +1 -1
  322. package/fesm2022/primeng-slider.mjs +7 -7
  323. package/fesm2022/primeng-speeddial.mjs +296 -20
  324. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  325. package/fesm2022/primeng-spinner.mjs +7 -7
  326. package/fesm2022/primeng-splitbutton.mjs +69 -14
  327. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  328. package/fesm2022/primeng-splitter.mjs +7 -7
  329. package/fesm2022/primeng-steps.mjs +7 -7
  330. package/fesm2022/primeng-styleclass.mjs +7 -7
  331. package/fesm2022/primeng-table.mjs +82 -82
  332. package/fesm2022/primeng-tabmenu.mjs +19 -9
  333. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  334. package/fesm2022/primeng-tabview.mjs +71 -22
  335. package/fesm2022/primeng-tabview.mjs.map +1 -1
  336. package/fesm2022/primeng-tag.mjs +7 -7
  337. package/fesm2022/primeng-terminal.mjs +10 -10
  338. package/fesm2022/primeng-tieredmenu.mjs +25 -14
  339. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  340. package/fesm2022/primeng-timeline.mjs +9 -9
  341. package/fesm2022/primeng-timeline.mjs.map +1 -1
  342. package/fesm2022/primeng-toast.mjs +62 -34
  343. package/fesm2022/primeng-toast.mjs.map +1 -1
  344. package/fesm2022/primeng-togglebutton.mjs +9 -9
  345. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  346. package/fesm2022/primeng-toolbar.mjs +7 -7
  347. package/fesm2022/primeng-tooltip.mjs +13 -8
  348. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  349. package/fesm2022/primeng-tree.mjs +10 -10
  350. package/fesm2022/primeng-treeselect.mjs +7 -7
  351. package/fesm2022/primeng-treetable.mjs +55 -55
  352. package/fesm2022/primeng-tristatecheckbox.mjs +7 -7
  353. package/fesm2022/primeng-virtualscroller.mjs +7 -7
  354. package/galleria/galleria.d.ts +24 -4
  355. package/image/image.d.ts +10 -1
  356. package/megamenu/megamenu.d.ts +3 -1
  357. package/menubar/menubar.d.ts +3 -1
  358. package/package.json +166 -166
  359. package/panelmenu/panelmenu.d.ts +3 -1
  360. package/resources/components/button/button.css +4 -0
  361. package/resources/components/menubar/menubar.css +4 -0
  362. package/resources/components/tabview/tabview.css +3 -2
  363. package/resources/primeng.css +3 -0
  364. package/resources/primeng.min.css +1 -1
  365. package/resources/themes/arya-blue/theme.css +16 -6
  366. package/resources/themes/arya-green/theme.css +16 -6
  367. package/resources/themes/arya-orange/theme.css +16 -6
  368. package/resources/themes/arya-purple/theme.css +16 -6
  369. package/resources/themes/bootstrap4-dark-blue/theme.css +16 -6
  370. package/resources/themes/bootstrap4-dark-purple/theme.css +16 -6
  371. package/resources/themes/bootstrap4-light-blue/theme.css +16 -6
  372. package/resources/themes/bootstrap4-light-purple/theme.css +16 -6
  373. package/resources/themes/fluent-light/theme.css +16 -6
  374. package/resources/themes/lara-dark-blue/theme.css +16 -6
  375. package/resources/themes/lara-dark-indigo/theme.css +16 -6
  376. package/resources/themes/lara-dark-purple/theme.css +16 -6
  377. package/resources/themes/lara-dark-teal/theme.css +16 -6
  378. package/resources/themes/lara-light-blue/theme.css +16 -6
  379. package/resources/themes/lara-light-indigo/theme.css +16 -6
  380. package/resources/themes/lara-light-purple/theme.css +16 -6
  381. package/resources/themes/lara-light-teal/theme.css +16 -6
  382. package/resources/themes/luna-amber/theme.css +16 -6
  383. package/resources/themes/luna-blue/theme.css +16 -6
  384. package/resources/themes/luna-green/theme.css +16 -6
  385. package/resources/themes/luna-pink/theme.css +16 -6
  386. package/resources/themes/md-dark-deeppurple/theme.css +16 -6
  387. package/resources/themes/md-dark-indigo/theme.css +16 -6
  388. package/resources/themes/md-light-deeppurple/theme.css +16 -6
  389. package/resources/themes/md-light-indigo/theme.css +16 -6
  390. package/resources/themes/mdc-dark-deeppurple/theme.css +16 -6
  391. package/resources/themes/mdc-dark-indigo/theme.css +16 -6
  392. package/resources/themes/mdc-light-deeppurple/theme.css +16 -6
  393. package/resources/themes/mdc-light-indigo/theme.css +16 -6
  394. package/resources/themes/mira/theme.css +16 -6
  395. package/resources/themes/nano/theme.css +16 -6
  396. package/resources/themes/nova/theme.css +16 -6
  397. package/resources/themes/nova-accent/theme.css +16 -6
  398. package/resources/themes/nova-alt/theme.css +16 -6
  399. package/resources/themes/rhea/theme.css +16 -6
  400. package/resources/themes/saga-blue/theme.css +16 -6
  401. package/resources/themes/saga-green/theme.css +16 -6
  402. package/resources/themes/saga-orange/theme.css +16 -6
  403. package/resources/themes/saga-purple/theme.css +16 -6
  404. package/resources/themes/soho-dark/theme.css +16 -6
  405. package/resources/themes/soho-light/theme.css +16 -6
  406. package/resources/themes/tailwind-light/theme.css +16 -6
  407. package/resources/themes/vela-blue/theme.css +16 -6
  408. package/resources/themes/vela-green/theme.css +16 -6
  409. package/resources/themes/vela-orange/theme.css +16 -6
  410. package/resources/themes/vela-purple/theme.css +16 -6
  411. package/resources/themes/viva-dark/theme.css +16 -6
  412. package/resources/themes/viva-light/theme.css +16 -6
  413. package/sidebar/sidebar.d.ts +1 -0
  414. package/slidemenu/slidemenu.d.ts +8 -6
  415. package/speeddial/speeddial.d.ts +34 -1
  416. package/splitbutton/splitbutton.d.ts +5 -1
  417. package/tabmenu/tabmenu.d.ts +3 -1
  418. package/tabview/tabview.d.ts +10 -2
  419. package/tieredmenu/tieredmenu.d.ts +3 -1
@@ -14,6 +14,8 @@ import { WindowMinimizeIcon } from 'primeng/icons/windowminimize';
14
14
  import * as i3 from 'primeng/ripple';
15
15
  import { RippleModule } from 'primeng/ripple';
16
16
  import { ZIndexUtils, UniqueComponentId } from 'primeng/utils';
17
+ import * as i4 from 'primeng/focustrap';
18
+ import { FocusTrapModule } from 'primeng/focustrap';
17
19
 
18
20
  /**
19
21
  * Galleria is an advanced content gallery component.
@@ -181,6 +183,7 @@ class Galleria {
181
183
  */
182
184
  visibleChange = new EventEmitter();
183
185
  mask;
186
+ container;
184
187
  templates;
185
188
  _visible = false;
186
189
  _activeIndex = 0;
@@ -252,6 +255,9 @@ class Galleria {
252
255
  switch (event.toState) {
253
256
  case 'visible':
254
257
  this.enableModality();
258
+ setTimeout(() => {
259
+ DomHandler.focus(DomHandler.findSingle(this.container.nativeElement, '[data-pc-section="closebutton"]'));
260
+ }, 25);
255
261
  break;
256
262
  case 'void':
257
263
  DomHandler.addClass(this.mask?.nativeElement, 'p-component-overlay-leave');
@@ -288,10 +294,17 @@ class Galleria {
288
294
  this.disableModality();
289
295
  }
290
296
  }
291
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Galleria, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
292
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: Galleria, selector: "p-galleria", inputs: { activeIndex: "activeIndex", fullScreen: "fullScreen", id: "id", value: "value", numVisible: "numVisible", responsiveOptions: "responsiveOptions", showItemNavigators: "showItemNavigators", showThumbnailNavigators: "showThumbnailNavigators", showItemNavigatorsOnHover: "showItemNavigatorsOnHover", changeItemOnIndicatorHover: "changeItemOnIndicatorHover", circular: "circular", autoPlay: "autoPlay", transitionInterval: "transitionInterval", showThumbnails: "showThumbnails", thumbnailsPosition: "thumbnailsPosition", verticalThumbnailViewPortHeight: "verticalThumbnailViewPortHeight", showIndicators: "showIndicators", showIndicatorsOnItem: "showIndicatorsOnItem", indicatorsPosition: "indicatorsPosition", baseZIndex: "baseZIndex", maskClass: "maskClass", containerClass: "containerClass", containerStyle: "containerStyle", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", visible: "visible" }, outputs: { activeIndexChange: "activeIndexChange", visibleChange: "visibleChange" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
293
- <div *ngIf="fullScreen; else windowed">
294
- <div *ngIf="maskVisible" #mask [ngClass]="{ 'p-galleria-mask p-component-overlay p-component-overlay-enter': true, 'p-galleria-visible': this.visible }" [class]="maskClass">
297
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Galleria, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
298
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: Galleria, selector: "p-galleria", inputs: { activeIndex: "activeIndex", fullScreen: "fullScreen", id: "id", value: "value", numVisible: "numVisible", responsiveOptions: "responsiveOptions", showItemNavigators: "showItemNavigators", showThumbnailNavigators: "showThumbnailNavigators", showItemNavigatorsOnHover: "showItemNavigatorsOnHover", changeItemOnIndicatorHover: "changeItemOnIndicatorHover", circular: "circular", autoPlay: "autoPlay", transitionInterval: "transitionInterval", showThumbnails: "showThumbnails", thumbnailsPosition: "thumbnailsPosition", verticalThumbnailViewPortHeight: "verticalThumbnailViewPortHeight", showIndicators: "showIndicators", showIndicatorsOnItem: "showIndicatorsOnItem", indicatorsPosition: "indicatorsPosition", baseZIndex: "baseZIndex", maskClass: "maskClass", containerClass: "containerClass", containerStyle: "containerStyle", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", visible: "visible" }, outputs: { activeIndexChange: "activeIndexChange", visibleChange: "visibleChange" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "mask", first: true, predicate: ["mask"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
299
+ <div *ngIf="fullScreen; else windowed" #container>
300
+ <div
301
+ *ngIf="maskVisible"
302
+ #mask
303
+ [ngClass]="{ 'p-galleria-mask p-component-overlay p-component-overlay-enter': true, 'p-galleria-visible': this.visible }"
304
+ [class]="maskClass"
305
+ [attr.role]="fullScreen ? 'dialog' : 'region'"
306
+ [attr.aria-modal]="fullScreen ? 'true' : undefined"
307
+ >
295
308
  <p-galleriaContent
296
309
  *ngIf="visible"
297
310
  [@animation]="{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }"
@@ -317,11 +330,18 @@ class Galleria {
317
330
  ])
318
331
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
319
332
  }
320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Galleria, decorators: [{
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Galleria, decorators: [{
321
334
  type: Component,
322
335
  args: [{ selector: 'p-galleria', template: `
323
- <div *ngIf="fullScreen; else windowed">
324
- <div *ngIf="maskVisible" #mask [ngClass]="{ 'p-galleria-mask p-component-overlay p-component-overlay-enter': true, 'p-galleria-visible': this.visible }" [class]="maskClass">
336
+ <div *ngIf="fullScreen; else windowed" #container>
337
+ <div
338
+ *ngIf="maskVisible"
339
+ #mask
340
+ [ngClass]="{ 'p-galleria-mask p-component-overlay p-component-overlay-enter': true, 'p-galleria-visible': this.visible }"
341
+ [class]="maskClass"
342
+ [attr.role]="fullScreen ? 'dialog' : 'region'"
343
+ [attr.aria-modal]="fullScreen ? 'true' : undefined"
344
+ >
325
345
  <p-galleriaContent
326
346
  *ngIf="visible"
327
347
  [@animation]="{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }"
@@ -410,6 +430,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
410
430
  }], mask: [{
411
431
  type: ViewChild,
412
432
  args: ['mask']
433
+ }], container: [{
434
+ type: ViewChild,
435
+ args: ['container']
413
436
  }], templates: [{
414
437
  type: ContentChildren,
415
438
  args: [PrimeTemplate]
@@ -418,6 +441,7 @@ class GalleriaContent {
418
441
  galleria;
419
442
  cd;
420
443
  differs;
444
+ config;
421
445
  get activeIndex() {
422
446
  return this._activeIndex;
423
447
  }
@@ -428,16 +452,18 @@ class GalleriaContent {
428
452
  numVisible;
429
453
  maskHide = new EventEmitter();
430
454
  activeItemChange = new EventEmitter();
455
+ closeButton;
431
456
  id;
432
457
  _activeIndex = 0;
433
458
  slideShowActive = true;
434
459
  interval;
435
460
  styleClass;
436
461
  differ;
437
- constructor(galleria, cd, differs) {
462
+ constructor(galleria, cd, differs, config) {
438
463
  this.galleria = galleria;
439
464
  this.cd = cd;
440
465
  this.differs = differs;
466
+ this.config = config;
441
467
  this.id = this.galleria.id || UniqueComponentId();
442
468
  this.differ = this.differs.find(this.galleria).create();
443
469
  }
@@ -484,8 +510,11 @@ class GalleriaContent {
484
510
  this.activeItemChange.emit(this.activeIndex);
485
511
  }
486
512
  }
487
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaContent, deps: [{ token: Galleria }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Component });
488
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: GalleriaContent, selector: "p-galleriaContent", inputs: { activeIndex: "activeIndex", value: "value", numVisible: "numVisible" }, outputs: { maskHide: "maskHide", activeItemChange: "activeItemChange" }, ngImport: i0, template: `
513
+ closeAriaLabel() {
514
+ return this.config.translation.aria ? this.config.translation.aria.close : undefined;
515
+ }
516
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaContent, deps: [{ token: Galleria }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
517
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: GalleriaContent, selector: "p-galleriaContent", inputs: { activeIndex: "activeIndex", value: "value", numVisible: "numVisible" }, outputs: { maskHide: "maskHide", activeItemChange: "activeItemChange" }, viewQueries: [{ propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true }], ngImport: i0, template: `
489
518
  <div
490
519
  [attr.id]="id"
491
520
  *ngIf="value && value.length > 0"
@@ -497,16 +526,18 @@ class GalleriaContent {
497
526
  }"
498
527
  [ngStyle]="!galleria.fullScreen ? galleria.containerStyle : {}"
499
528
  [class]="galleriaClass()"
529
+ pFocusTrap
500
530
  >
501
- <button *ngIf="galleria.fullScreen" type="button" class="p-galleria-close p-link" (click)="maskHide.emit()" pRipple>
531
+ <button *ngIf="galleria.fullScreen" type="button" class="p-galleria-close p-link" (click)="maskHide.emit()" pRipple [attr.aria-label]="closeAriaLabel()" [attr.data-pc-section]="'closebutton'">
502
532
  <TimesIcon *ngIf="!galleria.closeIconTemplate" [styleClass]="'p-galleria-close-icon'" />
503
533
  <ng-template *ngTemplateOutlet="galleria.closeIconTemplate"></ng-template>
504
534
  </button>
505
535
  <div *ngIf="galleria.templates && galleria.headerFacet" class="p-galleria-header">
506
536
  <p-galleriaItemSlot type="header" [templates]="galleria.templates"></p-galleriaItemSlot>
507
537
  </div>
508
- <div class="p-galleria-content">
538
+ <div class="p-galleria-content" [attr.aria-live]="galleria.autoPlay ? 'polite' : 'off'">
509
539
  <p-galleriaItem
540
+ [id]="id"
510
541
  [value]="value"
511
542
  [activeIndex]="activeIndex"
512
543
  [circular]="galleria.circular"
@@ -544,9 +575,9 @@ class GalleriaContent {
544
575
  <p-galleriaItemSlot type="footer" [templates]="galleria.templates"></p-galleriaItemSlot>
545
576
  </div>
546
577
  </div>
547
- `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return TimesIcon; }), selector: "TimesIcon" }, { kind: "component", type: i0.forwardRef(function () { return GalleriaItemSlot; }), selector: "p-galleriaItemSlot", inputs: ["templates", "index", "item", "type"] }, { kind: "component", type: i0.forwardRef(function () { return GalleriaItem; }), selector: "p-galleriaItem", inputs: ["circular", "value", "showItemNavigators", "showIndicators", "slideShowActive", "changeItemOnIndicatorHover", "autoPlay", "templates", "indicatorFacet", "captionFacet", "activeIndex"], outputs: ["startSlideShow", "stopSlideShow", "onActiveIndexChange"] }, { kind: "component", type: i0.forwardRef(function () { return GalleriaThumbnails; }), selector: "p-galleriaThumbnails", inputs: ["containerId", "value", "isVertical", "slideShowActive", "circular", "responsiveOptions", "contentHeight", "showThumbnailNavigators", "templates", "numVisible", "activeIndex"], outputs: ["onActiveIndexChange", "stopSlideShow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
578
+ `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return TimesIcon; }), selector: "TimesIcon" }, { kind: "directive", type: i0.forwardRef(function () { return i4.FocusTrap; }), selector: "[pFocusTrap]", inputs: ["pFocusTrapDisabled"] }, { kind: "component", type: i0.forwardRef(function () { return GalleriaItemSlot; }), selector: "p-galleriaItemSlot", inputs: ["templates", "index", "item", "type"] }, { kind: "component", type: i0.forwardRef(function () { return GalleriaItem; }), selector: "p-galleriaItem", inputs: ["id", "circular", "value", "showItemNavigators", "showIndicators", "slideShowActive", "changeItemOnIndicatorHover", "autoPlay", "templates", "indicatorFacet", "captionFacet", "activeIndex"], outputs: ["startSlideShow", "stopSlideShow", "onActiveIndexChange"] }, { kind: "component", type: i0.forwardRef(function () { return GalleriaThumbnails; }), selector: "p-galleriaThumbnails", inputs: ["containerId", "value", "isVertical", "slideShowActive", "circular", "responsiveOptions", "contentHeight", "showThumbnailNavigators", "templates", "numVisible", "activeIndex"], outputs: ["onActiveIndexChange", "stopSlideShow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
548
579
  }
549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaContent, decorators: [{
580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaContent, decorators: [{
550
581
  type: Component,
551
582
  args: [{
552
583
  selector: 'p-galleriaContent',
@@ -562,16 +593,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
562
593
  }"
563
594
  [ngStyle]="!galleria.fullScreen ? galleria.containerStyle : {}"
564
595
  [class]="galleriaClass()"
596
+ pFocusTrap
565
597
  >
566
- <button *ngIf="galleria.fullScreen" type="button" class="p-galleria-close p-link" (click)="maskHide.emit()" pRipple>
598
+ <button *ngIf="galleria.fullScreen" type="button" class="p-galleria-close p-link" (click)="maskHide.emit()" pRipple [attr.aria-label]="closeAriaLabel()" [attr.data-pc-section]="'closebutton'">
567
599
  <TimesIcon *ngIf="!galleria.closeIconTemplate" [styleClass]="'p-galleria-close-icon'" />
568
600
  <ng-template *ngTemplateOutlet="galleria.closeIconTemplate"></ng-template>
569
601
  </button>
570
602
  <div *ngIf="galleria.templates && galleria.headerFacet" class="p-galleria-header">
571
603
  <p-galleriaItemSlot type="header" [templates]="galleria.templates"></p-galleriaItemSlot>
572
604
  </div>
573
- <div class="p-galleria-content">
605
+ <div class="p-galleria-content" [attr.aria-live]="galleria.autoPlay ? 'polite' : 'off'">
574
606
  <p-galleriaItem
607
+ [id]="id"
575
608
  [value]="value"
576
609
  [activeIndex]="activeIndex"
577
610
  [circular]="galleria.circular"
@@ -612,7 +645,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
612
645
  `,
613
646
  changeDetection: ChangeDetectionStrategy.OnPush
614
647
  }]
615
- }], ctorParameters: function () { return [{ type: Galleria }, { type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }]; }, propDecorators: { activeIndex: [{
648
+ }], ctorParameters: function () { return [{ type: Galleria }, { type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }, { type: i1.PrimeNGConfig }]; }, propDecorators: { activeIndex: [{
616
649
  type: Input
617
650
  }], value: [{
618
651
  type: Input
@@ -622,6 +655,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
622
655
  type: Output
623
656
  }], activeItemChange: [{
624
657
  type: Output
658
+ }], closeButton: [{
659
+ type: ViewChild,
660
+ args: ['closeButton']
625
661
  }] } });
626
662
  class GalleriaItemSlot {
627
663
  templates;
@@ -672,14 +708,14 @@ class GalleriaItemSlot {
672
708
  }
673
709
  });
674
710
  }
675
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaItemSlot, deps: [], target: i0.ɵɵFactoryTarget.Component });
676
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: GalleriaItemSlot, selector: "p-galleriaItemSlot", inputs: { templates: "templates", index: "index", item: "item", type: "type" }, ngImport: i0, template: `
711
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaItemSlot, deps: [], target: i0.ɵɵFactoryTarget.Component });
712
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: GalleriaItemSlot, selector: "p-galleriaItemSlot", inputs: { templates: "templates", index: "index", item: "item", type: "type" }, ngImport: i0, template: `
677
713
  <ng-container *ngIf="contentTemplate">
678
714
  <ng-container *ngTemplateOutlet="contentTemplate; context: context"></ng-container>
679
715
  </ng-container>
680
716
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
681
717
  }
682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaItemSlot, decorators: [{
718
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaItemSlot, decorators: [{
683
719
  type: Component,
684
720
  args: [{
685
721
  selector: 'p-galleriaItemSlot',
@@ -701,6 +737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
701
737
  }] } });
702
738
  class GalleriaItem {
703
739
  galleria;
740
+ id;
704
741
  circular = false;
705
742
  value;
706
743
  showItemNavigators = false;
@@ -774,9 +811,21 @@ class GalleriaItem {
774
811
  this.onActiveIndexChange.emit(index);
775
812
  }
776
813
  }
777
- onIndicatorKeyDown(index) {
778
- this.stopTheSlideShow();
779
- this.onActiveIndexChange.emit(index);
814
+ onIndicatorKeyDown(event, index) {
815
+ switch (event.code) {
816
+ case 'Enter':
817
+ case 'Space':
818
+ this.stopTheSlideShow();
819
+ this.onActiveIndexChange.emit(index);
820
+ event.preventDefault();
821
+ break;
822
+ case 'ArrowDown':
823
+ case 'ArrowUp':
824
+ event.preventDefault();
825
+ break;
826
+ default:
827
+ break;
828
+ }
780
829
  }
781
830
  isNavForwardDisabled() {
782
831
  return !this.circular && this.activeIndex === this.value.length - 1;
@@ -787,13 +836,23 @@ class GalleriaItem {
787
836
  isIndicatorItemActive(index) {
788
837
  return this.activeIndex === index;
789
838
  }
790
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaItem, deps: [{ token: Galleria }], target: i0.ɵɵFactoryTarget.Component });
791
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: GalleriaItem, selector: "p-galleriaItem", inputs: { circular: "circular", value: "value", showItemNavigators: "showItemNavigators", showIndicators: "showIndicators", slideShowActive: "slideShowActive", changeItemOnIndicatorHover: "changeItemOnIndicatorHover", autoPlay: "autoPlay", templates: "templates", indicatorFacet: "indicatorFacet", captionFacet: "captionFacet", activeIndex: "activeIndex" }, outputs: { startSlideShow: "startSlideShow", stopSlideShow: "stopSlideShow", onActiveIndexChange: "onActiveIndexChange" }, usesOnChanges: true, ngImport: i0, template: `
839
+ ariaSlideLabel() {
840
+ return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.slide : undefined;
841
+ }
842
+ ariaSlideNumber(value) {
843
+ return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;
844
+ }
845
+ ariaPageLabel(value) {
846
+ return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;
847
+ }
848
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaItem, deps: [{ token: Galleria }], target: i0.ɵɵFactoryTarget.Component });
849
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: GalleriaItem, selector: "p-galleriaItem", inputs: { id: "id", circular: "circular", value: "value", showItemNavigators: "showItemNavigators", showIndicators: "showIndicators", slideShowActive: "slideShowActive", changeItemOnIndicatorHover: "changeItemOnIndicatorHover", autoPlay: "autoPlay", templates: "templates", indicatorFacet: "indicatorFacet", captionFacet: "captionFacet", activeIndex: "activeIndex" }, outputs: { startSlideShow: "startSlideShow", stopSlideShow: "stopSlideShow", onActiveIndexChange: "onActiveIndexChange" }, usesOnChanges: true, ngImport: i0, template: `
792
850
  <div class="p-galleria-item-wrapper">
793
851
  <div class="p-galleria-item-container">
794
852
  <button
795
853
  *ngIf="showItemNavigators"
796
854
  type="button"
855
+ role="navigation"
797
856
  [ngClass]="{ 'p-galleria-item-prev p-galleria-item-nav p-link': true, 'p-disabled': this.isNavBackwardDisabled() }"
798
857
  (click)="navBackward($event)"
799
858
  [disabled]="isNavBackwardDisabled()"
@@ -802,7 +861,9 @@ class GalleriaItem {
802
861
  <ChevronLeftIcon *ngIf="!galleria.itemPreviousIconTemplate" [styleClass]="'p-galleria-item-prev-icon'" />
803
862
  <ng-template *ngTemplateOutlet="galleria.itemPreviousIconTemplate"></ng-template>
804
863
  </button>
805
- <p-galleriaItemSlot type="item" [item]="activeItem" [templates]="templates" class="p-galleria-item"></p-galleriaItemSlot>
864
+ <div [id]="id + '_item_' + activeIndex" role="group" [attr.aria-label]="ariaSlideNumber(activeIndex + 1)" [attr.aria-roledescription]="ariaSlideLabel()" [style.width]="'100%'">
865
+ <p-galleriaItemSlot type="item" [item]="activeItem" [templates]="templates" class="p-galleria-item"></p-galleriaItemSlot>
866
+ </div>
806
867
  <button
807
868
  *ngIf="showItemNavigators"
808
869
  type="button"
@@ -810,6 +871,7 @@ class GalleriaItem {
810
871
  (click)="navForward($event)"
811
872
  [disabled]="isNavForwardDisabled()"
812
873
  pRipple
874
+ role="navigation"
813
875
  >
814
876
  <ChevronRightIcon *ngIf="!galleria.itemNextIconTemplate" [styleClass]="'p-galleria-item-next-icon'" />
815
877
  <ng-template *ngTemplateOutlet="galleria.itemNextIconTemplate"></ng-template>
@@ -824,8 +886,11 @@ class GalleriaItem {
824
886
  tabindex="0"
825
887
  (click)="onIndicatorClick(index)"
826
888
  (mouseenter)="onIndicatorMouseEnter(index)"
827
- (keydown.enter)="onIndicatorKeyDown(index)"
889
+ (keydown)="onIndicatorKeyDown(event, index)"
828
890
  [ngClass]="{ 'p-galleria-indicator': true, 'p-highlight': isIndicatorItemActive(index) }"
891
+ [attr.aria-label]="ariaPageLabel(index + 1)"
892
+ [attr.aria-selected]="activeIndex === index"
893
+ [attr.aria-controls]="id + '_item_' + index"
829
894
  >
830
895
  <button type="button" tabIndex="-1" class="p-link" *ngIf="!indicatorFacet"></button>
831
896
  <p-galleriaItemSlot type="indicator" [index]="index" [templates]="templates"></p-galleriaItemSlot>
@@ -834,7 +899,7 @@ class GalleriaItem {
834
899
  </div>
835
900
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return ChevronRightIcon; }), selector: "ChevronRightIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronLeftIcon; }), selector: "ChevronLeftIcon" }, { kind: "component", type: i0.forwardRef(function () { return GalleriaItemSlot; }), selector: "p-galleriaItemSlot", inputs: ["templates", "index", "item", "type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
836
901
  }
837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaItem, decorators: [{
902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaItem, decorators: [{
838
903
  type: Component,
839
904
  args: [{
840
905
  selector: 'p-galleriaItem',
@@ -844,6 +909,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
844
909
  <button
845
910
  *ngIf="showItemNavigators"
846
911
  type="button"
912
+ role="navigation"
847
913
  [ngClass]="{ 'p-galleria-item-prev p-galleria-item-nav p-link': true, 'p-disabled': this.isNavBackwardDisabled() }"
848
914
  (click)="navBackward($event)"
849
915
  [disabled]="isNavBackwardDisabled()"
@@ -852,7 +918,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
852
918
  <ChevronLeftIcon *ngIf="!galleria.itemPreviousIconTemplate" [styleClass]="'p-galleria-item-prev-icon'" />
853
919
  <ng-template *ngTemplateOutlet="galleria.itemPreviousIconTemplate"></ng-template>
854
920
  </button>
855
- <p-galleriaItemSlot type="item" [item]="activeItem" [templates]="templates" class="p-galleria-item"></p-galleriaItemSlot>
921
+ <div [id]="id + '_item_' + activeIndex" role="group" [attr.aria-label]="ariaSlideNumber(activeIndex + 1)" [attr.aria-roledescription]="ariaSlideLabel()" [style.width]="'100%'">
922
+ <p-galleriaItemSlot type="item" [item]="activeItem" [templates]="templates" class="p-galleria-item"></p-galleriaItemSlot>
923
+ </div>
856
924
  <button
857
925
  *ngIf="showItemNavigators"
858
926
  type="button"
@@ -860,6 +928,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
860
928
  (click)="navForward($event)"
861
929
  [disabled]="isNavForwardDisabled()"
862
930
  pRipple
931
+ role="navigation"
863
932
  >
864
933
  <ChevronRightIcon *ngIf="!galleria.itemNextIconTemplate" [styleClass]="'p-galleria-item-next-icon'" />
865
934
  <ng-template *ngTemplateOutlet="galleria.itemNextIconTemplate"></ng-template>
@@ -874,8 +943,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
874
943
  tabindex="0"
875
944
  (click)="onIndicatorClick(index)"
876
945
  (mouseenter)="onIndicatorMouseEnter(index)"
877
- (keydown.enter)="onIndicatorKeyDown(index)"
946
+ (keydown)="onIndicatorKeyDown(event, index)"
878
947
  [ngClass]="{ 'p-galleria-indicator': true, 'p-highlight': isIndicatorItemActive(index) }"
948
+ [attr.aria-label]="ariaPageLabel(index + 1)"
949
+ [attr.aria-selected]="activeIndex === index"
950
+ [attr.aria-controls]="id + '_item_' + index"
879
951
  >
880
952
  <button type="button" tabIndex="-1" class="p-link" *ngIf="!indicatorFacet"></button>
881
953
  <p-galleriaItemSlot type="indicator" [index]="index" [templates]="templates"></p-galleriaItemSlot>
@@ -885,7 +957,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
885
957
  `,
886
958
  changeDetection: ChangeDetectionStrategy.OnPush
887
959
  }]
888
- }], ctorParameters: function () { return [{ type: Galleria }]; }, propDecorators: { circular: [{
960
+ }], ctorParameters: function () { return [{ type: Galleria }]; }, propDecorators: { id: [{
961
+ type: Input
962
+ }], circular: [{
889
963
  type: Input
890
964
  }], value: [{
891
965
  type: Input
@@ -1113,6 +1187,74 @@ class GalleriaThumbnails {
1113
1187
  this.onActiveIndexChange.emit(this.activeIndex);
1114
1188
  }
1115
1189
  }
1190
+ onThumbnailKeydown(event, index) {
1191
+ if (event.code === 'Enter' || event.code === 'Space') {
1192
+ this.onItemClick(index);
1193
+ event.preventDefault();
1194
+ }
1195
+ switch (event.code) {
1196
+ case 'ArrowRight':
1197
+ this.onRightKey();
1198
+ break;
1199
+ case 'ArrowLeft':
1200
+ this.onLeftKey();
1201
+ break;
1202
+ case 'Home':
1203
+ this.onHomeKey();
1204
+ event.preventDefault();
1205
+ break;
1206
+ case 'End':
1207
+ this.onEndKey();
1208
+ event.preventDefault();
1209
+ break;
1210
+ case 'ArrowUp':
1211
+ case 'ArrowDown':
1212
+ event.preventDefault();
1213
+ break;
1214
+ case 'Tab':
1215
+ this.onTabKey();
1216
+ break;
1217
+ default:
1218
+ break;
1219
+ }
1220
+ }
1221
+ onRightKey() {
1222
+ const indicators = DomHandler.find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]');
1223
+ const activeIndex = this.findFocusedIndicatorIndex();
1224
+ this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);
1225
+ }
1226
+ onLeftKey() {
1227
+ const activeIndex = this.findFocusedIndicatorIndex();
1228
+ this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);
1229
+ }
1230
+ onHomeKey() {
1231
+ const activeIndex = this.findFocusedIndicatorIndex();
1232
+ this.changedFocusedIndicator(activeIndex, 0);
1233
+ }
1234
+ onEndKey() {
1235
+ const indicators = DomHandler.find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]');
1236
+ const activeIndex = this.findFocusedIndicatorIndex();
1237
+ this.changedFocusedIndicator(activeIndex, indicators.length - 1);
1238
+ }
1239
+ onTabKey() {
1240
+ const indicators = [...DomHandler.find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]')];
1241
+ const highlightedIndex = indicators.findIndex((ind) => DomHandler.getAttribute(ind, 'data-p-active') === true);
1242
+ const activeIndicator = DomHandler.findSingle(this.itemsContainer.nativeElement, '[tabindex="0"]');
1243
+ const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);
1244
+ indicators[activeIndex].children[0].tabIndex = '-1';
1245
+ indicators[highlightedIndex].children[0].tabIndex = '0';
1246
+ }
1247
+ findFocusedIndicatorIndex() {
1248
+ const indicators = [...DomHandler.find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]')];
1249
+ const activeIndicator = DomHandler.findSingle(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"] > [tabindex="0"]');
1250
+ return indicators.findIndex((ind) => ind === activeIndicator.parentElement);
1251
+ }
1252
+ changedFocusedIndicator(prevInd, nextInd) {
1253
+ const indicators = DomHandler.find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]');
1254
+ indicators[prevInd].children[0].tabIndex = '-1';
1255
+ indicators[nextInd].children[0].tabIndex = '0';
1256
+ indicators[nextInd].children[0].focus();
1257
+ }
1116
1258
  step(dir) {
1117
1259
  let totalShiftedItems = this.totalShiftedItems + dir;
1118
1260
  if (dir < 0 && -1 * totalShiftedItems + this.d_numVisible > this.value.length - 1) {
@@ -1222,11 +1364,28 @@ class GalleriaThumbnails {
1222
1364
  this.thumbnailsStyle.parentNode?.removeChild(this.thumbnailsStyle);
1223
1365
  }
1224
1366
  }
1225
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaThumbnails, deps: [{ token: Galleria }, { token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1226
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: GalleriaThumbnails, selector: "p-galleriaThumbnails", inputs: { containerId: "containerId", value: "value", isVertical: "isVertical", slideShowActive: "slideShowActive", circular: "circular", responsiveOptions: "responsiveOptions", contentHeight: "contentHeight", showThumbnailNavigators: "showThumbnailNavigators", templates: "templates", numVisible: "numVisible", activeIndex: "activeIndex" }, outputs: { onActiveIndexChange: "onActiveIndexChange", stopSlideShow: "stopSlideShow" }, viewQueries: [{ propertyName: "itemsContainer", first: true, predicate: ["itemsContainer"], descendants: true }], ngImport: i0, template: `
1367
+ ariaPrevButtonLabel() {
1368
+ return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.prevPageLabel : undefined;
1369
+ }
1370
+ ariaNextButtonLabel() {
1371
+ return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.nextPageLabel : undefined;
1372
+ }
1373
+ ariaPageLabel(value) {
1374
+ return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;
1375
+ }
1376
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaThumbnails, deps: [{ token: Galleria }, { token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1377
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: GalleriaThumbnails, selector: "p-galleriaThumbnails", inputs: { containerId: "containerId", value: "value", isVertical: "isVertical", slideShowActive: "slideShowActive", circular: "circular", responsiveOptions: "responsiveOptions", contentHeight: "contentHeight", showThumbnailNavigators: "showThumbnailNavigators", templates: "templates", numVisible: "numVisible", activeIndex: "activeIndex" }, outputs: { onActiveIndexChange: "onActiveIndexChange", stopSlideShow: "stopSlideShow" }, viewQueries: [{ propertyName: "itemsContainer", first: true, predicate: ["itemsContainer"], descendants: true }], ngImport: i0, template: `
1227
1378
  <div class="p-galleria-thumbnail-wrapper">
1228
1379
  <div class="p-galleria-thumbnail-container">
1229
- <button *ngIf="showThumbnailNavigators" type="button" [ngClass]="{ 'p-galleria-thumbnail-prev p-link': true, 'p-disabled': this.isNavBackwardDisabled() }" (click)="navBackward($event)" [disabled]="isNavBackwardDisabled()" pRipple>
1380
+ <button
1381
+ *ngIf="showThumbnailNavigators"
1382
+ type="button"
1383
+ [ngClass]="{ 'p-galleria-thumbnail-prev p-link': true, 'p-disabled': this.isNavBackwardDisabled() }"
1384
+ (click)="navBackward($event)"
1385
+ [disabled]="isNavBackwardDisabled()"
1386
+ pRipple
1387
+ [attr.aria-label]="ariaPrevButtonLabel()"
1388
+ >
1230
1389
  <ng-container *ngIf="!galleria.previousThumbnailIconTemplate">
1231
1390
  <ChevronLeftIcon *ngIf="!isVertical" [styleClass]="'p-galleria-thumbnail-prev-icon'" />
1232
1391
  <ChevronUpIcon *ngIf="isVertical" [styleClass]="'p-galleria-thumbnail-prev-icon'" />
@@ -1234,7 +1393,7 @@ class GalleriaThumbnails {
1234
1393
  <ng-template *ngTemplateOutlet="galleria.previousThumbnailIconTemplate"></ng-template>
1235
1394
  </button>
1236
1395
  <div class="p-galleria-thumbnail-items-container" [ngStyle]="{ height: isVertical ? contentHeight : '' }">
1237
- <div #itemsContainer class="p-galleria-thumbnail-items" (transitionend)="onTransitionEnd()" (touchstart)="onTouchStart($event)" (touchmove)="onTouchMove($event)">
1396
+ <div #itemsContainer class="p-galleria-thumbnail-items" (transitionend)="onTransitionEnd()" (touchstart)="onTouchStart($event)" (touchmove)="onTouchMove($event)" role="tablist">
1238
1397
  <div
1239
1398
  *ngFor="let item of value; let index = index"
1240
1399
  [ngClass]="{
@@ -1244,14 +1403,35 @@ class GalleriaThumbnails {
1244
1403
  'p-galleria-thumbnail-item-start': firstItemAciveIndex() === index,
1245
1404
  'p-galleria-thumbnail-item-end': lastItemActiveIndex() === index
1246
1405
  }"
1406
+ [attr.aria-selected]="activeIndex === index"
1407
+ [attr.aria-controls]="containerId + '_item_' + index"
1408
+ [attr.data-pc-section]="'thumbnailitem'"
1409
+ [attr.data-p-active]="activeIndex === index"
1410
+ (keydown)="onThumbnailKeydown($event, index)"
1247
1411
  >
1248
- <div class="p-galleria-thumbnail-item-content" [attr.tabindex]="getTabIndex(index)" (click)="onItemClick(index)" (touchend)="onItemClick(index)" (keydown.enter)="onItemClick(index)">
1412
+ <div
1413
+ class="p-galleria-thumbnail-item-content"
1414
+ [attr.tabindex]="activeIndex === index ? 0 : -1"
1415
+ [attr.aria-current]="activeIndex === index ? 'page' : undefined"
1416
+ [attr.aria-label]="ariaPageLabel(index + 1)"
1417
+ (click)="onItemClick(index)"
1418
+ (touchend)="onItemClick(index)"
1419
+ (keydown.enter)="onItemClick(index)"
1420
+ >
1249
1421
  <p-galleriaItemSlot type="thumbnail" [item]="item" [templates]="templates"></p-galleriaItemSlot>
1250
1422
  </div>
1251
1423
  </div>
1252
1424
  </div>
1253
1425
  </div>
1254
- <button *ngIf="showThumbnailNavigators" type="button" [ngClass]="{ 'p-galleria-thumbnail-next p-link': true, 'p-disabled': this.isNavForwardDisabled() }" (click)="navForward($event)" [disabled]="isNavForwardDisabled()" pRipple>
1426
+ <button
1427
+ *ngIf="showThumbnailNavigators"
1428
+ type="button"
1429
+ [ngClass]="{ 'p-galleria-thumbnail-next p-link': true, 'p-disabled': this.isNavForwardDisabled() }"
1430
+ (click)="navForward($event)"
1431
+ [disabled]="isNavForwardDisabled()"
1432
+ pRipple
1433
+ [attr.aria-label]="ariaNextButtonLabel()"
1434
+ >
1255
1435
  <ng-container *ngIf="!galleria.nextThumbnailIconTemplate">
1256
1436
  <ChevronRightIcon *ngIf="!isVertical" [ngClass]="'p-galleria-thumbnail-next-icon'" />
1257
1437
  <ChevronDownIcon *ngIf="isVertical" [ngClass]="'p-galleria-thumbnail-next-icon'" />
@@ -1262,14 +1442,22 @@ class GalleriaThumbnails {
1262
1442
  </div>
1263
1443
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return ChevronRightIcon; }), selector: "ChevronRightIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronLeftIcon; }), selector: "ChevronLeftIcon" }, { kind: "component", type: i0.forwardRef(function () { return GalleriaItemSlot; }), selector: "p-galleriaItemSlot", inputs: ["templates", "index", "item", "type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1264
1444
  }
1265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaThumbnails, decorators: [{
1445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaThumbnails, decorators: [{
1266
1446
  type: Component,
1267
1447
  args: [{
1268
1448
  selector: 'p-galleriaThumbnails',
1269
1449
  template: `
1270
1450
  <div class="p-galleria-thumbnail-wrapper">
1271
1451
  <div class="p-galleria-thumbnail-container">
1272
- <button *ngIf="showThumbnailNavigators" type="button" [ngClass]="{ 'p-galleria-thumbnail-prev p-link': true, 'p-disabled': this.isNavBackwardDisabled() }" (click)="navBackward($event)" [disabled]="isNavBackwardDisabled()" pRipple>
1452
+ <button
1453
+ *ngIf="showThumbnailNavigators"
1454
+ type="button"
1455
+ [ngClass]="{ 'p-galleria-thumbnail-prev p-link': true, 'p-disabled': this.isNavBackwardDisabled() }"
1456
+ (click)="navBackward($event)"
1457
+ [disabled]="isNavBackwardDisabled()"
1458
+ pRipple
1459
+ [attr.aria-label]="ariaPrevButtonLabel()"
1460
+ >
1273
1461
  <ng-container *ngIf="!galleria.previousThumbnailIconTemplate">
1274
1462
  <ChevronLeftIcon *ngIf="!isVertical" [styleClass]="'p-galleria-thumbnail-prev-icon'" />
1275
1463
  <ChevronUpIcon *ngIf="isVertical" [styleClass]="'p-galleria-thumbnail-prev-icon'" />
@@ -1277,7 +1465,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1277
1465
  <ng-template *ngTemplateOutlet="galleria.previousThumbnailIconTemplate"></ng-template>
1278
1466
  </button>
1279
1467
  <div class="p-galleria-thumbnail-items-container" [ngStyle]="{ height: isVertical ? contentHeight : '' }">
1280
- <div #itemsContainer class="p-galleria-thumbnail-items" (transitionend)="onTransitionEnd()" (touchstart)="onTouchStart($event)" (touchmove)="onTouchMove($event)">
1468
+ <div #itemsContainer class="p-galleria-thumbnail-items" (transitionend)="onTransitionEnd()" (touchstart)="onTouchStart($event)" (touchmove)="onTouchMove($event)" role="tablist">
1281
1469
  <div
1282
1470
  *ngFor="let item of value; let index = index"
1283
1471
  [ngClass]="{
@@ -1287,14 +1475,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1287
1475
  'p-galleria-thumbnail-item-start': firstItemAciveIndex() === index,
1288
1476
  'p-galleria-thumbnail-item-end': lastItemActiveIndex() === index
1289
1477
  }"
1478
+ [attr.aria-selected]="activeIndex === index"
1479
+ [attr.aria-controls]="containerId + '_item_' + index"
1480
+ [attr.data-pc-section]="'thumbnailitem'"
1481
+ [attr.data-p-active]="activeIndex === index"
1482
+ (keydown)="onThumbnailKeydown($event, index)"
1290
1483
  >
1291
- <div class="p-galleria-thumbnail-item-content" [attr.tabindex]="getTabIndex(index)" (click)="onItemClick(index)" (touchend)="onItemClick(index)" (keydown.enter)="onItemClick(index)">
1484
+ <div
1485
+ class="p-galleria-thumbnail-item-content"
1486
+ [attr.tabindex]="activeIndex === index ? 0 : -1"
1487
+ [attr.aria-current]="activeIndex === index ? 'page' : undefined"
1488
+ [attr.aria-label]="ariaPageLabel(index + 1)"
1489
+ (click)="onItemClick(index)"
1490
+ (touchend)="onItemClick(index)"
1491
+ (keydown.enter)="onItemClick(index)"
1492
+ >
1292
1493
  <p-galleriaItemSlot type="thumbnail" [item]="item" [templates]="templates"></p-galleriaItemSlot>
1293
1494
  </div>
1294
1495
  </div>
1295
1496
  </div>
1296
1497
  </div>
1297
- <button *ngIf="showThumbnailNavigators" type="button" [ngClass]="{ 'p-galleria-thumbnail-next p-link': true, 'p-disabled': this.isNavForwardDisabled() }" (click)="navForward($event)" [disabled]="isNavForwardDisabled()" pRipple>
1498
+ <button
1499
+ *ngIf="showThumbnailNavigators"
1500
+ type="button"
1501
+ [ngClass]="{ 'p-galleria-thumbnail-next p-link': true, 'p-disabled': this.isNavForwardDisabled() }"
1502
+ (click)="navForward($event)"
1503
+ [disabled]="isNavForwardDisabled()"
1504
+ pRipple
1505
+ [attr.aria-label]="ariaNextButtonLabel()"
1506
+ >
1298
1507
  <ng-container *ngIf="!galleria.nextThumbnailIconTemplate">
1299
1508
  <ChevronRightIcon *ngIf="!isVertical" [ngClass]="'p-galleria-thumbnail-next-icon'" />
1300
1509
  <ChevronDownIcon *ngIf="isVertical" [ngClass]="'p-galleria-thumbnail-next-icon'" />
@@ -1343,14 +1552,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1343
1552
  type: Input
1344
1553
  }] } });
1345
1554
  class GalleriaModule {
1346
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1347
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: GalleriaModule, declarations: [Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails], imports: [CommonModule, SharedModule, RippleModule, TimesIcon, ChevronRightIcon, ChevronLeftIcon, WindowMaximizeIcon, WindowMinimizeIcon], exports: [CommonModule, Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails, SharedModule] });
1348
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaModule, imports: [CommonModule, SharedModule, RippleModule, TimesIcon, ChevronRightIcon, ChevronLeftIcon, WindowMaximizeIcon, WindowMinimizeIcon, CommonModule, SharedModule] });
1555
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1556
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: GalleriaModule, declarations: [Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails], imports: [CommonModule, SharedModule, RippleModule, TimesIcon, ChevronRightIcon, ChevronLeftIcon, WindowMaximizeIcon, WindowMinimizeIcon, FocusTrapModule], exports: [CommonModule, Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails, SharedModule] });
1557
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaModule, imports: [CommonModule, SharedModule, RippleModule, TimesIcon, ChevronRightIcon, ChevronLeftIcon, WindowMaximizeIcon, WindowMinimizeIcon, FocusTrapModule, CommonModule, SharedModule] });
1349
1558
  }
1350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: GalleriaModule, decorators: [{
1559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: GalleriaModule, decorators: [{
1351
1560
  type: NgModule,
1352
1561
  args: [{
1353
- imports: [CommonModule, SharedModule, RippleModule, TimesIcon, ChevronRightIcon, ChevronLeftIcon, WindowMaximizeIcon, WindowMinimizeIcon],
1562
+ imports: [CommonModule, SharedModule, RippleModule, TimesIcon, ChevronRightIcon, ChevronLeftIcon, WindowMaximizeIcon, WindowMinimizeIcon, FocusTrapModule],
1354
1563
  exports: [CommonModule, Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails, SharedModule],
1355
1564
  declarations: [Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails]
1356
1565
  }]