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