primeng 22.1.1 → 22.1.2

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 (850) hide show
  1. package/fesm2022/primeng-accordion.mjs +998 -594
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +266 -174
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +888 -848
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +2534 -1631
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +114 -77
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +330 -189
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +178 -95
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +290 -156
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +95 -83
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +528 -478
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +131 -74
  22. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/primeng-baseinput.mjs +214 -99
  24. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  25. package/fesm2022/primeng-basemodelholder.mjs +39 -26
  26. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/primeng-bind.mjs +156 -97
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +360 -225
  30. package/fesm2022/primeng-blockui.mjs.map +1 -1
  31. package/fesm2022/primeng-breadcrumb.mjs +458 -220
  32. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/primeng-button.mjs +1568 -710
  34. package/fesm2022/primeng-button.mjs.map +1 -1
  35. package/fesm2022/primeng-buttongroup.mjs +125 -73
  36. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  37. package/fesm2022/primeng-card.mjs +389 -178
  38. package/fesm2022/primeng-card.mjs.map +1 -1
  39. package/fesm2022/primeng-carousel.mjs +2393 -1772
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +2373 -1399
  42. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/primeng-chart.mjs +402 -231
  44. package/fesm2022/primeng-chart.mjs.map +1 -1
  45. package/fesm2022/primeng-checkbox.mjs +650 -351
  46. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  47. package/fesm2022/primeng-chip.mjs +411 -224
  48. package/fesm2022/primeng-chip.mjs.map +1 -1
  49. package/fesm2022/primeng-classnames.mjs +95 -48
  50. package/fesm2022/primeng-classnames.mjs.map +1 -1
  51. package/fesm2022/primeng-colorpicker.mjs +890 -635
  52. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  53. package/fesm2022/primeng-commandmenu.mjs +568 -313
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +843 -481
  56. package/fesm2022/primeng-compare.mjs.map +1 -1
  57. package/fesm2022/primeng-config.mjs +415 -321
  58. package/fesm2022/primeng-config.mjs.map +1 -1
  59. package/fesm2022/primeng-confirmdialog.mjs +1188 -536
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +810 -518
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +1862 -1082
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +1130 -550
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +3750 -3356
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +1635 -975
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +272 -146
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +609 -391
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +599 -767
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +323 -312
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +913 -484
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +828 -917
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +547 -391
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +559 -271
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +1836 -1054
  88. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  89. package/fesm2022/primeng-floatlabel.mjs +187 -102
  90. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  91. package/fesm2022/primeng-fluid.mjs +156 -85
  92. package/fesm2022/primeng-fluid.mjs.map +1 -1
  93. package/fesm2022/primeng-focustrap.mjs +150 -112
  94. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  95. package/fesm2022/primeng-galleria.mjs +2589 -1410
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +2768 -1796
  98. package/fesm2022/primeng-gallery.mjs.map +1 -1
  99. package/fesm2022/primeng-iconfield.mjs +192 -93
  100. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angledoubledown.mjs +41 -23
  102. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angledoubleleft.mjs +41 -23
  104. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angledoubleright.mjs +41 -23
  106. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angledoubleup.mjs +41 -23
  108. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-angledown.mjs +41 -23
  110. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-angleleft.mjs +41 -23
  112. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-angleright.mjs +41 -23
  114. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-angleup.mjs +41 -23
  116. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-arrowdown.mjs +46 -28
  118. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowdownleft.mjs +41 -23
  120. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-arrowdownright.mjs +41 -23
  122. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-arrowleft.mjs +46 -28
  124. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-arrowright.mjs +41 -23
  126. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-arrowup.mjs +46 -28
  128. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-ban.mjs +46 -28
  130. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-bars.mjs +41 -23
  132. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-baseicon.mjs +111 -67
  134. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-blank.mjs +40 -22
  136. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-calendar.mjs +41 -23
  138. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-caretleft.mjs +41 -23
  140. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-caretright.mjs +41 -23
  142. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-check.mjs +41 -23
  144. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-chevrondown.mjs +41 -23
  146. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-chevronleft.mjs +41 -23
  148. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-chevronright.mjs +41 -23
  150. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-chevronup.mjs +41 -23
  152. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-exclamationtriangle.mjs +46 -28
  154. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-eye.mjs +41 -23
  156. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eyeslash.mjs +46 -28
  158. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-filter.mjs +46 -28
  160. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-filterfill.mjs +41 -23
  162. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-filterslash.mjs +46 -28
  164. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-home.mjs +46 -28
  166. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-infocircle.mjs +46 -28
  168. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-minus.mjs +41 -23
  170. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-pencil.mjs +46 -28
  172. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-plus.mjs +46 -28
  174. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-refresh.mjs +46 -28
  176. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-search.mjs +46 -28
  178. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-searchminus.mjs +46 -28
  180. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-searchplus.mjs +46 -28
  182. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-sortalt.mjs +46 -28
  184. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-sortamountdown.mjs +46 -28
  186. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortamountupalt.mjs +46 -28
  188. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-spinner.mjs +46 -28
  190. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-star.mjs +46 -28
  192. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-starfill.mjs +46 -28
  194. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-thlarge.mjs +46 -28
  196. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-times.mjs +41 -23
  198. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-timescircle.mjs +46 -28
  200. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-trash.mjs +46 -28
  202. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-undo.mjs +46 -28
  204. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-upload.mjs +46 -28
  206. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-windowmaximize.mjs +46 -28
  208. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-windowminimize.mjs +46 -28
  210. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  211. package/fesm2022/primeng-icons.mjs +53 -63
  212. package/fesm2022/primeng-iftalabel.mjs +153 -86
  213. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  214. package/fesm2022/primeng-image.mjs +1006 -532
  215. package/fesm2022/primeng-image.mjs.map +1 -1
  216. package/fesm2022/primeng-imagecompare.mjs +325 -165
  217. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  218. package/fesm2022/primeng-inplace.mjs +401 -199
  219. package/fesm2022/primeng-inplace.mjs.map +1 -1
  220. package/fesm2022/primeng-inputcolor.mjs +2631 -2189
  221. package/fesm2022/primeng-inputcolor.mjs.map +1 -1
  222. package/fesm2022/primeng-inputgroup.mjs +159 -91
  223. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  224. package/fesm2022/primeng-inputgroupaddon.mjs +153 -68
  225. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  226. package/fesm2022/primeng-inputicon.mjs +173 -72
  227. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  228. package/fesm2022/primeng-inputmask.mjs +1607 -1387
  229. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  230. package/fesm2022/primeng-inputnumber.mjs +1646 -1305
  231. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  232. package/fesm2022/primeng-inputotp.mjs +571 -376
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputpassword.mjs +179 -96
  235. package/fesm2022/primeng-inputpassword.mjs.map +1 -1
  236. package/fesm2022/primeng-inputtags.mjs +1212 -588
  237. package/fesm2022/primeng-inputtags.mjs.map +1 -1
  238. package/fesm2022/primeng-inputtext.mjs +325 -175
  239. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  240. package/fesm2022/primeng-keyfilter.mjs +268 -244
  241. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  242. package/fesm2022/primeng-knob.mjs +627 -405
  243. package/fesm2022/primeng-knob.mjs.map +1 -1
  244. package/fesm2022/primeng-label.mjs +143 -81
  245. package/fesm2022/primeng-label.mjs.map +1 -1
  246. package/fesm2022/primeng-license.mjs +10 -36
  247. package/fesm2022/primeng-license.mjs.map +1 -1
  248. package/fesm2022/primeng-listbox.mjs +2409 -1608
  249. package/fesm2022/primeng-listbox.mjs.map +1 -1
  250. package/fesm2022/primeng-megamenu.mjs +2006 -1137
  251. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  252. package/fesm2022/primeng-menu.mjs +1437 -848
  253. package/fesm2022/primeng-menu.mjs.map +1 -1
  254. package/fesm2022/primeng-menubar.mjs +1832 -994
  255. package/fesm2022/primeng-menubar.mjs.map +1 -1
  256. package/fesm2022/primeng-message.mjs +474 -239
  257. package/fesm2022/primeng-message.mjs.map +1 -1
  258. package/fesm2022/primeng-metergroup.mjs +663 -331
  259. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  260. package/fesm2022/primeng-motion.mjs +1179 -690
  261. package/fesm2022/primeng-motion.mjs.map +1 -1
  262. package/fesm2022/primeng-multiselect.mjs +3406 -1932
  263. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  264. package/fesm2022/primeng-orderlist.mjs +1308 -664
  265. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  266. package/fesm2022/primeng-organizationchart.mjs +912 -595
  267. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  268. package/fesm2022/primeng-overlay.mjs +929 -624
  269. package/fesm2022/primeng-overlay.mjs.map +1 -1
  270. package/fesm2022/primeng-overlaybadge.mjs +291 -107
  271. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  272. package/fesm2022/primeng-paginator.mjs +959 -503
  273. package/fesm2022/primeng-paginator.mjs.map +1 -1
  274. package/fesm2022/primeng-panel.mjs +668 -343
  275. package/fesm2022/primeng-panel.mjs.map +1 -1
  276. package/fesm2022/primeng-panelmenu.mjs +1842 -998
  277. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-passthrough.mjs +8 -16
  279. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  280. package/fesm2022/primeng-password.mjs +1518 -866
  281. package/fesm2022/primeng-password.mjs.map +1 -1
  282. package/fesm2022/primeng-picklist.mjs +2270 -1256
  283. package/fesm2022/primeng-picklist.mjs.map +1 -1
  284. package/fesm2022/primeng-popover.mjs +656 -436
  285. package/fesm2022/primeng-popover.mjs.map +1 -1
  286. package/fesm2022/primeng-progressbar.mjs +346 -168
  287. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  288. package/fesm2022/primeng-progressspinner.mjs +338 -188
  289. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  290. package/fesm2022/primeng-radiobutton.mjs +499 -292
  291. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  292. package/fesm2022/primeng-rating.mjs +583 -352
  293. package/fesm2022/primeng-rating.mjs.map +1 -1
  294. package/fesm2022/primeng-ripple.mjs +194 -184
  295. package/fesm2022/primeng-ripple.mjs.map +1 -1
  296. package/fesm2022/primeng-scrollarea.mjs +1018 -721
  297. package/fesm2022/primeng-scrollarea.mjs.map +1 -1
  298. package/fesm2022/primeng-scroller.mjs +1386 -1083
  299. package/fesm2022/primeng-scroller.mjs.map +1 -1
  300. package/fesm2022/primeng-scrollpanel.mjs +568 -480
  301. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  302. package/fesm2022/primeng-scrolltop.mjs +509 -260
  303. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  304. package/fesm2022/primeng-select.mjs +2948 -1765
  305. package/fesm2022/primeng-select.mjs.map +1 -1
  306. package/fesm2022/primeng-selectbutton.mjs +629 -339
  307. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  308. package/fesm2022/primeng-sidebar.mjs +2561 -1416
  309. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  310. package/fesm2022/primeng-skeleton.mjs +300 -157
  311. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  312. package/fesm2022/primeng-slider.mjs +841 -604
  313. package/fesm2022/primeng-slider.mjs.map +1 -1
  314. package/fesm2022/primeng-speeddial.mjs +1115 -717
  315. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  316. package/fesm2022/primeng-splitbutton.mjs +889 -339
  317. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  318. package/fesm2022/primeng-splitter.mjs +997 -759
  319. package/fesm2022/primeng-splitter.mjs.map +1 -1
  320. package/fesm2022/primeng-stepper.mjs +1355 -641
  321. package/fesm2022/primeng-stepper.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +397 -304
  323. package/fesm2022/primeng-steps.mjs.map +1 -1
  324. package/fesm2022/primeng-styleclass.mjs +446 -334
  325. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  326. package/fesm2022/primeng-table.mjs +9763 -5870
  327. package/fesm2022/primeng-table.mjs.map +1 -1
  328. package/fesm2022/primeng-tabs.mjs +1357 -831
  329. package/fesm2022/primeng-tabs.mjs.map +1 -1
  330. package/fesm2022/primeng-tag.mjs +305 -151
  331. package/fesm2022/primeng-tag.mjs.map +1 -1
  332. package/fesm2022/primeng-terminal.mjs +368 -216
  333. package/fesm2022/primeng-terminal.mjs.map +1 -1
  334. package/fesm2022/primeng-textarea.mjs +345 -208
  335. package/fesm2022/primeng-textarea.mjs.map +1 -1
  336. package/fesm2022/primeng-tieredmenu.mjs +1917 -1125
  337. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  338. package/fesm2022/primeng-timeline.mjs +304 -165
  339. package/fesm2022/primeng-timeline.mjs.map +1 -1
  340. package/fesm2022/primeng-toast.mjs +1369 -922
  341. package/fesm2022/primeng-toast.mjs.map +1 -1
  342. package/fesm2022/primeng-togglebutton.mjs +563 -309
  343. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  344. package/fesm2022/primeng-toggleswitch.mjs +464 -237
  345. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  346. package/fesm2022/primeng-toolbar.mjs +299 -129
  347. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  348. package/fesm2022/primeng-tooltip.mjs +1018 -778
  349. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  350. package/fesm2022/primeng-tree.mjs +2679 -1875
  351. package/fesm2022/primeng-tree.mjs.map +1 -1
  352. package/fesm2022/primeng-treeselect.mjs +1678 -939
  353. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  354. package/fesm2022/primeng-treetable.mjs +5849 -3754
  355. package/fesm2022/primeng-treetable.mjs.map +1 -1
  356. package/fesm2022/primeng-ts-helpers.mjs +0 -4
  357. package/fesm2022/primeng-types-accordion.mjs +0 -4
  358. package/fesm2022/primeng-types-autocomplete.mjs +0 -4
  359. package/fesm2022/primeng-types-avatar.mjs +0 -4
  360. package/fesm2022/primeng-types-avatargroup.mjs +0 -4
  361. package/fesm2022/primeng-types-badge.mjs +0 -4
  362. package/fesm2022/primeng-types-blockui.mjs +0 -4
  363. package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
  364. package/fesm2022/primeng-types-button.mjs +0 -4
  365. package/fesm2022/primeng-types-card.mjs +0 -4
  366. package/fesm2022/primeng-types-carousel.mjs +0 -4
  367. package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
  368. package/fesm2022/primeng-types-chart.mjs +0 -4
  369. package/fesm2022/primeng-types-checkbox.mjs +0 -4
  370. package/fesm2022/primeng-types-chip.mjs +0 -4
  371. package/fesm2022/primeng-types-colorpicker.mjs +0 -4
  372. package/fesm2022/primeng-types-commandmenu.mjs +0 -4
  373. package/fesm2022/primeng-types-compare.mjs +0 -4
  374. package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
  375. package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
  376. package/fesm2022/primeng-types-contextmenu.mjs +0 -4
  377. package/fesm2022/primeng-types-dataview.mjs +0 -4
  378. package/fesm2022/primeng-types-datepicker.mjs +0 -4
  379. package/fesm2022/primeng-types-dialog.mjs +0 -4
  380. package/fesm2022/primeng-types-divider.mjs +0 -4
  381. package/fesm2022/primeng-types-dock.mjs +0 -4
  382. package/fesm2022/primeng-types-drawer.mjs +0 -4
  383. package/fesm2022/primeng-types-editor.mjs +0 -4
  384. package/fesm2022/primeng-types-fieldset.mjs +0 -4
  385. package/fesm2022/primeng-types-fileupload.mjs +0 -4
  386. package/fesm2022/primeng-types-floatlabel.mjs +0 -4
  387. package/fesm2022/primeng-types-fluid.mjs +0 -4
  388. package/fesm2022/primeng-types-galleria.mjs +0 -4
  389. package/fesm2022/primeng-types-gallery.mjs +0 -4
  390. package/fesm2022/primeng-types-iconfield.mjs +0 -4
  391. package/fesm2022/primeng-types-iftalabel.mjs +0 -4
  392. package/fesm2022/primeng-types-image.mjs +0 -4
  393. package/fesm2022/primeng-types-imagecompare.mjs +0 -4
  394. package/fesm2022/primeng-types-inplace.mjs +0 -4
  395. package/fesm2022/primeng-types-inputcolor.mjs +0 -4
  396. package/fesm2022/primeng-types-inputgroup.mjs +0 -4
  397. package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
  398. package/fesm2022/primeng-types-inputicon.mjs +0 -4
  399. package/fesm2022/primeng-types-inputmask.mjs +0 -4
  400. package/fesm2022/primeng-types-inputnumber.mjs +0 -4
  401. package/fesm2022/primeng-types-inputotp.mjs +0 -4
  402. package/fesm2022/primeng-types-inputpassword.mjs +0 -4
  403. package/fesm2022/primeng-types-inputtags.mjs +0 -4
  404. package/fesm2022/primeng-types-inputtext.mjs +0 -4
  405. package/fesm2022/primeng-types-knob.mjs +0 -4
  406. package/fesm2022/primeng-types-label.mjs +0 -4
  407. package/fesm2022/primeng-types-listbox.mjs +0 -4
  408. package/fesm2022/primeng-types-megamenu.mjs +0 -4
  409. package/fesm2022/primeng-types-menu.mjs +0 -4
  410. package/fesm2022/primeng-types-menubar.mjs +0 -4
  411. package/fesm2022/primeng-types-message.mjs +0 -4
  412. package/fesm2022/primeng-types-metergroup.mjs +0 -4
  413. package/fesm2022/primeng-types-motion.mjs +0 -4
  414. package/fesm2022/primeng-types-multiselect.mjs +0 -4
  415. package/fesm2022/primeng-types-orderlist.mjs +0 -4
  416. package/fesm2022/primeng-types-organizationchart.mjs +0 -4
  417. package/fesm2022/primeng-types-overlay.mjs +0 -4
  418. package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
  419. package/fesm2022/primeng-types-paginator.mjs +0 -4
  420. package/fesm2022/primeng-types-panel.mjs +0 -4
  421. package/fesm2022/primeng-types-panelmenu.mjs +0 -4
  422. package/fesm2022/primeng-types-password.mjs +0 -4
  423. package/fesm2022/primeng-types-picklist.mjs +0 -4
  424. package/fesm2022/primeng-types-popover.mjs +0 -4
  425. package/fesm2022/primeng-types-progressbar.mjs +0 -4
  426. package/fesm2022/primeng-types-progressspinner.mjs +0 -4
  427. package/fesm2022/primeng-types-radiobutton.mjs +0 -4
  428. package/fesm2022/primeng-types-rating.mjs +0 -4
  429. package/fesm2022/primeng-types-scrollarea.mjs +0 -4
  430. package/fesm2022/primeng-types-scroller.mjs +0 -4
  431. package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
  432. package/fesm2022/primeng-types-scrolltop.mjs +0 -4
  433. package/fesm2022/primeng-types-select.mjs +0 -4
  434. package/fesm2022/primeng-types-selectbutton.mjs +0 -4
  435. package/fesm2022/primeng-types-shared.mjs +0 -4
  436. package/fesm2022/primeng-types-sidebar.mjs +0 -4
  437. package/fesm2022/primeng-types-skeleton.mjs +0 -4
  438. package/fesm2022/primeng-types-slider.mjs +0 -4
  439. package/fesm2022/primeng-types-speeddial.mjs +0 -4
  440. package/fesm2022/primeng-types-splitbutton.mjs +0 -4
  441. package/fesm2022/primeng-types-splitter.mjs +0 -4
  442. package/fesm2022/primeng-types-stepper.mjs +0 -4
  443. package/fesm2022/primeng-types-table.mjs +0 -4
  444. package/fesm2022/primeng-types-tabs.mjs +0 -4
  445. package/fesm2022/primeng-types-tag.mjs +0 -4
  446. package/fesm2022/primeng-types-terminal.mjs +0 -4
  447. package/fesm2022/primeng-types-textarea.mjs +0 -4
  448. package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
  449. package/fesm2022/primeng-types-timeline.mjs +0 -4
  450. package/fesm2022/primeng-types-toast.mjs +0 -4
  451. package/fesm2022/primeng-types-togglebutton.mjs +0 -4
  452. package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
  453. package/fesm2022/primeng-types-toolbar.mjs +0 -4
  454. package/fesm2022/primeng-types-tooltip.mjs +0 -4
  455. package/fesm2022/primeng-types-tree.mjs +0 -4
  456. package/fesm2022/primeng-types-treeselect.mjs +0 -4
  457. package/fesm2022/primeng-types-treetable.mjs +0 -4
  458. package/fesm2022/primeng-usestyle.mjs +105 -113
  459. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  460. package/fesm2022/primeng-utils.mjs +236 -317
  461. package/fesm2022/primeng-utils.mjs.map +1 -1
  462. package/fesm2022/primeng.mjs +1 -5
  463. package/fesm2022/primeng.mjs.map +1 -1
  464. package/package.json +6 -1
  465. package/types/primeng-accordion.d.ts +289 -219
  466. package/types/primeng-animateonscroll.d.ts +89 -61
  467. package/types/primeng-api.d.ts +1754 -1790
  468. package/types/primeng-autocomplete.d.ts +1053 -754
  469. package/types/primeng-autofocus.d.ts +27 -24
  470. package/types/primeng-avatar.d.ts +152 -114
  471. package/types/primeng-avatargroup.d.ts +45 -40
  472. package/types/primeng-badge.d.ts +104 -78
  473. package/types/primeng-base.d.ts +49 -52
  474. package/types/primeng-basecomponent.d.ts +191 -174
  475. package/types/primeng-baseeditableholder.d.ts +63 -45
  476. package/types/primeng-baseinput.d.ts +122 -74
  477. package/types/primeng-basemodelholder.d.ts +9 -12
  478. package/types/primeng-bind.d.ts +36 -32
  479. package/types/primeng-blockui.d.ts +99 -80
  480. package/types/primeng-breadcrumb.d.ts +159 -133
  481. package/types/primeng-button.d.ts +690 -425
  482. package/types/primeng-buttongroup.d.ts +26 -30
  483. package/types/primeng-card.d.ts +130 -119
  484. package/types/primeng-carousel.d.ts +799 -629
  485. package/types/primeng-cascadeselect.d.ts +753 -562
  486. package/types/primeng-chart.d.ts +158 -112
  487. package/types/primeng-checkbox.d.ts +298 -208
  488. package/types/primeng-chip.d.ts +187 -143
  489. package/types/primeng-classnames.d.ts +23 -21
  490. package/types/primeng-colorpicker.d.ts +324 -269
  491. package/types/primeng-commandmenu.d.ts +213 -165
  492. package/types/primeng-compare.d.ts +267 -189
  493. package/types/primeng-config.d.ts +294 -304
  494. package/types/primeng-confirmdialog.d.ts +504 -325
  495. package/types/primeng-confirmpopup.d.ts +253 -207
  496. package/types/primeng-contextmenu.d.ts +522 -366
  497. package/types/primeng-dataview.d.ts +497 -342
  498. package/types/primeng-datepicker.d.ts +1268 -969
  499. package/types/primeng-dialog.d.ts +667 -462
  500. package/types/primeng-divider.d.ts +112 -96
  501. package/types/primeng-dock.d.ts +206 -172
  502. package/types/primeng-dom.d.ts +97 -100
  503. package/types/primeng-dragdrop.d.ts +142 -107
  504. package/types/primeng-drawer.d.ts +354 -254
  505. package/types/primeng-dynamicdialog.d.ts +527 -535
  506. package/types/primeng-editor.d.ts +210 -162
  507. package/types/primeng-fieldset.d.ts +198 -163
  508. package/types/primeng-fileupload.d.ts +726 -523
  509. package/types/primeng-floatlabel.d.ts +54 -48
  510. package/types/primeng-fluid.d.ts +36 -36
  511. package/types/primeng-focustrap.d.ts +30 -27
  512. package/types/primeng-galleria.d.ts +569 -430
  513. package/types/primeng-gallery.d.ts +754 -552
  514. package/types/primeng-iconfield.d.ts +53 -42
  515. package/types/primeng-icons-angledoubledown.d.ts +6 -9
  516. package/types/primeng-icons-angledoubleleft.d.ts +6 -9
  517. package/types/primeng-icons-angledoubleright.d.ts +6 -9
  518. package/types/primeng-icons-angledoubleup.d.ts +6 -9
  519. package/types/primeng-icons-angledown.d.ts +6 -9
  520. package/types/primeng-icons-angleleft.d.ts +6 -9
  521. package/types/primeng-icons-angleright.d.ts +6 -9
  522. package/types/primeng-icons-angleup.d.ts +6 -9
  523. package/types/primeng-icons-arrowdown.d.ts +8 -11
  524. package/types/primeng-icons-arrowdownleft.d.ts +6 -9
  525. package/types/primeng-icons-arrowdownright.d.ts +6 -9
  526. package/types/primeng-icons-arrowleft.d.ts +8 -11
  527. package/types/primeng-icons-arrowright.d.ts +6 -9
  528. package/types/primeng-icons-arrowup.d.ts +8 -11
  529. package/types/primeng-icons-ban.d.ts +8 -11
  530. package/types/primeng-icons-bars.d.ts +6 -9
  531. package/types/primeng-icons-baseicon.d.ts +23 -22
  532. package/types/primeng-icons-blank.d.ts +6 -9
  533. package/types/primeng-icons-calendar.d.ts +6 -9
  534. package/types/primeng-icons-caretleft.d.ts +6 -9
  535. package/types/primeng-icons-caretright.d.ts +6 -9
  536. package/types/primeng-icons-check.d.ts +6 -9
  537. package/types/primeng-icons-chevrondown.d.ts +6 -9
  538. package/types/primeng-icons-chevronleft.d.ts +6 -9
  539. package/types/primeng-icons-chevronright.d.ts +6 -9
  540. package/types/primeng-icons-chevronup.d.ts +6 -9
  541. package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
  542. package/types/primeng-icons-eye.d.ts +6 -9
  543. package/types/primeng-icons-eyeslash.d.ts +8 -11
  544. package/types/primeng-icons-filter.d.ts +8 -11
  545. package/types/primeng-icons-filterfill.d.ts +6 -9
  546. package/types/primeng-icons-filterslash.d.ts +8 -11
  547. package/types/primeng-icons-home.d.ts +8 -11
  548. package/types/primeng-icons-infocircle.d.ts +8 -11
  549. package/types/primeng-icons-minus.d.ts +6 -9
  550. package/types/primeng-icons-pencil.d.ts +8 -11
  551. package/types/primeng-icons-plus.d.ts +8 -11
  552. package/types/primeng-icons-refresh.d.ts +8 -11
  553. package/types/primeng-icons-search.d.ts +8 -11
  554. package/types/primeng-icons-searchminus.d.ts +8 -11
  555. package/types/primeng-icons-searchplus.d.ts +8 -11
  556. package/types/primeng-icons-sortalt.d.ts +8 -11
  557. package/types/primeng-icons-sortamountdown.d.ts +8 -11
  558. package/types/primeng-icons-sortamountupalt.d.ts +8 -11
  559. package/types/primeng-icons-spinner.d.ts +8 -11
  560. package/types/primeng-icons-star.d.ts +8 -11
  561. package/types/primeng-icons-starfill.d.ts +8 -11
  562. package/types/primeng-icons-thlarge.d.ts +8 -11
  563. package/types/primeng-icons-times.d.ts +6 -9
  564. package/types/primeng-icons-timescircle.d.ts +8 -11
  565. package/types/primeng-icons-trash.d.ts +8 -11
  566. package/types/primeng-icons-undo.d.ts +8 -11
  567. package/types/primeng-icons-upload.d.ts +8 -11
  568. package/types/primeng-icons-windowmaximize.d.ts +8 -11
  569. package/types/primeng-icons-windowminimize.d.ts +8 -11
  570. package/types/primeng-icons.d.ts +53 -53
  571. package/types/primeng-iftalabel.d.ts +37 -37
  572. package/types/primeng-image.d.ts +403 -308
  573. package/types/primeng-imagecompare.d.ts +93 -77
  574. package/types/primeng-inplace.d.ts +125 -111
  575. package/types/primeng-inputcolor.d.ts +646 -507
  576. package/types/primeng-inputgroup.d.ts +41 -41
  577. package/types/primeng-inputgroupaddon.d.ts +31 -31
  578. package/types/primeng-inputicon.d.ts +38 -32
  579. package/types/primeng-inputmask.d.ts +519 -362
  580. package/types/primeng-inputnumber.d.ts +572 -405
  581. package/types/primeng-inputotp.d.ts +205 -156
  582. package/types/primeng-inputpassword.d.ts +59 -43
  583. package/types/primeng-inputtags.d.ts +451 -297
  584. package/types/primeng-inputtext.d.ts +129 -93
  585. package/types/primeng-keyfilter.d.ts +62 -53
  586. package/types/primeng-knob.d.ts +256 -183
  587. package/types/primeng-label.d.ts +36 -36
  588. package/types/primeng-license.d.ts +1 -3
  589. package/types/primeng-listbox.d.ts +1040 -786
  590. package/types/primeng-megamenu.d.ts +535 -383
  591. package/types/primeng-menu.d.ts +478 -361
  592. package/types/primeng-menubar.d.ts +495 -354
  593. package/types/primeng-message.d.ts +191 -148
  594. package/types/primeng-metergroup.d.ts +249 -187
  595. package/types/primeng-motion.d.ts +602 -384
  596. package/types/primeng-multiselect.d.ts +1192 -858
  597. package/types/primeng-orderlist.d.ts +538 -390
  598. package/types/primeng-organizationchart.d.ts +235 -192
  599. package/types/primeng-overlay.d.ts +394 -294
  600. package/types/primeng-overlaybadge.d.ts +95 -64
  601. package/types/primeng-paginator.d.ts +409 -309
  602. package/types/primeng-panel.d.ts +267 -217
  603. package/types/primeng-panelmenu.d.ts +254 -228
  604. package/types/primeng-passthrough.d.ts +5 -7
  605. package/types/primeng-password.d.ts +605 -430
  606. package/types/primeng-picklist.d.ts +1041 -756
  607. package/types/primeng-popover.d.ts +235 -176
  608. package/types/primeng-progressbar.d.ts +130 -99
  609. package/types/primeng-progressspinner.d.ts +144 -108
  610. package/types/primeng-radiobutton.d.ts +218 -168
  611. package/types/primeng-rating.d.ts +239 -189
  612. package/types/primeng-ripple.d.ts +38 -42
  613. package/types/primeng-scrollarea.d.ts +290 -239
  614. package/types/primeng-scroller.d.ts +522 -387
  615. package/types/primeng-scrollpanel.d.ts +134 -128
  616. package/types/primeng-scrolltop.d.ts +169 -123
  617. package/types/primeng-select.d.ts +1013 -738
  618. package/types/primeng-selectbutton.d.ts +238 -164
  619. package/types/primeng-sidebar.d.ts +794 -561
  620. package/types/primeng-skeleton.d.ts +114 -83
  621. package/types/primeng-slider.d.ts +375 -306
  622. package/types/primeng-speeddial.d.ts +492 -370
  623. package/types/primeng-splitbutton.d.ts +381 -240
  624. package/types/primeng-splitter.d.ts +392 -299
  625. package/types/primeng-stepper.d.ts +422 -250
  626. package/types/primeng-steps.d.ts +157 -134
  627. package/types/primeng-styleclass.d.ts +163 -105
  628. package/types/primeng-table.d.ts +2898 -1911
  629. package/types/primeng-tabs.d.ts +467 -301
  630. package/types/primeng-tag.d.ts +106 -85
  631. package/types/primeng-terminal.d.ts +131 -117
  632. package/types/primeng-textarea.d.ts +145 -107
  633. package/types/primeng-tieredmenu.d.ts +572 -398
  634. package/types/primeng-timeline.d.ts +125 -109
  635. package/types/primeng-toast.d.ts +310 -247
  636. package/types/primeng-togglebutton.d.ts +254 -182
  637. package/types/primeng-toggleswitch.d.ts +188 -140
  638. package/types/primeng-toolbar.d.ts +82 -76
  639. package/types/primeng-tooltip.d.ts +334 -232
  640. package/types/primeng-tree.d.ts +762 -559
  641. package/types/primeng-treeselect.d.ts +749 -547
  642. package/types/primeng-treetable.d.ts +1839 -1313
  643. package/types/primeng-ts-helpers.d.ts +4 -6
  644. package/types/primeng-types-accordion.d.ts +58 -62
  645. package/types/primeng-types-autocomplete.d.ts +230 -233
  646. package/types/primeng-types-avatar.d.ts +25 -28
  647. package/types/primeng-types-avatargroup.d.ts +11 -14
  648. package/types/primeng-types-badge.d.ts +13 -16
  649. package/types/primeng-types-blockui.d.ts +18 -21
  650. package/types/primeng-types-breadcrumb.d.ts +65 -68
  651. package/types/primeng-types-button.d.ts +106 -109
  652. package/types/primeng-types-card.d.ts +54 -57
  653. package/types/primeng-types-carousel.d.ts +143 -146
  654. package/types/primeng-types-cascadeselect.d.ts +186 -192
  655. package/types/primeng-types-chart.d.ts +34 -39
  656. package/types/primeng-types-checkbox.d.ts +52 -55
  657. package/types/primeng-types-chip.d.ts +48 -51
  658. package/types/primeng-types-colorpicker.d.ts +59 -62
  659. package/types/primeng-types-commandmenu.d.ts +98 -101
  660. package/types/primeng-types-compare.d.ts +33 -36
  661. package/types/primeng-types-confirmdialog.d.ts +124 -127
  662. package/types/primeng-types-confirmpopup.d.ts +75 -78
  663. package/types/primeng-types-contextmenu.d.ts +100 -103
  664. package/types/primeng-types-dataview.d.ts +180 -183
  665. package/types/primeng-types-datepicker.d.ts +442 -445
  666. package/types/primeng-types-dialog.d.ts +93 -96
  667. package/types/primeng-types-divider.d.ts +14 -17
  668. package/types/primeng-types-dock.d.ts +45 -48
  669. package/types/primeng-types-drawer.d.ts +62 -65
  670. package/types/primeng-types-editor.d.ts +143 -146
  671. package/types/primeng-types-fieldset.d.ts +83 -87
  672. package/types/primeng-types-fileupload.d.ts +296 -301
  673. package/types/primeng-types-floatlabel.d.ts +12 -15
  674. package/types/primeng-types-fluid.d.ts +11 -14
  675. package/types/primeng-types-galleria.d.ts +209 -212
  676. package/types/primeng-types-gallery.d.ts +195 -198
  677. package/types/primeng-types-iconfield.d.ts +12 -15
  678. package/types/primeng-types-iftalabel.d.ts +11 -14
  679. package/types/primeng-types-image.d.ts +118 -121
  680. package/types/primeng-types-imagecompare.d.ts +22 -25
  681. package/types/primeng-types-inplace.d.ts +46 -49
  682. package/types/primeng-types-inputcolor.d.ts +86 -89
  683. package/types/primeng-types-inputgroup.d.ts +11 -14
  684. package/types/primeng-types-inputgroupaddon.d.ts +11 -14
  685. package/types/primeng-types-inputicon.d.ts +11 -14
  686. package/types/primeng-types-inputmask.d.ts +30 -33
  687. package/types/primeng-types-inputnumber.d.ts +72 -75
  688. package/types/primeng-types-inputotp.d.ts +67 -70
  689. package/types/primeng-types-inputpassword.d.ts +7 -10
  690. package/types/primeng-types-inputtags.d.ts +122 -125
  691. package/types/primeng-types-inputtext.d.ts +7 -10
  692. package/types/primeng-types-knob.d.ts +23 -26
  693. package/types/primeng-types-label.d.ts +7 -10
  694. package/types/primeng-types-listbox.d.ts +262 -266
  695. package/types/primeng-types-megamenu.d.ts +135 -138
  696. package/types/primeng-types-menu.d.ts +98 -101
  697. package/types/primeng-types-menubar.d.ts +122 -125
  698. package/types/primeng-types-message.d.ts +69 -72
  699. package/types/primeng-types-metergroup.d.ts +137 -140
  700. package/types/primeng-types-motion.d.ts +11 -14
  701. package/types/primeng-types-multiselect.d.ts +329 -333
  702. package/types/primeng-types-orderlist.d.ts +126 -129
  703. package/types/primeng-types-organizationchart.d.ts +147 -153
  704. package/types/primeng-types-overlay.d.ts +31 -34
  705. package/types/primeng-types-overlaybadge.d.ts +17 -20
  706. package/types/primeng-types-paginator.d.ts +131 -134
  707. package/types/primeng-types-panel.d.ts +91 -95
  708. package/types/primeng-types-panelmenu.d.ts +150 -153
  709. package/types/primeng-types-password.d.ts +94 -97
  710. package/types/primeng-types-picklist.d.ts +250 -260
  711. package/types/primeng-types-popover.d.ts +33 -36
  712. package/types/primeng-types-progressbar.d.ts +33 -36
  713. package/types/primeng-types-progressspinner.d.ts +27 -30
  714. package/types/primeng-types-radiobutton.d.ts +29 -32
  715. package/types/primeng-types-rating.d.ts +62 -65
  716. package/types/primeng-types-scrollarea.d.ts +35 -38
  717. package/types/primeng-types-scroller.d.ts +142 -146
  718. package/types/primeng-types-scrollpanel.d.ts +31 -34
  719. package/types/primeng-types-scrolltop.d.ts +37 -40
  720. package/types/primeng-types-select.d.ts +251 -254
  721. package/types/primeng-types-selectbutton.d.ts +56 -59
  722. package/types/primeng-types-shared.d.ts +6 -9
  723. package/types/primeng-types-sidebar.d.ts +105 -108
  724. package/types/primeng-types-skeleton.d.ts +11 -14
  725. package/types/primeng-types-slider.d.ts +59 -62
  726. package/types/primeng-types-speeddial.d.ts +71 -74
  727. package/types/primeng-types-splitbutton.d.ts +35 -38
  728. package/types/primeng-types-splitter.d.ts +58 -63
  729. package/types/primeng-types-stepper.d.ts +77 -80
  730. package/types/primeng-types-table.d.ts +743 -749
  731. package/types/primeng-types-tabs.d.ts +48 -51
  732. package/types/primeng-types-tag.d.ts +27 -30
  733. package/types/primeng-types-terminal.d.ts +43 -46
  734. package/types/primeng-types-textarea.d.ts +11 -14
  735. package/types/primeng-types-tieredmenu.d.ts +154 -157
  736. package/types/primeng-types-timeline.d.ts +60 -63
  737. package/types/primeng-types-toast.d.ts +92 -95
  738. package/types/primeng-types-togglebutton.d.ts +52 -55
  739. package/types/primeng-types-toggleswitch.d.ts +41 -44
  740. package/types/primeng-types-toolbar.d.ts +34 -37
  741. package/types/primeng-types-tooltip.d.ts +17 -20
  742. package/types/primeng-types-tree.d.ts +237 -246
  743. package/types/primeng-types-treeselect.d.ts +198 -202
  744. package/types/primeng-types-treetable.d.ts +492 -497
  745. package/types/primeng-usestyle.d.ts +28 -31
  746. package/types/primeng-utils.d.ts +37 -40
  747. package/types/primeng.d.ts +2 -2
  748. package/fesm2022/primeng-icons.mjs.map +0 -1
  749. package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
  750. package/fesm2022/primeng-types-accordion.mjs.map +0 -1
  751. package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
  752. package/fesm2022/primeng-types-avatar.mjs.map +0 -1
  753. package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
  754. package/fesm2022/primeng-types-badge.mjs.map +0 -1
  755. package/fesm2022/primeng-types-blockui.mjs.map +0 -1
  756. package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
  757. package/fesm2022/primeng-types-button.mjs.map +0 -1
  758. package/fesm2022/primeng-types-card.mjs.map +0 -1
  759. package/fesm2022/primeng-types-carousel.mjs.map +0 -1
  760. package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
  761. package/fesm2022/primeng-types-chart.mjs.map +0 -1
  762. package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
  763. package/fesm2022/primeng-types-chip.mjs.map +0 -1
  764. package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
  765. package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
  766. package/fesm2022/primeng-types-compare.mjs.map +0 -1
  767. package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
  768. package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
  769. package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
  770. package/fesm2022/primeng-types-dataview.mjs.map +0 -1
  771. package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
  772. package/fesm2022/primeng-types-dialog.mjs.map +0 -1
  773. package/fesm2022/primeng-types-divider.mjs.map +0 -1
  774. package/fesm2022/primeng-types-dock.mjs.map +0 -1
  775. package/fesm2022/primeng-types-drawer.mjs.map +0 -1
  776. package/fesm2022/primeng-types-editor.mjs.map +0 -1
  777. package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
  778. package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
  779. package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
  780. package/fesm2022/primeng-types-fluid.mjs.map +0 -1
  781. package/fesm2022/primeng-types-galleria.mjs.map +0 -1
  782. package/fesm2022/primeng-types-gallery.mjs.map +0 -1
  783. package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
  784. package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
  785. package/fesm2022/primeng-types-image.mjs.map +0 -1
  786. package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
  787. package/fesm2022/primeng-types-inplace.mjs.map +0 -1
  788. package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
  789. package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
  790. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
  791. package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
  792. package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
  793. package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
  794. package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
  795. package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
  796. package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
  797. package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
  798. package/fesm2022/primeng-types-knob.mjs.map +0 -1
  799. package/fesm2022/primeng-types-label.mjs.map +0 -1
  800. package/fesm2022/primeng-types-listbox.mjs.map +0 -1
  801. package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
  802. package/fesm2022/primeng-types-menu.mjs.map +0 -1
  803. package/fesm2022/primeng-types-menubar.mjs.map +0 -1
  804. package/fesm2022/primeng-types-message.mjs.map +0 -1
  805. package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
  806. package/fesm2022/primeng-types-motion.mjs.map +0 -1
  807. package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
  808. package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
  809. package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
  810. package/fesm2022/primeng-types-overlay.mjs.map +0 -1
  811. package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
  812. package/fesm2022/primeng-types-paginator.mjs.map +0 -1
  813. package/fesm2022/primeng-types-panel.mjs.map +0 -1
  814. package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
  815. package/fesm2022/primeng-types-password.mjs.map +0 -1
  816. package/fesm2022/primeng-types-picklist.mjs.map +0 -1
  817. package/fesm2022/primeng-types-popover.mjs.map +0 -1
  818. package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
  819. package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
  820. package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
  821. package/fesm2022/primeng-types-rating.mjs.map +0 -1
  822. package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
  823. package/fesm2022/primeng-types-scroller.mjs.map +0 -1
  824. package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
  825. package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
  826. package/fesm2022/primeng-types-select.mjs.map +0 -1
  827. package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
  828. package/fesm2022/primeng-types-shared.mjs.map +0 -1
  829. package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
  830. package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
  831. package/fesm2022/primeng-types-slider.mjs.map +0 -1
  832. package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
  833. package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
  834. package/fesm2022/primeng-types-splitter.mjs.map +0 -1
  835. package/fesm2022/primeng-types-stepper.mjs.map +0 -1
  836. package/fesm2022/primeng-types-table.mjs.map +0 -1
  837. package/fesm2022/primeng-types-tabs.mjs.map +0 -1
  838. package/fesm2022/primeng-types-tag.mjs.map +0 -1
  839. package/fesm2022/primeng-types-terminal.mjs.map +0 -1
  840. package/fesm2022/primeng-types-textarea.mjs.map +0 -1
  841. package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
  842. package/fesm2022/primeng-types-timeline.mjs.map +0 -1
  843. package/fesm2022/primeng-types-toast.mjs.map +0 -1
  844. package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
  845. package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
  846. package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
  847. package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
  848. package/fesm2022/primeng-types-tree.mjs.map +0 -1
  849. package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
  850. package/fesm2022/primeng-types-treetable.mjs.map +0 -1
