primeng 21.0.0-beta.1 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/LICENSE.md +1 -1
  2. package/fesm2022/primeng-accordion.mjs +22 -22
  3. package/fesm2022/primeng-accordion.mjs.map +1 -1
  4. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  5. package/fesm2022/primeng-api.mjs +31 -31
  6. package/fesm2022/primeng-autocomplete.mjs +43 -41
  7. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  8. package/fesm2022/primeng-autofocus.mjs +7 -7
  9. package/fesm2022/primeng-avatar.mjs +26 -10
  10. package/fesm2022/primeng-avatar.mjs.map +1 -1
  11. package/fesm2022/primeng-avatargroup.mjs +10 -10
  12. package/fesm2022/primeng-badge.mjs +18 -18
  13. package/fesm2022/primeng-badge.mjs.map +1 -1
  14. package/fesm2022/primeng-base.mjs +3 -3
  15. package/fesm2022/primeng-basecomponent.mjs +6 -6
  16. package/fesm2022/primeng-baseeditableholder.mjs +6 -6
  17. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  18. package/fesm2022/primeng-baseinput.mjs +4 -4
  19. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  20. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  21. package/fesm2022/primeng-bind.mjs +7 -7
  22. package/fesm2022/primeng-blockui.mjs +14 -14
  23. package/fesm2022/primeng-blockui.mjs.map +1 -1
  24. package/fesm2022/primeng-breadcrumb.mjs +95 -54
  25. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  26. package/fesm2022/primeng-button.mjs +43 -43
  27. package/fesm2022/primeng-button.mjs.map +1 -1
  28. package/fesm2022/primeng-buttongroup.mjs +10 -10
  29. package/fesm2022/primeng-card.mjs +30 -10
  30. package/fesm2022/primeng-card.mjs.map +1 -1
  31. package/fesm2022/primeng-carousel.mjs +15 -15
  32. package/fesm2022/primeng-carousel.mjs.map +1 -1
  33. package/fesm2022/primeng-cascadeselect.mjs +23 -23
  34. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  35. package/fesm2022/primeng-chart.mjs +10 -10
  36. package/fesm2022/primeng-checkbox.mjs +11 -11
  37. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  38. package/fesm2022/primeng-chip.mjs +14 -10
  39. package/fesm2022/primeng-chip.mjs.map +1 -1
  40. package/fesm2022/primeng-classnames.mjs +8 -8
  41. package/fesm2022/primeng-classnames.mjs.map +1 -1
  42. package/fesm2022/primeng-colorpicker.mjs +10 -10
  43. package/fesm2022/primeng-config.mjs +6 -6
  44. package/fesm2022/primeng-confirmdialog.mjs +42 -10
  45. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  46. package/fesm2022/primeng-confirmpopup.mjs +40 -12
  47. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  48. package/fesm2022/primeng-contextmenu.mjs +96 -45
  49. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  50. package/fesm2022/primeng-dataview.mjs +17 -11
  51. package/fesm2022/primeng-dataview.mjs.map +1 -1
  52. package/fesm2022/primeng-datepicker.mjs +20 -13
  53. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  54. package/fesm2022/primeng-dialog.mjs +54 -22
  55. package/fesm2022/primeng-dialog.mjs.map +1 -1
  56. package/fesm2022/primeng-divider.mjs +10 -10
  57. package/fesm2022/primeng-dock.mjs +44 -20
  58. package/fesm2022/primeng-dock.mjs.map +1 -1
  59. package/fesm2022/primeng-dragdrop.mjs +10 -10
  60. package/fesm2022/primeng-drawer.mjs +18 -18
  61. package/fesm2022/primeng-drawer.mjs.map +1 -1
  62. package/fesm2022/primeng-dynamicdialog.mjs +16 -16
  63. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  64. package/fesm2022/primeng-editor.mjs +10 -10
  65. package/fesm2022/primeng-fieldset.mjs +14 -14
  66. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  67. package/fesm2022/primeng-fileupload.mjs +25 -22
  68. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  69. package/fesm2022/primeng-floatlabel.mjs +10 -10
  70. package/fesm2022/primeng-fluid.mjs +10 -10
  71. package/fesm2022/primeng-focustrap.mjs +7 -7
  72. package/fesm2022/primeng-galleria.mjs +79 -32
  73. package/fesm2022/primeng-galleria.mjs.map +1 -1
  74. package/fesm2022/primeng-iconfield.mjs +10 -10
  75. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  76. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  77. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  78. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  79. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  80. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  81. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  82. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  83. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  84. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  85. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  86. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  87. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  88. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  89. package/fesm2022/primeng-icons-ban.mjs +3 -3
  90. package/fesm2022/primeng-icons-bars.mjs +3 -3
  91. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  92. package/fesm2022/primeng-icons-blank.mjs +3 -3
  93. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  94. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  95. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  96. package/fesm2022/primeng-icons-check.mjs +3 -3
  97. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  98. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  99. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  100. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  101. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  102. package/fesm2022/primeng-icons-eye.mjs +3 -3
  103. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  104. package/fesm2022/primeng-icons-filter.mjs +3 -3
  105. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  106. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  107. package/fesm2022/primeng-icons-home.mjs +3 -3
  108. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  109. package/fesm2022/primeng-icons-minus.mjs +3 -3
  110. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  111. package/fesm2022/primeng-icons-plus.mjs +3 -3
  112. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  113. package/fesm2022/primeng-icons-search.mjs +3 -3
  114. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  115. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  116. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  117. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  118. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  119. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  120. package/fesm2022/primeng-icons-star.mjs +3 -3
  121. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  122. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  123. package/fesm2022/primeng-icons-times.mjs +3 -3
  124. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  125. package/fesm2022/primeng-icons-trash.mjs +3 -3
  126. package/fesm2022/primeng-icons-undo.mjs +3 -3
  127. package/fesm2022/primeng-icons-upload.mjs +3 -3
  128. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  129. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  130. package/fesm2022/primeng-iftalabel.mjs +10 -10
  131. package/fesm2022/primeng-image.mjs +22 -22
  132. package/fesm2022/primeng-image.mjs.map +1 -1
  133. package/fesm2022/primeng-imagecompare.mjs +12 -12
  134. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  135. package/fesm2022/primeng-inplace.mjs +19 -19
  136. package/fesm2022/primeng-inplace.mjs.map +1 -1
  137. package/fesm2022/primeng-inputgroup.mjs +10 -10
  138. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  139. package/fesm2022/primeng-inputicon.mjs +10 -10
  140. package/fesm2022/primeng-inputmask.mjs +13 -12
  141. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  142. package/fesm2022/primeng-inputnumber.mjs +14 -14
  143. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  144. package/fesm2022/primeng-inputotp.mjs +18 -14
  145. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  146. package/fesm2022/primeng-inputtext.mjs +16 -16
  147. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  148. package/fesm2022/primeng-keyfilter.mjs +7 -7
  149. package/fesm2022/primeng-knob.mjs +25 -25
  150. package/fesm2022/primeng-knob.mjs.map +1 -1
  151. package/fesm2022/primeng-listbox.mjs +31 -14
  152. package/fesm2022/primeng-listbox.mjs.map +1 -1
  153. package/fesm2022/primeng-megamenu.mjs +124 -46
  154. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  155. package/fesm2022/primeng-menu.mjs +38 -30
  156. package/fesm2022/primeng-menu.mjs.map +1 -1
  157. package/fesm2022/primeng-menubar.mjs +129 -50
  158. package/fesm2022/primeng-menubar.mjs.map +1 -1
  159. package/fesm2022/primeng-message.mjs +12 -10
  160. package/fesm2022/primeng-message.mjs.map +1 -1
  161. package/fesm2022/primeng-metergroup.mjs +43 -13
  162. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  163. package/fesm2022/primeng-motion.mjs +31 -31
  164. package/fesm2022/primeng-motion.mjs.map +1 -1
  165. package/fesm2022/primeng-multiselect.mjs +83 -15
  166. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  167. package/fesm2022/primeng-orderlist.mjs +15 -11
  168. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  169. package/fesm2022/primeng-organizationchart.mjs +13 -13
  170. package/fesm2022/primeng-overlay.mjs +13 -11
  171. package/fesm2022/primeng-overlay.mjs.map +1 -1
  172. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  173. package/fesm2022/primeng-paginator.mjs +18 -14
  174. package/fesm2022/primeng-paginator.mjs.map +1 -1
  175. package/fesm2022/primeng-panel.mjs +11 -11
  176. package/fesm2022/primeng-panel.mjs.map +1 -1
  177. package/fesm2022/primeng-panelmenu.mjs +160 -48
  178. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  179. package/fesm2022/primeng-password.mjs +50 -22
  180. package/fesm2022/primeng-password.mjs.map +1 -1
  181. package/fesm2022/primeng-picklist.mjs +25 -11
  182. package/fesm2022/primeng-picklist.mjs.map +1 -1
  183. package/fesm2022/primeng-popover.mjs +13 -11
  184. package/fesm2022/primeng-popover.mjs.map +1 -1
  185. package/fesm2022/primeng-progressbar.mjs +13 -11
  186. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  187. package/fesm2022/primeng-progressspinner.mjs +10 -10
  188. package/fesm2022/primeng-radiobutton.mjs +13 -13
  189. package/fesm2022/primeng-rating.mjs +14 -10
  190. package/fesm2022/primeng-rating.mjs.map +1 -1
  191. package/fesm2022/primeng-ripple.mjs +10 -10
  192. package/fesm2022/primeng-scroller.mjs +19 -12
  193. package/fesm2022/primeng-scroller.mjs.map +1 -1
  194. package/fesm2022/primeng-scrollpanel.mjs +11 -11
  195. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  196. package/fesm2022/primeng-scrolltop.mjs +13 -11
  197. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  198. package/fesm2022/primeng-select.mjs +19 -17
  199. package/fesm2022/primeng-select.mjs.map +1 -1
  200. package/fesm2022/primeng-selectbutton.mjs +14 -12
  201. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  202. package/fesm2022/primeng-skeleton.mjs +10 -10
  203. package/fesm2022/primeng-slider.mjs +10 -10
  204. package/fesm2022/primeng-speeddial.mjs +21 -22
  205. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  206. package/fesm2022/primeng-splitbutton.mjs +13 -13
  207. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  208. package/fesm2022/primeng-splitter.mjs +10 -10
  209. package/fesm2022/primeng-stepper.mjs +45 -49
  210. package/fesm2022/primeng-stepper.mjs.map +1 -1
  211. package/fesm2022/primeng-steps.mjs +11 -11
  212. package/fesm2022/primeng-styleclass.mjs +7 -7
  213. package/fesm2022/primeng-table.mjs +153 -113
  214. package/fesm2022/primeng-table.mjs.map +1 -1
  215. package/fesm2022/primeng-tabs.mjs +114 -113
  216. package/fesm2022/primeng-tabs.mjs.map +1 -1
  217. package/fesm2022/primeng-tag.mjs +14 -10
  218. package/fesm2022/primeng-tag.mjs.map +1 -1
  219. package/fesm2022/primeng-terminal.mjs +13 -13
  220. package/fesm2022/primeng-textarea.mjs +15 -15
  221. package/fesm2022/primeng-textarea.mjs.map +1 -1
  222. package/fesm2022/primeng-tieredmenu.mjs +482 -361
  223. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  224. package/fesm2022/primeng-timeline.mjs +16 -10
  225. package/fesm2022/primeng-timeline.mjs.map +1 -1
  226. package/fesm2022/primeng-toast.mjs +18 -14
  227. package/fesm2022/primeng-toast.mjs.map +1 -1
  228. package/fesm2022/primeng-togglebutton.mjs +15 -11
  229. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  230. package/fesm2022/primeng-toggleswitch.mjs +12 -16
  231. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  232. package/fesm2022/primeng-toolbar.mjs +13 -13
  233. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  234. package/fesm2022/primeng-tooltip.mjs +14 -14
  235. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  236. package/fesm2022/primeng-tree.mjs +138 -89
  237. package/fesm2022/primeng-tree.mjs.map +1 -1
  238. package/fesm2022/primeng-treeselect.mjs +32 -13
  239. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  240. package/fesm2022/primeng-treetable.mjs +91 -86
  241. package/fesm2022/primeng-treetable.mjs.map +1 -1
  242. package/fesm2022/primeng-usestyle.mjs +3 -3
  243. package/package.json +2 -2
  244. package/types/primeng-api.d.ts +20 -0
  245. package/types/primeng-autocomplete.d.ts +24 -24
  246. package/types/primeng-avatar.d.ts +17 -1
  247. package/types/primeng-badge.d.ts +3 -3
  248. package/types/primeng-breadcrumb.d.ts +7 -7
  249. package/types/primeng-button.d.ts +20 -20
  250. package/types/primeng-card.d.ts +30 -10
  251. package/types/primeng-carousel.d.ts +16 -16
  252. package/types/primeng-cascadeselect.d.ts +25 -25
  253. package/types/primeng-checkbox.d.ts +4 -4
  254. package/types/primeng-chip.d.ts +6 -2
  255. package/types/primeng-confirmdialog.d.ts +44 -15
  256. package/types/primeng-confirmpopup.d.ts +25 -9
  257. package/types/primeng-contextmenu.d.ts +10 -10
  258. package/types/primeng-dataview.d.ts +19 -13
  259. package/types/primeng-datepicker.d.ts +33 -27
  260. package/types/primeng-dialog.d.ts +56 -28
  261. package/types/primeng-dock.d.ts +8 -3
  262. package/types/primeng-drawer.d.ts +17 -17
  263. package/types/primeng-dynamicdialog.d.ts +8 -7
  264. package/types/primeng-fieldset.d.ts +12 -12
  265. package/types/primeng-fileupload.d.ts +31 -28
  266. package/types/primeng-galleria.d.ts +70 -25
  267. package/types/primeng-image.d.ts +25 -25
  268. package/types/primeng-imagecompare.d.ts +6 -6
  269. package/types/primeng-inplace.d.ts +10 -10
  270. package/types/primeng-inputmask.d.ts +3 -3
  271. package/types/primeng-inputnumber.d.ts +9 -9
  272. package/types/primeng-inputotp.d.ts +6 -43
  273. package/types/primeng-inputtext.d.ts +3 -3
  274. package/types/primeng-knob.d.ts +1 -1
  275. package/types/primeng-listbox.d.ts +39 -23
  276. package/types/primeng-megamenu.d.ts +23 -19
  277. package/types/primeng-menu.d.ts +17 -13
  278. package/types/primeng-menubar.d.ts +19 -16
  279. package/types/primeng-message.d.ts +9 -7
  280. package/types/primeng-metergroup.d.ts +42 -12
  281. package/types/primeng-multiselect.d.ts +106 -38
  282. package/types/primeng-orderlist.d.ts +25 -21
  283. package/types/primeng-overlay.d.ts +8 -5
  284. package/types/primeng-paginator.d.ts +25 -25
  285. package/types/primeng-panel.d.ts +11 -11
  286. package/types/primeng-panelmenu.d.ts +11 -9
  287. package/types/primeng-password.d.ts +43 -15
  288. package/types/primeng-picklist.d.ts +53 -63
  289. package/types/primeng-popover.d.ts +5 -3
  290. package/types/primeng-progressbar.d.ts +6 -4
  291. package/types/primeng-rating.d.ts +10 -6
  292. package/types/primeng-scroller.d.ts +17 -9
  293. package/types/primeng-scrollpanel.d.ts +3 -3
  294. package/types/primeng-scrolltop.d.ts +6 -4
  295. package/types/primeng-select.d.ts +33 -33
  296. package/types/primeng-selectbutton.d.ts +6 -4
  297. package/types/primeng-speeddial.d.ts +15 -15
  298. package/types/primeng-splitbutton.d.ts +6 -6
  299. package/types/primeng-table.d.ts +1 -0
  300. package/types/primeng-tabs.d.ts +57 -56
  301. package/types/primeng-tag.d.ts +6 -2
  302. package/types/primeng-textarea.d.ts +2 -2
  303. package/types/primeng-tieredmenu.d.ts +41 -29
  304. package/types/primeng-timeline.d.ts +13 -7
  305. package/types/primeng-toast.d.ts +12 -8
  306. package/types/primeng-togglebutton.d.ts +9 -5
  307. package/types/primeng-toggleswitch.d.ts +5 -18
  308. package/types/primeng-toolbar.d.ts +9 -9
  309. package/types/primeng-tooltip.d.ts +3 -3
  310. package/types/primeng-tree.d.ts +75 -53
  311. package/types/primeng-treeselect.d.ts +41 -26
  312. package/types/primeng-treetable.d.ts +53 -53
  313. package/types/primeng-types-autocomplete.d.ts +76 -63
  314. package/types/primeng-types-breadcrumb.d.ts +27 -1
  315. package/types/primeng-types-button.d.ts +37 -18
  316. package/types/primeng-types-card.d.ts +10 -10
  317. package/types/primeng-types-carousel.d.ts +22 -19
  318. package/types/primeng-types-cascadeselect.d.ts +44 -27
  319. package/types/primeng-types-checkbox.d.ts +22 -20
  320. package/types/primeng-types-chip.d.ts +4 -4
  321. package/types/primeng-types-confirmdialog.d.ts +46 -20
  322. package/types/primeng-types-confirmpopup.d.ts +31 -13
  323. package/types/primeng-types-contextmenu.d.ts +26 -18
  324. package/types/primeng-types-dataview.d.ts +63 -44
  325. package/types/primeng-types-datepicker.d.ts +106 -54
  326. package/types/primeng-types-dialog.d.ts +10 -6
  327. package/types/primeng-types-dock.d.ts +13 -10
  328. package/types/primeng-types-drawer.d.ts +7 -7
  329. package/types/primeng-types-fieldset.d.ts +6 -6
  330. package/types/primeng-types-fileupload.d.ts +95 -311
  331. package/types/primeng-types-galleria.d.ts +67 -55
  332. package/types/primeng-types-image.d.ts +40 -94
  333. package/types/primeng-types-imagecompare.d.ts +16 -1
  334. package/types/primeng-types-inplace.d.ts +18 -7
  335. package/types/primeng-types-inputmask.d.ts +1 -1
  336. package/types/primeng-types-inputnumber.d.ts +3 -3
  337. package/types/primeng-types-inputotp.d.ts +71 -1
  338. package/types/primeng-types-listbox.d.ts +123 -44
  339. package/types/primeng-types-megamenu.d.ts +30 -14
  340. package/types/primeng-types-menu.d.ts +30 -22
  341. package/types/primeng-types-menubar.d.ts +23 -20
  342. package/types/primeng-types-message.d.ts +31 -1
  343. package/types/primeng-types-metergroup.d.ts +78 -103
  344. package/types/primeng-types-multiselect.d.ts +135 -90
  345. package/types/primeng-types-orderlist.d.ts +44 -35
  346. package/types/primeng-types-overlay.d.ts +29 -2
  347. package/types/primeng-types-paginator.d.ts +42 -6
  348. package/types/primeng-types-panel.d.ts +29 -1
  349. package/types/primeng-types-panelmenu.d.ts +18 -10
  350. package/types/primeng-types-password.d.ts +19 -7
  351. package/types/primeng-types-picklist.d.ts +69 -74
  352. package/types/primeng-types-popover.d.ts +14 -12
  353. package/types/primeng-types-progressbar.d.ts +13 -9
  354. package/types/primeng-types-rating.d.ts +19 -7
  355. package/types/primeng-types-scroller.d.ts +60 -50
  356. package/types/primeng-types-scrollpanel.d.ts +1 -1
  357. package/types/primeng-types-scrolltop.d.ts +14 -10
  358. package/types/primeng-types-select.d.ts +80 -49
  359. package/types/primeng-types-selectbutton.d.ts +17 -2
  360. package/types/primeng-types-speeddial.d.ts +35 -17
  361. package/types/primeng-types-splitbutton.d.ts +4 -4
  362. package/types/primeng-types-splitter.d.ts +2 -2
  363. package/types/primeng-types-tag.d.ts +2 -2
  364. package/types/primeng-types-tieredmenu.d.ts +20 -17
  365. package/types/primeng-types-timeline.d.ts +19 -29
  366. package/types/primeng-types-toast.d.ts +34 -22
  367. package/types/primeng-types-togglebutton.d.ts +25 -24
  368. package/types/primeng-types-toggleswitch.d.ts +23 -1
  369. package/types/primeng-types-toolbar.d.ts +6 -6
  370. package/types/primeng-types-tree.d.ts +75 -41
  371. package/types/primeng-types-treeselect.d.ts +80 -53
  372. package/types/primeng-types-treetable.d.ts +145 -156
