primeng 20.1.2 → 20.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 (320) hide show
  1. package/accordion/index.d.ts +2 -2
  2. package/animateonscroll/index.d.ts +2 -2
  3. package/api/index.d.ts +4 -3
  4. package/autocomplete/index.d.ts +59 -13
  5. package/avatargroup/index.d.ts +2 -2
  6. package/badge/index.d.ts +5 -5
  7. package/base/index.d.ts +6 -6
  8. package/basecomponent/index.d.ts +1 -1
  9. package/baseeditableholder/index.d.ts +4 -4
  10. package/baseinput/index.d.ts +12 -12
  11. package/breadcrumb/index.d.ts +1 -2
  12. package/button/index.d.ts +10 -10
  13. package/card/index.d.ts +1 -1
  14. package/carousel/index.d.ts +6 -6
  15. package/cascadeselect/index.d.ts +9 -9
  16. package/checkbox/index.d.ts +3 -3
  17. package/chip/index.d.ts +14 -4
  18. package/classnames/index.d.ts +38 -0
  19. package/config/index.d.ts +2 -2
  20. package/confirmdialog/index.d.ts +3 -3
  21. package/contextmenu/index.d.ts +4 -4
  22. package/dataview/index.d.ts +1 -1
  23. package/datepicker/index.d.ts +1 -1
  24. package/dialog/index.d.ts +4 -3
  25. package/divider/index.d.ts +2 -2
  26. package/dock/index.d.ts +2 -2
  27. package/dom/index.d.ts +4 -4
  28. package/dynamicdialog/index.d.ts +14 -14
  29. package/fesm2022/primeng-accordion.mjs +33 -21
  30. package/fesm2022/primeng-accordion.mjs.map +1 -1
  31. package/fesm2022/primeng-animateonscroll.mjs +8 -8
  32. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  33. package/fesm2022/primeng-api.mjs +31 -31
  34. package/fesm2022/primeng-autocomplete.mjs +180 -50
  35. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  36. package/fesm2022/primeng-autofocus.mjs +7 -7
  37. package/fesm2022/primeng-avatar.mjs +10 -10
  38. package/fesm2022/primeng-avatargroup.mjs +10 -10
  39. package/fesm2022/primeng-badge.mjs +15 -15
  40. package/fesm2022/primeng-badge.mjs.map +1 -1
  41. package/fesm2022/primeng-base.mjs +3 -3
  42. package/fesm2022/primeng-base.mjs.map +1 -1
  43. package/fesm2022/primeng-basecomponent.mjs +6 -6
  44. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  45. package/fesm2022/primeng-baseeditableholder.mjs +3 -3
  46. package/fesm2022/primeng-baseinput.mjs +3 -3
  47. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  48. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  49. package/fesm2022/primeng-blockui.mjs +10 -10
  50. package/fesm2022/primeng-breadcrumb.mjs +21 -21
  51. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  52. package/fesm2022/primeng-button.mjs +24 -23
  53. package/fesm2022/primeng-button.mjs.map +1 -1
  54. package/fesm2022/primeng-buttongroup.mjs +10 -10
  55. package/fesm2022/primeng-card.mjs +10 -10
  56. package/fesm2022/primeng-carousel.mjs +23 -23
  57. package/fesm2022/primeng-carousel.mjs.map +1 -1
  58. package/fesm2022/primeng-cascadeselect.mjs +31 -25
  59. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  60. package/fesm2022/primeng-chart.mjs +10 -10
  61. package/fesm2022/primeng-checkbox.mjs +15 -14
  62. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  63. package/fesm2022/primeng-chip.mjs +48 -17
  64. package/fesm2022/primeng-chip.mjs.map +1 -1
  65. package/fesm2022/primeng-classnames.mjs +73 -0
  66. package/fesm2022/primeng-classnames.mjs.map +1 -0
  67. package/fesm2022/primeng-colorpicker.mjs +11 -11
  68. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  69. package/fesm2022/primeng-config.mjs +8 -7
  70. package/fesm2022/primeng-config.mjs.map +1 -1
  71. package/fesm2022/primeng-confirmdialog.mjs +16 -10
  72. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  73. package/fesm2022/primeng-confirmpopup.mjs +24 -22
  74. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  75. package/fesm2022/primeng-contextmenu.mjs +24 -22
  76. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  77. package/fesm2022/primeng-dataview.mjs +11 -11
  78. package/fesm2022/primeng-dataview.mjs.map +1 -1
  79. package/fesm2022/primeng-datepicker.mjs +23 -23
  80. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  81. package/fesm2022/primeng-dialog.mjs +34 -15
  82. package/fesm2022/primeng-dialog.mjs.map +1 -1
  83. package/fesm2022/primeng-divider.mjs +10 -10
  84. package/fesm2022/primeng-dock.mjs +27 -25
  85. package/fesm2022/primeng-dock.mjs.map +1 -1
  86. package/fesm2022/primeng-dom.mjs +13 -10
  87. package/fesm2022/primeng-dom.mjs.map +1 -1
  88. package/fesm2022/primeng-dragdrop.mjs +10 -10
  89. package/fesm2022/primeng-drawer.mjs +28 -19
  90. package/fesm2022/primeng-drawer.mjs.map +1 -1
  91. package/fesm2022/primeng-dynamicdialog.mjs +48 -39
  92. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  93. package/fesm2022/primeng-editor.mjs +11 -11
  94. package/fesm2022/primeng-editor.mjs.map +1 -1
  95. package/fesm2022/primeng-fieldset.mjs +12 -11
  96. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  97. package/fesm2022/primeng-fileupload.mjs +15 -15
  98. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  99. package/fesm2022/primeng-floatlabel.mjs +10 -10
  100. package/fesm2022/primeng-fluid.mjs +10 -12
  101. package/fesm2022/primeng-fluid.mjs.map +1 -1
  102. package/fesm2022/primeng-focustrap.mjs +7 -7
  103. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  104. package/fesm2022/primeng-galleria.mjs +42 -38
  105. package/fesm2022/primeng-galleria.mjs.map +1 -1
  106. package/fesm2022/primeng-iconfield.mjs +10 -10
  107. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  108. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  109. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  110. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  111. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  112. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  113. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  114. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  115. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  116. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  117. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  118. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  119. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  120. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  121. package/fesm2022/primeng-icons-ban.mjs +3 -3
  122. package/fesm2022/primeng-icons-bars.mjs +3 -3
  123. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  124. package/fesm2022/primeng-icons-blank.mjs +3 -3
  125. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  126. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  127. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  128. package/fesm2022/primeng-icons-check.mjs +3 -3
  129. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  130. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  131. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  132. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  133. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  134. package/fesm2022/primeng-icons-eye.mjs +3 -3
  135. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  136. package/fesm2022/primeng-icons-filter.mjs +3 -3
  137. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  138. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  139. package/fesm2022/primeng-icons-home.mjs +3 -3
  140. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  141. package/fesm2022/primeng-icons-minus.mjs +3 -3
  142. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  143. package/fesm2022/primeng-icons-plus.mjs +3 -3
  144. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  145. package/fesm2022/primeng-icons-search.mjs +3 -3
  146. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  147. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  148. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  149. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  150. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  151. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  152. package/fesm2022/primeng-icons-star.mjs +3 -3
  153. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  154. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  155. package/fesm2022/primeng-icons-times.mjs +3 -3
  156. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  157. package/fesm2022/primeng-icons-trash.mjs +3 -3
  158. package/fesm2022/primeng-icons-undo.mjs +3 -3
  159. package/fesm2022/primeng-icons-upload.mjs +3 -3
  160. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  161. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  162. package/fesm2022/primeng-iftalabel.mjs +10 -10
  163. package/fesm2022/primeng-image.mjs +19 -16
  164. package/fesm2022/primeng-image.mjs.map +1 -1
  165. package/fesm2022/primeng-imagecompare.mjs +10 -10
  166. package/fesm2022/primeng-inplace.mjs +16 -16
  167. package/fesm2022/primeng-inputgroup.mjs +10 -10
  168. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  169. package/fesm2022/primeng-inputicon.mjs +10 -10
  170. package/fesm2022/primeng-inputmask.mjs +22 -13
  171. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  172. package/fesm2022/primeng-inputnumber.mjs +52 -31
  173. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  174. package/fesm2022/primeng-inputotp.mjs +11 -11
  175. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  176. package/fesm2022/primeng-inputtext.mjs +10 -10
  177. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  178. package/fesm2022/primeng-keyfilter.mjs +19 -10
  179. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  180. package/fesm2022/primeng-knob.mjs +10 -10
  181. package/fesm2022/primeng-listbox.mjs +124 -43
  182. package/fesm2022/primeng-listbox.mjs.map +1 -1
  183. package/fesm2022/primeng-megamenu.mjs +22 -20
  184. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  185. package/fesm2022/primeng-menu.mjs +35 -44
  186. package/fesm2022/primeng-menu.mjs.map +1 -1
  187. package/fesm2022/primeng-menubar.mjs +28 -27
  188. package/fesm2022/primeng-menubar.mjs.map +1 -1
  189. package/fesm2022/primeng-message.mjs +33 -30
  190. package/fesm2022/primeng-message.mjs.map +1 -1
  191. package/fesm2022/primeng-metergroup.mjs +27 -18
  192. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  193. package/fesm2022/primeng-multiselect.mjs +58 -48
  194. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  195. package/fesm2022/primeng-orderlist.mjs +149 -43
  196. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  197. package/fesm2022/primeng-organizationchart.mjs +13 -13
  198. package/fesm2022/primeng-overlay.mjs +15 -11
  199. package/fesm2022/primeng-overlay.mjs.map +1 -1
  200. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  201. package/fesm2022/primeng-paginator.mjs +11 -11
  202. package/fesm2022/primeng-paginator.mjs.map +1 -1
  203. package/fesm2022/primeng-panel.mjs +11 -11
  204. package/fesm2022/primeng-panel.mjs.map +1 -1
  205. package/fesm2022/primeng-panelmenu.mjs +27 -26
  206. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  207. package/fesm2022/primeng-password.mjs +25 -21
  208. package/fesm2022/primeng-password.mjs.map +1 -1
  209. package/fesm2022/primeng-picklist.mjs +129 -48
  210. package/fesm2022/primeng-picklist.mjs.map +1 -1
  211. package/fesm2022/primeng-popover.mjs +11 -11
  212. package/fesm2022/primeng-popover.mjs.map +1 -1
  213. package/fesm2022/primeng-progressbar.mjs +10 -10
  214. package/fesm2022/primeng-progressspinner.mjs +10 -10
  215. package/fesm2022/primeng-radiobutton.mjs +15 -15
  216. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  217. package/fesm2022/primeng-rating.mjs +11 -11
  218. package/fesm2022/primeng-rating.mjs.map +1 -1
  219. package/fesm2022/primeng-ripple.mjs +10 -10
  220. package/fesm2022/primeng-scroller.mjs +10 -10
  221. package/fesm2022/primeng-scrollpanel.mjs +19 -19
  222. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  223. package/fesm2022/primeng-scrolltop.mjs +10 -10
  224. package/fesm2022/primeng-select.mjs +56 -38
  225. package/fesm2022/primeng-select.mjs.map +1 -1
  226. package/fesm2022/primeng-selectbutton.mjs +12 -12
  227. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  228. package/fesm2022/primeng-skeleton.mjs +10 -10
  229. package/fesm2022/primeng-slider.mjs +14 -14
  230. package/fesm2022/primeng-slider.mjs.map +1 -1
  231. package/fesm2022/primeng-speeddial.mjs +32 -24
  232. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  233. package/fesm2022/primeng-splitbutton.mjs +15 -15
  234. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  235. package/fesm2022/primeng-splitter.mjs +21 -21
  236. package/fesm2022/primeng-splitter.mjs.map +1 -1
  237. package/fesm2022/primeng-stepper.mjs +43 -43
  238. package/fesm2022/primeng-stepper.mjs.map +1 -1
  239. package/fesm2022/primeng-steps.mjs +15 -15
  240. package/fesm2022/primeng-steps.mjs.map +1 -1
  241. package/fesm2022/primeng-styleclass.mjs +8 -8
  242. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  243. package/fesm2022/primeng-table.mjs +178 -158
  244. package/fesm2022/primeng-table.mjs.map +1 -1
  245. package/fesm2022/primeng-tabs.mjs +99 -55
  246. package/fesm2022/primeng-tabs.mjs.map +1 -1
  247. package/fesm2022/primeng-tag.mjs +10 -10
  248. package/fesm2022/primeng-tag.mjs.map +1 -1
  249. package/fesm2022/primeng-terminal.mjs +13 -13
  250. package/fesm2022/primeng-textarea.mjs +11 -11
  251. package/fesm2022/primeng-textarea.mjs.map +1 -1
  252. package/fesm2022/primeng-tieredmenu.mjs +26 -25
  253. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  254. package/fesm2022/primeng-timeline.mjs +10 -10
  255. package/fesm2022/primeng-toast.mjs +14 -13
  256. package/fesm2022/primeng-toast.mjs.map +1 -1
  257. package/fesm2022/primeng-togglebutton.mjs +20 -13
  258. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  259. package/fesm2022/primeng-toggleswitch.mjs +10 -10
  260. package/fesm2022/primeng-toolbar.mjs +10 -10
  261. package/fesm2022/primeng-tooltip.mjs +16 -15
  262. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  263. package/fesm2022/primeng-tree.mjs +170 -221
  264. package/fesm2022/primeng-tree.mjs.map +1 -1
  265. package/fesm2022/primeng-treeselect.mjs +17 -17
  266. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  267. package/fesm2022/primeng-treetable.mjs +84 -77
  268. package/fesm2022/primeng-treetable.mjs.map +1 -1
  269. package/fesm2022/primeng-usestyle.mjs +20 -18
  270. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  271. package/fesm2022/primeng-utils.mjs.map +1 -1
  272. package/fieldset/index.d.ts +3 -2
  273. package/fileupload/index.d.ts +6 -6
  274. package/fluid/index.d.ts +0 -2
  275. package/galleria/index.d.ts +10 -10
  276. package/icons/baseicon/index.d.ts +1 -1
  277. package/image/index.d.ts +7 -7
  278. package/inputnumber/index.d.ts +7 -7
  279. package/inputotp/index.d.ts +3 -3
  280. package/inputtext/index.d.ts +6 -6
  281. package/keyfilter/index.d.ts +2 -2
  282. package/listbox/index.d.ts +31 -19
  283. package/megamenu/index.d.ts +1 -1
  284. package/menu/index.d.ts +1 -2
  285. package/message/index.d.ts +3 -2
  286. package/metergroup/index.d.ts +6 -6
  287. package/multiselect/index.d.ts +18 -17
  288. package/orderlist/index.d.ts +13 -7
  289. package/organizationchart/index.d.ts +2 -2
  290. package/overlay/index.d.ts +5 -5
  291. package/package.json +198 -194
  292. package/paginator/index.d.ts +1 -1
  293. package/panel/index.d.ts +2 -2
  294. package/panelmenu/index.d.ts +8 -8
  295. package/password/index.d.ts +6 -6
  296. package/picklist/index.d.ts +17 -12
  297. package/radiobutton/index.d.ts +3 -3
  298. package/rating/index.d.ts +1 -1
  299. package/scroller/index.d.ts +3 -3
  300. package/select/index.d.ts +11 -11
  301. package/selectbutton/index.d.ts +3 -3
  302. package/slider/index.d.ts +2 -2
  303. package/speeddial/index.d.ts +9 -9
  304. package/splitter/index.d.ts +3 -3
  305. package/stepper/index.d.ts +4 -4
  306. package/steps/index.d.ts +3 -3
  307. package/table/index.d.ts +39 -31
  308. package/tabs/index.d.ts +23 -8
  309. package/tag/index.d.ts +1 -1
  310. package/textarea/index.d.ts +6 -6
  311. package/tieredmenu/index.d.ts +1 -1
  312. package/toast/index.d.ts +5 -5
  313. package/togglebutton/index.d.ts +4 -3
  314. package/toggleswitch/index.d.ts +1 -1
  315. package/tooltip/index.d.ts +11 -11
  316. package/tree/index.d.ts +31 -46
  317. package/treeselect/index.d.ts +6 -6
  318. package/treetable/index.d.ts +10 -10
  319. package/usestyle/index.d.ts +2 -2
  320. package/utils/index.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-focustrap.mjs","sources":["../../src/focustrap/focustrap.ts","../../src/focustrap/primeng-focustrap.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, Directive, inject, Input, NgModule, PLATFORM_ID, SimpleChanges } from '@angular/core';\nimport { createElement, focus, getFirstFocusableElement, getLastFocusableElement } from '@primeuix/utils';\nimport { BaseComponent } from 'primeng/basecomponent';\n\n/**\n * Focus Trap keeps focus within a certain DOM element while tabbing.\n * @group Components\n */\n@Directive({\n selector: '[pFocusTrap]',\n standalone: true\n})\nexport class FocusTrap extends BaseComponent {\n /**\n * When set as true, focus wouldn't be managed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) pFocusTrapDisabled: boolean = false;\n\n platformId = inject(PLATFORM_ID);\n\n document: Document = inject(DOCUMENT);\n\n firstHiddenFocusableElement!: HTMLElement;\n\n lastHiddenFocusableElement!: HTMLElement;\n\n ngOnInit() {\n super.ngOnInit();\n if (isPlatformBrowser(this.platformId) && !this.pFocusTrapDisabled) {\n !this.firstHiddenFocusableElement && !this.lastHiddenFocusableElement && this.createHiddenFocusableElements();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n if (changes.pFocusTrapDisabled && isPlatformBrowser(this.platformId)) {\n if (changes.pFocusTrapDisabled.currentValue) {\n this.removeHiddenFocusableElements();\n } else {\n this.createHiddenFocusableElements();\n }\n }\n }\n\n removeHiddenFocusableElements() {\n if (this.firstHiddenFocusableElement && this.firstHiddenFocusableElement.parentNode) {\n this.firstHiddenFocusableElement.parentNode.removeChild(this.firstHiddenFocusableElement);\n }\n\n if (this.lastHiddenFocusableElement && this.lastHiddenFocusableElement.parentNode) {\n this.lastHiddenFocusableElement.parentNode.removeChild(this.lastHiddenFocusableElement);\n }\n }\n getComputedSelector(selector) {\n return `:not(.p-hidden-focusable):not([data-p-hidden-focusable=\"true\"])${selector ?? ''}`;\n }\n\n createHiddenFocusableElements() {\n const tabindex = '0';\n\n const createFocusableElement = (onFocus) => {\n return createElement('span', {\n class: 'p-hidden-accessible p-hidden-focusable',\n tabindex,\n role: 'presentation',\n 'aria-hidden': true,\n 'data-p-hidden-accessible': true,\n 'data-p-hidden-focusable': true,\n onFocus: onFocus?.bind(this)\n });\n };\n\n this.firstHiddenFocusableElement = createFocusableElement(this.onFirstHiddenElementFocus);\n this.lastHiddenFocusableElement = createFocusableElement(this.onLastHiddenElementFocus);\n\n this.firstHiddenFocusableElement.setAttribute('data-pc-section', 'firstfocusableelement');\n this.lastHiddenFocusableElement.setAttribute('data-pc-section', 'lastfocusableelement');\n\n this.el.nativeElement.prepend(this.firstHiddenFocusableElement);\n this.el.nativeElement.append(this.lastHiddenFocusableElement);\n }\n\n onFirstHiddenElementFocus(event) {\n const { currentTarget, relatedTarget } = event;\n const focusableElement =\n relatedTarget === this.lastHiddenFocusableElement || !this.el.nativeElement?.contains(relatedTarget) ? getFirstFocusableElement(currentTarget.parentElement, ':not(.p-hidden-focusable)') : this.lastHiddenFocusableElement;\n\n focus(focusableElement as any);\n }\n\n onLastHiddenElementFocus(event) {\n const { currentTarget, relatedTarget } = event;\n const focusableElement =\n relatedTarget === this.firstHiddenFocusableElement || !this.el.nativeElement?.contains(relatedTarget) ? getLastFocusableElement(currentTarget.parentElement, ':not(.p-hidden-focusable)') : this.firstHiddenFocusableElement;\n\n focus(focusableElement as any);\n }\n}\n\n@NgModule({\n imports: [FocusTrap],\n exports: [FocusTrap]\n})\nexport class FocusTrapModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-focustrap.mjs","sources":["../../src/focustrap/focustrap.ts","../../src/focustrap/primeng-focustrap.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, Directive, inject, Input, NgModule, PLATFORM_ID, SimpleChanges } from '@angular/core';\nimport { createElement, focus, getFirstFocusableElement, getLastFocusableElement } from '@primeuix/utils';\nimport { BaseComponent } from 'primeng/basecomponent';\n\n/**\n * Focus Trap keeps focus within a certain DOM element while tabbing.\n * @group Components\n */\n@Directive({\n selector: '[pFocusTrap]',\n standalone: true\n})\nexport class FocusTrap extends BaseComponent {\n /**\n * When set as true, focus wouldn't be managed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) pFocusTrapDisabled: boolean = false;\n\n platformId = inject(PLATFORM_ID);\n\n document: Document = inject(DOCUMENT);\n\n firstHiddenFocusableElement!: HTMLElement;\n\n lastHiddenFocusableElement!: HTMLElement;\n\n ngOnInit() {\n super.ngOnInit();\n if (isPlatformBrowser(this.platformId) && !this.pFocusTrapDisabled) {\n !this.firstHiddenFocusableElement && !this.lastHiddenFocusableElement && this.createHiddenFocusableElements();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n if (changes.pFocusTrapDisabled && isPlatformBrowser(this.platformId)) {\n if (changes.pFocusTrapDisabled.currentValue) {\n this.removeHiddenFocusableElements();\n } else {\n this.createHiddenFocusableElements();\n }\n }\n }\n\n removeHiddenFocusableElements() {\n if (this.firstHiddenFocusableElement && this.firstHiddenFocusableElement.parentNode) {\n this.firstHiddenFocusableElement.parentNode.removeChild(this.firstHiddenFocusableElement);\n }\n\n if (this.lastHiddenFocusableElement && this.lastHiddenFocusableElement.parentNode) {\n this.lastHiddenFocusableElement.parentNode.removeChild(this.lastHiddenFocusableElement);\n }\n }\n getComputedSelector(selector) {\n return `:not(.p-hidden-focusable):not([data-p-hidden-focusable=\"true\"])${selector ?? ''}`;\n }\n\n createHiddenFocusableElements() {\n const tabindex = '0';\n\n const createFocusableElement = (onFocus) => {\n return createElement('span', {\n class: 'p-hidden-accessible p-hidden-focusable',\n tabindex,\n role: 'presentation',\n 'aria-hidden': true,\n 'data-p-hidden-accessible': true,\n 'data-p-hidden-focusable': true,\n onFocus: onFocus?.bind(this)\n }) as HTMLElement;\n };\n\n this.firstHiddenFocusableElement = createFocusableElement(this.onFirstHiddenElementFocus);\n this.lastHiddenFocusableElement = createFocusableElement(this.onLastHiddenElementFocus);\n\n this.firstHiddenFocusableElement.setAttribute('data-pc-section', 'firstfocusableelement');\n this.lastHiddenFocusableElement.setAttribute('data-pc-section', 'lastfocusableelement');\n\n this.el.nativeElement.prepend(this.firstHiddenFocusableElement);\n this.el.nativeElement.append(this.lastHiddenFocusableElement);\n }\n\n onFirstHiddenElementFocus(event) {\n const { currentTarget, relatedTarget } = event;\n const focusableElement =\n relatedTarget === this.lastHiddenFocusableElement || !this.el.nativeElement?.contains(relatedTarget) ? getFirstFocusableElement(currentTarget.parentElement, ':not(.p-hidden-focusable)') : this.lastHiddenFocusableElement;\n\n focus(focusableElement as any);\n }\n\n onLastHiddenElementFocus(event) {\n const { currentTarget, relatedTarget } = event;\n const focusableElement =\n relatedTarget === this.firstHiddenFocusableElement || !this.el.nativeElement?.contains(relatedTarget) ? getLastFocusableElement(currentTarget.parentElement, ':not(.p-hidden-focusable)') : this.firstHiddenFocusableElement;\n\n focus(focusableElement as any);\n }\n}\n\n@NgModule({\n imports: [FocusTrap],\n exports: [FocusTrap]\n})\nexport class FocusTrapModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;AAKA;;;AAGG;AAKG,MAAO,SAAU,SAAQ,aAAa,CAAA;AACxC;;;AAGG;IACqC,kBAAkB,GAAY,KAAK;AAE3E,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAEhC,IAAA,QAAQ,GAAa,MAAM,CAAC,QAAQ,CAAC;AAErC,IAAA,2BAA2B;AAE3B,IAAA,0BAA0B;IAE1B,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE;AAChB,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAChE,YAAA,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,6BAA6B,EAAE;QACjH;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;QAC1B,IAAI,OAAO,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AAClE,YAAA,IAAI,OAAO,CAAC,kBAAkB,CAAC,YAAY,EAAE;gBACzC,IAAI,CAAC,6BAA6B,EAAE;YACxC;iBAAO;gBACH,IAAI,CAAC,6BAA6B,EAAE;YACxC;QACJ;IACJ;IAEA,6BAA6B,GAAA;QACzB,IAAI,IAAI,CAAC,2BAA2B,IAAI,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE;YACjF,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC;QAC7F;QAEA,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE;YAC/E,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,0BAA0B,CAAC;QAC3F;IACJ;AACA,IAAA,mBAAmB,CAAC,QAAQ,EAAA;AACxB,QAAA,OAAO,CAAA,+DAAA,EAAkE,QAAQ,IAAI,EAAE,EAAE;IAC7F;IAEA,6BAA6B,GAAA;QACzB,MAAM,QAAQ,GAAG,GAAG;AAEpB,QAAA,MAAM,sBAAsB,GAAG,CAAC,OAAO,KAAI;YACvC,OAAO,aAAa,CAAC,MAAM,EAAE;AACzB,gBAAA,KAAK,EAAE,wCAAwC;gBAC/C,QAAQ;AACR,gBAAA,IAAI,EAAE,cAAc;AACpB,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,0BAA0B,EAAE,IAAI;AAChC,gBAAA,yBAAyB,EAAE,IAAI;AAC/B,gBAAA,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI;AAC9B,aAAA,CAAgB;AACrB,QAAA,CAAC;QAED,IAAI,CAAC,2BAA2B,GAAG,sBAAsB,CAAC,IAAI,CAAC,yBAAyB,CAAC;QACzF,IAAI,CAAC,0BAA0B,GAAG,sBAAsB,CAAC,IAAI,CAAC,wBAAwB,CAAC;QAEvF,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;QACzF,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;QAEvF,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC;QAC/D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC;IACjE;AAEA,IAAA,yBAAyB,CAAC,KAAK,EAAA;AAC3B,QAAA,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,KAAK;AAC9C,QAAA,MAAM,gBAAgB,GAClB,aAAa,KAAK,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,wBAAwB,CAAC,aAAa,CAAC,aAAa,EAAE,2BAA2B,CAAC,GAAG,IAAI,CAAC,0BAA0B;QAE/N,KAAK,CAAC,gBAAuB,CAAC;IAClC;AAEA,IAAA,wBAAwB,CAAC,KAAK,EAAA;AAC1B,QAAA,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,KAAK;AAC9C,QAAA,MAAM,gBAAgB,GAClB,aAAa,KAAK,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,uBAAuB,CAAC,aAAa,CAAC,aAAa,EAAE,2BAA2B,CAAC,GAAG,IAAI,CAAC,2BAA2B;QAEhO,KAAK,CAAC,gBAAuB,CAAC;IAClC;uGArFS,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,2HAKE,gBAAgB,CAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAL3B,SAAS,EAAA,UAAA,EAAA,CAAA;kBAJrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE;AACf,iBAAA;8BAM2C,kBAAkB,EAAA,CAAA;sBAAzD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;MAuF7B,eAAe,CAAA;uGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAf,eAAe,EAAA,OAAA,EAAA,CA5Ff,SAAS,CAAA,EAAA,OAAA,EAAA,CAAT,SAAS,CAAA,EAAA,CAAA;wGA4FT,eAAe,EAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,CAAC,SAAS;AACtB,iBAAA;;;ACxGD;;AAEG;;;;"}
@@ -3,7 +3,7 @@ import * as i1 from '@angular/common';
3
3
  import { isPlatformBrowser, CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
5
  import { Injectable, EventEmitter, inject, PLATFORM_ID, numberAttribute, booleanAttribute, ContentChildren, ContentChild, ViewChild, Output, Input, Inject, ViewEncapsulation, ChangeDetectionStrategy, Component, HostListener, NgModule } from '@angular/core';
6
- import { addClass, focus, findSingle, removeClass, uuid, setAttribute, find, getAttribute } from '@primeuix/utils';
6
+ import { addClass, findSingle, focus, removeClass, uuid, setAttribute, find, getAttribute } from '@primeuix/utils';
7
7
  import { PrimeTemplate, SharedModule } from 'primeng/api';
8
8
  import { BaseComponent } from 'primeng/basecomponent';
9
9
  import { blockBodyScroll, unblockBodyScroll } from 'primeng/dom';
@@ -94,10 +94,10 @@ class GalleriaStyle extends BaseStyle {
94
94
  name = 'galleria';
95
95
  theme = style;
96
96
  classes = classes;
97
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
98
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaStyle });
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
98
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaStyle });
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaStyle, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaStyle, decorators: [{
101
101
  type: Injectable
102
102
  }] });
103
103
  /**
@@ -495,7 +495,9 @@ class Galleria extends BaseComponent {
495
495
  case 'visible':
496
496
  this.enableModality();
497
497
  setTimeout(() => {
498
- focus(findSingle(this.container.nativeElement, '[data-pc-section="closebutton"]'));
498
+ const focusTarget = findSingle(this.container?.nativeElement, '[data-pc-section="closebutton"]');
499
+ if (focusTarget)
500
+ focus(focusTarget);
499
501
  }, 25);
500
502
  break;
501
503
  case 'void':
@@ -533,8 +535,8 @@ class Galleria extends BaseComponent {
533
535
  this.disableModality();
534
536
  }
535
537
  }
536
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: Galleria, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
537
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.0", type: Galleria, isStandalone: false, selector: "p-galleria", inputs: { activeIndex: "activeIndex", fullScreen: ["fullScreen", "fullScreen", booleanAttribute], id: "id", value: "value", numVisible: ["numVisible", "numVisible", numberAttribute], responsiveOptions: "responsiveOptions", showItemNavigators: ["showItemNavigators", "showItemNavigators", booleanAttribute], showThumbnailNavigators: ["showThumbnailNavigators", "showThumbnailNavigators", booleanAttribute], showItemNavigatorsOnHover: ["showItemNavigatorsOnHover", "showItemNavigatorsOnHover", booleanAttribute], changeItemOnIndicatorHover: ["changeItemOnIndicatorHover", "changeItemOnIndicatorHover", booleanAttribute], circular: ["circular", "circular", booleanAttribute], autoPlay: ["autoPlay", "autoPlay", booleanAttribute], shouldStopAutoplayByClick: ["shouldStopAutoplayByClick", "shouldStopAutoplayByClick", booleanAttribute], transitionInterval: ["transitionInterval", "transitionInterval", numberAttribute], showThumbnails: ["showThumbnails", "showThumbnails", booleanAttribute], thumbnailsPosition: "thumbnailsPosition", verticalThumbnailViewPortHeight: "verticalThumbnailViewPortHeight", showIndicators: ["showIndicators", "showIndicators", booleanAttribute], showIndicatorsOnItem: ["showIndicatorsOnItem", "showIndicatorsOnItem", booleanAttribute], indicatorsPosition: "indicatorsPosition", baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], maskClass: "maskClass", containerClass: "containerClass", containerStyle: "containerStyle", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", visible: "visible" }, outputs: { activeIndexChange: "activeIndexChange", visibleChange: "visibleChange" }, providers: [GalleriaStyle], queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "indicatorTemplate", first: true, predicate: ["indicator"] }, { propertyName: "captionTemplate", first: true, predicate: ["caption"] }, { propertyName: "_closeIconTemplate", first: true, predicate: ["closeicon"] }, { propertyName: "_previousThumbnailIconTemplate", first: true, predicate: ["previousthumbnailicon"] }, { propertyName: "_nextThumbnailIconTemplate", first: true, predicate: ["nextthumbnailicon"] }, { propertyName: "_itemPreviousIconTemplate", first: true, predicate: ["itempreviousicon"] }, { propertyName: "_itemNextIconTemplate", first: true, predicate: ["itemnexticon"] }, { propertyName: "_itemTemplate", first: true, predicate: ["item"] }, { propertyName: "_thumbnailTemplate", first: true, predicate: ["thumbnail"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "mask", first: true, predicate: ["mask"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
538
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Galleria, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
539
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: Galleria, isStandalone: false, selector: "p-galleria", inputs: { activeIndex: "activeIndex", fullScreen: ["fullScreen", "fullScreen", booleanAttribute], id: "id", value: "value", numVisible: ["numVisible", "numVisible", numberAttribute], responsiveOptions: "responsiveOptions", showItemNavigators: ["showItemNavigators", "showItemNavigators", booleanAttribute], showThumbnailNavigators: ["showThumbnailNavigators", "showThumbnailNavigators", booleanAttribute], showItemNavigatorsOnHover: ["showItemNavigatorsOnHover", "showItemNavigatorsOnHover", booleanAttribute], changeItemOnIndicatorHover: ["changeItemOnIndicatorHover", "changeItemOnIndicatorHover", booleanAttribute], circular: ["circular", "circular", booleanAttribute], autoPlay: ["autoPlay", "autoPlay", booleanAttribute], shouldStopAutoplayByClick: ["shouldStopAutoplayByClick", "shouldStopAutoplayByClick", booleanAttribute], transitionInterval: ["transitionInterval", "transitionInterval", numberAttribute], showThumbnails: ["showThumbnails", "showThumbnails", booleanAttribute], thumbnailsPosition: "thumbnailsPosition", verticalThumbnailViewPortHeight: "verticalThumbnailViewPortHeight", showIndicators: ["showIndicators", "showIndicators", booleanAttribute], showIndicatorsOnItem: ["showIndicatorsOnItem", "showIndicatorsOnItem", booleanAttribute], indicatorsPosition: "indicatorsPosition", baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], maskClass: "maskClass", containerClass: "containerClass", containerStyle: "containerStyle", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", visible: "visible" }, outputs: { activeIndexChange: "activeIndexChange", visibleChange: "visibleChange" }, providers: [GalleriaStyle], queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "indicatorTemplate", first: true, predicate: ["indicator"] }, { propertyName: "captionTemplate", first: true, predicate: ["caption"] }, { propertyName: "_closeIconTemplate", first: true, predicate: ["closeicon"] }, { propertyName: "_previousThumbnailIconTemplate", first: true, predicate: ["previousthumbnailicon"] }, { propertyName: "_nextThumbnailIconTemplate", first: true, predicate: ["nextthumbnailicon"] }, { propertyName: "_itemPreviousIconTemplate", first: true, predicate: ["itempreviousicon"] }, { propertyName: "_itemNextIconTemplate", first: true, predicate: ["itemnexticon"] }, { propertyName: "_itemTemplate", first: true, predicate: ["item"] }, { propertyName: "_thumbnailTemplate", first: true, predicate: ["thumbnail"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "mask", first: true, predicate: ["mask"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
538
540
  <div *ngIf="fullScreen; else windowed" #container>
539
541
  <div *ngIf="maskVisible" #mask [ngClass]="cx('mask')" [class]="maskClass" [attr.role]="fullScreen ? 'dialog' : 'region'" [attr.aria-modal]="fullScreen ? 'true' : undefined" (click)="onMaskHide($event)">
540
542
  <p-galleriaContent
@@ -566,7 +568,7 @@ class Galleria extends BaseComponent {
566
568
  ])
567
569
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
568
570
  }
569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: Galleria, decorators: [{
571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Galleria, decorators: [{
570
572
  type: Component,
571
573
  args: [{
572
574
  selector: 'p-galleria',
@@ -780,7 +782,7 @@ class GalleriaContent extends BaseComponent {
780
782
  }
781
783
  }
782
784
  shouldRenderFooter() {
783
- return (this.galleria.footerFacet && this.galleria.templates.toArray().length > 0) || this.galleria.footerTemplate;
785
+ return (this.galleria.footerFacet && this.galleria.templates && this.galleria.templates.toArray().length > 0) || this.galleria.footerTemplate;
784
786
  }
785
787
  startSlideShow() {
786
788
  if (isPlatformBrowser(this.galleria.platformId)) {
@@ -818,8 +820,8 @@ class GalleriaContent extends BaseComponent {
818
820
  closeAriaLabel() {
819
821
  return this.config.translation.aria ? this.config.translation.aria.close : undefined;
820
822
  }
821
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaContent, deps: [{ token: Galleria }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
822
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.0", type: GalleriaContent, isStandalone: false, selector: "p-galleriaContent", inputs: { activeIndex: "activeIndex", value: "value", numVisible: ["numVisible", "numVisible", numberAttribute], fullScreen: ["fullScreen", "fullScreen", booleanAttribute] }, outputs: { maskHide: "maskHide", activeItemChange: "activeItemChange" }, host: { listeners: { "document:fullscreenchange": "handleFullscreenChange($event)" } }, providers: [GalleriaStyle], viewQueries: [{ propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
823
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaContent, deps: [{ token: Galleria }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
824
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: GalleriaContent, isStandalone: false, selector: "p-galleriaContent", inputs: { activeIndex: "activeIndex", value: "value", numVisible: ["numVisible", "numVisible", numberAttribute], fullScreen: ["fullScreen", "fullScreen", booleanAttribute] }, outputs: { maskHide: "maskHide", activeItemChange: "activeItemChange" }, host: { listeners: { "document:fullscreenchange": "handleFullscreenChange($event)" } }, providers: [GalleriaStyle], viewQueries: [{ propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
823
825
  <div [attr.id]="id" [attr.role]="'region'" *ngIf="value && value.length > 0" [class]="cn(cx('root'), galleria.containerClass)" [ngStyle]="!galleria.fullScreen ? galleria.containerStyle : {}" pFocusTrap [pFocusTrapDisabled]="!fullScreen">
824
826
  <button *ngIf="galleria.fullScreen" type="button" [class]="cx('closeButton')" (click)="maskHide.emit()" [attr.aria-label]="closeAriaLabel()" [attr.data-pc-section]="'closebutton'">
825
827
  <svg data-p-icon="times" *ngIf="!galleria.closeIconTemplate && !galleria._closeIconTemplate" [class]="cx('closeIcon')" />
@@ -870,7 +872,7 @@ class GalleriaContent extends BaseComponent {
870
872
  </div>
871
873
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => TimesIcon), selector: "[data-p-icon=\"times\"]" }, { kind: "directive", type: i0.forwardRef(() => FocusTrap), selector: "[pFocusTrap]", inputs: ["pFocusTrapDisabled"] }, { kind: "component", type: i0.forwardRef(() => GalleriaItemSlot), selector: "p-galleriaItemSlot", inputs: ["templates", "index", "item", "type"] }, { kind: "component", type: i0.forwardRef(() => 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(() => GalleriaThumbnails), selector: "p-galleriaThumbnails", inputs: ["containerId", "value", "isVertical", "slideShowActive", "circular", "responsiveOptions", "contentHeight", "showThumbnailNavigators", "templates", "numVisible", "activeIndex"], outputs: ["onActiveIndexChange", "stopSlideShow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
872
874
  }
873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaContent, decorators: [{
875
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaContent, decorators: [{
874
876
  type: Component,
875
877
  args: [{
876
878
  selector: 'p-galleriaContent',
@@ -1053,14 +1055,14 @@ class GalleriaItemSlot {
1053
1055
  this.getContentTemplate();
1054
1056
  }
1055
1057
  }
1056
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaItemSlot, deps: [], target: i0.ɵɵFactoryTarget.Component });
1057
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.0", type: GalleriaItemSlot, isStandalone: false, selector: "p-galleriaItemSlot", inputs: { templates: "templates", index: ["index", "index", numberAttribute], item: "item", type: "type" }, ngImport: i0, template: `
1058
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaItemSlot, deps: [], target: i0.ɵɵFactoryTarget.Component });
1059
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: GalleriaItemSlot, isStandalone: false, selector: "p-galleriaItemSlot", inputs: { templates: "templates", index: ["index", "index", numberAttribute], item: "item", type: "type" }, ngImport: i0, template: `
1058
1060
  <ng-container *ngIf="shouldRender()">
1059
1061
  <ng-container *ngTemplateOutlet="contentTemplate; context: context"></ng-container>
1060
1062
  </ng-container>
1061
1063
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1062
1064
  }
1063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaItemSlot, decorators: [{
1065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaItemSlot, decorators: [{
1064
1066
  type: Component,
1065
1067
  args: [{
1066
1068
  selector: 'p-galleriaItemSlot',
@@ -1157,6 +1159,7 @@ class GalleriaItem extends BaseComponent {
1157
1159
  this.stopTheSlideShow();
1158
1160
  this.next();
1159
1161
  if (e && e.cancelable) {
1162
+ e.stopPropagation();
1160
1163
  e.preventDefault();
1161
1164
  }
1162
1165
  }
@@ -1164,6 +1167,7 @@ class GalleriaItem extends BaseComponent {
1164
1167
  this.stopTheSlideShow();
1165
1168
  this.prev();
1166
1169
  if (e && e.cancelable) {
1170
+ e.stopPropagation();
1167
1171
  e.preventDefault();
1168
1172
  }
1169
1173
  }
@@ -1206,13 +1210,13 @@ class GalleriaItem extends BaseComponent {
1206
1210
  return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.slide : undefined;
1207
1211
  }
1208
1212
  ariaSlideNumber(value) {
1209
- return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;
1213
+ return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.slideNumber?.replace(/{slideNumber}/g, value) : undefined;
1210
1214
  }
1211
1215
  ariaPageLabel(value) {
1212
- return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;
1216
+ return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel?.replace(/{page}/g, value) : undefined;
1213
1217
  }
1214
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaItem, deps: [{ token: Galleria }], target: i0.ɵɵFactoryTarget.Component });
1215
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.0", type: GalleriaItem, isStandalone: false, selector: "p-galleriaItem", inputs: { id: "id", circular: ["circular", "circular", booleanAttribute], value: "value", showItemNavigators: ["showItemNavigators", "showItemNavigators", booleanAttribute], showIndicators: ["showIndicators", "showIndicators", booleanAttribute], slideShowActive: ["slideShowActive", "slideShowActive", booleanAttribute], changeItemOnIndicatorHover: ["changeItemOnIndicatorHover", "changeItemOnIndicatorHover", booleanAttribute], autoPlay: ["autoPlay", "autoPlay", booleanAttribute], templates: "templates", indicatorFacet: "indicatorFacet", captionFacet: "captionFacet", activeIndex: "activeIndex" }, outputs: { startSlideShow: "startSlideShow", stopSlideShow: "stopSlideShow", onActiveIndexChange: "onActiveIndexChange" }, host: { properties: { "class": "cx('itemsContainer')" } }, providers: [GalleriaStyle], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1218
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaItem, deps: [{ token: Galleria }], target: i0.ɵɵFactoryTarget.Component });
1219
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: GalleriaItem, isStandalone: false, selector: "p-galleriaItem", inputs: { id: "id", circular: ["circular", "circular", booleanAttribute], value: "value", showItemNavigators: ["showItemNavigators", "showItemNavigators", booleanAttribute], showIndicators: ["showIndicators", "showIndicators", booleanAttribute], slideShowActive: ["slideShowActive", "slideShowActive", booleanAttribute], changeItemOnIndicatorHover: ["changeItemOnIndicatorHover", "changeItemOnIndicatorHover", booleanAttribute], autoPlay: ["autoPlay", "autoPlay", booleanAttribute], templates: "templates", indicatorFacet: "indicatorFacet", captionFacet: "captionFacet", activeIndex: "activeIndex" }, outputs: { startSlideShow: "startSlideShow", stopSlideShow: "stopSlideShow", onActiveIndexChange: "onActiveIndexChange" }, host: { properties: { "class": "cx('itemsContainer')" } }, providers: [GalleriaStyle], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1216
1220
  <div [class]="cx('items')">
1217
1221
  <button *ngIf="showItemNavigators" type="button" role="navigation" [class]="cx('prevButton')" (click)="navBackward($event)" (focus)="onButtonFocus('left')" (blur)="onButtonBlur('left')">
1218
1222
  <svg data-p-icon="chevron-left" *ngIf="!galleria.itemPreviousIconTemplate && !galleria._itemPreviousIconTemplate" [class]="cx('prevIcon')" />
@@ -1247,7 +1251,7 @@ class GalleriaItem extends BaseComponent {
1247
1251
  </ul>
1248
1252
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(() => ChevronRightIcon), selector: "[data-p-icon=\"chevron-right\"]" }, { kind: "component", type: i0.forwardRef(() => ChevronLeftIcon), selector: "[data-p-icon=\"chevron-left\"]" }, { kind: "component", type: i0.forwardRef(() => GalleriaItemSlot), selector: "p-galleriaItemSlot", inputs: ["templates", "index", "item", "type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1249
1253
  }
1250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaItem, decorators: [{
1254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaItem, decorators: [{
1251
1255
  type: Component,
1252
1256
  args: [{
1253
1257
  selector: 'p-galleriaItem',
@@ -1435,7 +1439,7 @@ class GalleriaThumbnails extends BaseComponent {
1435
1439
  this.sortedResponsiveOptions.sort((data1, data2) => {
1436
1440
  const value1 = data1.breakpoint;
1437
1441
  const value2 = data2.breakpoint;
1438
- let result = null;
1442
+ let result;
1439
1443
  if (value1 == null && value2 != null)
1440
1444
  result = -1;
1441
1445
  else if (value1 != null && value2 == null)
@@ -1564,7 +1568,7 @@ class GalleriaThumbnails extends BaseComponent {
1564
1568
  }
1565
1569
  }
1566
1570
  onRightKey() {
1567
- const indicators = find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]');
1571
+ const indicators = find(this.itemsContainer?.nativeElement, '[data-pc-section="thumbnailitem"]');
1568
1572
  const activeIndex = this.findFocusedIndicatorIndex();
1569
1573
  this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);
1570
1574
  }
@@ -1577,25 +1581,25 @@ class GalleriaThumbnails extends BaseComponent {
1577
1581
  this.changedFocusedIndicator(activeIndex, 0);
1578
1582
  }
1579
1583
  onEndKey() {
1580
- const indicators = find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]');
1584
+ const indicators = find(this.itemsContainer?.nativeElement, '[data-pc-section="thumbnailitem"]');
1581
1585
  const activeIndex = this.findFocusedIndicatorIndex();
1582
1586
  this.changedFocusedIndicator(activeIndex, indicators.length - 1);
1583
1587
  }
1584
1588
  onTabKey() {
1585
- const indicators = [...find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]')];
1589
+ const indicators = [...find(this.itemsContainer?.nativeElement, '[data-pc-section="thumbnailitem"]')];
1586
1590
  const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-active') === true);
1587
- const activeIndicator = findSingle(this.itemsContainer.nativeElement, '[tabindex="0"]');
1588
- const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);
1591
+ const activeIndicator = findSingle(this.itemsContainer?.nativeElement, '[tabindex="0"]');
1592
+ const activeIndex = indicators.findIndex((ind) => ind === activeIndicator?.parentElement);
1589
1593
  indicators[activeIndex].children[0].tabIndex = '-1';
1590
1594
  indicators[highlightedIndex].children[0].tabIndex = '0';
1591
1595
  }
1592
1596
  findFocusedIndicatorIndex() {
1593
- const indicators = [...find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]')];
1594
- const activeIndicator = findSingle(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"] > [tabindex="0"]');
1595
- return indicators.findIndex((ind) => ind === activeIndicator.parentElement);
1597
+ const indicators = [...find(this.itemsContainer?.nativeElement, '[data-pc-section="thumbnailitem"]')];
1598
+ const activeIndicator = findSingle(this.itemsContainer?.nativeElement, '[data-pc-section="thumbnailitem"] > [tabindex="0"]');
1599
+ return indicators.findIndex((ind) => ind === activeIndicator?.parentElement);
1596
1600
  }
1597
1601
  changedFocusedIndicator(prevInd, nextInd) {
1598
- const indicators = find(this.itemsContainer.nativeElement, '[data-pc-section="thumbnailitem"]');
1602
+ const indicators = find(this.itemsContainer?.nativeElement, '[data-pc-section="thumbnailitem"]');
1599
1603
  indicators[prevInd].children[0].tabIndex = '-1';
1600
1604
  indicators[nextInd].children[0].tabIndex = '0';
1601
1605
  indicators[nextInd].children[0].focus();
@@ -1717,10 +1721,10 @@ class GalleriaThumbnails extends BaseComponent {
1717
1721
  return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.nextPageLabel : undefined;
1718
1722
  }
1719
1723
  ariaPageLabel(value) {
1720
- return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;
1724
+ return this.galleria.config.translation.aria ? this.galleria.config.translation.aria.pageLabel?.replace(/{page}/g, value) : undefined;
1721
1725
  }
1722
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaThumbnails, deps: [{ token: Galleria }], target: i0.ɵɵFactoryTarget.Component });
1723
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.0", type: GalleriaThumbnails, isStandalone: false, selector: "p-galleriaThumbnails", inputs: { containerId: "containerId", value: "value", isVertical: ["isVertical", "isVertical", booleanAttribute], slideShowActive: ["slideShowActive", "slideShowActive", booleanAttribute], circular: ["circular", "circular", booleanAttribute], responsiveOptions: "responsiveOptions", contentHeight: "contentHeight", showThumbnailNavigators: "showThumbnailNavigators", templates: "templates", numVisible: "numVisible", activeIndex: "activeIndex" }, outputs: { onActiveIndexChange: "onActiveIndexChange", stopSlideShow: "stopSlideShow" }, providers: [GalleriaStyle], viewQueries: [{ propertyName: "itemsContainer", first: true, predicate: ["itemsContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1726
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaThumbnails, deps: [{ token: Galleria }], target: i0.ɵɵFactoryTarget.Component });
1727
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: GalleriaThumbnails, isStandalone: false, selector: "p-galleriaThumbnails", inputs: { containerId: "containerId", value: "value", isVertical: ["isVertical", "isVertical", booleanAttribute], slideShowActive: ["slideShowActive", "slideShowActive", booleanAttribute], circular: ["circular", "circular", booleanAttribute], responsiveOptions: "responsiveOptions", contentHeight: "contentHeight", showThumbnailNavigators: "showThumbnailNavigators", templates: "templates", numVisible: "numVisible", activeIndex: "activeIndex" }, outputs: { onActiveIndexChange: "onActiveIndexChange", stopSlideShow: "stopSlideShow" }, providers: [GalleriaStyle], viewQueries: [{ propertyName: "itemsContainer", first: true, predicate: ["itemsContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1724
1728
  <div [class]="cx('thumbnails')">
1725
1729
  <div [class]="cx('thumbnailContent')">
1726
1730
  <button *ngIf="showThumbnailNavigators" type="button" [class]="cx('thumbnailPrevButton')" (click)="navBackward($event)" pRipple [attr.aria-label]="ariaPrevButtonLabel()">
@@ -1766,7 +1770,7 @@ class GalleriaThumbnails extends BaseComponent {
1766
1770
  </div>
1767
1771
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => Ripple), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(() => ChevronRightIcon), selector: "[data-p-icon=\"chevron-right\"]" }, { kind: "component", type: i0.forwardRef(() => ChevronUpIcon), selector: "[data-p-icon=\"chevron-up\"]" }, { kind: "component", type: i0.forwardRef(() => ChevronDownIcon), selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: i0.forwardRef(() => ChevronLeftIcon), selector: "[data-p-icon=\"chevron-left\"]" }, { kind: "component", type: i0.forwardRef(() => GalleriaItemSlot), selector: "p-galleriaItemSlot", inputs: ["templates", "index", "item", "type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1768
1772
  }
1769
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaThumbnails, decorators: [{
1773
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaThumbnails, decorators: [{
1770
1774
  type: Component,
1771
1775
  args: [{
1772
1776
  selector: 'p-galleriaThumbnails',
@@ -1853,11 +1857,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1853
1857
  type: Input
1854
1858
  }] } });
1855
1859
  class GalleriaModule {
1856
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1857
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: GalleriaModule, declarations: [Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails], imports: [CommonModule, SharedModule, Ripple, TimesIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, ChevronLeftIcon, FocusTrap], exports: [CommonModule, Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails, SharedModule] });
1858
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaModule, imports: [CommonModule, SharedModule, TimesIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, ChevronLeftIcon, CommonModule, SharedModule] });
1860
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1861
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: GalleriaModule, declarations: [Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails], imports: [CommonModule, SharedModule, Ripple, TimesIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, ChevronLeftIcon, FocusTrap], exports: [CommonModule, Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails, SharedModule] });
1862
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaModule, imports: [CommonModule, SharedModule, TimesIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, ChevronLeftIcon, CommonModule, SharedModule] });
1859
1863
  }
1860
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: GalleriaModule, decorators: [{
1864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GalleriaModule, decorators: [{
1861
1865
  type: NgModule,
1862
1866
  args: [{
1863
1867
  imports: [CommonModule, SharedModule, Ripple, TimesIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, ChevronLeftIcon, FocusTrap],