@@ -1,356 +1,477 @@
1
- export * from 'primeng/types/megamenu';
2
- import { NgTemplateOutlet, isPlatformBrowser } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { Injectable, InjectionToken, inject, input, numberAttribute, booleanAttribute, output, computed, ViewEncapsulation, Component, contentChild, viewChild, signal, effect, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
- import { Bars } from '@primeicons/angular/bars';
6
- import { resolve, isNotEmpty, uuid, isEmpty, focus, findSingle, isPrintableCharacter, findLastIndex, isTouchDevice } from '@primeuix/utils';
7
- import { SharedModule } from 'primeng/api';
8
- import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
9
- import * as i1 from 'primeng/bind';
10
- import { Bind } from 'primeng/bind';
11
- import * as i5 from 'primeng/motion';
12
- import { MotionModule } from 'primeng/motion';
13
- import { ZIndexUtils } from 'primeng/utils';
14
- import * as i2 from '@angular/router';
15
- import { RouterModule } from '@angular/router';
16
- import * as i4 from 'primeng/badge';
17
- import { BadgeModule } from 'primeng/badge';
18
- import { AngleDown } from '@primeicons/angular/angle-down';
19
- import { AngleRight } from '@primeicons/angular/angle-right';
20
- import { Ripple } from 'primeng/ripple';
21
- import * as i3 from 'primeng/tooltip';
22
- import { TooltipModule } from 'primeng/tooltip';
23
- import { style } from '@primeuix/styles/megamenu';
24
- import { BaseStyle } from 'primeng/base';
25
-
26
- const inlineStyles = {
27
- rootList: ({ instance }) => ({ 'max-height': instance.scrollHeight(), overflow: 'auto' })
28
- };
1
+ import { NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, Injectable, InjectionToken, NgModule, ViewEncapsulation, booleanAttribute, computed, contentChild, effect, inject, input, numberAttribute, output, signal, viewChild } from "@angular/core";
4
+ import { Bars } from "@primeicons/angular/bars";
5
+ import { findLastIndex, findSingle, focus, isEmpty, isNotEmpty, isPrintableCharacter, isTouchDevice, resolve, uuid } from "@primeuix/utils";
6
+ import { SharedModule } from "primeng/api";
7
+ import { BaseComponent, PARENT_INSTANCE } from "primeng/basecomponent";
8
+ import * as i1 from "primeng/bind";
9
+ import { Bind } from "primeng/bind";
10
+ import * as i5 from "primeng/motion";
11
+ import { MotionModule } from "primeng/motion";
12
+ import { ZIndexUtils } from "primeng/utils";
13
+ import * as i2 from "@angular/router";
14
+ import { RouterModule } from "@angular/router";
15
+ import * as i4 from "primeng/badge";
16
+ import { BadgeModule } from "primeng/badge";
17
+ import { AngleDown } from "@primeicons/angular/angle-down";
18
+ import { AngleRight } from "@primeicons/angular/angle-right";
19
+ import { Ripple } from "primeng/ripple";
20
+ import * as i3 from "primeng/tooltip";
21
+ import { TooltipModule } from "primeng/tooltip";
22
+ import { style } from "@primeuix/styles/megamenu";
23
+ import { BaseStyle } from "primeng/base";
24
+ export * from "primeng/types/megamenu";
25
+ const inlineStyles = { rootList: ({ instance }) => ({
26
+ "max-height": instance.scrollHeight(),
27
+ overflow: "auto"
28
+ }) };
29
29
  const classes = {
30
- root: ({ instance }) => [
31
- 'p-megamenu p-component',
32
- {
33
- 'p-megamenu-mobile': instance.queryMatches(),
34
- 'p-megamenu-mobile-active': instance.mobileActive(),
35
- 'p-megamenu-horizontal': instance.orientation() === 'horizontal',
36
- 'p-megamenu-vertical': instance.orientation() === 'vertical'
37
- }
38
- ],
39
- start: 'p-megamenu-start',
40
- button: 'p-megamenu-button',
41
- rootList: 'p-megamenu-root-list',
42
- submenuLabel: ({ instance, processedItem }) => [
43
- 'p-megamenu-submenu-label',
44
- {
45
- 'p-disabled': instance.isItemDisabled(processedItem)
46
- }
47
- ],
48
- item: ({ instance, processedItem }) => [
49
- 'p-megamenu-item',
50
- instance.getItemProp(processedItem, 'styleClass'),
51
- instance.getItemProp(processedItem, 'class'),
52
- {
53
- 'p-megamenu-item-active': instance.isItemActive(processedItem),
54
- 'p-focus': instance.isItemFocused(processedItem),
55
- 'p-disabled': instance.isItemDisabled(processedItem)
56
- }
57
- ],
58
- itemContent: 'p-megamenu-item-content',
59
- itemLink: 'p-megamenu-item-link',
60
- itemIcon: 'p-megamenu-item-icon',
61
- itemLabel: 'p-megamenu-item-label',
62
- submenuIcon: 'p-megamenu-submenu-icon',
63
- overlay: 'p-megamenu-overlay',
64
- grid: 'p-megamenu-grid',
65
- column: ({ instance, processedItem }) => {
66
- let length = instance.isItemGroup(processedItem) ? processedItem.items.length : 0;
67
- let columnClass;
68
- if (instance.megaMenu.queryMatches())
69
- columnClass = 'p-megamenu-col-12';
70
- else {
71
- switch (length) {
72
- case 2:
73
- columnClass = 'p-megamenu-col-6';
74
- break;
75
- case 3:
76
- columnClass = 'p-megamenu-col-4';
77
- break;
78
- case 4:
79
- columnClass = 'p-megamenu-col-3';
80
- break;
81
- case 6:
82
- columnClass = 'p-megamenu-col-2';
83
- break;
84
- default:
85
- columnClass = 'p-megamenu-col-12';
86
- break;
87
- }
88
- }
89
- return columnClass;
90
- },
91
- submenu: 'p-megamenu-submenu',
92
- separator: 'p-megamenu-separator',
93
- end: 'p-megamenu-end'
30
+ root: ({ instance }) => ["p-megamenu p-component", {
31
+ "p-megamenu-mobile": instance.queryMatches(),
32
+ "p-megamenu-mobile-active": instance.mobileActive(),
33
+ "p-megamenu-horizontal": instance.orientation() === "horizontal",
34
+ "p-megamenu-vertical": instance.orientation() === "vertical"
35
+ }],
36
+ start: "p-megamenu-start",
37
+ button: "p-megamenu-button",
38
+ rootList: "p-megamenu-root-list",
39
+ submenuLabel: ({ instance, processedItem }) => ["p-megamenu-submenu-label", { "p-disabled": instance.isItemDisabled(processedItem) }],
40
+ item: ({ instance, processedItem }) => [
41
+ "p-megamenu-item",
42
+ instance.getItemProp(processedItem, "styleClass"),
43
+ instance.getItemProp(processedItem, "class"),
44
+ {
45
+ "p-megamenu-item-active": instance.isItemActive(processedItem),
46
+ "p-focus": instance.isItemFocused(processedItem),
47
+ "p-disabled": instance.isItemDisabled(processedItem)
48
+ }
49
+ ],
50
+ itemContent: "p-megamenu-item-content",
51
+ itemLink: "p-megamenu-item-link",
52
+ itemIcon: "p-megamenu-item-icon",
53
+ itemLabel: "p-megamenu-item-label",
54
+ submenuIcon: "p-megamenu-submenu-icon",
55
+ overlay: "p-megamenu-overlay",
56
+ grid: "p-megamenu-grid",
57
+ column: ({ instance, processedItem }) => {
58
+ let length = instance.isItemGroup(processedItem) ? processedItem.items.length : 0;
59
+ let columnClass;
60
+ if (instance.megaMenu.queryMatches()) columnClass = "p-megamenu-col-12";
61
+ else switch (length) {
62
+ case 2:
63
+ columnClass = "p-megamenu-col-6";
64
+ break;
65
+ case 3:
66
+ columnClass = "p-megamenu-col-4";
67
+ break;
68
+ case 4:
69
+ columnClass = "p-megamenu-col-3";
70
+ break;
71
+ case 6:
72
+ columnClass = "p-megamenu-col-2";
73
+ break;
74
+ default: columnClass = "p-megamenu-col-12";
75
+ }
76
+ return columnClass;
77
+ },
78
+ submenu: "p-megamenu-submenu",
79
+ separator: "p-megamenu-separator",
80
+ end: "p-megamenu-end"
81
+ };
82
+ var MegaMenuStyle = class MegaMenuStyle extends BaseStyle {
83
+ name = "megamenu";
84
+ style = style;
85
+ classes = classes;
86
+ inlineStyles = inlineStyles;
87
+ static ɵfac = i0.ɵɵngDeclareFactory({
88
+ minVersion: "12.0.0",
89
+ version: "22.2.0",
90
+ ngImport: i0,
91
+ type: MegaMenuStyle,
92
+ deps: null,
93
+ target: i0.ɵɵFactoryTarget.Injectable
94
+ });
95
+ static ɵprov = i0.ɵɵngDeclareInjectable({
96
+ minVersion: "12.0.0",
97
+ version: "22.2.0",
98
+ ngImport: i0,
99
+ type: MegaMenuStyle
100
+ });
94
101
  };
95
- class MegaMenuStyle extends BaseStyle {
96
- name = 'megamenu';
97
- style = style;
98
- classes = classes;
99
- inlineStyles = inlineStyles;
100
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
101
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenuStyle });
102
- }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenuStyle, decorators: [{
104
- type: Injectable
105
- }] });
106
- /**
107
- *
108
- * MegaMenu is navigation component that displays submenus together.
109
- *
110
- * [Live Demo](https://www.primeng.org/megamenu/)
111
- *
112
- * @module megamenustyle
113
- *
114
- */
102
+ i0.ɵɵngDeclareClassMetadata({
103
+ minVersion: "12.0.0",
104
+ version: "22.2.0",
105
+ ngImport: i0,
106
+ type: MegaMenuStyle,
107
+ decorators: [{ type: Injectable }]
108
+ });
115
109
  var MegaMenuClasses;