@@ -1,6 +1,6 @@
1
1
  export * from 'primeng/types/tieredmenu';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, InjectionToken, input, EventEmitter, inject, forwardRef, numberAttribute, booleanAttribute, ViewChild, Output, Input, Inject, ViewEncapsulation, Component, computed, signal, effect, ContentChildren, ContentChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
+ import { Injectable, InjectionToken, input, EventEmitter, signal, inject, forwardRef, numberAttribute, booleanAttribute, ViewChild, Output, Input, Inject, ViewEncapsulation, Component, computed, effect, ContentChildren, ContentChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
4
4
  import { style } from '@primeuix/styles/tieredmenu';
5
5
  import { BaseStyle } from 'primeng/base';
6
6
  import * as i2 from '@angular/common';
@@ -8,14 +8,14 @@ import { isPlatformBrowser, CommonModule } from '@angular/common';
8
8
  import * as i3 from '@angular/router';
9
9
  import { RouterModule } from '@angular/router';
10
10
  import { nestedPosition, resolve, isNotEmpty, uuid, isEmpty, focus, isTouchDevice, isPrintableCharacter, findSingle, addStyle, relativePosition, absolutePosition, getOuterWidth, appendChild, findLastIndex } from '@primeuix/utils';
11
- import * as i5 from 'primeng/api';
11
+ import * as i6 from 'primeng/api';
12
12
  import { SharedModule, PrimeTemplate } from 'primeng/api';
13
13
  import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
14
14
  import * as i1 from 'primeng/bind';
15
15
  import { Bind, BindModule } from 'primeng/bind';
16
16
  import { ConnectedOverlayScrollHandler } from 'primeng/dom';
17
17
  import { AngleRightIcon } from 'primeng/icons';
18
- import * as i6 from 'primeng/motion';
18
+ import * as i5 from 'primeng/motion';
19
19
  import { MotionModule } from 'primeng/motion';
20
20
  import { Ripple } from 'primeng/ripple';
21
21
  import * as i4 from 'primeng/tooltip';
@@ -30,7 +30,7 @@ const classes = {
30
30
  'p-tieredmenu p-component',
31
31
  {
32
32
  'p-tieredmenu-overlay': instance.popup,
33
- 'p-tieredmenu-mobile': instance.queryMatches
33
+ 'p-tieredmenu-mobile': instance.queryMatches()
34
34
  }
35
35
  ],
36
36
  start: 'p-tieredmenu-start',
@@ -58,10 +58,10 @@ class TieredMenuStyle extends BaseStyle {
58
58
  style = style;
59
59
  classes = classes;
60
60
  inlineStyles = inlineStyles;
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
62
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenuStyle });
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
62
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenuStyle });
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenuStyle, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenuStyle, decorators: [{
65
65
  type: Injectable
66
66
  }] });
67
67
  /**
@@ -131,6 +131,15 @@ class TieredMenuSub extends BaseComponent {
131
131
  el;
132
132
  renderer;
133
133
  tieredMenu;
134
+ get visible() {
135
+ return this._visible;
136
+ }
137
+ set visible(value) {
138
+ this._visible = value;
139
+ if (this._visible || this.root) {
140
+ this.render.set(true);
141
+ }
142
+ }
134
143
  items;
135
144
  itemTemplate;
136
145
  root = false;
@@ -144,6 +153,7 @@ class TieredMenuSub extends BaseComponent {
144
153
  level = 0;
145
154
  focusedItemId;
146
155
  activeItemPath = input([], ...(ngDevMode ? [{ debugName: "activeItemPath" }] : []));
156
+ motionOptions;
147
157
  tabindex = 0;
148
158
  inlineStyles;
149
159
  itemClick = new EventEmitter();
@@ -152,10 +162,12 @@ class TieredMenuSub extends BaseComponent {
152
162
  menuBlur = new EventEmitter();
153
163
  menuKeydown = new EventEmitter();
154
164
  sublistViewChild;
165
+ render = signal(false, ...(ngDevMode ? [{ debugName: "render" }] : []));
155
166
  _componentStyle = inject(TieredMenuStyle);
156
167
  bindDirectiveInstance = inject(Bind, { self: true });
157
168
  $pcTieredMenu = inject(TIEREDMENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
158
169
  $pcTieredMenuSub = inject(TIEREDMENUSUB_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
170
+ _visible = false;
159
171
  onAfterViewChecked() {
160
172
  this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
161
173
  }
@@ -165,9 +177,8 @@ class TieredMenuSub extends BaseComponent {
165
177
  this.renderer = renderer;
166
178
  this.tieredMenu = tieredMenu;
167
179
  }
168
- positionSubmenu() {
180
+ positionSubmenu(sublist) {
169
181
  if (isPlatformBrowser(this.tieredMenu.platformId)) {
170
- const sublist = this.sublistViewChild && this.sublistViewChild.nativeElement;
171
182
  if (sublist) {
172
183
  nestedPosition(sublist, this.level);
173
184
  }
@@ -202,7 +213,6 @@ class TieredMenuSub extends BaseComponent {
202
213
  }
203
214
  isItemActive(processedItem) {
204
215
  if (this.activeItemPath()) {
205
- this.positionSubmenu();
206
216
  return this.activeItemPath().some((path) => path.key === processedItem.key);
207
217
  }
208
218
  return false;
@@ -241,334 +251,408 @@ class TieredMenuSub extends BaseComponent {
241
251
  this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
242
252
  this.itemClick.emit({ originalEvent: event, processedItem, isFocus: true });
243
253
  }
244
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenuSub, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: forwardRef(() => TieredMenu) }], target: i0.ɵɵFactoryTarget.Component });
245
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: TieredMenuSub, isStandalone: true, selector: "p-tieredMenuSub, p-tieredmenusub", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoDisplay: { classPropertyName: "autoDisplay", publicName: "autoDisplay", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, popup: { classPropertyName: "popup", publicName: "popup", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: false, isRequired: false, transformFunction: numberAttribute }, focusedItemId: { classPropertyName: "focusedItemId", publicName: "focusedItemId", isSignal: false, isRequired: false, transformFunction: null }, activeItemPath: { classPropertyName: "activeItemPath", publicName: "activeItemPath", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, inlineStyles: { classPropertyName: "inlineStyles", publicName: "inlineStyles", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown" }, providers: [
254
+ onBeforeEnter(event) {
255
+ this.positionSubmenu(event.element);
256
+ }
257
+ onAfterLeave() {
258
+ this.render.set(false);
259
+ }
260
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenuSub, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: forwardRef(() => TieredMenu) }], target: i0.ɵɵFactoryTarget.Component });
261
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: TieredMenuSub, isStandalone: true, selector: "p-tieredMenuSub, p-tieredmenusub", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: false, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoDisplay: { classPropertyName: "autoDisplay", publicName: "autoDisplay", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, popup: { classPropertyName: "popup", publicName: "popup", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: false, isRequired: false, transformFunction: numberAttribute }, focusedItemId: { classPropertyName: "focusedItemId", publicName: "focusedItemId", isSignal: false, isRequired: false, transformFunction: null }, activeItemPath: { classPropertyName: "activeItemPath", publicName: "activeItemPath", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: false, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, inlineStyles: { classPropertyName: "inlineStyles", publicName: "inlineStyles", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown" }, providers: [
246
262
  { provide: TIEREDMENUSUB_INSTANCE, useExisting: forwardRef(() => TieredMenuSub) },
247
263
  { provide: PARENT_INSTANCE, useExisting: forwardRef(() => TieredMenuSub) }
248
- ], viewQueries: [{ propertyName: "sublistViewChild", first: true, predicate: ["sublist"], descendants: true, static: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
249
- <ul
250
- #sublist
251
- role="menu"
252
- [class]="root ? cx('rootList') : cx('submenu')"
253
- [id]="menuId + '_list'"
254
- [tabindex]="tabindex"
255
- [attr.aria-label]="ariaLabel"
256
- [attr.aria-labelledBy]="ariaLabelledBy"
257
- [attr.aria-activedescendant]="focusedItemId"
258
- [attr.aria-orientation]="'vertical'"
259
- [pBind]="_ptm(root ? 'rootList' : 'submenu')"
260
- (keydown)="menuKeydown.emit($event)"
261
- (focus)="menuFocus.emit($event)"
262
- (blur)="menuBlur.emit($event)"
263
- [style]="inlineStyles"
264
- >
265
- <ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
266
- <li
267
- *ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
268
- [attr.id]="getItemId(processedItem)"
269
- [style]="getItemProp(processedItem, 'style')"
270
- [class]="cn(cx('separator'), getItemProp(processedItem, 'class'), getItemProp(processedItem, 'styleClass'))"
271
- role="separator"
272
- [pBind]="_ptm('separator')"
273
- ></li>
274
- <li
275
- #listItem
276
- *ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
277
- role="menuitem"
278
- [attr.id]="getItemId(processedItem)"
279
- [attr.data-p-highlight]="isItemActive(processedItem)"
280
- [attr.data-p-focused]="isItemFocused(processedItem)"
281
- [attr.data-p-disabled]="isItemDisabled(processedItem)"
282
- [attr.aria-label]="getItemLabel(processedItem)"
283
- [attr.aria-disabled]="isItemDisabled(processedItem) || undefined"
284
- [attr.aria-haspopup]="isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined"
285
- [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
286
- [attr.aria-setsize]="getAriaSetSize()"
287
- [attr.aria-posinset]="getAriaPosInset(index)"
288
- [ngStyle]="getItemProp(processedItem, 'style')"
289
- [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
290
- [pBind]="getPTOptions(processedItem, index, 'item')"
291
- pTooltip
292
- [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
293
- [pTooltipUnstyled]="unstyled()"
294
- >
295
- <div [class]="cx('itemContent')" [pBind]="getPTOptions(processedItem, index, 'itemContent')" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({ $event, processedItem })">
296
- <ng-container *ngIf="!itemTemplate">
297
- <a
298
- *ngIf="!getItemProp(processedItem, 'routerLink')"
299
- [attr.href]="getItemProp(processedItem, 'url')"
300
- [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
301
- [target]="getItemProp(processedItem, 'target')"
302
- [class]="cx('itemLink')"
303
- [attr.tabindex]="-1"
304
- [pBind]="getPTOptions(processedItem, index, 'itemLink')"
305
- pRipple
306
- >
307
- <span
308
- *ngIf="getItemProp(processedItem, 'icon')"
309
- [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))"
310
- [ngStyle]="getItemProp(processedItem, 'iconStyle')"
311
- [pBind]="getPTOptions(processedItem, index, 'itemIcon')"
264
+ ], viewQueries: [{ propertyName: "sublistViewChild", first: true, predicate: ["sublist"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
265
+ @if (render()) {
266
+ <ul
267
+ #sublist
268
+ role="menu"
269
+ [class]="root ? cx('rootList') : cx('submenu')"
270
+ [id]="menuId + '_list'"
271
+ [tabindex]="tabindex"
272
+ [attr.aria-label]="ariaLabel"
273
+ [attr.aria-labelledBy]="ariaLabelledBy"
274
+ [attr.aria-activedescendant]="focusedItemId"
275
+ [attr.aria-orientation]="'vertical'"
276
+ [pBind]="_ptm(root ? 'rootList' : 'submenu')"
277
+ (keydown)="menuKeydown.emit($event)"
278
+ (focus)="menuFocus.emit($event)"
279
+ (blur)="menuBlur.emit($event)"
280
+ [style]="inlineStyles"
281
+ [pMotion]="root ? true : visible"
282
+ [pMotionDisabled]="root"
283
+ [pMotionAppear]="true"
284
+ [pMotionName]="'p-anchored-overlay'"
285
+ [pMotionOptions]="motionOptions"
286
+ (pMotionOnBeforeEnter)="onBeforeEnter($event)"
287
+ (pMotionOnAfterLeave)="onAfterLeave()"
288
+ >
289
+ <ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
290
+ <li
291
+ *ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
292
+ [attr.id]="getItemId(processedItem)"
293
+ [style]="getItemProp(processedItem, 'style')"
294
+ [class]="cn(cx('separator'), getItemProp(processedItem, 'class'), getItemProp(processedItem, 'styleClass'))"
295
+ role="separator"
296
+ [pBind]="_ptm('separator')"
297
+ ></li>
298
+ <li
299
+ #listItem
300
+ *ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
301
+ role="menuitem"
302
+ [attr.id]="getItemId(processedItem)"
303
+ [attr.data-p-highlight]="isItemActive(processedItem)"
304
+ [attr.data-p-focused]="isItemFocused(processedItem)"
305
+ [attr.data-p-disabled]="isItemDisabled(processedItem)"
306
+ [attr.aria-label]="getItemLabel(processedItem)"
307
+ [attr.aria-disabled]="isItemDisabled(processedItem) || undefined"
308
+ [attr.aria-haspopup]="isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined"
309
+ [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
310
+ [attr.aria-setsize]="getAriaSetSize()"
311
+ [attr.aria-posinset]="getAriaPosInset(index)"
312
+ [ngStyle]="getItemProp(processedItem, 'style')"
313
+ [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
314
+ [pBind]="getPTOptions(processedItem, index, 'item')"
315
+ pTooltip
316
+ [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
317
+ [pTooltipUnstyled]="unstyled()"
318
+ >
319
+ <div [class]="cx('itemContent')" [pBind]="getPTOptions(processedItem, index, 'itemContent')" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({ $event, processedItem })">
320
+ <ng-container *ngIf="!itemTemplate">
321
+ <a
322
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
323
+ [attr.href]="getItemProp(processedItem, 'url')"
324
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
325
+ [attr.title]="getItemProp(processedItem, 'title')"
326
+ [target]="getItemProp(processedItem, 'target')"
327
+ [class]="cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))"
328
+ [ngStyle]="getItemProp(processedItem, 'linkStyle')"
312
329
  [attr.tabindex]="-1"
330
+ [pBind]="getPTOptions(processedItem, index, 'itemLink')"
331
+ pRipple
313
332
  >
314
- </span>
315
- <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" [class]="cx('itemLabel')" [pBind]="getPTOptions(processedItem, index, 'itemLabel')">
316
- {{ getItemLabel(processedItem) }}
317
- </span>
318
- <ng-template #htmlLabel>
319
- <span [class]="cx('itemLabel')" [innerHTML]="getItemLabel(processedItem)" [pBind]="getPTOptions(processedItem, index, 'itemLabel')"></span>
320
- </ng-template>
321
- <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
333
+ <span
334
+ *ngIf="getItemProp(processedItem, 'icon')"
335
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))"
336
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
337
+ [pBind]="getPTOptions(processedItem, index, 'itemIcon')"
338
+ [attr.tabindex]="-1"
339
+ >
340
+ </span>
341
+ <span
342
+ *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel"
343
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
344
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
345
+ [pBind]="getPTOptions(processedItem, index, 'itemLabel')"
346
+ >
347
+ {{ getItemLabel(processedItem) }}
348
+ </span>
349
+ <ng-template #htmlLabel>
350
+ <span
351
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
352
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
353
+ [innerHTML]="getItemLabel(processedItem)"
354
+ [pBind]="getPTOptions(processedItem, index, 'itemLabel')"
355
+ ></span>
356
+ </ng-template>
357
+ <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
322
358
 
323
- <ng-container *ngIf="isItemGroup(processedItem)">
324
- <svg
325
- data-p-icon="angle-right"
326
- *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
327
- [class]="cx('submenuIcon')"
328
- [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
329
- [attr.aria-hidden]="true"
330
- />
331
- <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
332
- </ng-container>
333
- </a>
334
- <a
335
- *ngIf="getItemProp(processedItem, 'routerLink')"
336
- [routerLink]="getItemProp(processedItem, 'routerLink')"
337
- [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
338
- [attr.tabindex]="-1"
339
- [queryParams]="getItemProp(processedItem, 'queryParams')"
340
- [routerLinkActive]="'p-tieredmenu-item-link-active'"
341
- [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
342
- [target]="getItemProp(processedItem, 'target')"
343
- [class]="cx('itemLink')"
344
- [fragment]="getItemProp(processedItem, 'fragment')"
345
- [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
346
- [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
347
- [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
348
- [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
349
- [state]="getItemProp(processedItem, 'state')"
350
- [pBind]="getPTOptions(processedItem, index, 'itemLink')"
351
- pRipple
352
- >
353
- <span
354
- *ngIf="getItemProp(processedItem, 'icon')"
355
- [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))"
356
- [ngStyle]="getItemProp(processedItem, 'iconStyle')"
357
- [pBind]="getPTOptions(processedItem, index, 'itemIcon')"
358
- [attr.aria-hidden]="true"
359
+ <ng-container *ngIf="isItemGroup(processedItem)">
360
+ <svg
361
+ data-p-icon="angle-right"
362
+ *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
363
+ [class]="cx('submenuIcon')"
364
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
365
+ [attr.aria-hidden]="true"
366
+ />
367
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
368
+ </ng-container>
369
+ </a>
370
+ <a
371
+ *ngIf="getItemProp(processedItem, 'routerLink')"
372
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
373
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
374
+ [attr.title]="getItemProp(processedItem, 'title')"
359
375
  [attr.tabindex]="-1"
376
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
377
+ [routerLinkActive]="'p-tieredmenu-item-link-active'"
378
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
379
+ [target]="getItemProp(processedItem, 'target')"
380
+ [class]="cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))"
381
+ [ngStyle]="getItemProp(processedItem, 'linkStyle')"
382
+ [fragment]="getItemProp(processedItem, 'fragment')"
383
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
384
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
385
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
386
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
387
+ [state]="getItemProp(processedItem, 'state')"
388
+ [pBind]="getPTOptions(processedItem, index, 'itemLink')"
389
+ pRipple
360
390
  >
361
- </span>
362
- <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" [class]="cx('itemLabel')" [pBind]="getPTOptions(processedItem, index, 'itemLabel')">
363
- {{ getItemLabel(processedItem) }}
364
- </span>
365
- <ng-template #htmlLabel>
366
- <span [class]="cx('itemLabel')" [innerHTML]="getItemLabel(processedItem)" [pBind]="getPTOptions(processedItem, index, 'itemLabel')"></span>
367
- </ng-template>
368
- <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
369
-
370
- <ng-container *ngIf="isItemGroup(processedItem)">
371
- <svg
372
- data-p-icon="angle-right"
373
- *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
374
- [class]="cx('submenuIcon')"
375
- [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
391
+ <span
392
+ *ngIf="getItemProp(processedItem, 'icon')"
393
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))"
394
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
395
+ [pBind]="getPTOptions(processedItem, index, 'itemIcon')"
376
396
  [attr.aria-hidden]="true"
377
- />
378
- <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
379
- </ng-container>
380
- </a>
381
- </ng-container>
382
- <ng-container *ngIf="itemTemplate">
383
- <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item, hasSubmenu: getItemProp(processedItem, 'items') }"></ng-template>
384
- </ng-container>
385
- </div>
397
+ [attr.tabindex]="-1"
398
+ >
399
+ </span>
400
+ <span
401
+ *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel"
402
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
403
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
404
+ [pBind]="getPTOptions(processedItem, index, 'itemLabel')"
405
+ >
406
+ {{ getItemLabel(processedItem) }}
407
+ </span>
408
+ <ng-template #htmlLabel>
409
+ <span
410
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
411
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
412
+ [innerHTML]="getItemLabel(processedItem)"
413
+ [pBind]="getPTOptions(processedItem, index, 'itemLabel')"
414
+ ></span>
415
+ </ng-template>
416
+ <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
417
+
418
+ <ng-container *ngIf="isItemGroup(processedItem)">
419
+ <svg
420
+ data-p-icon="angle-right"
421
+ *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
422
+ [class]="cx('submenuIcon')"
423
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
424
+ [attr.aria-hidden]="true"
425
+ />
426
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
427
+ </ng-container>
428
+ </a>
429
+ </ng-container>
430
+ <ng-container *ngIf="itemTemplate">
431
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item, hasSubmenu: getItemProp(processedItem, 'items') }"></ng-template>
432
+ </ng-container>
433
+ </div>
386
434
 
387
- <p-tieredmenusub
388
- *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
389
- [items]="processedItem.items"
390
- [itemTemplate]="itemTemplate"
391
- [autoDisplay]="autoDisplay"
392
- [menuId]="menuId"
393
- [activeItemPath]="activeItemPath()"
394
- [focusedItemId]="focusedItemId"
395
- [ariaLabelledBy]="getItemId(processedItem)"
396
- [level]="level + 1"
397
- (itemClick)="itemClick.emit($event)"
398
- (itemMouseEnter)="onItemMouseEnter($event)"
399
- [inlineStyles]="{ display: isItemActive(processedItem) ? 'flex' : 'none' }"
400
- [pt]="pt()"
401
- [unstyled]="unstyled()"
402
- ></p-tieredmenusub>
403
- </li>
404
- </ng-template>
405
- </ul>
406
- `, isInline: true, dependencies: [{ kind: "component", type: TieredMenuSub, selector: "p-tieredMenuSub, p-tieredmenusub", inputs: ["items", "itemTemplate", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "tabindex", "inlineStyles"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPt", "pTooltipUnstyled"] }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "component", type: AngleRightIcon, selector: "[data-p-icon=\"angle-right\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }], encapsulation: i0.ViewEncapsulation.None });
435
+ <p-tieredmenusub
436
+ *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
437
+ [items]="processedItem.items"
438
+ [itemTemplate]="itemTemplate"
439
+ [autoDisplay]="autoDisplay"
440
+ [menuId]="menuId"
441
+ [visible]="isItemActive(processedItem) && isItemGroup(processedItem)"
442
+ [activeItemPath]="activeItemPath()"
443
+ [focusedItemId]="focusedItemId"
444
+ [ariaLabelledBy]="getItemId(processedItem)"
445
+ [level]="level + 1"
446
+ (itemClick)="itemClick.emit($event)"
447
+ (itemMouseEnter)="onItemMouseEnter($event)"
448
+ [pt]="pt()"
449
+ [motionOptions]="motionOptions"
450
+ [unstyled]="unstyled()"
451
+ ></p-tieredmenusub>
452
+ </li>
453
+ </ng-template>
454
+ </ul>
455
+ }
456
+ `, isInline: true, dependencies: [{ kind: "component", type: TieredMenuSub, selector: "p-tieredMenuSub, p-tieredmenusub", inputs: ["visible", "items", "itemTemplate", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "motionOptions", "tabindex", "inlineStyles"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "component", type: AngleRightIcon, selector: "[data-p-icon=\"angle-right\"]" }, { 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 });
407
457
  }
408
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenuSub, decorators: [{
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenuSub, decorators: [{
409
459
  type: Component,
410
460
  args: [{
411
461
  selector: 'p-tieredMenuSub, p-tieredmenusub',
412
462
  standalone: true,
413
- imports: [CommonModule, RouterModule, Ripple, TooltipModule, AngleRightIcon, SharedModule, BindModule],
463
+ imports: [CommonModule, RouterModule, Ripple, TooltipModule, AngleRightIcon, SharedModule, BindModule, MotionModule],
414
464
  template: `
415
- <ul
416
- #sublist
417
- role="menu"
418
- [class]="root ? cx('rootList') : cx('submenu')"
419
- [id]="menuId + '_list'"
420
- [tabindex]="tabindex"
421
- [attr.aria-label]="ariaLabel"
422
- [attr.aria-labelledBy]="ariaLabelledBy"
423
- [attr.aria-activedescendant]="focusedItemId"
424
- [attr.aria-orientation]="'vertical'"
425
- [pBind]="_ptm(root ? 'rootList' : 'submenu')"
426
- (keydown)="menuKeydown.emit($event)"
427
- (focus)="menuFocus.emit($event)"
428
- (blur)="menuBlur.emit($event)"
429
- [style]="inlineStyles"
430
- >
431
- <ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
432
- <li
433
- *ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
434
- [attr.id]="getItemId(processedItem)"
435
- [style]="getItemProp(processedItem, 'style')"
436
- [class]="cn(cx('separator'), getItemProp(processedItem, 'class'), getItemProp(processedItem, 'styleClass'))"
437
- role="separator"
438
- [pBind]="_ptm('separator')"
439
- ></li>
440
- <li
441
- #listItem
442
- *ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
443
- role="menuitem"
444
- [attr.id]="getItemId(processedItem)"
445
- [attr.data-p-highlight]="isItemActive(processedItem)"
446
- [attr.data-p-focused]="isItemFocused(processedItem)"
447
- [attr.data-p-disabled]="isItemDisabled(processedItem)"
448
- [attr.aria-label]="getItemLabel(processedItem)"
449
- [attr.aria-disabled]="isItemDisabled(processedItem) || undefined"
450
- [attr.aria-haspopup]="isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined"
451
- [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
452
- [attr.aria-setsize]="getAriaSetSize()"
453
- [attr.aria-posinset]="getAriaPosInset(index)"
454
- [ngStyle]="getItemProp(processedItem, 'style')"
455
- [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
456
- [pBind]="getPTOptions(processedItem, index, 'item')"
457
- pTooltip
458
- [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
459
- [pTooltipUnstyled]="unstyled()"
460
- >
461
- <div [class]="cx('itemContent')" [pBind]="getPTOptions(processedItem, index, 'itemContent')" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({ $event, processedItem })">
462
- <ng-container *ngIf="!itemTemplate">
463
- <a
464
- *ngIf="!getItemProp(processedItem, 'routerLink')"
465
- [attr.href]="getItemProp(processedItem, 'url')"
466
- [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
467
- [target]="getItemProp(processedItem, 'target')"
468
- [class]="cx('itemLink')"
469
- [attr.tabindex]="-1"
470
- [pBind]="getPTOptions(processedItem, index, 'itemLink')"
471
- pRipple
472
- >
473
- <span
474
- *ngIf="getItemProp(processedItem, 'icon')"
475
- [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))"
476
- [ngStyle]="getItemProp(processedItem, 'iconStyle')"
477
- [pBind]="getPTOptions(processedItem, index, 'itemIcon')"
465
+ @if (render()) {
466
+ <ul
467
+ #sublist
468
+ role="menu"
469
+ [class]="root ? cx('rootList') : cx('submenu')"
470
+ [id]="menuId + '_list'"
471
+ [tabindex]="tabindex"
472
+ [attr.aria-label]="ariaLabel"
473
+ [attr.aria-labelledBy]="ariaLabelledBy"
474
+ [attr.aria-activedescendant]="focusedItemId"
475
+ [attr.aria-orientation]="'vertical'"
476
+ [pBind]="_ptm(root ? 'rootList' : 'submenu')"
477
+ (keydown)="menuKeydown.emit($event)"
478
+ (focus)="menuFocus.emit($event)"
479
+ (blur)="menuBlur.emit($event)"
480
+ [style]="inlineStyles"
481
+ [pMotion]="root ? true : visible"
482
+ [pMotionDisabled]="root"
483
+ [pMotionAppear]="true"
484
+ [pMotionName]="'p-anchored-overlay'"
485
+ [pMotionOptions]="motionOptions"
486
+ (pMotionOnBeforeEnter)="onBeforeEnter($event)"
487
+ (pMotionOnAfterLeave)="onAfterLeave()"
488
+ >
489
+ <ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
490
+ <li
491
+ *ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
492
+ [attr.id]="getItemId(processedItem)"
493
+ [style]="getItemProp(processedItem, 'style')"
494
+ [class]="cn(cx('separator'), getItemProp(processedItem, 'class'), getItemProp(processedItem, 'styleClass'))"
495
+ role="separator"
496
+ [pBind]="_ptm('separator')"
497
+ ></li>
498
+ <li
499
+ #listItem
500
+ *ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
501
+ role="menuitem"
502
+ [attr.id]="getItemId(processedItem)"
503
+ [attr.data-p-highlight]="isItemActive(processedItem)"
504
+ [attr.data-p-focused]="isItemFocused(processedItem)"
505
+ [attr.data-p-disabled]="isItemDisabled(processedItem)"
506
+ [attr.aria-label]="getItemLabel(processedItem)"
507
+ [attr.aria-disabled]="isItemDisabled(processedItem) || undefined"
508
+ [attr.aria-haspopup]="isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined"
509
+ [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
510
+ [attr.aria-setsize]="getAriaSetSize()"
511
+ [attr.aria-posinset]="getAriaPosInset(index)"
512
+ [ngStyle]="getItemProp(processedItem, 'style')"
513
+ [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
514
+ [pBind]="getPTOptions(processedItem, index, 'item')"
515
+ pTooltip
516
+ [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
517
+ [pTooltipUnstyled]="unstyled()"
518
+ >
519
+ <div [class]="cx('itemContent')" [pBind]="getPTOptions(processedItem, index, 'itemContent')" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({ $event, processedItem })">
520
+ <ng-container *ngIf="!itemTemplate">
521
+ <a
522
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
523
+ [attr.href]="getItemProp(processedItem, 'url')"
524
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
525
+ [attr.title]="getItemProp(processedItem, 'title')"
526
+ [target]="getItemProp(processedItem, 'target')"
527
+ [class]="cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))"
528
+ [ngStyle]="getItemProp(processedItem, 'linkStyle')"
478
529
  [attr.tabindex]="-1"
530
+ [pBind]="getPTOptions(processedItem, index, 'itemLink')"
531
+ pRipple
479
532
  >
480
- </span>
481
- <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" [class]="cx('itemLabel')" [pBind]="getPTOptions(processedItem, index, 'itemLabel')">
482
- {{ getItemLabel(processedItem) }}
483
- </span>
484
- <ng-template #htmlLabel>
485
- <span [class]="cx('itemLabel')" [innerHTML]="getItemLabel(processedItem)" [pBind]="getPTOptions(processedItem, index, 'itemLabel')"></span>
486
- </ng-template>
487
- <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
533
+ <span
534
+ *ngIf="getItemProp(processedItem, 'icon')"
535
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))"
536
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
537
+ [pBind]="getPTOptions(processedItem, index, 'itemIcon')"
538
+ [attr.tabindex]="-1"
539
+ >
540
+ </span>
541
+ <span
542
+ *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel"
543
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
544
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
545
+ [pBind]="getPTOptions(processedItem, index, 'itemLabel')"
546
+ >
547
+ {{ getItemLabel(processedItem) }}
548
+ </span>
549
+ <ng-template #htmlLabel>
550
+ <span
551
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
552
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
553
+ [innerHTML]="getItemLabel(processedItem)"
554
+ [pBind]="getPTOptions(processedItem, index, 'itemLabel')"
555
+ ></span>
556
+ </ng-template>
557
+ <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
488
558
 
489
- <ng-container *ngIf="isItemGroup(processedItem)">
490
- <svg
491
- data-p-icon="angle-right"
492
- *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
493
- [class]="cx('submenuIcon')"
494
- [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
495
- [attr.aria-hidden]="true"
496
- />
497
- <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
498
- </ng-container>
499
- </a>
500
- <a
501
- *ngIf="getItemProp(processedItem, 'routerLink')"
502
- [routerLink]="getItemProp(processedItem, 'routerLink')"
503
- [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
504
- [attr.tabindex]="-1"
505
- [queryParams]="getItemProp(processedItem, 'queryParams')"
506
- [routerLinkActive]="'p-tieredmenu-item-link-active'"
507
- [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
508
- [target]="getItemProp(processedItem, 'target')"
509
- [class]="cx('itemLink')"
510
- [fragment]="getItemProp(processedItem, 'fragment')"
511
- [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
512
- [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
513
- [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
514
- [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
515
- [state]="getItemProp(processedItem, 'state')"
516
- [pBind]="getPTOptions(processedItem, index, 'itemLink')"
517
- pRipple
518
- >
519
- <span
520
- *ngIf="getItemProp(processedItem, 'icon')"
521
- [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))"
522
- [ngStyle]="getItemProp(processedItem, 'iconStyle')"
523
- [pBind]="getPTOptions(processedItem, index, 'itemIcon')"
524
- [attr.aria-hidden]="true"
559
+ <ng-container *ngIf="isItemGroup(processedItem)">
560
+ <svg
561
+ data-p-icon="angle-right"
562
+ *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
563
+ [class]="cx('submenuIcon')"
564
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
565
+ [attr.aria-hidden]="true"
566
+ />
567
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
568
+ </ng-container>
569
+ </a>
570
+ <a
571
+ *ngIf="getItemProp(processedItem, 'routerLink')"
572
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
573
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
574
+ [attr.title]="getItemProp(processedItem, 'title')"
525
575
  [attr.tabindex]="-1"
576
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
577
+ [routerLinkActive]="'p-tieredmenu-item-link-active'"
578
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
579
+ [target]="getItemProp(processedItem, 'target')"
580
+ [class]="cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))"
581
+ [ngStyle]="getItemProp(processedItem, 'linkStyle')"
582
+ [fragment]="getItemProp(processedItem, 'fragment')"
583
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
584
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
585
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
586
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
587
+ [state]="getItemProp(processedItem, 'state')"
588
+ [pBind]="getPTOptions(processedItem, index, 'itemLink')"
589
+ pRipple
526
590
  >
527
- </span>
528
- <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" [class]="cx('itemLabel')" [pBind]="getPTOptions(processedItem, index, 'itemLabel')">
529
- {{ getItemLabel(processedItem) }}
530
- </span>
531
- <ng-template #htmlLabel>
532
- <span [class]="cx('itemLabel')" [innerHTML]="getItemLabel(processedItem)" [pBind]="getPTOptions(processedItem, index, 'itemLabel')"></span>
533
- </ng-template>
534
- <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
535
-
536
- <ng-container *ngIf="isItemGroup(processedItem)">
537
- <svg
538
- data-p-icon="angle-right"
539
- *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
540
- [class]="cx('submenuIcon')"
541
- [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
591
+ <span
592
+ *ngIf="getItemProp(processedItem, 'icon')"
593
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))"
594
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
595
+ [pBind]="getPTOptions(processedItem, index, 'itemIcon')"
542
596
  [attr.aria-hidden]="true"
543
- />
544
- <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
545
- </ng-container>
546
- </a>
547
- </ng-container>
548
- <ng-container *ngIf="itemTemplate">
549
- <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item, hasSubmenu: getItemProp(processedItem, 'items') }"></ng-template>
550
- </ng-container>
551
- </div>
597
+ [attr.tabindex]="-1"
598
+ >
599
+ </span>
600
+ <span
601
+ *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel"
602
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
603
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
604
+ [pBind]="getPTOptions(processedItem, index, 'itemLabel')"
605
+ >
606
+ {{ getItemLabel(processedItem) }}
607
+ </span>
608
+ <ng-template #htmlLabel>
609
+ <span
610
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
611
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
612
+ [innerHTML]="getItemLabel(processedItem)"
613
+ [pBind]="getPTOptions(processedItem, index, 'itemLabel')"
614
+ ></span>
615
+ </ng-template>
616
+ <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
552
617
 
553
- <p-tieredmenusub
554
- *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
555
- [items]="processedItem.items"
556
- [itemTemplate]="itemTemplate"
557
- [autoDisplay]="autoDisplay"
558
- [menuId]="menuId"
559
- [activeItemPath]="activeItemPath()"
560
- [focusedItemId]="focusedItemId"
561
- [ariaLabelledBy]="getItemId(processedItem)"
562
- [level]="level + 1"
563
- (itemClick)="itemClick.emit($event)"
564
- (itemMouseEnter)="onItemMouseEnter($event)"
565
- [inlineStyles]="{ display: isItemActive(processedItem) ? 'flex' : 'none' }"
566
- [pt]="pt()"
567
- [unstyled]="unstyled()"
568
- ></p-tieredmenusub>
569
- </li>
570
- </ng-template>
571
- </ul>
618
+ <ng-container *ngIf="isItemGroup(processedItem)">
619
+ <svg
620
+ data-p-icon="angle-right"
621
+ *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
622
+ [class]="cx('submenuIcon')"
623
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
624
+ [attr.aria-hidden]="true"
625
+ />
626
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
627
+ </ng-container>
628
+ </a>
629
+ </ng-container>
630
+ <ng-container *ngIf="itemTemplate">
631
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item, hasSubmenu: getItemProp(processedItem, 'items') }"></ng-template>
632
+ </ng-container>
633
+ </div>
634
+
635
+ <p-tieredmenusub
636
+ *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
637
+ [items]="processedItem.items"
638
+ [itemTemplate]="itemTemplate"
639
+ [autoDisplay]="autoDisplay"
640
+ [menuId]="menuId"
641
+ [visible]="isItemActive(processedItem) && isItemGroup(processedItem)"
642
+ [activeItemPath]="activeItemPath()"
643
+ [focusedItemId]="focusedItemId"
644
+ [ariaLabelledBy]="getItemId(processedItem)"
645
+ [level]="level + 1"
646
+ (itemClick)="itemClick.emit($event)"
647
+ (itemMouseEnter)="onItemMouseEnter($event)"
648
+ [pt]="pt()"
649
+ [motionOptions]="motionOptions"
650
+ [unstyled]="unstyled()"
651
+ ></p-tieredmenusub>
652
+ </li>
653
+ </ng-template>
654
+ </ul>
655
+ }
572
656
  `,
573
657
  encapsulation: ViewEncapsulation.None,
574
658
  providers: [
@@ -580,7 +664,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
580
664
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: TieredMenu, decorators: [{
581
665
  type: Inject,
582
666
  args: [forwardRef(() => TieredMenu)]
583
- }] }], propDecorators: { items: [{
667
+ }] }], propDecorators: { visible: [{
668
+ type: Input
669
+ }], items: [{
584
670
  type: Input
585
671
  }], itemTemplate: [{
586
672
  type: Input
@@ -610,7 +696,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
610
696
  args: [{ transform: numberAttribute }]
611
697
  }], focusedItemId: [{
612
698
  type: Input
613
- }], activeItemPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeItemPath", required: false }] }], tabindex: [{
699
+ }], activeItemPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeItemPath", required: false }] }], motionOptions: [{
700
+ type: Input
701
+ }], tabindex: [{
614
702
  type: Input,
615
703
  args: [{ transform: numberAttribute }]
616
704
  }], inlineStyles: [{
@@ -627,7 +715,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
627
715
  type: Output
628
716
  }], sublistViewChild: [{
629
717
  type: ViewChild,
630
- args: ['sublist', { static: true }]
718
+ args: ['sublist']
631
719
  }] } });
632
720
  /**
633
721
  * TieredMenu displays submenus in nested overlays.
@@ -749,17 +837,20 @@ class TieredMenu extends BaseComponent {
749
837
  rootmenu;
750
838
  containerViewChild;
751
839
  /**
752
- * Template of the submenu icon.
840
+ * Custom submenu icon template.
753
841
  * @group Templates
754
842
  */