116
- (function (MegaMenuClasses) {
117
- /**
118
- * Class name of the root element
119
- */
120
- MegaMenuClasses["root"] = "p-megamenu";
121
- /**
122
- * Class name of the start element
123
- */
124
- MegaMenuClasses["start"] = "p-megamenu-start";
125
- /**
126
- * Class name of the button element
127
- */
128
- MegaMenuClasses["button"] = "p-megamenu-button";
129
- /**
130
- * Class name of the root list element
131
- */
132
- MegaMenuClasses["rootList"] = "p-megamenu-root-list";
133
- /**
134
- * Class name of the submenu item element
135
- */
136
- MegaMenuClasses["submenuItem"] = "p-megamenu-submenu-item";
137
- /**
138
- * Class name of the item element
139
- */
140
- MegaMenuClasses["item"] = "p-megamenu-item";
141
- /**
142
- * Class name of the item content element
143
- */
144
- MegaMenuClasses["itemContent"] = "p-megamenu-item-content";
145
- /**
146
- * Class name of the item link element
147
- */
148
- MegaMenuClasses["itemLink"] = "p-megamenu-item-link";
149
- /**
150
- * Class name of the item icon element
151
- */
152
- MegaMenuClasses["itemIcon"] = "p-megamenu-item-icon";
153
- /**
154
- * Class name of the item label element
155
- */
156
- MegaMenuClasses["itemLabel"] = "p-megamenu-item-label";
157
- /**
158
- * Class name of the submenu icon element
159
- */
160
- MegaMenuClasses["submenuIcon"] = "p-megamenu-submenu-icon";
161
- /**
162
- * Class name of the panel element
163
- */
164
- MegaMenuClasses["panel"] = "p-megamenu-panel";
165
- /**
166
- * Class name of the grid element
167
- */
168
- MegaMenuClasses["grid"] = "p-megamenu-grid";
169
- /**
170
- * Class name of the submenu element
171
- */
172
- MegaMenuClasses["submenu"] = "p-megamenu-submenu";
173
- /**
174
- * Class name of the submenu item label element
175
- */
176
- MegaMenuClasses["submenuItemLabel"] = "p-megamenu-submenu-item-label";
177
- /**
178
- * Class name of the separator element
179
- */
180
- MegaMenuClasses["separator"] = "p-megamenu-separator";
181
- /**
182
- * Class name of the end element
183
- */
184
- MegaMenuClasses["end"] = "p-megamenu-end";
110
+ (function(MegaMenuClasses) {
111
+ MegaMenuClasses["root"] = "p-megamenu";
112
+ MegaMenuClasses["start"] = "p-megamenu-start";
113
+ MegaMenuClasses["button"] = "p-megamenu-button";
114
+ MegaMenuClasses["rootList"] = "p-megamenu-root-list";
115
+ MegaMenuClasses["submenuItem"] = "p-megamenu-submenu-item";
116
+ MegaMenuClasses["item"] = "p-megamenu-item";
117
+ MegaMenuClasses["itemContent"] = "p-megamenu-item-content";
118
+ MegaMenuClasses["itemLink"] = "p-megamenu-item-link";
119
+ MegaMenuClasses["itemIcon"] = "p-megamenu-item-icon";
120
+ MegaMenuClasses["itemLabel"] = "p-megamenu-item-label";
121
+ MegaMenuClasses["submenuIcon"] = "p-megamenu-submenu-icon";
122
+ MegaMenuClasses["panel"] = "p-megamenu-panel";
123
+ MegaMenuClasses["grid"] = "p-megamenu-grid";
124
+ MegaMenuClasses["submenu"] = "p-megamenu-submenu";
125
+ MegaMenuClasses["submenuItemLabel"] = "p-megamenu-submenu-item-label";
126
+ MegaMenuClasses["separator"] = "p-megamenu-separator";
127
+ MegaMenuClasses["end"] = "p-megamenu-end";
185
128
  })(MegaMenuClasses || (MegaMenuClasses = {}));
186
-
187
- const MEGAMENU_INSTANCE = new InjectionToken('MEGAMENU_INSTANCE');
188
- const MEGAMENU_SUB_INSTANCE = new InjectionToken('MEGAMENU_SUB_INSTANCE');
189
-
190
- class MegaMenuSub extends BaseComponent {
191
- bindDirectiveInstance = inject(Bind, { self: true });
192
- $pcMegaMenu = inject(MEGAMENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
193
- $pcMegaMenuSub = inject(MEGAMENU_SUB_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
194
- id = input(/* @ts-ignore */
195
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
196
- items = input(/* @ts-ignore */
197
- ...(ngDevMode ? [undefined, { debugName: "items" }] : /* istanbul ignore next */ []));
198
- itemTemplate = input(/* @ts-ignore */
199
- ...(ngDevMode ? [undefined, { debugName: "itemTemplate" }] : /* istanbul ignore next */ []));
200
- menuId = input(/* @ts-ignore */
201
- ...(ngDevMode ? [undefined, { debugName: "menuId" }] : /* istanbul ignore next */ []));
202
- ariaLabel = input(/* @ts-ignore */
203
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
204
- ariaLabelledBy = input(/* @ts-ignore */
205
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
206
- level = input(0, { ...(ngDevMode ? { debugName: "level" } : /* istanbul ignore next */ {}), transform: numberAttribute });
207
- focusedItemId = input(/* @ts-ignore */
208
- ...(ngDevMode ? [undefined, { debugName: "focusedItemId" }] : /* istanbul ignore next */ []));
209
- disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
210
- orientation = input(/* @ts-ignore */
211
- ...(ngDevMode ? [undefined, { debugName: "orientation" }] : /* istanbul ignore next */ []));
212
- activeItem = input(/* @ts-ignore */
213
- ...(ngDevMode ? [undefined, { debugName: "activeItem" }] : /* istanbul ignore next */ []));
214
- submenu = input(/* @ts-ignore */
215
- ...(ngDevMode ? [undefined, { debugName: "submenu" }] : /* istanbul ignore next */ []));
216
- motionOptions = input(/* @ts-ignore */
217
- ...(ngDevMode ? [undefined, { debugName: "motionOptions" }] : /* istanbul ignore next */ []));
218
- queryMatches = input(false, { ...(ngDevMode ? { debugName: "queryMatches" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
219
- mobileActive = input(false, { ...(ngDevMode ? { debugName: "mobileActive" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
220
- scrollHeight = input(/* @ts-ignore */
221
- ...(ngDevMode ? [undefined, { debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
222
- tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
223
- root = input(false, { ...(ngDevMode ? { debugName: "root" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
224
- itemClick = output();
225
- itemMouseEnter = output();
226
- menuFocus = output();
227
- menuBlur = output();
228
- menuKeydown = output();
229
- menuMouseDown = output();
230
- megaMenu = inject(MEGAMENU_INSTANCE);
231
- _componentStyle = inject(MegaMenuStyle);
232
- hostName = 'MegaMenu';
233
- hostClass = computed(() => (this.root() ? this.cx('rootList') : this.cx('submenu')), /* @ts-ignore */
234
- ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
235
- hostDisplay = computed(() => (this.root() ? undefined : this.isSubmenuVisible(this.submenu()) ? null : 'none'), /* @ts-ignore */
236
- ...(ngDevMode ? [{ debugName: "hostDisplay" }] : /* istanbul ignore next */ []));
237
- hostRole = computed(() => (this.root() ? 'menubar' : 'menu'), /* @ts-ignore */
238
- ...(ngDevMode ? [{ debugName: "hostRole" }] : /* istanbul ignore next */ []));
239
- hostDataPcSection = computed(() => (this.root() ? 'rootlist' : 'submenu'), /* @ts-ignore */
240
- ...(ngDevMode ? [{ debugName: "hostDataPcSection" }] : /* istanbul ignore next */ []));
241
- isHorizontalOrMobile = computed(() => this.orientation() === 'horizontal' || this.mobileActive(), /* @ts-ignore */
242
- ...(ngDevMode ? [{ debugName: "isHorizontalOrMobile" }] : /* istanbul ignore next */ []));
243
- isHorizontal = computed(() => this.orientation() === 'horizontal', /* @ts-ignore */
244
- ...(ngDevMode ? [{ debugName: "isHorizontal" }] : /* istanbul ignore next */ []));
245
- hasSubmenuIcon = computed(() => !!this.megaMenu.submenuiconTemplate(), /* @ts-ignore */
246
- ...(ngDevMode ? [{ debugName: "hasSubmenuIcon" }] : /* istanbul ignore next */ []));
247
- isSeparator(processedItem) {
248
- return this.getItemProp(processedItem, 'separator');
249
- }
250
- hasRouterLink(processedItem) {
251
- return this.getItemProp(processedItem, 'routerLink');
252
- }
253
- hasIcon(processedItem) {
254
- return this.getItemProp(processedItem, 'icon');
255
- }
256
- shouldEscape(processedItem) {
257
- return this.getItemProp(processedItem, 'escape');
258
- }
259
- hasBadge(processedItem) {
260
- return this.getItemProp(processedItem, 'badge');
261
- }
262
- isVisibleItemGroup(processedItem) {
263
- return this.isItemVisible(processedItem) && this.isItemGroup(processedItem);
264
- }
265
- getAriaHasPopup(processedItem) {
266
- return this.isItemGroup(processedItem) && !this.getItemProp(processedItem, 'to') ? 'menu' : undefined;
267
- }
268
- getAriaExpanded(processedItem) {
269
- return this.isItemGroup(processedItem) ? this.isItemActive(processedItem) : undefined;
270
- }
271
- getRouterLinkActiveOptions(processedItem) {
272
- return this.getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false };
273
- }
274
- onAfterViewChecked() {
275
- this.bindDirectiveInstance.setAttrs(this.ptm(this.root() ? 'rootList' : 'submenu'));
276
- }
277
- onItemClick(event, processedItem) {
278
- this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
279
- this.itemClick.emit({ originalEvent: event, processedItem, isFocus: true });
280
- }
281
- getItemProp(processedItem, name, params = null) {
282
- return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;
283
- }
284
- getItemId(processedItem) {
285
- return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId()}_${processedItem.key}`;
286
- }
287
- getSubListId(processedItem) {
288
- return `${this.getItemId(processedItem)}_list`;
289
- }
290
- getItemLabel(processedItem) {
291
- return this.getItemProp(processedItem, 'label');
292
- }
293
- isSubmenuVisible(submenu) {
294
- if (this.submenu() && !this.root()) {
295
- return this.isItemVisible(submenu);
296
- }
297
- else {
298
- return true;
299
- }
300
- }
301
- isItemVisible(processedItem) {
302
- return this.getItemProp(processedItem, 'visible') !== false;
303
- }
304
- isItemActive(processedItem) {
305
- const activeItem = this.activeItem();
306
- return isNotEmpty(activeItem) && activeItem ? activeItem.key === processedItem.key : false;
307
- }
308
- isItemDisabled(processedItem) {
309
- return this.getItemProp(processedItem, 'disabled');
310
- }
311
- isItemFocused(processedItem) {
312
- return this.focusedItemId() === this.getItemId(processedItem);
313
- }
314
- isItemGroup(processedItem) {
315
- return isNotEmpty(processedItem.items);
316
- }
317
- getAriaSetSize() {
318
- return this.items()?.filter((processedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, 'separator')).length;
319
- }
320
- getAriaPosInset(index) {
321
- return (index -
322
- (this.items()
323
- ?.slice(0, index)
324
- .filter((processedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, 'separator')).length || 0) +
325
- 1);
326
- }
327
- onItemMouseEnter(param) {
328
- const { originalEvent, processedItem } = param;
329
- this.itemMouseEnter.emit({ originalEvent, processedItem });
330
- }
331
- getColumnItems(col) {
332
- return Array.isArray(col) ? col : [col];
333
- }
334
- getSubmenuItems(submenu) {
335
- return submenu.items;
336
- }
337
- getPTOptions(processedItem, index, key) {
338
- const ptContext = {
339
- context: {
340
- item: processedItem.item,
341
- index,
342
- active: this.isItemActive(processedItem),
343
- focused: this.isItemFocused(processedItem),
344
- disabled: this.isItemDisabled(processedItem)
345
- }
346
- };
347
- return this.ptm(key, ptContext);
348
- }
349
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenuSub, deps: null, target: i0.ɵɵFactoryTarget.Component });
350
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: MegaMenuSub, isStandalone: true, selector: "p-megamenu-sub, ul[pMegaMenuSub]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: true, isRequired: false, transformFunction: null }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, focusedItemId: { classPropertyName: "focusedItemId", publicName: "focusedItemId", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, activeItem: { classPropertyName: "activeItem", publicName: "activeItem", isSignal: true, isRequired: false, transformFunction: null }, submenu: { classPropertyName: "submenu", publicName: "submenu", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: true, isRequired: false, transformFunction: null }, queryMatches: { classPropertyName: "queryMatches", publicName: "queryMatches", isSignal: true, isRequired: false, transformFunction: null }, mobileActive: { classPropertyName: "mobileActive", publicName: "mobileActive", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown", menuMouseDown: "menuMouseDown" }, host: { listeners: { "keydown": "menuKeydown.emit($event)", "focus": "menuFocus.emit($event)", "blur": "menuBlur.emit($event)", "mousedown": "menuMouseDown.emit($event)" }, properties: { "class": "hostClass()", "style": "sx(\"rootList\")", "style.display": "hostDisplay()", "attr.role": "hostRole()", "attr.id": "id()", "attr.aria-orientation": "orientation()", "tabindex": "tabindex()", "attr.aria-activedescendant": "focusedItemId()", "attr.data-pc-section": "hostDataPcSection()" } }, providers: [
351
- { provide: MEGAMENU_SUB_INSTANCE, useExisting: MegaMenuSub },
352
- { provide: PARENT_INSTANCE, useExisting: MegaMenuSub }
353
- ], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
129
+ const MEGAMENU_INSTANCE = new InjectionToken("MEGAMENU_INSTANCE");
130
+ const MEGAMENU_SUB_INSTANCE = new InjectionToken("MEGAMENU_SUB_INSTANCE");
131
+ var MegaMenuSub = class MegaMenuSub extends BaseComponent {
132
+ bindDirectiveInstance = inject(Bind, { self: true });
133
+ $pcMegaMenu = inject(MEGAMENU_INSTANCE, {
134
+ optional: true,
135
+ skipSelf: true
136
+ }) ?? void 0;
137
+ $pcMegaMenuSub = inject(MEGAMENU_SUB_INSTANCE, {
138
+ optional: true,
139
+ skipSelf: true
140
+ }) ?? void 0;
141
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
142
+ items = input(...ngDevMode ? [void 0, { debugName: "items" }] : /* istanbul ignore next */ []);
143
+ itemTemplate = input(...ngDevMode ? [void 0, { debugName: "itemTemplate" }] : /* istanbul ignore next */ []);
144
+ menuId = input(...ngDevMode ? [void 0, { debugName: "menuId" }] : /* istanbul ignore next */ []);
145
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
146
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
147
+ level = input(0, {
148
+ ...ngDevMode ? { debugName: "level" } : /* istanbul ignore next */ {},
149
+ transform: numberAttribute
150
+ });
151
+ focusedItemId = input(...ngDevMode ? [void 0, { debugName: "focusedItemId" }] : /* istanbul ignore next */ []);
152
+ disabled = input(false, {
153
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
154
+ transform: booleanAttribute
155
+ });
156
+ orientation = input(...ngDevMode ? [void 0, { debugName: "orientation" }] : /* istanbul ignore next */ []);
157
+ activeItem = input(...ngDevMode ? [void 0, { debugName: "activeItem" }] : /* istanbul ignore next */ []);
158
+ submenu = input(...ngDevMode ? [void 0, { debugName: "submenu" }] : /* istanbul ignore next */ []);
159
+ motionOptions = input(...ngDevMode ? [void 0, { debugName: "motionOptions" }] : /* istanbul ignore next */ []);
160
+ queryMatches = input(false, {
161
+ ...ngDevMode ? { debugName: "queryMatches" } : /* istanbul ignore next */ {},
162
+ transform: booleanAttribute
163
+ });
164
+ mobileActive = input(false, {
165
+ ...ngDevMode ? { debugName: "mobileActive" } : /* istanbul ignore next */ {},
166
+ transform: booleanAttribute
167
+ });
168
+ scrollHeight = input(...ngDevMode ? [void 0, { debugName: "scrollHeight" }] : /* istanbul ignore next */ []);
169
+ tabindex = input(0, {
170
+ ...ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {},
171
+ transform: numberAttribute
172
+ });
173
+ root = input(false, {
174
+ ...ngDevMode ? { debugName: "root" } : /* istanbul ignore next */ {},
175
+ transform: booleanAttribute
176
+ });
177
+ itemClick = output();
178
+ itemMouseEnter = output();
179
+ menuFocus = output();
180
+ menuBlur = output();
181
+ menuKeydown = output();
182
+ menuMouseDown = output();
183
+ megaMenu = inject(MEGAMENU_INSTANCE);
184
+ _componentStyle = inject(MegaMenuStyle);
185
+ hostName = "MegaMenu";
186
+ hostClass = computed(() => this.root() ? this.cx("rootList") : this.cx("submenu"), ...ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []);
187
+ hostDisplay = computed(() => this.root() ? void 0 : this.isSubmenuVisible(this.submenu()) ? null : "none", ...ngDevMode ? [{ debugName: "hostDisplay" }] : /* istanbul ignore next */ []);
188
+ hostRole = computed(() => this.root() ? "menubar" : "menu", ...ngDevMode ? [{ debugName: "hostRole" }] : /* istanbul ignore next */ []);
189
+ hostDataPcSection = computed(() => this.root() ? "rootlist" : "submenu", ...ngDevMode ? [{ debugName: "hostDataPcSection" }] : /* istanbul ignore next */ []);
190
+ isHorizontalOrMobile = computed(() => this.orientation() === "horizontal" || this.mobileActive(), ...ngDevMode ? [{ debugName: "isHorizontalOrMobile" }] : /* istanbul ignore next */ []);
191
+ isHorizontal = computed(() => this.orientation() === "horizontal", ...ngDevMode ? [{ debugName: "isHorizontal" }] : /* istanbul ignore next */ []);
192
+ hasSubmenuIcon = computed(() => !!this.megaMenu.submenuiconTemplate(), ...ngDevMode ? [{ debugName: "hasSubmenuIcon" }] : /* istanbul ignore next */ []);
193
+ isSeparator(processedItem) {
194
+ return this.getItemProp(processedItem, "separator");
195
+ }
196
+ hasRouterLink(processedItem) {
197
+ return this.getItemProp(processedItem, "routerLink");
198
+ }
199
+ hasIcon(processedItem) {
200
+ return this.getItemProp(processedItem, "icon");
201
+ }
202
+ shouldEscape(processedItem) {
203
+ return this.getItemProp(processedItem, "escape");
204
+ }
205
+ hasBadge(processedItem) {
206
+ return this.getItemProp(processedItem, "badge");
207
+ }
208
+ isVisibleItemGroup(processedItem) {
209
+ return this.isItemVisible(processedItem) && this.isItemGroup(processedItem);
210
+ }
211
+ getAriaHasPopup(processedItem) {
212
+ return this.isItemGroup(processedItem) && !this.getItemProp(processedItem, "to") ? "menu" : void 0;
213
+ }
214
+ getAriaExpanded(processedItem) {
215
+ return this.isItemGroup(processedItem) ? this.isItemActive(processedItem) : void 0;
216
+ }
217
+ getRouterLinkActiveOptions(processedItem) {
218
+ return this.getItemProp(processedItem, "routerLinkActiveOptions") || { exact: false };
219
+ }
220
+ onAfterViewChecked() {
221
+ this.bindDirectiveInstance.setAttrs(this.ptm(this.root() ? "rootList" : "submenu"));
222
+ }
223
+ onItemClick(event, processedItem) {
224
+ this.getItemProp(processedItem, "command", {
225
+ originalEvent: event,
226
+ item: processedItem.item
227
+ });
228
+ this.itemClick.emit({
229
+ originalEvent: event,
230
+ processedItem,
231
+ isFocus: true
232
+ });
233
+ }
234
+ getItemProp(processedItem, name, params = null) {
235
+ return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : void 0;
236
+ }
237
+ getItemId(processedItem) {
238
+ return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId()}_${processedItem.key}`;
239
+ }
240
+ getSubListId(processedItem) {
241
+ return `${this.getItemId(processedItem)}_list`;
242
+ }
243
+ getItemLabel(processedItem) {
244
+ return this.getItemProp(processedItem, "label");
245
+ }
246
+ isSubmenuVisible(submenu) {
247
+ if (this.submenu() && !this.root()) return this.isItemVisible(submenu);
248
+ else return true;
249
+ }
250
+ isItemVisible(processedItem) {
251
+ return this.getItemProp(processedItem, "visible") !== false;
252
+ }
253
+ isItemActive(processedItem) {
254
+ const activeItem = this.activeItem();
255
+ return isNotEmpty(activeItem) && activeItem ? activeItem.key === processedItem.key : false;
256
+ }
257
+ isItemDisabled(processedItem) {
258
+ return this.getItemProp(processedItem, "disabled");
259
+ }
260
+ isItemFocused(processedItem) {
261
+ return this.focusedItemId() === this.getItemId(processedItem);
262
+ }
263
+ isItemGroup(processedItem) {
264
+ return isNotEmpty(processedItem.items);
265
+ }
266
+ getAriaSetSize() {
267
+ return this.items()?.filter((processedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, "separator")).length;
268
+ }
269
+ getAriaPosInset(index) {
270
+ return index - (this.items()?.slice(0, index).filter((processedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, "separator")).length || 0) + 1;
271
+ }
272
+ onItemMouseEnter(param) {
273
+ const { originalEvent, processedItem } = param;
274
+ this.itemMouseEnter.emit({
275
+ originalEvent,
276
+ processedItem
277
+ });
278
+ }
279
+ getColumnItems(col) {
280
+ return Array.isArray(col) ? col : [col];
281
+ }
282
+ getSubmenuItems(submenu) {
283
+ return submenu.items;
284
+ }
285
+ getPTOptions(processedItem, index, key) {
286
+ const ptContext = { context: {
287
+ item: processedItem.item,
288
+ index,
289
+ active: this.isItemActive(processedItem),
290
+ focused: this.isItemFocused(processedItem),
291
+ disabled: this.isItemDisabled(processedItem)
292
+ } };
293
+ return this.ptm(key, ptContext);
294
+ }
295
+ static ɵfac = i0.ɵɵngDeclareFactory({
296
+ minVersion: "12.0.0",
297
+ version: "22.2.0",
298
+ ngImport: i0,
299
+ type: MegaMenuSub,
300
+ deps: null,
301
+ target: i0.ɵɵFactoryTarget.Component
302
+ });
303
+ static ɵcmp = i0.ɵɵngDeclareComponent({
304
+ minVersion: "17.0.0",
305
+ version: "22.2.0",
306
+ type: MegaMenuSub,
307
+ isStandalone: true,
308
+ selector: "p-megamenu-sub, ul[pMegaMenuSub]",
309
+ inputs: {
310
+ id: {
311
+ classPropertyName: "id",
312
+ publicName: "id",
313
+ isSignal: true,
314
+ isRequired: false,
315
+ transformFunction: null
316
+ },
317
+ items: {
318
+ classPropertyName: "items",
319
+ publicName: "items",
320
+ isSignal: true,
321
+ isRequired: false,
322
+ transformFunction: null
323
+ },
324
+ itemTemplate: {
325
+ classPropertyName: "itemTemplate",
326
+ publicName: "itemTemplate",
327
+ isSignal: true,
328
+ isRequired: false,
329
+ transformFunction: null
330
+ },
331
+ menuId: {
332
+ classPropertyName: "menuId",
333
+ publicName: "menuId",
334
+ isSignal: true,
335
+ isRequired: false,
336
+ transformFunction: null
337
+ },
338
+ ariaLabel: {
339
+ classPropertyName: "ariaLabel",
340
+ publicName: "ariaLabel",
341
+ isSignal: true,
342
+ isRequired: false,
343
+ transformFunction: null
344
+ },
345
+ ariaLabelledBy: {
346
+ classPropertyName: "ariaLabelledBy",
347
+ publicName: "ariaLabelledBy",
348
+ isSignal: true,
349
+ isRequired: false,
350
+ transformFunction: null
351
+ },
352
+ level: {
353
+ classPropertyName: "level",
354
+ publicName: "level",
355
+ isSignal: true,
356
+ isRequired: false,
357
+ transformFunction: null
358
+ },
359
+ focusedItemId: {
360
+ classPropertyName: "focusedItemId",
361
+ publicName: "focusedItemId",
362
+ isSignal: true,
363
+ isRequired: false,
364
+ transformFunction: null
365
+ },
366
+ disabled: {
367
+ classPropertyName: "disabled",
368
+ publicName: "disabled",
369
+ isSignal: true,
370
+ isRequired: false,
371
+ transformFunction: null
372
+ },
373
+ orientation: {
374
+ classPropertyName: "orientation",
375
+ publicName: "orientation",
376
+ isSignal: true,
377
+ isRequired: false,
378
+ transformFunction: null
379
+ },
380
+ activeItem: {
381
+ classPropertyName: "activeItem",
382
+ publicName: "activeItem",
383
+ isSignal: true,
384
+ isRequired: false,
385
+ transformFunction: null
386
+ },
387
+ submenu: {
388
+ classPropertyName: "submenu",
389
+ publicName: "submenu",
390
+ isSignal: true,
391
+ isRequired: false,
392
+ transformFunction: null
393
+ },
394
+ motionOptions: {
395
+ classPropertyName: "motionOptions",
396
+ publicName: "motionOptions",
397
+ isSignal: true,
398
+ isRequired: false,
399
+ transformFunction: null
400
+ },
401
+ queryMatches: {
402
+ classPropertyName: "queryMatches",
403
+ publicName: "queryMatches",
404
+ isSignal: true,
405
+ isRequired: false,
406
+ transformFunction: null
407
+ },
408
+ mobileActive: {
409
+ classPropertyName: "mobileActive",
410
+ publicName: "mobileActive",
411
+ isSignal: true,
412
+ isRequired: false,
413
+ transformFunction: null
414
+ },
415
+ scrollHeight: {
416
+ classPropertyName: "scrollHeight",
417
+ publicName: "scrollHeight",
418
+ isSignal: true,
419
+ isRequired: false,
420
+ transformFunction: null
421
+ },
422
+ tabindex: {
423
+ classPropertyName: "tabindex",
424
+ publicName: "tabindex",
425
+ isSignal: true,
426
+ isRequired: false,
427
+ transformFunction: null
428
+ },
429
+ root: {
430
+ classPropertyName: "root",
431
+ publicName: "root",
432
+ isSignal: true,
433
+ isRequired: false,
434
+ transformFunction: null
435
+ }
436
+ },
437
+ outputs: {
438
+ itemClick: "itemClick",
439
+ itemMouseEnter: "itemMouseEnter",
440
+ menuFocus: "menuFocus",
441
+ menuBlur: "menuBlur",
442
+ menuKeydown: "menuKeydown",
443
+ menuMouseDown: "menuMouseDown"
444
+ },
445
+ host: {
446
+ listeners: {
447
+ "keydown": "menuKeydown.emit($event)",
448
+ "focus": "menuFocus.emit($event)",
449
+ "blur": "menuBlur.emit($event)",
450
+ "mousedown": "menuMouseDown.emit($event)"
451
+ },
452
+ properties: {
453
+ "class": "hostClass()",
454
+ "style": "sx(\"rootList\")",
455
+ "style.display": "hostDisplay()",
456
+ "attr.role": "hostRole()",
457
+ "attr.id": "id()",
458
+ "attr.aria-orientation": "orientation()",
459
+ "tabindex": "tabindex()",
460
+ "attr.aria-activedescendant": "focusedItemId()",
461
+ "attr.data-pc-section": "hostDataPcSection()"
462
+ }
463
+ },
464
+ providers: [{
465
+ provide: MEGAMENU_SUB_INSTANCE,
466
+ useExisting: MegaMenuSub
467
+ }, {
468
+ provide: PARENT_INSTANCE,
469
+ useExisting: MegaMenuSub
470
+ }],
471
+ usesInheritance: true,
472
+ hostDirectives: [{ directive: i1.Bind }],
473
+ ngImport: i0,
474
+ template: `
354
475
  @if (submenu()) {
355
476
  <li [class]="cn(cx('submenuLabel'), getItemProp(submenu(), 'class'))" [style]="getItemProp(submenu(), 'style')" role="presentation" [pBind]="ptm('submenuLabel')">
356
477
  {{ getItemLabel(submenu()) }}
@@ -525,15 +646,225 @@ class MegaMenuSub extends BaseComponent {
525
646
  }
526
647
  }
527
648
  }
528
- `, isInline: true, dependencies: [{ kind: "component", type: MegaMenuSub, selector: "p-megamenu-sub, ul[pMegaMenuSub]", inputs: ["id", "items", "itemTemplate", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "disabled", "orientation", "activeItem", "submenu", "motionOptions", "queryMatches", "mobileActive", "scrollHeight", "tabindex", "root"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown", "menuMouseDown"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "component", type: AngleDown, selector: "svg[data-p-icon=\"angle-down\"]" }, { kind: "component", type: AngleRight, selector: "svg[data-p-icon=\"angle-right\"]" }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i4.Badge, selector: "p-badge", inputs: ["badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: MotionModule }, { kind: "directive", type: i5.MotionDirective, selector: "[pMotion]", inputs: ["pMotion", "pMotionName", "pMotionType", "pMotionSafe", "pMotionDisabled", "pMotionAppear", "pMotionEnter", "pMotionLeave", "pMotionDuration", "pMotionHideStrategy", "pMotionEnterFromClass", "pMotionEnterToClass", "pMotionEnterActiveClass", "pMotionLeaveFromClass", "pMotionLeaveToClass", "pMotionLeaveActiveClass", "pMotionOptions"], outputs: ["pMotionOnBeforeEnter", "pMotionOnEnter", "pMotionOnAfterEnter", "pMotionOnEnterCancelled", "pMotionOnBeforeLeave", "pMotionOnLeave", "pMotionOnAfterLeave", "pMotionOnLeaveCancelled"] }], encapsulation: i0.ViewEncapsulation.None });
529
- }
530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenuSub, decorators: [{
531
- type: Component,
532
- args: [{
533
- selector: 'p-megamenu-sub, ul[pMegaMenuSub]',
534
- standalone: true,
535
- imports: [NgTemplateOutlet, RouterModule, Ripple, TooltipModule, AngleDown, AngleRight, BadgeModule, SharedModule, Bind, MotionModule],
536
- template: `
649
+ `,
650
+ isInline: true,
651
+ dependencies: [
652
+ {
653
+ kind: "component",
654
+ type: MegaMenuSub,
655
+ selector: "p-megamenu-sub, ul[pMegaMenuSub]",
656
+ inputs: [
657
+ "id",
658
+ "items",
659
+ "itemTemplate",
660
+ "menuId",
661
+ "ariaLabel",
662
+ "ariaLabelledBy",
663
+ "level",
664
+ "focusedItemId",
665
+ "disabled",
666
+ "orientation",
667
+ "activeItem",
668
+ "submenu",
669
+ "motionOptions",
670
+ "queryMatches",
671
+ "mobileActive",
672
+ "scrollHeight",
673
+ "tabindex",
674
+ "root"
675
+ ],
676
+ outputs: [
677
+ "itemClick",
678
+ "itemMouseEnter",
679
+ "menuFocus",
680
+ "menuBlur",
681
+ "menuKeydown",
682
+ "menuMouseDown"
683
+ ]
684
+ },
685
+ {
686
+ kind: "directive",
687
+ type: NgTemplateOutlet,
688
+ selector: "[ngTemplateOutlet]",
689
+ inputs: [
690
+ "ngTemplateOutletContext",
691
+ "ngTemplateOutlet",
692
+ "ngTemplateOutletInjector"
693
+ ]
694
+ },
695
+ {
696
+ kind: "ngmodule",
697
+ type: RouterModule
698
+ },
699
+ {
700
+ kind: "directive",
701
+ type: i2.RouterLink,
702
+ selector: "[routerLink]",
703
+ inputs: [
704
+ "target",
705
+ "queryParams",
706
+ "fragment",
707
+ "queryParamsHandling",
708
+ "state",
709
+ "info",
710
+ "relativeTo",
711
+ "preserveFragment",
712
+ "skipLocationChange",
713
+ "replaceUrl",
714
+ "browserUrl",
715
+ "routerLink"
716
+ ]
717
+ },
718
+ {
719
+ kind: "directive",
720
+ type: i2.RouterLinkActive,
721
+ selector: "[routerLinkActive]",
722
+ inputs: [
723
+ "routerLinkActiveOptions",
724
+ "ariaCurrentWhenActive",
725
+ "routerLinkActive"
726
+ ],
727
+ outputs: ["isActiveChange"],
728
+ exportAs: ["routerLinkActive"]
729
+ },
730
+ {
731
+ kind: "directive",
732
+ type: Ripple,
733
+ selector: "[pRipple]"
734
+ },
735
+ {
736
+ kind: "ngmodule",
737
+ type: TooltipModule
738
+ },
739
+ {
740
+ kind: "directive",
741
+ type: i3.Tooltip,
742
+ selector: "[pTooltip]",
743
+ inputs: [
744
+ "tooltipPosition",
745
+ "tooltipEvent",
746
+ "positionStyle",
747
+ "tooltipStyleClass",
748
+ "tooltipZIndex",
749
+ "escape",
750
+ "showDelay",
751
+ "hideDelay",
752
+ "life",
753
+ "positionTop",
754
+ "positionLeft",
755
+ "autoHide",
756
+ "fitContent",
757
+ "hideOnEscape",
758
+ "showOnEllipsis",
759
+ "pTooltip",
760
+ "tooltipDisabled",
761
+ "tooltipOptions",
762
+ "appendTo",
763
+ "pTooltipPT",
764
+ "pTooltipUnstyled"
765
+ ]
766
+ },
767
+ {
768
+ kind: "directive",
769
+ type: i1.Bind,
770
+ selector: "[pBind]",
771
+ inputs: ["pBind"]
772
+ },
773
+ {
774
+ kind: "component",
775
+ type: AngleDown,
776
+ selector: "svg[data-p-icon=\"angle-down\"]"
777
+ },
778
+ {
779
+ kind: "component",
780
+ type: AngleRight,
781
+ selector: "svg[data-p-icon=\"angle-right\"]"
782
+ },
783
+ {
784
+ kind: "ngmodule",
785
+ type: BadgeModule
786
+ },
787
+ {
788
+ kind: "component",
789
+ type: i4.Badge,
790
+ selector: "p-badge",
791
+ inputs: [
792
+ "badgeSize",
793
+ "size",
794
+ "severity",
795
+ "value",
796
+ "badgeDisabled"
797
+ ]
798
+ },
799
+ {
800
+ kind: "ngmodule",
801
+ type: SharedModule
802
+ },
803
+ {
804
+ kind: "ngmodule",
805
+ type: MotionModule
806
+ },
807
+ {
808
+ kind: "directive",
809
+ type: i5.MotionDirective,
810
+ selector: "[pMotion]",
811
+ inputs: [
812
+ "pMotion",
813
+ "pMotionName",
814
+ "pMotionType",
815
+ "pMotionSafe",
816
+ "pMotionDisabled",
817
+ "pMotionAppear",
818
+ "pMotionEnter",
819
+ "pMotionLeave",
820
+ "pMotionDuration",
821
+ "pMotionHideStrategy",
822
+ "pMotionEnterFromClass",
823
+ "pMotionEnterToClass",
824
+ "pMotionEnterActiveClass",
825
+ "pMotionLeaveFromClass",
826
+ "pMotionLeaveToClass",
827
+ "pMotionLeaveActiveClass",
828
+ "pMotionOptions"
829
+ ],
830
+ outputs: [
831
+ "pMotionOnBeforeEnter",
832
+ "pMotionOnEnter",
833
+ "pMotionOnAfterEnter",
834
+ "pMotionOnEnterCancelled",
835
+ "pMotionOnBeforeLeave",
836
+ "pMotionOnLeave",
837
+ "pMotionOnAfterLeave",
838
+ "pMotionOnLeaveCancelled"
839
+ ]
840
+ }
841
+ ],
842
+ encapsulation: i0.ViewEncapsulation.None
843
+ });
844
+ };
845
+ i0.ɵɵngDeclareClassMetadata({
846
+ minVersion: "12.0.0",
847
+ version: "22.2.0",
848
+ ngImport: i0,
849
+ type: MegaMenuSub,
850
+ decorators: [{
851
+ type: Component,
852
+ args: [{
853
+ selector: "p-megamenu-sub, ul[pMegaMenuSub]",
854
+ standalone: true,
855
+ imports: [
856
+ NgTemplateOutlet,
857
+ RouterModule,
858
+ Ripple,
859
+ TooltipModule,
860
+ AngleDown,
861
+ AngleRight,
862
+ BadgeModule,
863
+ SharedModule,
864
+ Bind,
865
+ MotionModule
866
+ ],
867
+ template: `
537
868
  @if (submenu()) {
538
869
  <li [class]="cn(cx('submenuLabel'), getItemProp(submenu(), 'class'))" [style]="getItemProp(submenu(), 'style')" role="presentation" [pBind]="ptm('submenuLabel')">
539
870
  {{ getItemLabel(submenu()) }}
@@ -709,748 +1040,995 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
709
1040
  }
710
1041
  }
711
1042
  `,
712
- encapsulation: ViewEncapsulation.None,
713
- providers: [
714
- { provide: MEGAMENU_SUB_INSTANCE, useExisting: MegaMenuSub },
715
- { provide: PARENT_INSTANCE, useExisting: MegaMenuSub }
716
- ],
717
- host: {
718
- '[class]': 'hostClass()',
719
- '[style]': 'sx("rootList")',
720
- '[style.display]': 'hostDisplay()',
721
- '[attr.role]': 'hostRole()',
722
- '[attr.id]': 'id()',
723
- '[attr.aria-orientation]': 'orientation()',
724
- '[tabindex]': 'tabindex()',
725
- '[attr.aria-activedescendant]': 'focusedItemId()',
726
- '[attr.data-pc-section]': 'hostDataPcSection()',
727
- '(keydown)': 'menuKeydown.emit($event)',
728
- '(focus)': 'menuFocus.emit($event)',
729
- '(blur)': 'menuBlur.emit($event)',
730
- '(mousedown)': 'menuMouseDown.emit($event)'
731
- },
732
- hostDirectives: [Bind]
733
- }]
734
- }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], itemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemTemplate", required: false }] }], menuId: [{ type: i0.Input, args: [{ isSignal: true, alias: "menuId", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], focusedItemId: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedItemId", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], activeItem: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeItem", required: false }] }], submenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "submenu", required: false }] }], motionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionOptions", required: false }] }], queryMatches: [{ type: i0.Input, args: [{ isSignal: true, alias: "queryMatches", required: false }] }], mobileActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileActive", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], root: [{ type: i0.Input, args: [{ isSignal: true, alias: "root", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }], itemMouseEnter: [{ type: i0.Output, args: ["itemMouseEnter"] }], menuFocus: [{ type: i0.Output, args: ["menuFocus"] }], menuBlur: [{ type: i0.Output, args: ["menuBlur"] }], menuKeydown: [{ type: i0.Output, args: ["menuKeydown"] }], menuMouseDown: [{ type: i0.Output, args: ["menuMouseDown"] }] } });
735
-
736
- /**
737
- * MegaMenu is navigation component that displays submenus together.
738
- * @group Components
739
- */
740
- class MegaMenu extends BaseComponent {
741
- componentName = 'MegaMenu';
742
- bindDirectiveInstance = inject(Bind, { self: true });
743
- /**
744
- * An array of menuitems.
745
- * @group Props
746
- */
747
- model = input(/* @ts-ignore */
748
- ...(ngDevMode ? [undefined, { debugName: "model" }] : /* istanbul ignore next */ []));
749
- /**
750
- * Defines the orientation.
751
- * @group Props
752
- */
753
- orientation = input('horizontal', /* @ts-ignore */
754
- ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
755
- /**
756
- * Current id state as a string.
757
- * @group Props
758
- */
759
- id = input(/* @ts-ignore */
760
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
761
- /**
762
- * Defines a string value that labels an interactive element.
763
- * @group Props
764
- */
765
- ariaLabel = input(/* @ts-ignore */
766
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
767
- /**
768
- * Identifier of the underlying input element.
769
- * @group Props
770
- */
771
- ariaLabelledBy = input(/* @ts-ignore */
772
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
773
- /**
774
- * The breakpoint to define the maximum width boundary.
775
- * @group Props
776
- */
777
- breakpoint = input('960px', /* @ts-ignore */
778
- ...(ngDevMode ? [{ debugName: "breakpoint" }] : /* istanbul ignore next */ []));
779
- /**
780
- * Height of the viewport, a scrollbar is defined if height of list exceeds this value.
781
- * @group Props
782
- */
783
- scrollHeight = input('20rem', /* @ts-ignore */
784
- ...(ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
785
- /**
786
- * When present, it specifies that the component should be disabled.
787
- * @group Props
788
- */
789
- disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
790
- /**
791
- * Index of the element in tabbing order.
792
- * @group Props
793
- */
794
- tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
795
- /**
796
- * Defines the motion options for the submenu open/close animation.
797
- * @group Props
798
- */
799
- motionOptions = input(/* @ts-ignore */
800
- ...(ngDevMode ? [undefined, { debugName: "motionOptions" }] : /* istanbul ignore next */ []));
801
- computedMotionOptions = computed(() => ({
802
- ...this.ptm('motion'),
803
- ...this.motionOptions()
804
- }), /* @ts-ignore */
805
- ...(ngDevMode ? [{ debugName: "computedMotionOptions" }] : /* istanbul ignore next */ []));
806
- /**
807
- * Defines template option for start.
808
- * @group Templates
809
- */
810
- startTemplate = contentChild('start', { ...(ngDevMode ? { debugName: "startTemplate" } : /* istanbul ignore next */ {}), descendants: false });
811
- /**
812
- * Defines template option for end.
813
- * @group Templates
814
- */
815
- endTemplate = contentChild('end', { ...(ngDevMode ? { debugName: "endTemplate" } : /* istanbul ignore next */ {}), descendants: false });
816
- /**
817
- * Defines template option for menu icon.
818
- * @group Templates
819
- */
820
- menuiconTemplate = contentChild('menuicon', { ...(ngDevMode ? { debugName: "menuiconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
821
- /**
822
- * Defines template option for submenu icon.
823
- * @group Templates
824
- */
825
- submenuiconTemplate = contentChild('submenuicon', { ...(ngDevMode ? { debugName: "submenuiconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
826
- /**
827
- * Custom item template.
828
- * @param {MegaMenuItemTemplateContext} context - item context.
829
- * @see {@link MegaMenuItemTemplateContext}
830
- * @group Templates
831
- */
832
- itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
833
- /**
834
- * Custom menu button template on responsive mode.
835
- * @group Templates
836
- */
837
- buttonTemplate = contentChild('button', { ...(ngDevMode ? { debugName: "buttonTemplate" } : /* istanbul ignore next */ {}), descendants: false });
838
- /**
839
- * Custom menu button icon template on responsive mode.
840
- * @group Templates
841
- */
842
- buttoniconTemplate = contentChild('buttonicon', { ...(ngDevMode ? { debugName: "buttoniconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
843
- menubuttonViewChild = viewChild('menubutton', /* @ts-ignore */
844
- ...(ngDevMode ? [{ debugName: "menubuttonViewChild" }] : /* istanbul ignore next */ []));
845
- rootmenu = viewChild('rootmenu', /* @ts-ignore */
846
- ...(ngDevMode ? [{ debugName: "rootmenu" }] : /* istanbul ignore next */ []));
847
- outsideClickListener;
848
- resizeListener = null;
849
- dirty = false;
850
- focused = signal(false, /* @ts-ignore */
851
- ...(ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []));
852
- activeItem = signal(null, /* @ts-ignore */
853
- ...(ngDevMode ? [{ debugName: "activeItem" }] : /* istanbul ignore next */ []));
854
- focusedItemInfo = signal({ index: -1, level: 0, parentKey: '', item: null }, /* @ts-ignore */
855
- ...(ngDevMode ? [{ debugName: "focusedItemInfo" }] : /* istanbul ignore next */ []));
856
- searchValue = '';
857
- searchTimeout = null;
858
- _componentStyle = inject(MegaMenuStyle);
859
- matchMediaListener = null;
860
- query = null;
861
- queryMatches = signal(false, /* @ts-ignore */
862
- ...(ngDevMode ? [{ debugName: "queryMatches" }] : /* istanbul ignore next */ []));
863
- mobileActive = signal(false, /* @ts-ignore */
864
- ...(ngDevMode ? [{ debugName: "mobileActive" }] : /* istanbul ignore next */ []));
865
- _internalId = uuid('pn_id_');
866
- $id = computed(() => this.id() || this._internalId, /* @ts-ignore */
867
- ...(ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []));
868
- processedItems = computed(() => this.createProcessedItems(this.model() || []), /* @ts-ignore */
869
- ...(ngDevMode ? [{ debugName: "processedItems" }] : /* istanbul ignore next */ []));
870
- visibleItems = computed(() => {
871
- const activeItemValue = this.activeItem();
872
- const processedItem = isNotEmpty(activeItemValue) ? activeItemValue : null;
873
- return processedItem
874
- ? processedItem.items.reduce((items, col) => {
875
- col.forEach((submenu) => {
876
- submenu.items.forEach((a) => {
877
- items.push(a);
878
- });
879
- });
880
- return items;
881
- }, [])
882
- : this.processedItems();
883
- }, /* @ts-ignore */
884
- ...(ngDevMode ? [{ debugName: "visibleItems" }] : /* istanbul ignore next */ []));
885
- focusedItemId = computed(() => {
886
- const focusedItem = this.focusedItemInfo();
887
- return focusedItem?.item && focusedItem.item?.id ? focusedItem.item.id : isNotEmpty(focusedItem.key) ? `${this.$id()}_${focusedItem.key}` : null;
888
- }, /* @ts-ignore */
889
- ...(ngDevMode ? [{ debugName: "focusedItemId" }] : /* istanbul ignore next */ []));
890
- rootMenuTabindex = computed(() => (!this.disabled() ? this.tabindex() : -1), /* @ts-ignore */
891
- ...(ngDevMode ? [{ debugName: "rootMenuTabindex" }] : /* istanbul ignore next */ []));
892
- activeFocusedItemId = computed(() => (this.focused() ? (this.focusedItemId() ?? undefined) : undefined), /* @ts-ignore */
893
- ...(ngDevMode ? [{ debugName: "activeFocusedItemId" }] : /* istanbul ignore next */ []));
894
- get navigationAriaLabel() {
895
- return this.config.translation?.aria?.navigation;
896
- }
897
- constructor() {
898
- super();
899
- effect(() => {
900
- const activeItem = this.activeItem();
901
- if (isNotEmpty(activeItem)) {
902
- this.bindOutsideClickListener();
903
- this.bindResizeListener();
904
- }
905
- else {
906
- this.unbindOutsideClickListener();
907
- this.unbindResizeListener();
908
- }
909
- });
910
- }
911
- onInit() {
912
- this.bindMatchMediaListener();
913
- }
914
- onAfterViewChecked() {
915
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
916
- }
917
- bindMatchMediaListener() {
918
- if (isPlatformBrowser(this.platformId) && !this.matchMediaListener) {
919
- const query = window.matchMedia(`(max-width: ${this.breakpoint()})`);
920
- this.query = query;
921
- this.queryMatches.set(query.matches);
922
- this.matchMediaListener = () => {
923
- this.queryMatches.set(query.matches);
924
- this.mobileActive.set(false);
925
- };
926
- query.addEventListener('change', this.matchMediaListener);
927
- }
928
- }
929
- unbindMatchMediaListener() {
930
- if (this.matchMediaListener && this.query) {
931
- this.query.removeEventListener('change', this.matchMediaListener);
932
- this.matchMediaListener = null;
933
- }
934
- }
935
- createProcessedItems(items, level = 0, parent = {}, parentKey = '', columnIndex) {
936
- const processedItems = [];
937
- if (items) {
938
- items.forEach((item, index) => {
939
- const key = (parentKey !== '' ? parentKey + '_' : '') + (columnIndex !== undefined ? columnIndex + '_' : '') + index;
940
- const newItem = {
941
- item,
942
- index,
943
- level,
944
- key,
945
- parent,
946
- parentKey,
947
- columnIndex: columnIndex !== undefined ? columnIndex : parent.columnIndex !== undefined ? parent.columnIndex : index
948
- };
949
- newItem.items =
950
- level === 0 && item.items && item.items.length > 0
951
- ? item.items.map((_items, _index) => this.createProcessedItems(_items, level + 1, newItem, key, _index))
952
- : this.createProcessedItems((item.items || []), level + 1, newItem, key);
953
- processedItems.push(newItem);
954
- });
955
- }
956
- return processedItems;
957
- }
958
- getItemProp(item, name) {
959
- return item ? resolve(item[name]) : undefined;
960
- }
961
- onItemClick(event) {
962
- this.dirty = true;
963
- const { originalEvent, processedItem } = event;
964
- const grouped = this.isProcessedItemGroup(processedItem);
965
- const root = isEmpty(processedItem.parent);
966
- const selected = this.isSelected(processedItem);
967
- if (selected) {
968
- const { index, key, parentKey, item } = processedItem;
969
- this.activeItem.set(null);
970
- this.focusedItemInfo.set({ index, level: 0, key, parentKey, item });
971
- this.dirty = !root;
972
- if (!this.mobileActive()) {
973
- focus(this.rootmenu()?.el?.nativeElement, { preventScroll: true });
974
- }
975
- }
976
- else {
977
- if (grouped) {
978
- this.onItemChange(event);
979
- }
980
- else {
981
- this.hide(originalEvent);
982
- }
983
- }
984
- }
985
- onItemMouseEnter(event) {
986
- if (!this.mobileActive() && this.dirty) {
987
- this.onItemChange(event);
988
- }
989
- }
990
- menuButtonClick(event) {
991
- this.toggle(event);
992
- }
993
- menuButtonKeydown(event) {
994
- if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {
995
- this.menuButtonClick(event);
996
- }
997
- }
998
- toggle(event) {
999
- if (this.mobileActive()) {
1000
- this.mobileActive.set(false);
1001
- ZIndexUtils.clear(this.rootmenu()?.el.nativeElement);
1002
- this.hide();
1003
- }
1004
- else {
1005
- this.mobileActive.set(true);
1006
- ZIndexUtils.set('menu', this.rootmenu()?.el.nativeElement, this.config.zIndex.menu);
1007
- setTimeout(() => {
1008
- this.show();
1009
- }, 0);
1010
- }
1011
- this.bindOutsideClickListener();
1012
- event.preventDefault();
1013
- }
1014
- show() {
1015
- this.focusedItemInfo.set({ index: this.findFirstFocusedItemIndex(), level: 0, parentKey: '', item: null });
1016
- focus(this.rootmenu()?.el.nativeElement);
1017
- }
1018
- scrollInView(index = -1) {
1019
- const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedItemId();
1020
- let element;
1021
- if (id === null && this.queryMatches()) {
1022
- element = this.menubuttonViewChild()?.nativeElement;
1023
- }
1024
- else {
1025
- element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id="${id}"]`);
1026
- }
1027
- if (element) {
1028
- if (element.scrollIntoView) {
1029
- element.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'smooth' });
1030
- }
1031
- }
1032
- }
1033
- onItemChange(event) {
1034
- const { processedItem } = event;
1035
- if (isEmpty(processedItem))
1036
- return;
1037
- const { index, key, parentKey, items, item } = processedItem;
1038
- const grouped = isNotEmpty(items);
1039
- if (grouped) {
1040
- this.activeItem.set(processedItem);
1041
- }
1042
- this.focusedItemInfo.set({ index, level: 0, key, parentKey, item });
1043
- if (grouped) {
1044
- this.dirty = true;
1045
- }
1046
- if ('isFocus' in event && event.isFocus) {
1047
- focus(this.rootmenu()?.el?.nativeElement);
1048
- }
1049
- }
1050
- hide(_event, isFocus) {
1051
- if (this.mobileActive()) {
1052
- this.mobileActive.set(false);
1053
- setTimeout(() => {
1054
- focus(this.menubuttonViewChild()?.nativeElement);
1055
- this.scrollInView();
1056
- }, 100);
1057
- }
1058
- this.activeItem.set(null);
1059
- this.focusedItemInfo.set({ index: -1, level: 0, key: '', parentKey: '', item: null });
1060
- if (isFocus) {
1061
- focus(this.rootmenu()?.el?.nativeElement);
1062
- }
1063
- this.dirty = false;
1064
- }
1065
- onMenuMouseDown(_event) {
1066
- this.dirty = true;
1067
- }
1068
- onMenuFocus(event) {
1069
- this.focused.set(true);
1070
- const relatedTarget = event.relatedTarget;
1071
- const isFromOutside = !relatedTarget || !this.el.nativeElement.contains(relatedTarget);
1072
- if (isFromOutside && this.focusedItemInfo().index === -1 && isEmpty(this.activeItem()) && !this.dirty) {
1073
- const index = this.findFirstFocusedItemIndex();
1074
- const processedItem = this.findVisibleItem(index);
1075
- if (processedItem) {
1076
- this.focusedItemInfo.set({ index, level: 0, key: processedItem.key, parentKey: processedItem.parentKey, item: processedItem.item });
1077
- }
1078
- }
1079
- }
1080
- onMenuBlur(event) {
1081
- const relatedTarget = event.relatedTarget;
1082
- if (relatedTarget && this.el.nativeElement.contains(relatedTarget)) {
1083
- return;
1084
- }
1085
- setTimeout(() => {
1086
- const activeElement = this.document.activeElement;
1087
- if (activeElement && this.el.nativeElement.contains(activeElement)) {
1088
- return;
1089
- }
1090
- this.focused.set(false);
1091
- this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
1092
- this.searchValue = '';
1093
- this.dirty = false;
1094
- });
1095
- }
1096
- onKeyDown(event) {
1097
- const metaKey = event.metaKey || event.ctrlKey;
1098
- switch (event.code) {
1099
- case 'ArrowDown':
1100
- this.onArrowDownKey(event);
1101
- break;
1102
- case 'ArrowUp':
1103
- this.onArrowUpKey(event);
1104
- break;
1105
- case 'ArrowLeft':
1106
- this.onArrowLeftKey(event);
1107
- break;
1108
- case 'ArrowRight':
1109
- this.onArrowRightKey(event);
1110
- break;
1111
- case 'Home':
1112
- this.onHomeKey(event);
1113
- break;
1114
- case 'End':
1115
- this.onEndKey(event);
1116
- break;
1117
- case 'Space':
1118
- this.onSpaceKey(event);
1119
- break;
1120
- case 'Enter':
1121
- this.onEnterKey(event);
1122
- break;
1123
- case 'Escape':
1124
- this.onEscapeKey(event);
1125
- break;
1126
- case 'Tab':
1127
- this.onTabKey(event);
1128
- break;
1129
- case 'PageDown':
1130
- case 'PageUp':
1131
- case 'Backspace':
1132
- case 'ShiftLeft':
1133
- case 'ShiftRight':
1134
- //NOOP
1135
- break;
1136
- default:
1137
- if (!metaKey && isPrintableCharacter(event.key)) {
1138
- this.searchItems(event, event.key);
1139
- }
1140
- break;
1141
- }
1142
- }
1143
- findFirstFocusedItemIndex() {
1144
- const selectedIndex = this.findSelectedItemIndex();
1145
- return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;
1146
- }
1147
- findFirstItemIndex() {
1148
- return this.visibleItems().findIndex((processedItem) => this.isValidItem(processedItem));
1149
- }
1150
- findSelectedItemIndex() {
1151
- return this.visibleItems().findIndex((processedItem) => this.isValidSelectedItem(processedItem));
1152
- }
1153
- isProcessedItemGroup(processedItem) {
1154
- return processedItem && isNotEmpty(processedItem.items);
1155
- }
1156
- isSelected(processedItem) {
1157
- const activeItemValue = this.activeItem();
1158
- return isNotEmpty(activeItemValue) && activeItemValue ? activeItemValue.key === processedItem.key : false;
1159
- }
1160
- isValidSelectedItem(processedItem) {
1161
- return this.isValidItem(processedItem) && this.isSelected(processedItem);
1162
- }
1163
- isValidItem(processedItem) {
1164
- return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item);
1165
- }
1166
- isItemDisabled(item) {
1167
- return this.getItemProp(item, 'disabled');
1168
- }
1169
- isItemSeparator(item) {
1170
- return this.getItemProp(item, 'separator');
1171
- }
1172
- isItemMatched(processedItem) {
1173
- return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
1174
- }
1175
- isProccessedItemGroup(processedItem) {
1176
- return !!processedItem && isNotEmpty(processedItem.items);
1177
- }
1178
- searchItems(event, char) {
1179
- this.searchValue = (this.searchValue || '') + char;
1180
- const visibleItemsList = this.visibleItems();
1181
- let itemIndex = -1;
1182
- let matched = false;
1183
- if (this.focusedItemInfo().index !== -1) {
1184
- itemIndex = visibleItemsList.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));
1185
- itemIndex = itemIndex === -1 ? visibleItemsList.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;
1186
- }
1187
- else {
1188
- itemIndex = visibleItemsList.findIndex((processedItem) => this.isItemMatched(processedItem));
1189
- }
1190
- if (itemIndex !== -1) {
1191
- matched = true;
1192
- }
1193
- if (itemIndex === -1 && this.focusedItemInfo().index === -1) {
1194
- itemIndex = this.findFirstFocusedItemIndex();
1195
- }
1196
- if (itemIndex !== -1) {
1197
- this.changeFocusedItemInfo(event, itemIndex);
1198
- }
1199
- if (this.searchTimeout) {
1200
- clearTimeout(this.searchTimeout);
1201
- }
1202
- this.searchTimeout = setTimeout(() => {
1203
- this.searchValue = '';
1204
- this.searchTimeout = null;
1205
- }, 500);
1206
- return matched;
1207
- }
1208
- getProccessedItemLabel(processedItem) {
1209
- return processedItem ? this.getItemLabel(processedItem.item) : undefined;
1210
- }
1211
- getItemLabel(item) {
1212
- return this.getItemProp(item, 'label');
1213
- }
1214
- changeFocusedItemInfo(_event, index) {
1215
- const processedItem = this.findVisibleItem(index);
1216
- if (isNotEmpty(processedItem) && processedItem) {
1217
- const { key, parentKey, item } = processedItem;
1218
- this.focusedItemInfo.set({ index, level: 0, key: key ? key : '', parentKey, item });
1219
- }
1220
- this.scrollInView();
1221
- }
1222
- onArrowDownKey(event) {
1223
- const activeItemValue = this.activeItem();
1224
- if (this.orientation() === 'horizontal') {
1225
- if (isNotEmpty(activeItemValue) && activeItemValue.key === this.focusedItemInfo().key) {
1226
- const { key, item } = activeItemValue;
1227
- this.focusedItemInfo.set({ index: -1, level: 0, key: '', parentKey: key, item });
1228
- }
1229
- else {
1230
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1231
- const grouped = this.isProccessedItemGroup(processedItem);
1232
- if (grouped && processedItem) {
1233
- const { parentKey, key, item } = processedItem;
1234
- this.onItemChange({ originalEvent: event, processedItem });
1235
- this.focusedItemInfo.set({ index: -1, level: 0, key: key, parentKey: parentKey, item: item });
1236
- this.searchValue = '';
1237
- }
1238
- }
1239
- }
1240
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1241
- this.changeFocusedItemInfo(event, itemIndex);
1242
- event.preventDefault();
1243
- }
1244
- onArrowRightKey(event) {
1245
- const activeItemValue = this.activeItem();
1246
- const visibleItemsList = this.visibleItems();
1247
- let processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1248
- const grouped = this.isProccessedItemGroup(processedItem);
1249
- if (grouped && processedItem) {
1250
- if (this.orientation() === 'vertical') {
1251
- if (isNotEmpty(activeItemValue) && activeItemValue.key === processedItem.key) {
1252
- this.focusedItemInfo.set({ index: -1, level: 0, key: '', parentKey: activeItemValue.key, item: processedItem.item });
1253
- }
1254
- else {
1255
- processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1256
- const innerGrouped = this.isProccessedItemGroup(processedItem);
1257
- if (innerGrouped && processedItem) {
1258
- this.onItemChange({ originalEvent: event, processedItem });
1259
- this.focusedItemInfo.set({
1260
- index: -1,
1261
- level: 0,
1262
- key: processedItem.key,
1263
- parentKey: processedItem.parentKey,
1264
- item: processedItem.item
1265
- });
1266
- this.searchValue = '';
1267
- }
1268
- }
1269
- }
1270
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1271
- this.changeFocusedItemInfo(event, itemIndex);
1272
- }
1273
- else if (processedItem) {
1274
- const columnIndex = (processedItem.columnIndex || 0) + 1;
1275
- const itemIndex = visibleItemsList.findIndex((item) => item.columnIndex === columnIndex);
1276
- if (itemIndex !== -1) {
1277
- this.changeFocusedItemInfo(event, itemIndex);
1278
- }
1279
- }
1280
- event.preventDefault();
1281
- }
1282
- onArrowUpKey(event) {
1283
- const activeItemValue = this.activeItem();
1284
- if (event.altKey && this.orientation() === 'horizontal') {
1285
- if (this.focusedItemInfo().index !== -1) {
1286
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1287
- const grouped = this.isProccessedItemGroup(processedItem);
1288
- if (!grouped && isNotEmpty(activeItemValue) && processedItem) {
1289
- if (this.focusedItemInfo().index === 0) {
1290
- this.focusedItemInfo.set({
1291
- index: activeItemValue.index,
1292
- level: 0,
1293
- key: activeItemValue.key,
1294
- parentKey: activeItemValue.parentKey,
1295
- item: processedItem.item
1296
- });
1297
- this.activeItem.set(null);
1298
- }
1299
- else {
1300
- this.changeFocusedItemInfo(event, this.findFirstItemIndex());
1301
- }
1302
- }
1303
- }
1304
- event.preventDefault();
1305
- }
1306
- else {
1307
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1308
- this.changeFocusedItemInfo(event, itemIndex);
1309
- event.preventDefault();
1310
- }
1311
- }
1312
- onArrowLeftKey(event) {
1313
- const activeItemValue = this.activeItem();
1314
- const visibleItemsList = this.visibleItems();
1315
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1316
- const grouped = this.isProccessedItemGroup(processedItem);
1317
- if (grouped) {
1318
- if (this.orientation() === 'horizontal') {
1319
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1320
- this.changeFocusedItemInfo(event, itemIndex);
1321
- }
1322
- }
1323
- else if (processedItem) {
1324
- if (this.orientation() === 'vertical' && isNotEmpty(activeItemValue)) {
1325
- if (processedItem.columnIndex === 0) {
1326
- this.focusedItemInfo.set({
1327
- index: activeItemValue.index,
1328
- level: 0,
1329
- key: activeItemValue.key,
1330
- parentKey: activeItemValue.parentKey,
1331
- item: processedItem.item
1332
- });
1333
- this.activeItem.set(null);
1334
- }
1335
- }
1336
- const columnIndex = (processedItem.columnIndex || 0) - 1;
1337
- const itemIndex = visibleItemsList.findIndex((item) => item.columnIndex === columnIndex);
1338
- if (itemIndex !== -1) {
1339
- this.changeFocusedItemInfo(event, itemIndex);
1340
- }
1341
- }
1342
- event.preventDefault();
1343
- }
1344
- onHomeKey(event) {
1345
- this.changeFocusedItemInfo(event, this.findFirstItemIndex());
1346
- event.preventDefault();
1347
- }
1348
- onEndKey(event) {
1349
- this.changeFocusedItemInfo(event, this.findLastItemIndex());
1350
- event.preventDefault();
1351
- }
1352
- onSpaceKey(event) {
1353
- this.onEnterKey(event);
1354
- }
1355
- onEscapeKey(event) {
1356
- const activeItemValue = this.activeItem();
1357
- if (isNotEmpty(activeItemValue) && activeItemValue) {
1358
- this.focusedItemInfo.set({ index: activeItemValue.index, level: 0, key: activeItemValue.key, parentKey: '', item: activeItemValue.item });
1359
- this.activeItem.set(null);
1360
- }
1361
- event.preventDefault();
1362
- }
1363
- onTabKey(event) {
1364
- if (this.focusedItemInfo().index !== -1) {
1365
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1366
- const grouped = this.isProccessedItemGroup(processedItem);
1367
- if (!grouped && processedItem) {
1368
- this.onItemChange({ originalEvent: event, processedItem });
1369
- }
1370
- }
1371
- this.hide();
1372
- }
1373
- onEnterKey(event) {
1374
- if (this.focusedItemInfo().index !== -1) {
1375
- const element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id="${`${this.focusedItemId()}`}"]`);
1376
- const anchorElement = element && (findSingle(element, '[data-pc-section="itemlink"]') || findSingle(element, 'a,button'));
1377
- if (anchorElement) {
1378
- anchorElement.click();
1379
- }
1380
- else {
1381
- if (element) {
1382
- element.click();
1383
- }
1384
- }
1385
- const processedItem = this.visibleItems()[this.focusedItemInfo().index];
1386
- const grouped = this.isProccessedItemGroup(processedItem);
1387
- if (!grouped) {
1388
- this.changeFocusedItemInfo(event, this.findFirstFocusedItemIndex());
1389
- }
1390
- }
1391
- event.preventDefault();
1392
- }
1393
- findVisibleItem(index) {
1394
- const visibleItemsList = this.visibleItems();
1395
- return isNotEmpty(visibleItemsList) ? visibleItemsList[index] : null;
1396
- }
1397
- findLastFocusedItemIndex() {
1398
- const selectedIndex = this.findSelectedItemIndex();
1399
- return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
1400
- }
1401
- findLastItemIndex() {
1402
- return findLastIndex(this.visibleItems(), (processedItem) => this.isValidItem(processedItem));
1403
- }
1404
- findPrevItemIndex(index) {
1405
- const visibleItemsList = this.visibleItems();
1406
- const matchedItemIndex = index > 0 ? findLastIndex(visibleItemsList.slice(0, index), (processedItem) => this.isValidItem(processedItem)) : -1;
1407
- return matchedItemIndex > -1 ? matchedItemIndex : index;
1408
- }
1409
- findNextItemIndex(index) {
1410
- const visibleItemsList = this.visibleItems();
1411
- const matchedItemIndex = index < visibleItemsList.length - 1 ? visibleItemsList.slice(index + 1).findIndex((processedItem) => this.isValidItem(processedItem)) : -1;
1412
- return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1413
- }
1414
- bindResizeListener() {
1415
- if (isPlatformBrowser(this.platformId) && !this.resizeListener) {
1416
- this.resizeListener = (event) => {
1417
- if (!isTouchDevice()) {
1418
- this.hide(event, true);
1419
- }
1420
- this.mobileActive.set(false);
1421
- };
1422
- window.addEventListener('resize', this.resizeListener);
1423
- }
1424
- }
1425
- bindOutsideClickListener() {
1426
- if (!this.outsideClickListener) {
1427
- this.outsideClickListener = this.renderer.listen(this.document, 'click', (event) => {
1428
- const isOutsideContainer = this.el?.nativeElement !== event.target && !this.el?.nativeElement.contains(event.target);
1429
- if (isOutsideContainer) {
1430
- this.hide();
1431
- }
1432
- });
1433
- }
1434
- }
1435
- unbindOutsideClickListener() {
1436
- if (this.outsideClickListener) {
1437
- this.outsideClickListener();
1438
- this.outsideClickListener = null;
1439
- }
1440
- }
1441
- unbindResizeListener() {
1442
- if (this.resizeListener) {
1443
- window.removeEventListener('resize', this.resizeListener);
1444
- this.resizeListener = null;
1445
- }
1446
- }
1447
- onDestroy() {
1448
- this.unbindOutsideClickListener();
1449
- this.unbindResizeListener();
1450
- this.unbindMatchMediaListener();
1451
- }
1452
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
1453
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: MegaMenu, isStandalone: true, selector: "p-megamenu, p-mega-menu", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cx(\"root\")", "id": "$id()" } }, providers: [MegaMenuStyle, { provide: MEGAMENU_INSTANCE, useExisting: MegaMenu }, { provide: PARENT_INSTANCE, useExisting: MegaMenu }], queries: [{ propertyName: "startTemplate", first: true, predicate: ["start"], isSignal: true }, { propertyName: "endTemplate", first: true, predicate: ["end"], isSignal: true }, { propertyName: "menuiconTemplate", first: true, predicate: ["menuicon"], isSignal: true }, { propertyName: "submenuiconTemplate", first: true, predicate: ["submenuicon"], isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "buttonTemplate", first: true, predicate: ["button"], isSignal: true }, { propertyName: "buttoniconTemplate", first: true, predicate: ["buttonicon"], isSignal: true }], viewQueries: [{ propertyName: "menubuttonViewChild", first: true, predicate: ["menubutton"], descendants: true, isSignal: true }, { propertyName: "rootmenu", first: true, predicate: ["rootmenu"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
1043
+ encapsulation: ViewEncapsulation.None,
1044
+ providers: [{
1045
+ provide: MEGAMENU_SUB_INSTANCE,
1046
+ useExisting: MegaMenuSub
1047
+ }, {
1048
+ provide: PARENT_INSTANCE,
1049
+ useExisting: MegaMenuSub
1050
+ }],
1051
+ host: {
1052
+ "[class]": "hostClass()",
1053
+ "[style]": "sx(\"rootList\")",
1054
+ "[style.display]": "hostDisplay()",
1055
+ "[attr.role]": "hostRole()",
1056
+ "[attr.id]": "id()",
1057
+ "[attr.aria-orientation]": "orientation()",
1058
+ "[tabindex]": "tabindex()",
1059
+ "[attr.aria-activedescendant]": "focusedItemId()",
1060
+ "[attr.data-pc-section]": "hostDataPcSection()",
1061
+ "(keydown)": "menuKeydown.emit($event)",
1062
+ "(focus)": "menuFocus.emit($event)",
1063
+ "(blur)": "menuBlur.emit($event)",
1064
+ "(mousedown)": "menuMouseDown.emit($event)"
1065
+ },
1066
+ hostDirectives: [Bind]
1067
+ }]
1068
+ }],
1069
+ propDecorators: {
1070
+ id: [{
1071
+ type: i0.Input,
1072
+ args: [{
1073
+ isSignal: true,
1074
+ alias: "id",
1075
+ required: false
1076
+ }]
1077
+ }],
1078
+ items: [{
1079
+ type: i0.Input,
1080
+ args: [{
1081
+ isSignal: true,
1082
+ alias: "items",
1083
+ required: false
1084
+ }]
1085
+ }],
1086
+ itemTemplate: [{
1087
+ type: i0.Input,
1088
+ args: [{
1089
+ isSignal: true,
1090
+ alias: "itemTemplate",
1091
+ required: false
1092
+ }]
1093
+ }],
1094
+ menuId: [{
1095
+ type: i0.Input,
1096
+ args: [{
1097
+ isSignal: true,
1098
+ alias: "menuId",
1099
+ required: false
1100
+ }]
1101
+ }],
1102
+ ariaLabel: [{
1103
+ type: i0.Input,
1104
+ args: [{
1105
+ isSignal: true,
1106
+ alias: "ariaLabel",
1107
+ required: false
1108
+ }]
1109
+ }],
1110
+ ariaLabelledBy: [{
1111
+ type: i0.Input,
1112
+ args: [{
1113
+ isSignal: true,
1114
+ alias: "ariaLabelledBy",
1115
+ required: false
1116
+ }]
1117
+ }],
1118
+ level: [{
1119
+ type: i0.Input,
1120
+ args: [{
1121
+ isSignal: true,
1122
+ alias: "level",
1123
+ required: false
1124
+ }]
1125
+ }],
1126
+ focusedItemId: [{
1127
+ type: i0.Input,
1128
+ args: [{
1129
+ isSignal: true,
1130
+ alias: "focusedItemId",
1131
+ required: false
1132
+ }]
1133
+ }],
1134
+ disabled: [{
1135
+ type: i0.Input,
1136
+ args: [{
1137
+ isSignal: true,
1138
+ alias: "disabled",
1139
+ required: false
1140
+ }]
1141
+ }],
1142
+ orientation: [{
1143
+ type: i0.Input,
1144
+ args: [{
1145
+ isSignal: true,
1146
+ alias: "orientation",
1147
+ required: false
1148
+ }]
1149
+ }],
1150
+ activeItem: [{
1151
+ type: i0.Input,
1152
+ args: [{
1153
+ isSignal: true,
1154
+ alias: "activeItem",
1155
+ required: false
1156
+ }]
1157
+ }],
1158
+ submenu: [{
1159
+ type: i0.Input,
1160
+ args: [{
1161
+ isSignal: true,
1162
+ alias: "submenu",
1163
+ required: false
1164
+ }]
1165
+ }],
1166
+ motionOptions: [{
1167
+ type: i0.Input,
1168
+ args: [{
1169
+ isSignal: true,
1170
+ alias: "motionOptions",
1171
+ required: false
1172
+ }]
1173
+ }],
1174
+ queryMatches: [{
1175
+ type: i0.Input,
1176
+ args: [{
1177
+ isSignal: true,
1178
+ alias: "queryMatches",
1179
+ required: false
1180
+ }]
1181
+ }],
1182
+ mobileActive: [{
1183
+ type: i0.Input,
1184
+ args: [{
1185
+ isSignal: true,
1186
+ alias: "mobileActive",
1187
+ required: false
1188
+ }]
1189
+ }],
1190
+ scrollHeight: [{
1191
+ type: i0.Input,
1192
+ args: [{
1193
+ isSignal: true,
1194
+ alias: "scrollHeight",
1195
+ required: false
1196
+ }]
1197
+ }],
1198
+ tabindex: [{
1199
+ type: i0.Input,
1200
+ args: [{
1201
+ isSignal: true,
1202
+ alias: "tabindex",
1203
+ required: false
1204
+ }]
1205
+ }],
1206
+ root: [{
1207
+ type: i0.Input,
1208
+ args: [{
1209
+ isSignal: true,
1210
+ alias: "root",
1211
+ required: false
1212
+ }]
1213
+ }],
1214
+ itemClick: [{
1215
+ type: i0.Output,
1216
+ args: ["itemClick"]
1217
+ }],
1218
+ itemMouseEnter: [{
1219
+ type: i0.Output,
1220
+ args: ["itemMouseEnter"]
1221
+ }],
1222
+ menuFocus: [{
1223
+ type: i0.Output,
1224
+ args: ["menuFocus"]
1225
+ }],
1226
+ menuBlur: [{
1227
+ type: i0.Output,
1228
+ args: ["menuBlur"]
1229
+ }],
1230
+ menuKeydown: [{
1231
+ type: i0.Output,
1232
+ args: ["menuKeydown"]
1233
+ }],
1234
+ menuMouseDown: [{
1235
+ type: i0.Output,
1236
+ args: ["menuMouseDown"]
1237
+ }]
1238
+ }
1239
+ });
1240
+ var MegaMenu = class MegaMenu extends BaseComponent {
1241
+ componentName = "MegaMenu";
1242
+ bindDirectiveInstance = inject(Bind, { self: true });
1243
+ model = input(...ngDevMode ? [void 0, { debugName: "model" }] : /* istanbul ignore next */ []);
1244
+ orientation = input("horizontal", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
1245
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
1246
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
1247
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
1248
+ breakpoint = input("960px", ...ngDevMode ? [{ debugName: "breakpoint" }] : /* istanbul ignore next */ []);
1249
+ scrollHeight = input("20rem", ...ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []);
1250
+ disabled = input(false, {
1251
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
1252
+ transform: booleanAttribute
1253
+ });
1254
+ tabindex = input(0, {
1255
+ ...ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {},
1256
+ transform: numberAttribute
1257
+ });
1258
+ motionOptions = input(...ngDevMode ? [void 0, { debugName: "motionOptions" }] : /* istanbul ignore next */ []);
1259
+ computedMotionOptions = computed(() => ({
1260
+ ...this.ptm("motion"),
1261
+ ...this.motionOptions()
1262
+ }), ...ngDevMode ? [{ debugName: "computedMotionOptions" }] : /* istanbul ignore next */ []);
1263
+ startTemplate = contentChild("start", {
1264
+ ...ngDevMode ? { debugName: "startTemplate" } : /* istanbul ignore next */ {},
1265
+ descendants: false
1266
+ });
1267
+ endTemplate = contentChild("end", {
1268
+ ...ngDevMode ? { debugName: "endTemplate" } : /* istanbul ignore next */ {},
1269
+ descendants: false
1270
+ });
1271
+ menuiconTemplate = contentChild("menuicon", {
1272
+ ...ngDevMode ? { debugName: "menuiconTemplate" } : /* istanbul ignore next */ {},
1273
+ descendants: false
1274
+ });
1275
+ submenuiconTemplate = contentChild("submenuicon", {
1276
+ ...ngDevMode ? { debugName: "submenuiconTemplate" } : /* istanbul ignore next */ {},
1277
+ descendants: false
1278
+ });
1279
+ itemTemplate = contentChild("item", {
1280
+ ...ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {},
1281
+ descendants: false
1282
+ });
1283
+ buttonTemplate = contentChild("button", {
1284
+ ...ngDevMode ? { debugName: "buttonTemplate" } : /* istanbul ignore next */ {},
1285
+ descendants: false
1286
+ });
1287
+ buttoniconTemplate = contentChild("buttonicon", {
1288
+ ...ngDevMode ? { debugName: "buttoniconTemplate" } : /* istanbul ignore next */ {},
1289
+ descendants: false
1290
+ });
1291
+ menubuttonViewChild = viewChild("menubutton", ...ngDevMode ? [{ debugName: "menubuttonViewChild" }] : /* istanbul ignore next */ []);
1292
+ rootmenu = viewChild("rootmenu", ...ngDevMode ? [{ debugName: "rootmenu" }] : /* istanbul ignore next */ []);
1293
+ outsideClickListener;
1294
+ resizeListener = null;
1295
+ dirty = false;
1296
+ focused = signal(false, ...ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []);
1297
+ activeItem = signal(null, ...ngDevMode ? [{ debugName: "activeItem" }] : /* istanbul ignore next */ []);
1298
+ focusedItemInfo = signal({
1299
+ index: -1,
1300
+ level: 0,
1301
+ parentKey: "",
1302
+ item: null
1303
+ }, ...ngDevMode ? [{ debugName: "focusedItemInfo" }] : /* istanbul ignore next */ []);
1304
+ searchValue = "";
1305
+ searchTimeout = null;
1306
+ _componentStyle = inject(MegaMenuStyle);
1307
+ matchMediaListener = null;
1308
+ query = null;
1309
+ queryMatches = signal(false, ...ngDevMode ? [{ debugName: "queryMatches" }] : /* istanbul ignore next */ []);
1310
+ mobileActive = signal(false, ...ngDevMode ? [{ debugName: "mobileActive" }] : /* istanbul ignore next */ []);
1311
+ _internalId = uuid("pn_id_");
1312
+ $id = computed(() => this.id() || this._internalId, ...ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []);
1313
+ processedItems = computed(() => this.createProcessedItems(this.model() || []), ...ngDevMode ? [{ debugName: "processedItems" }] : /* istanbul ignore next */ []);
1314
+ visibleItems = computed(() => {
1315
+ const activeItemValue = this.activeItem();
1316
+ const processedItem = isNotEmpty(activeItemValue) ? activeItemValue : null;
1317
+ return processedItem ? processedItem.items.reduce((items, col) => {
1318
+ col.forEach((submenu) => {
1319
+ submenu.items.forEach((a) => {
1320
+ items.push(a);
1321
+ });
1322
+ });
1323
+ return items;
1324
+ }, []) : this.processedItems();
1325
+ }, ...ngDevMode ? [{ debugName: "visibleItems" }] : /* istanbul ignore next */ []);
1326
+ focusedItemId = computed(() => {
1327
+ const focusedItem = this.focusedItemInfo();
1328
+ return focusedItem?.item && focusedItem.item?.id ? focusedItem.item.id : isNotEmpty(focusedItem.key) ? `${this.$id()}_${focusedItem.key}` : null;
1329
+ }, ...ngDevMode ? [{ debugName: "focusedItemId" }] : /* istanbul ignore next */ []);
1330
+ rootMenuTabindex = computed(() => !this.disabled() ? this.tabindex() : -1, ...ngDevMode ? [{ debugName: "rootMenuTabindex" }] : /* istanbul ignore next */ []);
1331
+ activeFocusedItemId = computed(() => this.focused() ? this.focusedItemId() ?? void 0 : void 0, ...ngDevMode ? [{ debugName: "activeFocusedItemId" }] : /* istanbul ignore next */ []);
1332
+ get navigationAriaLabel() {
1333
+ return this.config.translation?.aria?.navigation;
1334
+ }
1335
+ constructor() {
1336
+ super();
1337
+ effect(() => {
1338
+ const activeItem = this.activeItem();
1339
+ if (isNotEmpty(activeItem)) {
1340
+ this.bindOutsideClickListener();
1341
+ this.bindResizeListener();
1342
+ } else {
1343
+ this.unbindOutsideClickListener();
1344
+ this.unbindResizeListener();
1345
+ }
1346
+ });
1347
+ }
1348
+ onInit() {
1349
+ this.bindMatchMediaListener();
1350
+ }
1351
+ onAfterViewChecked() {
1352
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1353
+ }
1354
+ bindMatchMediaListener() {
1355
+ if (isPlatformBrowser(this.platformId) && !this.matchMediaListener) {
1356
+ const query = window.matchMedia(`(max-width: ${this.breakpoint()})`);
1357
+ this.query = query;
1358
+ this.queryMatches.set(query.matches);
1359
+ this.matchMediaListener = () => {
1360
+ this.queryMatches.set(query.matches);
1361
+ this.mobileActive.set(false);
1362
+ };
1363
+ query.addEventListener("change", this.matchMediaListener);
1364
+ }
1365
+ }
1366
+ unbindMatchMediaListener() {
1367
+ if (this.matchMediaListener && this.query) {
1368
+ this.query.removeEventListener("change", this.matchMediaListener);
1369
+ this.matchMediaListener = null;
1370
+ }
1371
+ }
1372
+ createProcessedItems(items, level = 0, parent = {}, parentKey = "", columnIndex) {
1373
+ const processedItems = [];
1374
+ if (items) items.forEach((item, index) => {
1375
+ const key = (parentKey !== "" ? parentKey + "_" : "") + (columnIndex !== void 0 ? columnIndex + "_" : "") + index;
1376
+ const newItem = {
1377
+ item,
1378
+ index,
1379
+ level,
1380
+ key,
1381
+ parent,
1382
+ parentKey,
1383
+ columnIndex: columnIndex !== void 0 ? columnIndex : parent.columnIndex !== void 0 ? parent.columnIndex : index
1384
+ };
1385
+ newItem.items = level === 0 && item.items && item.items.length > 0 ? item.items.map((_items, _index) => this.createProcessedItems(_items, level + 1, newItem, key, _index)) : this.createProcessedItems(item.items || [], level + 1, newItem, key);
1386
+ processedItems.push(newItem);
1387
+ });
1388
+ return processedItems;
1389
+ }
1390
+ getItemProp(item, name) {
1391
+ return item ? resolve(item[name]) : void 0;
1392
+ }
1393
+ onItemClick(event) {
1394
+ this.dirty = true;
1395
+ const { originalEvent, processedItem } = event;
1396
+ const grouped = this.isProcessedItemGroup(processedItem);
1397
+ const root = isEmpty(processedItem.parent);
1398
+ if (this.isSelected(processedItem)) {
1399
+ const { index, key, parentKey, item } = processedItem;
1400
+ this.activeItem.set(null);
1401
+ this.focusedItemInfo.set({
1402
+ index,
1403
+ level: 0,
1404
+ key,
1405
+ parentKey,
1406
+ item
1407
+ });
1408
+ this.dirty = !root;
1409
+ if (!this.mobileActive()) focus(this.rootmenu()?.el?.nativeElement, { preventScroll: true });
1410
+ } else if (grouped) this.onItemChange(event);
1411
+ else this.hide(originalEvent);
1412
+ }
1413
+ onItemMouseEnter(event) {
1414
+ if (!this.mobileActive() && this.dirty) this.onItemChange(event);
1415
+ }
1416
+ menuButtonClick(event) {
1417
+ this.toggle(event);
1418
+ }
1419
+ menuButtonKeydown(event) {
1420
+ if (event.code === "Enter" || event.code === "NumpadEnter" || event.code === "Space") this.menuButtonClick(event);
1421
+ }
1422
+ toggle(event) {
1423
+ if (this.mobileActive()) {
1424
+ this.mobileActive.set(false);
1425
+ ZIndexUtils.clear(this.rootmenu()?.el.nativeElement);
1426
+ this.hide();
1427
+ } else {
1428
+ this.mobileActive.set(true);
1429
+ ZIndexUtils.set("menu", this.rootmenu()?.el.nativeElement, this.config.zIndex.menu);
1430
+ setTimeout(() => {
1431
+ this.show();
1432
+ }, 0);
1433
+ }
1434
+ this.bindOutsideClickListener();
1435
+ event.preventDefault();
1436
+ }
1437
+ show() {
1438
+ this.focusedItemInfo.set({
1439
+ index: this.findFirstFocusedItemIndex(),
1440
+ level: 0,
1441
+ parentKey: "",
1442
+ item: null
1443
+ });
1444
+ focus(this.rootmenu()?.el.nativeElement);
1445
+ }
1446
+ scrollInView(index = -1) {
1447
+ const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedItemId();
1448
+ let element;
1449
+ if (id === null && this.queryMatches()) element = this.menubuttonViewChild()?.nativeElement;
1450
+ else element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id="${id}"]`);
1451
+ if (element) {
1452
+ if (element.scrollIntoView) element.scrollIntoView({
1453
+ block: "nearest",
1454
+ inline: "nearest",
1455
+ behavior: "smooth"
1456
+ });
1457
+ }
1458
+ }
1459
+ onItemChange(event) {
1460
+ const { processedItem } = event;
1461
+ if (isEmpty(processedItem)) return;
1462
+ const { index, key, parentKey, items, item } = processedItem;
1463
+ const grouped = isNotEmpty(items);
1464
+ if (grouped) this.activeItem.set(processedItem);
1465
+ this.focusedItemInfo.set({
1466
+ index,
1467
+ level: 0,
1468
+ key,
1469
+ parentKey,
1470
+ item
1471
+ });
1472
+ if (grouped) this.dirty = true;
1473
+ if ("isFocus" in event && event.isFocus) focus(this.rootmenu()?.el?.nativeElement);
1474
+ }
1475
+ hide(_event, isFocus) {
1476
+ if (this.mobileActive()) {
1477
+ this.mobileActive.set(false);
1478
+ setTimeout(() => {
1479
+ focus(this.menubuttonViewChild()?.nativeElement);
1480
+ this.scrollInView();
1481
+ }, 100);
1482
+ }
1483
+ this.activeItem.set(null);
1484
+ this.focusedItemInfo.set({
1485
+ index: -1,
1486
+ level: 0,
1487
+ key: "",
1488
+ parentKey: "",
1489
+ item: null
1490
+ });
1491
+ if (isFocus) focus(this.rootmenu()?.el?.nativeElement);
1492
+ this.dirty = false;
1493
+ }
1494
+ onMenuMouseDown(_event) {
1495
+ this.dirty = true;
1496
+ }
1497
+ onMenuFocus(event) {
1498
+ this.focused.set(true);
1499
+ const relatedTarget = event.relatedTarget;
1500
+ if ((!relatedTarget || !this.el.nativeElement.contains(relatedTarget)) && this.focusedItemInfo().index === -1 && isEmpty(this.activeItem()) && !this.dirty) {
1501
+ const index = this.findFirstFocusedItemIndex();
1502
+ const processedItem = this.findVisibleItem(index);
1503
+ if (processedItem) this.focusedItemInfo.set({
1504
+ index,
1505
+ level: 0,
1506
+ key: processedItem.key,
1507
+ parentKey: processedItem.parentKey,
1508
+ item: processedItem.item
1509
+ });
1510
+ }
1511
+ }
1512
+ onMenuBlur(event) {
1513
+ const relatedTarget = event.relatedTarget;
1514
+ if (relatedTarget && this.el.nativeElement.contains(relatedTarget)) return;
1515
+ setTimeout(() => {
1516
+ const activeElement = this.document.activeElement;
1517
+ if (activeElement && this.el.nativeElement.contains(activeElement)) return;
1518
+ this.focused.set(false);
1519
+ this.focusedItemInfo.set({
1520
+ index: -1,
1521
+ level: 0,
1522
+ parentKey: "",
1523
+ item: null
1524
+ });
1525
+ this.searchValue = "";
1526
+ this.dirty = false;
1527
+ });
1528
+ }
1529
+ onKeyDown(event) {
1530
+ const metaKey = event.metaKey || event.ctrlKey;
1531
+ switch (event.code) {
1532
+ case "ArrowDown":
1533
+ this.onArrowDownKey(event);
1534
+ break;
1535
+ case "ArrowUp":
1536
+ this.onArrowUpKey(event);
1537
+ break;
1538
+ case "ArrowLeft":
1539
+ this.onArrowLeftKey(event);
1540
+ break;
1541
+ case "ArrowRight":
1542
+ this.onArrowRightKey(event);
1543
+ break;
1544
+ case "Home":
1545
+ this.onHomeKey(event);
1546
+ break;
1547
+ case "End":
1548
+ this.onEndKey(event);
1549
+ break;
1550
+ case "Space":
1551
+ this.onSpaceKey(event);
1552
+ break;
1553
+ case "Enter":
1554
+ this.onEnterKey(event);
1555
+ break;
1556
+ case "Escape":
1557
+ this.onEscapeKey(event);
1558
+ break;
1559
+ case "Tab":
1560
+ this.onTabKey(event);
1561
+ break;
1562
+ case "PageDown":
1563
+ case "PageUp":
1564
+ case "Backspace":
1565
+ case "ShiftLeft":
1566
+ case "ShiftRight": break;
1567
+ default: if (!metaKey && isPrintableCharacter(event.key)) this.searchItems(event, event.key);
1568
+ }
1569
+ }
1570
+ findFirstFocusedItemIndex() {
1571
+ const selectedIndex = this.findSelectedItemIndex();
1572
+ return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;
1573
+ }
1574
+ findFirstItemIndex() {
1575
+ return this.visibleItems().findIndex((processedItem) => this.isValidItem(processedItem));
1576
+ }
1577
+ findSelectedItemIndex() {
1578
+ return this.visibleItems().findIndex((processedItem) => this.isValidSelectedItem(processedItem));
1579
+ }
1580
+ isProcessedItemGroup(processedItem) {
1581
+ return processedItem && isNotEmpty(processedItem.items);
1582
+ }
1583
+ isSelected(processedItem) {
1584
+ const activeItemValue = this.activeItem();
1585
+ return isNotEmpty(activeItemValue) && activeItemValue ? activeItemValue.key === processedItem.key : false;
1586
+ }
1587
+ isValidSelectedItem(processedItem) {
1588
+ return this.isValidItem(processedItem) && this.isSelected(processedItem);
1589
+ }
1590
+ isValidItem(processedItem) {
1591
+ return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item);
1592
+ }
1593
+ isItemDisabled(item) {
1594
+ return this.getItemProp(item, "disabled");
1595
+ }
1596
+ isItemSeparator(item) {
1597
+ return this.getItemProp(item, "separator");
1598
+ }
1599
+ isItemMatched(processedItem) {
1600
+ return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
1601
+ }
1602
+ isProccessedItemGroup(processedItem) {
1603
+ return !!processedItem && isNotEmpty(processedItem.items);
1604
+ }
1605
+ searchItems(event, char) {
1606
+ this.searchValue = (this.searchValue || "") + char;
1607
+ const visibleItemsList = this.visibleItems();
1608
+ let itemIndex = -1;
1609
+ let matched = false;
1610
+ if (this.focusedItemInfo().index !== -1) {
1611
+ itemIndex = visibleItemsList.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));
1612
+ itemIndex = itemIndex === -1 ? visibleItemsList.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;
1613
+ } else itemIndex = visibleItemsList.findIndex((processedItem) => this.isItemMatched(processedItem));
1614
+ if (itemIndex !== -1) matched = true;
1615
+ if (itemIndex === -1 && this.focusedItemInfo().index === -1) itemIndex = this.findFirstFocusedItemIndex();
1616
+ if (itemIndex !== -1) this.changeFocusedItemInfo(event, itemIndex);
1617
+ if (this.searchTimeout) clearTimeout(this.searchTimeout);
1618
+ this.searchTimeout = setTimeout(() => {
1619
+ this.searchValue = "";
1620
+ this.searchTimeout = null;
1621
+ }, 500);
1622
+ return matched;
1623
+ }
1624
+ getProccessedItemLabel(processedItem) {
1625
+ return processedItem ? this.getItemLabel(processedItem.item) : void 0;
1626
+ }
1627
+ getItemLabel(item) {
1628
+ return this.getItemProp(item, "label");
1629
+ }
1630
+ changeFocusedItemInfo(_event, index) {
1631
+ const processedItem = this.findVisibleItem(index);
1632
+ if (isNotEmpty(processedItem) && processedItem) {
1633
+ const { key, parentKey, item } = processedItem;
1634
+ this.focusedItemInfo.set({
1635
+ index,
1636
+ level: 0,
1637
+ key: key ? key : "",
1638
+ parentKey,
1639
+ item
1640
+ });
1641
+ }
1642
+ this.scrollInView();
1643
+ }
1644
+ onArrowDownKey(event) {
1645
+ const activeItemValue = this.activeItem();
1646
+ if (this.orientation() === "horizontal") {
1647
+ if (isNotEmpty(activeItemValue) && activeItemValue.key === this.focusedItemInfo().key) {
1648
+ const { key, item } = activeItemValue;
1649
+ this.focusedItemInfo.set({
1650
+ index: -1,
1651
+ level: 0,
1652
+ key: "",
1653
+ parentKey: key,
1654
+ item
1655
+ });
1656
+ } else {
1657
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1658
+ if (this.isProccessedItemGroup(processedItem) && processedItem) {
1659
+ const { parentKey, key, item } = processedItem;
1660
+ this.onItemChange({
1661
+ originalEvent: event,
1662
+ processedItem
1663
+ });
1664
+ this.focusedItemInfo.set({
1665
+ index: -1,
1666
+ level: 0,
1667
+ key,
1668
+ parentKey,
1669
+ item
1670
+ });
1671
+ this.searchValue = "";
1672
+ }
1673
+ }
1674
+ }
1675
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1676
+ this.changeFocusedItemInfo(event, itemIndex);
1677
+ event.preventDefault();
1678
+ }
1679
+ onArrowRightKey(event) {
1680
+ const activeItemValue = this.activeItem();
1681
+ const visibleItemsList = this.visibleItems();
1682
+ let processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1683
+ if (this.isProccessedItemGroup(processedItem) && processedItem) {
1684
+ if (this.orientation() === "vertical") {
1685
+ if (isNotEmpty(activeItemValue) && activeItemValue.key === processedItem.key) this.focusedItemInfo.set({
1686
+ index: -1,
1687
+ level: 0,
1688
+ key: "",
1689
+ parentKey: activeItemValue.key,
1690
+ item: processedItem.item
1691
+ });
1692
+ else {
1693
+ processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1694
+ if (this.isProccessedItemGroup(processedItem) && processedItem) {
1695
+ this.onItemChange({
1696
+ originalEvent: event,
1697
+ processedItem
1698
+ });
1699
+ this.focusedItemInfo.set({
1700
+ index: -1,
1701
+ level: 0,
1702
+ key: processedItem.key,
1703
+ parentKey: processedItem.parentKey,
1704
+ item: processedItem.item
1705
+ });
1706
+ this.searchValue = "";
1707
+ }
1708
+ }
1709
+ }
1710
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1711
+ this.changeFocusedItemInfo(event, itemIndex);
1712
+ } else if (processedItem) {
1713
+ const columnIndex = (processedItem.columnIndex || 0) + 1;
1714
+ const itemIndex = visibleItemsList.findIndex((item) => item.columnIndex === columnIndex);
1715
+ if (itemIndex !== -1) this.changeFocusedItemInfo(event, itemIndex);
1716
+ }
1717
+ event.preventDefault();
1718
+ }
1719
+ onArrowUpKey(event) {
1720
+ const activeItemValue = this.activeItem();
1721
+ if (event.altKey && this.orientation() === "horizontal") {
1722
+ if (this.focusedItemInfo().index !== -1) {
1723
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1724
+ if (!this.isProccessedItemGroup(processedItem) && isNotEmpty(activeItemValue) && processedItem) {
1725
+ if (this.focusedItemInfo().index === 0) {
1726
+ this.focusedItemInfo.set({
1727
+ index: activeItemValue.index,
1728
+ level: 0,
1729
+ key: activeItemValue.key,
1730
+ parentKey: activeItemValue.parentKey,
1731
+ item: processedItem.item
1732
+ });
1733
+ this.activeItem.set(null);
1734
+ } else this.changeFocusedItemInfo(event, this.findFirstItemIndex());
1735
+ }
1736
+ }
1737
+ event.preventDefault();
1738
+ } else {
1739
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1740
+ this.changeFocusedItemInfo(event, itemIndex);
1741
+ event.preventDefault();
1742
+ }
1743
+ }
1744
+ onArrowLeftKey(event) {
1745
+ const activeItemValue = this.activeItem();
1746
+ const visibleItemsList = this.visibleItems();
1747
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1748
+ if (this.isProccessedItemGroup(processedItem)) {
1749
+ if (this.orientation() === "horizontal") {
1750
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1751
+ this.changeFocusedItemInfo(event, itemIndex);
1752
+ }
1753
+ } else if (processedItem) {
1754
+ if (this.orientation() === "vertical" && isNotEmpty(activeItemValue)) {
1755
+ if (processedItem.columnIndex === 0) {
1756
+ this.focusedItemInfo.set({
1757
+ index: activeItemValue.index,
1758
+ level: 0,
1759
+ key: activeItemValue.key,
1760
+ parentKey: activeItemValue.parentKey,
1761
+ item: processedItem.item
1762
+ });
1763
+ this.activeItem.set(null);
1764
+ }
1765
+ }
1766
+ const columnIndex = (processedItem.columnIndex || 0) - 1;
1767
+ const itemIndex = visibleItemsList.findIndex((item) => item.columnIndex === columnIndex);
1768
+ if (itemIndex !== -1) this.changeFocusedItemInfo(event, itemIndex);
1769
+ }
1770
+ event.preventDefault();
1771
+ }
1772
+ onHomeKey(event) {
1773
+ this.changeFocusedItemInfo(event, this.findFirstItemIndex());
1774
+ event.preventDefault();
1775
+ }
1776
+ onEndKey(event) {
1777
+ this.changeFocusedItemInfo(event, this.findLastItemIndex());
1778
+ event.preventDefault();
1779
+ }
1780
+ onSpaceKey(event) {
1781
+ this.onEnterKey(event);
1782
+ }
1783
+ onEscapeKey(event) {
1784
+ const activeItemValue = this.activeItem();
1785
+ if (isNotEmpty(activeItemValue) && activeItemValue) {
1786
+ this.focusedItemInfo.set({
1787
+ index: activeItemValue.index,
1788
+ level: 0,
1789
+ key: activeItemValue.key,
1790
+ parentKey: "",
1791
+ item: activeItemValue.item
1792
+ });
1793
+ this.activeItem.set(null);
1794
+ }
1795
+ event.preventDefault();
1796
+ }
1797
+ onTabKey(event) {
1798
+ if (this.focusedItemInfo().index !== -1) {
1799
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1800
+ if (!this.isProccessedItemGroup(processedItem) && processedItem) this.onItemChange({
1801
+ originalEvent: event,
1802
+ processedItem
1803
+ });
1804
+ }
1805
+ this.hide();
1806
+ }
1807
+ onEnterKey(event) {
1808
+ if (this.focusedItemInfo().index !== -1) {
1809
+ const element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id="${`${this.focusedItemId()}`}"]`);
1810
+ const anchorElement = element && (findSingle(element, "[data-pc-section=\"itemlink\"]") || findSingle(element, "a,button"));
1811
+ if (anchorElement) anchorElement.click();
1812
+ else if (element) element.click();
1813
+ const processedItem = this.visibleItems()[this.focusedItemInfo().index];
1814
+ if (!this.isProccessedItemGroup(processedItem)) this.changeFocusedItemInfo(event, this.findFirstFocusedItemIndex());
1815
+ }
1816
+ event.preventDefault();
1817
+ }
1818
+ findVisibleItem(index) {
1819
+ const visibleItemsList = this.visibleItems();
1820
+ return isNotEmpty(visibleItemsList) ? visibleItemsList[index] : null;
1821
+ }
1822
+ findLastFocusedItemIndex() {
1823
+ const selectedIndex = this.findSelectedItemIndex();
1824
+ return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
1825
+ }
1826
+ findLastItemIndex() {
1827
+ return findLastIndex(this.visibleItems(), (processedItem) => this.isValidItem(processedItem));
1828
+ }
1829
+ findPrevItemIndex(index) {
1830
+ const visibleItemsList = this.visibleItems();
1831
+ const matchedItemIndex = index > 0 ? findLastIndex(visibleItemsList.slice(0, index), (processedItem) => this.isValidItem(processedItem)) : -1;
1832
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
1833
+ }
1834
+ findNextItemIndex(index) {
1835
+ const visibleItemsList = this.visibleItems();
1836
+ const matchedItemIndex = index < visibleItemsList.length - 1 ? visibleItemsList.slice(index + 1).findIndex((processedItem) => this.isValidItem(processedItem)) : -1;
1837
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1838
+ }
1839
+ bindResizeListener() {
1840
+ if (isPlatformBrowser(this.platformId) && !this.resizeListener) {
1841
+ this.resizeListener = (event) => {
1842
+ if (!isTouchDevice()) this.hide(event, true);
1843
+ this.mobileActive.set(false);
1844
+ };
1845
+ window.addEventListener("resize", this.resizeListener);
1846
+ }
1847
+ }
1848
+ bindOutsideClickListener() {
1849
+ if (!this.outsideClickListener) this.outsideClickListener = this.renderer.listen(this.document, "click", (event) => {
1850
+ if (this.el?.nativeElement !== event.target && !this.el?.nativeElement.contains(event.target)) this.hide();
1851
+ });
1852
+ }
1853
+ unbindOutsideClickListener() {
1854
+ if (this.outsideClickListener) {
1855
+ this.outsideClickListener();
1856
+ this.outsideClickListener = null;
1857
+ }
1858
+ }
1859
+ unbindResizeListener() {
1860
+ if (this.resizeListener) {
1861
+ window.removeEventListener("resize", this.resizeListener);
1862
+ this.resizeListener = null;
1863
+ }
1864
+ }
1865
+ onDestroy() {
1866
+ this.unbindOutsideClickListener();
1867
+ this.unbindResizeListener();
1868
+ this.unbindMatchMediaListener();
1869
+ }
1870
+ static ɵfac = i0.ɵɵngDeclareFactory({
1871
+ minVersion: "12.0.0",
1872
+ version: "22.2.0",
1873
+ ngImport: i0,
1874
+ type: MegaMenu,
1875
+ deps: [],
1876
+ target: i0.ɵɵFactoryTarget.Component
1877
+ });
1878
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1879
+ minVersion: "17.0.0",
1880
+ version: "22.2.0",
1881
+ type: MegaMenu,
1882
+ isStandalone: true,
1883
+ selector: "p-megamenu, p-mega-menu",
1884
+ inputs: {
1885
+ model: {
1886
+ classPropertyName: "model",
1887
+ publicName: "model",
1888
+ isSignal: true,
1889
+ isRequired: false,
1890
+ transformFunction: null
1891
+ },
1892
+ orientation: {
1893
+ classPropertyName: "orientation",
1894
+ publicName: "orientation",
1895
+ isSignal: true,
1896
+ isRequired: false,
1897
+ transformFunction: null
1898
+ },
1899
+ id: {
1900
+ classPropertyName: "id",
1901
+ publicName: "id",
1902
+ isSignal: true,
1903
+ isRequired: false,
1904
+ transformFunction: null
1905
+ },
1906
+ ariaLabel: {
1907
+ classPropertyName: "ariaLabel",
1908
+ publicName: "ariaLabel",
1909
+ isSignal: true,
1910
+ isRequired: false,
1911
+ transformFunction: null
1912
+ },
1913
+ ariaLabelledBy: {
1914
+ classPropertyName: "ariaLabelledBy",
1915
+ publicName: "ariaLabelledBy",
1916
+ isSignal: true,
1917
+ isRequired: false,
1918
+ transformFunction: null
1919
+ },
1920
+ breakpoint: {
1921
+ classPropertyName: "breakpoint",
1922
+ publicName: "breakpoint",
1923
+ isSignal: true,
1924
+ isRequired: false,
1925
+ transformFunction: null
1926
+ },
1927
+ scrollHeight: {
1928
+ classPropertyName: "scrollHeight",
1929
+ publicName: "scrollHeight",
1930
+ isSignal: true,
1931
+ isRequired: false,
1932
+ transformFunction: null
1933
+ },
1934
+ disabled: {
1935
+ classPropertyName: "disabled",
1936
+ publicName: "disabled",
1937
+ isSignal: true,
1938
+ isRequired: false,
1939
+ transformFunction: null
1940
+ },
1941
+ tabindex: {
1942
+ classPropertyName: "tabindex",
1943
+ publicName: "tabindex",
1944
+ isSignal: true,
1945
+ isRequired: false,
1946
+ transformFunction: null
1947
+ },
1948
+ motionOptions: {
1949
+ classPropertyName: "motionOptions",
1950
+ publicName: "motionOptions",
1951
+ isSignal: true,
1952
+ isRequired: false,
1953
+ transformFunction: null
1954
+ }
1955
+ },
1956
+ host: { properties: {
1957
+ "class": "cx(\"root\")",
1958
+ "id": "$id()"
1959
+ } },
1960
+ providers: [
1961
+ MegaMenuStyle,
1962
+ {
1963
+ provide: MEGAMENU_INSTANCE,
1964
+ useExisting: MegaMenu
1965
+ },
1966
+ {
1967
+ provide: PARENT_INSTANCE,
1968
+ useExisting: MegaMenu
1969
+ }
1970
+ ],
1971
+ queries: [
1972
+ {
1973
+ propertyName: "startTemplate",
1974
+ first: true,
1975
+ predicate: ["start"],
1976
+ isSignal: true
1977
+ },
1978
+ {
1979
+ propertyName: "endTemplate",
1980
+ first: true,
1981
+ predicate: ["end"],
1982
+ isSignal: true
1983
+ },
1984
+ {
1985
+ propertyName: "menuiconTemplate",
1986
+ first: true,
1987
+ predicate: ["menuicon"],
1988
+ isSignal: true
1989
+ },
1990
+ {
1991
+ propertyName: "submenuiconTemplate",
1992
+ first: true,
1993
+ predicate: ["submenuicon"],
1994
+ isSignal: true
1995
+ },
1996
+ {
1997
+ propertyName: "itemTemplate",
1998
+ first: true,
1999
+ predicate: ["item"],
2000
+ isSignal: true
2001
+ },
2002
+ {
2003
+ propertyName: "buttonTemplate",
2004
+ first: true,
2005
+ predicate: ["button"],
2006
+ isSignal: true
2007
+ },
2008
+ {
2009
+ propertyName: "buttoniconTemplate",
2010
+ first: true,
2011
+ predicate: ["buttonicon"],
2012
+ isSignal: true
2013
+ }
2014
+ ],
2015
+ viewQueries: [{
2016
+ propertyName: "menubuttonViewChild",
2017
+ first: true,
2018
+ predicate: ["menubutton"],
2019
+ descendants: true,
2020
+ isSignal: true
2021
+ }, {
2022
+ propertyName: "rootmenu",
2023
+ first: true,
2024
+ predicate: ["rootmenu"],
2025
+ descendants: true,
2026
+ isSignal: true
2027
+ }],
2028
+ usesInheritance: true,
2029
+ hostDirectives: [{ directive: i1.Bind }],
2030
+ ngImport: i0,
2031
+ template: `
1454
2032
  @if (startTemplate()) {
1455
2033
  <div [class]="cx('start')" [pBind]="ptm('start')">
1456
2034
  <ng-container *ngTemplateOutlet="startTemplate()" />
@@ -1516,15 +2094,129 @@ class MegaMenu extends BaseComponent {
1516
2094
  <ng-container *ngTemplateOutlet="endTemplate()" />
1517
2095
  </div>
1518
2096
  }
1519
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MegaMenuSub, selector: "p-megamenu-sub, ul[pMegaMenuSub]", inputs: ["id", "items", "itemTemplate", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "disabled", "orientation", "activeItem", "submenu", "motionOptions", "queryMatches", "mobileActive", "scrollHeight", "tabindex", "root"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown", "menuMouseDown"] }, { kind: "component", type: Bars, selector: "svg[data-p-icon=\"bars\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "ngmodule", type: MotionModule }, { kind: "directive", type: i5.MotionDirective, selector: "[pMotion]", inputs: ["pMotion", "pMotionName", "pMotionType", "pMotionSafe", "pMotionDisabled", "pMotionAppear", "pMotionEnter", "pMotionLeave", "pMotionDuration", "pMotionHideStrategy", "pMotionEnterFromClass", "pMotionEnterToClass", "pMotionEnterActiveClass", "pMotionLeaveFromClass", "pMotionLeaveToClass", "pMotionLeaveActiveClass", "pMotionOptions"], outputs: ["pMotionOnBeforeEnter", "pMotionOnEnter", "pMotionOnAfterEnter", "pMotionOnEnterCancelled", "pMotionOnBeforeLeave", "pMotionOnLeave", "pMotionOnAfterLeave", "pMotionOnLeaveCancelled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1520
- }
1521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenu, decorators: [{
1522
- type: Component,
1523
- args: [{
1524
- selector: 'p-megamenu, p-mega-menu',
1525
- standalone: true,
1526
- imports: [NgTemplateOutlet, MegaMenuSub, Bars, SharedModule, Bind, MotionModule],
1527
- template: `
2097
+ `,
2098
+ isInline: true,
2099
+ dependencies: [
2100
+ {
2101
+ kind: "directive",
2102
+ type: NgTemplateOutlet,
2103
+ selector: "[ngTemplateOutlet]",
2104
+ inputs: [
2105
+ "ngTemplateOutletContext",
2106
+ "ngTemplateOutlet",
2107
+ "ngTemplateOutletInjector"
2108
+ ]
2109
+ },
2110
+ {
2111
+ kind: "component",
2112
+ type: MegaMenuSub,
2113
+ selector: "p-megamenu-sub, ul[pMegaMenuSub]",
2114
+ inputs: [
2115
+ "id",
2116
+ "items",
2117
+ "itemTemplate",
2118
+ "menuId",
2119
+ "ariaLabel",
2120
+ "ariaLabelledBy",
2121
+ "level",
2122
+ "focusedItemId",
2123
+ "disabled",
2124
+ "orientation",
2125
+ "activeItem",
2126
+ "submenu",
2127
+ "motionOptions",
2128
+ "queryMatches",
2129
+ "mobileActive",
2130
+ "scrollHeight",
2131
+ "tabindex",
2132
+ "root"
2133
+ ],
2134
+ outputs: [
2135
+ "itemClick",
2136
+ "itemMouseEnter",
2137
+ "menuFocus",
2138
+ "menuBlur",
2139
+ "menuKeydown",
2140
+ "menuMouseDown"
2141
+ ]
2142
+ },
2143
+ {
2144
+ kind: "component",
2145
+ type: Bars,
2146
+ selector: "svg[data-p-icon=\"bars\"]"
2147
+ },
2148
+ {
2149
+ kind: "ngmodule",
2150
+ type: SharedModule
2151
+ },
2152
+ {
2153
+ kind: "directive",
2154
+ type: Bind,
2155
+ selector: "[pBind]",
2156
+ inputs: ["pBind"]
2157
+ },
2158
+ {
2159
+ kind: "ngmodule",
2160
+ type: MotionModule
2161
+ },
2162
+ {
2163
+ kind: "directive",
2164
+ type: i5.MotionDirective,
2165
+ selector: "[pMotion]",
2166
+ inputs: [
2167
+ "pMotion",
2168
+ "pMotionName",
2169
+ "pMotionType",
2170
+ "pMotionSafe",
2171
+ "pMotionDisabled",
2172
+ "pMotionAppear",
2173
+ "pMotionEnter",
2174
+ "pMotionLeave",
2175
+ "pMotionDuration",
2176
+ "pMotionHideStrategy",
2177
+ "pMotionEnterFromClass",
2178
+ "pMotionEnterToClass",
2179
+ "pMotionEnterActiveClass",
2180
+ "pMotionLeaveFromClass",
2181
+ "pMotionLeaveToClass",
2182
+ "pMotionLeaveActiveClass",
2183
+ "pMotionOptions"
2184
+ ],
2185
+ outputs: [
2186
+ "pMotionOnBeforeEnter",
2187
+ "pMotionOnEnter",
2188
+ "pMotionOnAfterEnter",
2189
+ "pMotionOnEnterCancelled",
2190
+ "pMotionOnBeforeLeave",
2191
+ "pMotionOnLeave",
2192
+ "pMotionOnAfterLeave",
2193
+ "pMotionOnLeaveCancelled"
2194
+ ]
2195
+ }
2196
+ ],
2197
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2198
+ encapsulation: i0.ViewEncapsulation.None
2199
+ });
2200
+ };
2201
+ i0.ɵɵngDeclareClassMetadata({
2202
+ minVersion: "12.0.0",
2203
+ version: "22.2.0",
2204
+ ngImport: i0,
2205
+ type: MegaMenu,
2206
+ decorators: [{
2207
+ type: Component,
2208
+ args: [{
2209
+ selector: "p-megamenu, p-mega-menu",
2210
+ standalone: true,
2211
+ imports: [
2212
+ NgTemplateOutlet,
2213
+ MegaMenuSub,
2214
+ Bars,
2215
+ SharedModule,
2216
+ Bind,
2217
+ MotionModule
2218
+ ],
2219
+ template: `
1528
2220
  @if (startTemplate()) {
1529
2221
  <div [class]="cx('start')" [pBind]="ptm('start')">
1530
2222
  <ng-container *ngTemplateOutlet="startTemplate()" />
@@ -1591,32 +2283,209 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
1591
2283
  </div>
1592
2284
  }
1593
2285
  `,
1594
- changeDetection: ChangeDetectionStrategy.OnPush,
1595
- encapsulation: ViewEncapsulation.None,
1596
- providers: [MegaMenuStyle, { provide: MEGAMENU_INSTANCE, useExisting: MegaMenu }, { provide: PARENT_INSTANCE, useExisting: MegaMenu }],
1597
- host: {
1598
- '[class]': 'cx("root")',
1599
- '[id]': '$id()'
1600
- },
1601
- hostDirectives: [Bind]
1602
- }]
1603
- }], ctorParameters: () => [], propDecorators: { model: [{ type: i0.Input, args: [{ isSignal: true, alias: "model", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], breakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "breakpoint", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], motionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionOptions", required: false }] }], startTemplate: [{ type: i0.ContentChild, args: ['start', { ...{ descendants: false }, isSignal: true }] }], endTemplate: [{ type: i0.ContentChild, args: ['end', { ...{ descendants: false }, isSignal: true }] }], menuiconTemplate: [{ type: i0.ContentChild, args: ['menuicon', { ...{ descendants: false }, isSignal: true }] }], submenuiconTemplate: [{ type: i0.ContentChild, args: ['submenuicon', { ...{ descendants: false }, isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], buttonTemplate: [{ type: i0.ContentChild, args: ['button', { ...{ descendants: false }, isSignal: true }] }], buttoniconTemplate: [{ type: i0.ContentChild, args: ['buttonicon', { ...{ descendants: false }, isSignal: true }] }], menubuttonViewChild: [{ type: i0.ViewChild, args: ['menubutton', { isSignal: true }] }], rootmenu: [{ type: i0.ViewChild, args: ['rootmenu', { isSignal: true }] }] } });
1604
- class MegaMenuModule {
1605
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1606
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: MegaMenuModule, imports: [MegaMenu, SharedModule], exports: [MegaMenu, SharedModule] });
1607
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenuModule, imports: [MegaMenu, SharedModule, SharedModule] });
1608
- }
1609
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: MegaMenuModule, decorators: [{
1610
- type: NgModule,
1611
- args: [{
1612
- imports: [MegaMenu, SharedModule],
1613
- exports: [MegaMenu, SharedModule]
1614
- }]
1615
- }] });
1616
-
1617
- /**
1618
- * Generated bundle index. Do not edit.
1619
- */
1620
-
2286
+ changeDetection: ChangeDetectionStrategy.OnPush,
2287
+ encapsulation: ViewEncapsulation.None,
2288
+ providers: [
2289
+ MegaMenuStyle,
2290
+ {
2291
+ provide: MEGAMENU_INSTANCE,
2292
+ useExisting: MegaMenu
2293
+ },
2294
+ {
2295
+ provide: PARENT_INSTANCE,
2296
+ useExisting: MegaMenu
2297
+ }
2298
+ ],
2299
+ host: {
2300
+ "[class]": "cx(\"root\")",
2301
+ "[id]": "$id()"
2302
+ },
2303
+ hostDirectives: [Bind]
2304
+ }]
2305
+ }],
2306
+ ctorParameters: () => [],
2307
+ propDecorators: {
2308
+ model: [{
2309
+ type: i0.Input,
2310
+ args: [{
2311
+ isSignal: true,
2312
+ alias: "model",
2313
+ required: false
2314
+ }]
2315
+ }],
2316
+ orientation: [{
2317
+ type: i0.Input,
2318
+ args: [{
2319
+ isSignal: true,
2320
+ alias: "orientation",
2321
+ required: false
2322
+ }]
2323
+ }],
2324
+ id: [{
2325
+ type: i0.Input,
2326
+ args: [{
2327
+ isSignal: true,
2328
+ alias: "id",
2329
+ required: false
2330
+ }]
2331
+ }],
2332
+ ariaLabel: [{
2333
+ type: i0.Input,
2334
+ args: [{
2335
+ isSignal: true,
2336
+ alias: "ariaLabel",
2337
+ required: false
2338
+ }]
2339
+ }],
2340
+ ariaLabelledBy: [{
2341
+ type: i0.Input,
2342
+ args: [{
2343
+ isSignal: true,
2344
+ alias: "ariaLabelledBy",
2345
+ required: false
2346
+ }]
2347
+ }],
2348
+ breakpoint: [{
2349
+ type: i0.Input,
2350
+ args: [{
2351
+ isSignal: true,
2352
+ alias: "breakpoint",
2353
+ required: false
2354
+ }]
2355
+ }],
2356
+ scrollHeight: [{
2357
+ type: i0.Input,
2358
+ args: [{
2359
+ isSignal: true,
2360
+ alias: "scrollHeight",
2361
+ required: false
2362
+ }]
2363
+ }],
2364
+ disabled: [{
2365
+ type: i0.Input,
2366
+ args: [{
2367
+ isSignal: true,
2368
+ alias: "disabled",
2369
+ required: false
2370
+ }]
2371
+ }],
2372
+ tabindex: [{
2373
+ type: i0.Input,
2374
+ args: [{
2375
+ isSignal: true,
2376
+ alias: "tabindex",
2377
+ required: false
2378
+ }]
2379
+ }],
2380
+ motionOptions: [{
2381
+ type: i0.Input,
2382
+ args: [{
2383
+ isSignal: true,
2384
+ alias: "motionOptions",
2385
+ required: false
2386
+ }]
2387
+ }],
2388
+ startTemplate: [{
2389
+ type: i0.ContentChild,
2390
+ args: ["start", {
2391
+ descendants: false,
2392
+ isSignal: true
2393
+ }]
2394
+ }],
2395
+ endTemplate: [{
2396
+ type: i0.ContentChild,
2397
+ args: ["end", {
2398
+ descendants: false,
2399
+ isSignal: true
2400
+ }]
2401
+ }],
2402
+ menuiconTemplate: [{
2403
+ type: i0.ContentChild,
2404
+ args: ["menuicon", {
2405
+ descendants: false,
2406
+ isSignal: true
2407
+ }]
2408
+ }],
2409
+ submenuiconTemplate: [{
2410
+ type: i0.ContentChild,
2411
+ args: ["submenuicon", {
2412
+ descendants: false,
2413
+ isSignal: true
2414
+ }]
2415
+ }],
2416
+ itemTemplate: [{
2417
+ type: i0.ContentChild,
2418
+ args: ["item", {
2419
+ descendants: false,
2420
+ isSignal: true
2421
+ }]
2422
+ }],
2423
+ buttonTemplate: [{
2424
+ type: i0.ContentChild,
2425
+ args: ["button", {
2426
+ descendants: false,
2427
+ isSignal: true
2428
+ }]
2429
+ }],
2430
+ buttoniconTemplate: [{
2431
+ type: i0.ContentChild,
2432
+ args: ["buttonicon", {
2433
+ descendants: false,
2434
+ isSignal: true
2435
+ }]
2436
+ }],
2437
+ menubuttonViewChild: [{
2438
+ type: i0.ViewChild,
2439
+ args: ["menubutton", { isSignal: true }]
2440
+ }],
2441
+ rootmenu: [{
2442
+ type: i0.ViewChild,
2443
+ args: ["rootmenu", { isSignal: true }]
2444
+ }]
2445
+ }
2446
+ });
2447
+ var MegaMenuModule = class MegaMenuModule {
2448
+ static ɵfac = i0.ɵɵngDeclareFactory({
2449
+ minVersion: "12.0.0",
2450
+ version: "22.2.0",
2451
+ ngImport: i0,
2452
+ type: MegaMenuModule,
2453
+ deps: [],
2454
+ target: i0.ɵɵFactoryTarget.NgModule
2455
+ });
2456
+ static ɵmod = i0.ɵɵngDeclareNgModule({
2457
+ minVersion: "14.0.0",
2458
+ version: "22.2.0",
2459
+ ngImport: i0,
2460
+ type: MegaMenuModule,
2461
+ imports: [MegaMenu, SharedModule],
2462
+ exports: [MegaMenu, SharedModule]
2463
+ });
2464
+ static ɵinj = i0.ɵɵngDeclareInjector({
2465
+ minVersion: "12.0.0",
2466
+ version: "22.2.0",
2467
+ ngImport: i0,
2468
+ type: MegaMenuModule,
2469
+ imports: [
2470
+ MegaMenu,
2471
+ SharedModule,
2472
+ SharedModule
2473
+ ]
2474
+ });
2475
+ };
2476
+ i0.ɵɵngDeclareClassMetadata({
2477
+ minVersion: "12.0.0",
2478
+ version: "22.2.0",
2479
+ ngImport: i0,
2480
+ type: MegaMenuModule,
2481
+ decorators: [{
2482
+ type: NgModule,
2483
+ args: [{
2484
+ imports: [MegaMenu, SharedModule],
2485
+ exports: [MegaMenu, SharedModule]
2486
+ }]
2487
+ }]
2488
+ });
1621
2489
  export { MegaMenu, MegaMenuClasses, MegaMenuModule, MegaMenuStyle };
1622
- //# sourceMappingURL=primeng-megamenu.mjs.map
2490
+
2491
+ //# sourceMappingURL=primeng-megamenu.mjs.map