755
843
  submenuIconTemplate;
756
844
  /**
757
- * Template of the item.
845
+ * Custom item template.
846
+ * @param {TieredMenuItemTemplateContext} context - item context.
847
+ * @see {@link TieredMenuItemTemplateContext}
758
848
  * @group Templates
759
849
  */
760
850
  itemTemplate;
761
851
  templates;
762
852
  $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), ...(ngDevMode ? [{ debugName: "$appendTo" }] : []));
853
+ render = signal(false, ...(ngDevMode ? [{ debugName: "render" }] : []));
763
854
  container;
764
855
  outsideClickListener;
765
856
  resizeListener;
@@ -780,7 +871,7 @@ class TieredMenu extends BaseComponent {
780
871
  bindDirectiveInstance = inject(Bind, { self: true });
781
872
  matchMediaListener;
782
873
  query;
783
- queryMatches;
874
+ queryMatches = signal(false, ...(ngDevMode ? [{ debugName: "queryMatches" }] : []));
784
875
  _submenuIconTemplate;
785
876
  _itemTemplate;
786
877
  get visibleItems() {
@@ -839,9 +930,9 @@ class TieredMenu extends BaseComponent {
839
930
  if (!this.matchMediaListener) {
840
931
  const query = window.matchMedia(`(max-width: ${this.breakpoint})`);
841
932
  this.query = query;
842
- this.queryMatches = query.matches;
933
+ this.queryMatches.set(query.matches);
843
934
  this.matchMediaListener = () => {
844
- this.queryMatches = query.matches;
935
+ this.queryMatches.set(query.matches);
845
936
  };
846
937
  query.addEventListener('change', this.matchMediaListener);
847
938
  }
@@ -1094,7 +1185,7 @@ class TieredMenu extends BaseComponent {
1094
1185
  this.focusedItemInfo.set({ index, level, parentKey, item });
1095
1186
  grouped && (this.dirty = true);
1096
1187
  isFocus && focus(this.rootmenu?.sublistViewChild?.nativeElement);
1097
- if (type === 'hover' && this.queryMatches) {
1188
+ if (type === 'hover' && this.queryMatches()) {
1098
1189
  return;
1099
1190
  }
1100
1191
  this.activeItemPath.set(activeItemPath);
@@ -1112,7 +1203,7 @@ class TieredMenu extends BaseComponent {
1112
1203
  this.dirty = false;
1113
1204
  }
1114
1205
  onOverlayBeforeEnter(event) {
1115
- if (this.visible && this.popup) {
1206
+ if (this.popup) {
1116
1207
  this.container = event.element;
1117
1208
  addStyle(this.container, { position: 'absolute' });
1118
1209
  this.moveOnTop();
@@ -1120,12 +1211,24 @@ class TieredMenu extends BaseComponent {
1120
1211
  this.$attrSelector && this.container?.setAttribute(this.$attrSelector, '');
1121
1212
  this.appendOverlay();
1122
1213
  this.alignOverlay();
1214
+ }
1215
+ }
1216
+ onOverlayAfterEnter() {
1217
+ if (this.popup) {
1123
1218
  this.bindOutsideClickListener();
1124
1219
  this.bindResizeListener();
1125
1220
  this.bindScrollListener();
1126
- focus(this.rootmenu?.sublistViewChild?.nativeElement);
1127
1221
  this.scrollInView();
1128
1222
  }
1223
+ focus(this.rootmenu?.sublistViewChild?.nativeElement);
1224
+ }
1225
+ onOverlayBeforeLeave() {
1226
+ this.restoreOverlayAppend();
1227
+ this.onOverlayHide();
1228
+ }
1229
+ onOverlayAfterLeave() {
1230
+ this.render.set(false);
1231
+ this.onHide.emit({});
1129
1232
  }
1130
1233
  relativeAlign = false;
1131
1234
  alignOverlay() {
@@ -1140,11 +1243,6 @@ class TieredMenu extends BaseComponent {
1140
1243
  }
1141
1244
  }
1142
1245
  }
1143
- onAfterLeave() {
1144
- this.restoreOverlayAppend();
1145
- this.onOverlayHide();
1146
- this.onHide.emit({});
1147
- }
1148
1246
  appendOverlay() {
1149
1247
  if (this.$appendTo() && this.$appendTo() !== 'self') {
1150
1248
  if (this.$appendTo() === 'body') {
@@ -1199,6 +1297,7 @@ class TieredMenu extends BaseComponent {
1199
1297
  this.relatedTarget = event.relatedTarget || null;
1200
1298
  this.relativeAlign = event?.relativeAlign || null;
1201
1299
  }
1300
+ this.render.set(true);
1202
1301
  this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '' });
1203
1302
  isFocus && focus(this.rootmenu?.sublistViewChild?.nativeElement);
1204
1303
  this.cd.markForCheck();
@@ -1345,20 +1444,30 @@ class TieredMenu extends BaseComponent {
1345
1444
  }
1346
1445
  this.unbindMatchMediaListener();
1347
1446
  }
1348
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenu, deps: [{ token: i5.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1349
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: TieredMenu, isStandalone: true, selector: "p-tieredMenu, p-tieredmenu, p-tiered-menu", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: false, isRequired: false, transformFunction: null }, popup: { classPropertyName: "popup", publicName: "popup", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, style: { classPropertyName: "style", publicName: "style", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: false, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, autoDisplay: { classPropertyName: "autoDisplay", publicName: "autoDisplay", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onShow: "onShow", onHide: "onHide" }, providers: [TieredMenuStyle, { provide: TIEREDMENU_INSTANCE, useExisting: TieredMenu }, { provide: PARENT_INSTANCE, useExisting: TieredMenu }], queries: [{ propertyName: "submenuIconTemplate", first: true, predicate: ["submenuicon"] }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "rootmenu", first: true, predicate: ["rootmenu"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
1350
- @if (popup) {
1351
- <p-motion [visible]="visible" name="p-anchored-overlay" (onBeforeEnter)="onOverlayBeforeEnter($event)" (onAfterLeave)="onAfterLeave()" [options]="computedMotionOptions()">
1352
- <ng-container *ngTemplateOutlet="sharedcontent"></ng-container>
1353
- </p-motion>
1354
- } @else {
1355
- <ng-container *ngTemplateOutlet="sharedcontent"></ng-container>
1356
- }
1357
- <ng-template #sharedcontent>
1358
- <div #container [id]="id" [class]="cn(cx('root'), styleClass)" [ngStyle]="style" [pBind]="ptm('root')" (click)="onOverlayClick($event)">
1447
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenu, deps: [{ token: i6.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1448
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: TieredMenu, isStandalone: true, selector: "p-tieredMenu, p-tieredmenu, p-tiered-menu", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: false, isRequired: false, transformFunction: null }, popup: { classPropertyName: "popup", publicName: "popup", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, style: { classPropertyName: "style", publicName: "style", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: false, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, autoDisplay: { classPropertyName: "autoDisplay", publicName: "autoDisplay", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onShow: "onShow", onHide: "onHide" }, providers: [TieredMenuStyle, { provide: TIEREDMENU_INSTANCE, useExisting: TieredMenu }, { provide: PARENT_INSTANCE, useExisting: TieredMenu }], queries: [{ propertyName: "submenuIconTemplate", first: true, predicate: ["submenuicon"] }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "rootmenu", first: true, predicate: ["rootmenu"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
1449
+ @if (render() || !popup) {
1450
+ <div
1451
+ #container
1452
+ [id]="id"
1453
+ [class]="cn(cx('root'), styleClass)"
1454
+ [ngStyle]="style"
1455
+ [pBind]="ptm('root')"
1456
+ (click)="onOverlayClick($event)"
1457
+ [pMotion]="visible || !popup"
1458
+ [pMotionName]="'p-anchored-overlay'"
1459
+ [pMotionAppear]="true"
1460
+ [pMotionDisabled]="!popup"
1461
+ [pMotionOptions]="computedMotionOptions()"
1462
+ (pMotionOnBeforeEnter)="onOverlayBeforeEnter($event)"
1463
+ (pMotionOnAfterEnter)="onOverlayAfterEnter()"
1464
+ (pMotionOnBeforeLeave)="onOverlayBeforeLeave()"
1465
+ (pMotionOnAfterLeave)="onOverlayAfterLeave()"
1466
+ >
1359
1467
  <p-tieredMenuSub
1360
1468
  #rootmenu
1361
1469
  [root]="true"
1470
+ [visible]="true"
1362
1471
  [items]="processedItems"
1363
1472
  [itemTemplate]="itemTemplate || _itemTemplate"
1364
1473
  [menuId]="id"
@@ -1378,30 +1487,41 @@ class TieredMenu extends BaseComponent {
1378
1487
  (itemMouseEnter)="onItemMouseEnter($event)"
1379
1488
  [pt]="pt()"
1380
1489
  [unstyled]="unstyled()"
1490
+ [motionOptions]="computedMotionOptions()"
1381
1491
  ></p-tieredMenuSub>
1382
1492
  </div>
1383
- </ng-template>
1384
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TieredMenuSub, selector: "p-tieredMenuSub, p-tieredmenusub", inputs: ["items", "itemTemplate", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "tabindex", "inlineStyles"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "ngmodule", type: MotionModule }, { kind: "component", type: i6.Motion, selector: "p-motion", inputs: ["visible", "mountOnEnter", "unmountOnLeave", "name", "type", "safe", "disabled", "appear", "enter", "leave", "duration", "hideStrategy", "enterFromClass", "enterToClass", "enterActiveClass", "leaveFromClass", "leaveToClass", "leaveActiveClass", "options"], outputs: ["onBeforeEnter", "onEnter", "onAfterEnter", "onEnterCancelled", "onBeforeLeave", "onLeave", "onAfterLeave", "onLeaveCancelled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1493
+ }
1494
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TieredMenuSub, selector: "p-tieredMenuSub, p-tieredmenusub", inputs: ["visible", "items", "itemTemplate", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "motionOptions", "tabindex", "inlineStyles"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1385
1495
  }
1386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenu, decorators: [{
1496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenu, decorators: [{
1387
1497
  type: Component,
1388
1498
  args: [{
1389
1499
  selector: 'p-tieredMenu, p-tieredmenu, p-tiered-menu',
1390
1500
  standalone: true,
1391
1501
  imports: [CommonModule, TieredMenuSub, RouterModule, TooltipModule, SharedModule, BindModule, MotionModule],
1392
1502
  template: `
1393
- @if (popup) {
1394
- <p-motion [visible]="visible" name="p-anchored-overlay" (onBeforeEnter)="onOverlayBeforeEnter($event)" (onAfterLeave)="onAfterLeave()" [options]="computedMotionOptions()">
1395
- <ng-container *ngTemplateOutlet="sharedcontent"></ng-container>
1396
- </p-motion>
1397
- } @else {
1398
- <ng-container *ngTemplateOutlet="sharedcontent"></ng-container>
1399
- }
1400
- <ng-template #sharedcontent>
1401
- <div #container [id]="id" [class]="cn(cx('root'), styleClass)" [ngStyle]="style" [pBind]="ptm('root')" (click)="onOverlayClick($event)">
1503
+ @if (render() || !popup) {
1504
+ <div
1505
+ #container
1506
+ [id]="id"
1507
+ [class]="cn(cx('root'), styleClass)"
1508
+ [ngStyle]="style"
1509
+ [pBind]="ptm('root')"
1510
+ (click)="onOverlayClick($event)"
1511
+ [pMotion]="visible || !popup"
1512
+ [pMotionName]="'p-anchored-overlay'"
1513
+ [pMotionAppear]="true"
1514
+ [pMotionDisabled]="!popup"
1515
+ [pMotionOptions]="computedMotionOptions()"
1516
+ (pMotionOnBeforeEnter)="onOverlayBeforeEnter($event)"
1517
+ (pMotionOnAfterEnter)="onOverlayAfterEnter()"
1518
+ (pMotionOnBeforeLeave)="onOverlayBeforeLeave()"
1519
+ (pMotionOnAfterLeave)="onOverlayAfterLeave()"
1520
+ >
1402
1521
  <p-tieredMenuSub
1403
1522
  #rootmenu
1404
1523
  [root]="true"
1524
+ [visible]="true"
1405
1525
  [items]="processedItems"
1406
1526
  [itemTemplate]="itemTemplate || _itemTemplate"
1407
1527
  [menuId]="id"
@@ -1421,16 +1541,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
1421
1541
  (itemMouseEnter)="onItemMouseEnter($event)"
1422
1542
  [pt]="pt()"
1423
1543
  [unstyled]="unstyled()"
1544
+ [motionOptions]="computedMotionOptions()"
1424
1545
  ></p-tieredMenuSub>
1425
1546
  </div>
1426
- </ng-template>
1547
+ }
1427
1548
  `,
1428
1549
  changeDetection: ChangeDetectionStrategy.OnPush,
1429
1550
  encapsulation: ViewEncapsulation.None,
1430
1551
  providers: [TieredMenuStyle, { provide: TIEREDMENU_INSTANCE, useExisting: TieredMenu }, { provide: PARENT_INSTANCE, useExisting: TieredMenu }],
1431
1552
  hostDirectives: [Bind]
1432
1553
  }]
1433
- }], ctorParameters: () => [{ type: i5.OverlayService }], propDecorators: { model: [{
1554
+ }], ctorParameters: () => [{ type: i6.OverlayService }], propDecorators: { model: [{
1434
1555
  type: Input
1435
1556
  }], popup: [{
1436
1557
  type: Input,
@@ -1487,11 +1608,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
1487
1608
  args: [PrimeTemplate]
1488
1609
  }] } });
1489
1610
  class TieredMenuModule {
1490
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1491
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: TieredMenuModule, imports: [TieredMenu, SharedModule], exports: [TieredMenu, SharedModule] });
1492
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenuModule, imports: [TieredMenu, SharedModule, SharedModule] });
1611
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1612
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.3", ngImport: i0, type: TieredMenuModule, imports: [TieredMenu, SharedModule], exports: [TieredMenu, SharedModule] });
1613
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenuModule, imports: [TieredMenu, SharedModule, SharedModule] });
1493
1614
  }
1494
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TieredMenuModule, decorators: [{
1615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TieredMenuModule, decorators: [{
1495
1616
  type: NgModule,
1496
1617
  args: [{
1497
1618
  imports: [TieredMenu, SharedModule],