primeng 20.3.0-rc.1 → 21.0.0-beta.1

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 (537) hide show
  1. package/fesm2022/primeng-accordion.mjs +88 -99
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +31 -31
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +95 -41
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +7 -7
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +24 -17
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +10 -10
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +50 -18
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +3 -3
  18. package/fesm2022/primeng-basecomponent.mjs +17 -14
  19. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  20. package/fesm2022/primeng-baseeditableholder.mjs +4 -4
  21. package/fesm2022/primeng-baseinput.mjs +4 -4
  22. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  23. package/fesm2022/primeng-bind.mjs +8 -8
  24. package/fesm2022/primeng-bind.mjs.map +1 -1
  25. package/fesm2022/primeng-blockui.mjs +44 -24
  26. package/fesm2022/primeng-blockui.mjs.map +1 -1
  27. package/fesm2022/primeng-breadcrumb.mjs +15 -13
  28. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  29. package/fesm2022/primeng-button.mjs +198 -79
  30. package/fesm2022/primeng-button.mjs.map +1 -1
  31. package/fesm2022/primeng-buttongroup.mjs +10 -10
  32. package/fesm2022/primeng-card.mjs +10 -10
  33. package/fesm2022/primeng-card.mjs.map +1 -1
  34. package/fesm2022/primeng-carousel.mjs +18 -12
  35. package/fesm2022/primeng-carousel.mjs.map +1 -1
  36. package/fesm2022/primeng-cascadeselect.mjs +34 -25
  37. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  38. package/fesm2022/primeng-chart.mjs +10 -10
  39. package/fesm2022/primeng-chart.mjs.map +1 -1
  40. package/fesm2022/primeng-checkbox.mjs +32 -22
  41. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  42. package/fesm2022/primeng-chip.mjs +24 -12
  43. package/fesm2022/primeng-chip.mjs.map +1 -1
  44. package/fesm2022/primeng-classnames.mjs +8 -8
  45. package/fesm2022/primeng-classnames.mjs.map +1 -1
  46. package/fesm2022/primeng-colorpicker.mjs +118 -187
  47. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  48. package/fesm2022/primeng-config.mjs +6 -12
  49. package/fesm2022/primeng-config.mjs.map +1 -1
  50. package/fesm2022/primeng-confirmdialog.mjs +28 -56
  51. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  52. package/fesm2022/primeng-confirmpopup.mjs +242 -219
  53. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  54. package/fesm2022/primeng-contextmenu.mjs +493 -433
  55. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  56. package/fesm2022/primeng-dataview.mjs +14 -10
  57. package/fesm2022/primeng-dataview.mjs.map +1 -1
  58. package/fesm2022/primeng-datepicker.mjs +808 -858
  59. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  60. package/fesm2022/primeng-dialog.mjs +352 -304
  61. package/fesm2022/primeng-dialog.mjs.map +1 -1
  62. package/fesm2022/primeng-divider.mjs +19 -11
  63. package/fesm2022/primeng-divider.mjs.map +1 -1
  64. package/fesm2022/primeng-dock.mjs +16 -13
  65. package/fesm2022/primeng-dock.mjs.map +1 -1
  66. package/fesm2022/primeng-dragdrop.mjs +10 -10
  67. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  68. package/fesm2022/primeng-drawer.mjs +272 -256
  69. package/fesm2022/primeng-drawer.mjs.map +1 -1
  70. package/fesm2022/primeng-dynamicdialog.mjs +43 -21
  71. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  72. package/fesm2022/primeng-editor.mjs +12 -12
  73. package/fesm2022/primeng-editor.mjs.map +1 -1
  74. package/fesm2022/primeng-fieldset.mjs +104 -86
  75. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  76. package/fesm2022/primeng-fileupload.mjs +59 -52
  77. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  78. package/fesm2022/primeng-floatlabel.mjs +10 -10
  79. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  80. package/fesm2022/primeng-fluid.mjs +10 -10
  81. package/fesm2022/primeng-focustrap.mjs +7 -7
  82. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  83. package/fesm2022/primeng-galleria.mjs +208 -131
  84. package/fesm2022/primeng-galleria.mjs.map +1 -1
  85. package/fesm2022/primeng-iconfield.mjs +10 -10
  86. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  87. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  88. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  89. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  90. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  91. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  92. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  93. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  94. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  95. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  96. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  97. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  98. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  99. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  100. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  101. package/fesm2022/primeng-icons-ban.mjs +3 -3
  102. package/fesm2022/primeng-icons-bars.mjs +3 -3
  103. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  104. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-blank.mjs +3 -3
  106. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  107. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  108. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  109. package/fesm2022/primeng-icons-check.mjs +3 -3
  110. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  111. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  112. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  113. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  114. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  115. package/fesm2022/primeng-icons-eye.mjs +3 -3
  116. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  117. package/fesm2022/primeng-icons-filter.mjs +3 -3
  118. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  119. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  120. package/fesm2022/primeng-icons-home.mjs +3 -3
  121. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  122. package/fesm2022/primeng-icons-minus.mjs +3 -3
  123. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  124. package/fesm2022/primeng-icons-plus.mjs +3 -3
  125. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  126. package/fesm2022/primeng-icons-search.mjs +3 -3
  127. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  128. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  129. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  130. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  131. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  132. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  133. package/fesm2022/primeng-icons-star.mjs +3 -3
  134. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  135. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  136. package/fesm2022/primeng-icons-times.mjs +3 -3
  137. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  138. package/fesm2022/primeng-icons-trash.mjs +3 -3
  139. package/fesm2022/primeng-icons-undo.mjs +3 -3
  140. package/fesm2022/primeng-icons-upload.mjs +3 -3
  141. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  142. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  143. package/fesm2022/primeng-iftalabel.mjs +10 -10
  144. package/fesm2022/primeng-image.mjs +215 -172
  145. package/fesm2022/primeng-image.mjs.map +1 -1
  146. package/fesm2022/primeng-imagecompare.mjs +10 -10
  147. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  148. package/fesm2022/primeng-inplace.mjs +19 -19
  149. package/fesm2022/primeng-inplace.mjs.map +1 -1
  150. package/fesm2022/primeng-inputgroup.mjs +10 -10
  151. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  152. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  153. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  154. package/fesm2022/primeng-inputicon.mjs +10 -10
  155. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  156. package/fesm2022/primeng-inputmask.mjs +13 -11
  157. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  158. package/fesm2022/primeng-inputnumber.mjs +39 -14
  159. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  160. package/fesm2022/primeng-inputotp.mjs +16 -12
  161. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  162. package/fesm2022/primeng-inputtext.mjs +46 -15
  163. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  164. package/fesm2022/primeng-keyfilter.mjs +7 -7
  165. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  166. package/fesm2022/primeng-knob.mjs +10 -10
  167. package/fesm2022/primeng-knob.mjs.map +1 -1
  168. package/fesm2022/primeng-listbox.mjs +35 -19
  169. package/fesm2022/primeng-listbox.mjs.map +1 -1
  170. package/fesm2022/primeng-megamenu.mjs +24 -18
  171. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  172. package/fesm2022/primeng-menu.mjs +265 -254
  173. package/fesm2022/primeng-menu.mjs.map +1 -1
  174. package/fesm2022/primeng-menubar.mjs +53 -23
  175. package/fesm2022/primeng-menubar.mjs.map +1 -1
  176. package/fesm2022/primeng-message.mjs +118 -144
  177. package/fesm2022/primeng-message.mjs.map +1 -1
  178. package/fesm2022/primeng-metergroup.mjs +78 -25
  179. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  180. package/fesm2022/primeng-motion.mjs +660 -0
  181. package/fesm2022/primeng-motion.mjs.map +1 -0
  182. package/fesm2022/primeng-multiselect.mjs +113 -62
  183. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  184. package/fesm2022/primeng-orderlist.mjs +65 -19
  185. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  186. package/fesm2022/primeng-organizationchart.mjs +25 -27
  187. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  188. package/fesm2022/primeng-overlay.mjs +201 -110
  189. package/fesm2022/primeng-overlay.mjs.map +1 -1
  190. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  191. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  192. package/fesm2022/primeng-paginator.mjs +18 -14
  193. package/fesm2022/primeng-paginator.mjs.map +1 -1
  194. package/fesm2022/primeng-panel.mjs +70 -127
  195. package/fesm2022/primeng-panel.mjs.map +1 -1
  196. package/fesm2022/primeng-panelmenu.mjs +156 -170
  197. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  198. package/fesm2022/primeng-password.mjs +151 -178
  199. package/fesm2022/primeng-password.mjs.map +1 -1
  200. package/fesm2022/primeng-picklist.mjs +119 -95
  201. package/fesm2022/primeng-picklist.mjs.map +1 -1
  202. package/fesm2022/primeng-popover.mjs +149 -246
  203. package/fesm2022/primeng-popover.mjs.map +1 -1
  204. package/fesm2022/primeng-progressbar.mjs +25 -17
  205. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  206. package/fesm2022/primeng-progressspinner.mjs +10 -10
  207. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  208. package/fesm2022/primeng-radiobutton.mjs +27 -15
  209. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  210. package/fesm2022/primeng-rating.mjs +18 -11
  211. package/fesm2022/primeng-rating.mjs.map +1 -1
  212. package/fesm2022/primeng-ripple.mjs +22 -15
  213. package/fesm2022/primeng-ripple.mjs.map +1 -1
  214. package/fesm2022/primeng-scroller.mjs +22 -16
  215. package/fesm2022/primeng-scroller.mjs.map +1 -1
  216. package/fesm2022/primeng-scrollpanel.mjs +25 -21
  217. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  218. package/fesm2022/primeng-scrolltop.mjs +104 -109
  219. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  220. package/fesm2022/primeng-select.mjs +105 -56
  221. package/fesm2022/primeng-select.mjs.map +1 -1
  222. package/fesm2022/primeng-selectbutton.mjs +20 -12
  223. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  224. package/fesm2022/primeng-skeleton.mjs +23 -15
  225. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  226. package/fesm2022/primeng-slider.mjs +50 -25
  227. package/fesm2022/primeng-slider.mjs.map +1 -1
  228. package/fesm2022/primeng-speeddial.mjs +21 -17
  229. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  230. package/fesm2022/primeng-splitbutton.mjs +52 -28
  231. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  232. package/fesm2022/primeng-splitter.mjs +25 -16
  233. package/fesm2022/primeng-splitter.mjs.map +1 -1
  234. package/fesm2022/primeng-stepper.mjs +109 -125
  235. package/fesm2022/primeng-stepper.mjs.map +1 -1
  236. package/fesm2022/primeng-steps.mjs +13 -11
  237. package/fesm2022/primeng-steps.mjs.map +1 -1
  238. package/fesm2022/primeng-styleclass.mjs +8 -8
  239. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  240. package/fesm2022/primeng-table.mjs +660 -529
  241. package/fesm2022/primeng-table.mjs.map +1 -1
  242. package/fesm2022/primeng-tabs.mjs +37 -37
  243. package/fesm2022/primeng-tabs.mjs.map +1 -1
  244. package/fesm2022/primeng-tag.mjs +18 -11
  245. package/fesm2022/primeng-tag.mjs.map +1 -1
  246. package/fesm2022/primeng-terminal.mjs +14 -15
  247. package/fesm2022/primeng-terminal.mjs.map +1 -1
  248. package/fesm2022/primeng-textarea.mjs +35 -13
  249. package/fesm2022/primeng-textarea.mjs.map +1 -1
  250. package/fesm2022/primeng-tieredmenu.mjs +142 -156
  251. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  252. package/fesm2022/primeng-timeline.mjs +30 -23
  253. package/fesm2022/primeng-timeline.mjs.map +1 -1
  254. package/fesm2022/primeng-toast.mjs +150 -128
  255. package/fesm2022/primeng-toast.mjs.map +1 -1
  256. package/fesm2022/primeng-togglebutton.mjs +23 -13
  257. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  258. package/fesm2022/primeng-toggleswitch.mjs +25 -16
  259. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  260. package/fesm2022/primeng-toolbar.mjs +10 -10
  261. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  262. package/fesm2022/primeng-tooltip.mjs +37 -14
  263. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  264. package/fesm2022/primeng-tree.mjs +57 -30
  265. package/fesm2022/primeng-tree.mjs.map +1 -1
  266. package/fesm2022/primeng-treeselect.mjs +44 -36
  267. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  268. package/fesm2022/primeng-treetable.mjs +136 -99
  269. package/fesm2022/primeng-treetable.mjs.map +1 -1
  270. package/fesm2022/primeng-types-motion.mjs +4 -0
  271. package/fesm2022/primeng-types-motion.mjs.map +1 -0
  272. package/fesm2022/primeng-usestyle.mjs +3 -3
  273. package/package.json +607 -599
  274. package/{accordion/index.d.ts → types/primeng-accordion.d.ts} +37 -26
  275. package/{api/index.d.ts → types/primeng-api.d.ts} +7 -1
  276. package/{autocomplete/index.d.ts → types/primeng-autocomplete.d.ts} +13 -3
  277. package/{avatar/index.d.ts → types/primeng-avatar.d.ts} +1 -0
  278. package/{badge/index.d.ts → types/primeng-badge.d.ts} +36 -17
  279. package/{basecomponent/index.d.ts → types/primeng-basecomponent.d.ts} +6 -5
  280. package/{bind/index.d.ts → types/primeng-bind.d.ts} +2 -2
  281. package/{button/index.d.ts → types/primeng-button.d.ts} +80 -31
  282. package/{cascadeselect/index.d.ts → types/primeng-cascadeselect.d.ts} +8 -2
  283. package/{checkbox/index.d.ts → types/primeng-checkbox.d.ts} +1 -0
  284. package/{chip/index.d.ts → types/primeng-chip.d.ts} +8 -0
  285. package/{classnames/index.d.ts → types/primeng-classnames.d.ts} +1 -1
  286. package/{colorpicker/index.d.ts → types/primeng-colorpicker.d.ts} +28 -29
  287. package/{config/index.d.ts → types/primeng-config.d.ts} +3 -7
  288. package/{confirmdialog/index.d.ts → types/primeng-confirmdialog.d.ts} +7 -8
  289. package/{confirmpopup/index.d.ts → types/primeng-confirmpopup.d.ts} +39 -17
  290. package/{contextmenu/index.d.ts → types/primeng-contextmenu.d.ts} +38 -25
  291. package/{datepicker/index.d.ts → types/primeng-datepicker.d.ts} +19 -8
  292. package/{dialog/index.d.ts → types/primeng-dialog.d.ts} +36 -19
  293. package/{divider/index.d.ts → types/primeng-divider.d.ts} +1 -0
  294. package/{drawer/index.d.ts → types/primeng-drawer.d.ts} +36 -22
  295. package/{dynamicdialog/index.d.ts → types/primeng-dynamicdialog.d.ts} +18 -2
  296. package/{fieldset/index.d.ts → types/primeng-fieldset.d.ts} +31 -12
  297. package/{galleria/index.d.ts → types/primeng-galleria.d.ts} +26 -6
  298. package/{image/index.d.ts → types/primeng-image.d.ts} +44 -15
  299. package/{inputnumber/index.d.ts → types/primeng-inputnumber.d.ts} +1 -0
  300. package/types/primeng-inputtext.d.ts +116 -0
  301. package/{listbox/index.d.ts → types/primeng-listbox.d.ts} +2 -0
  302. package/{menu/index.d.ts → types/primeng-menu.d.ts} +14 -7
  303. package/{message/index.d.ts → types/primeng-message.d.ts} +13 -5
  304. package/{metergroup/index.d.ts → types/primeng-metergroup.d.ts} +2 -0
  305. package/types/primeng-motion.d.ts +396 -0
  306. package/{multiselect/index.d.ts → types/primeng-multiselect.d.ts} +13 -3
  307. package/{overlay/index.d.ts → types/primeng-overlay.d.ts} +80 -15
  308. package/{panel/index.d.ts → types/primeng-panel.d.ts} +19 -6
  309. package/{panelmenu/index.d.ts → types/primeng-panelmenu.d.ts} +14 -19
  310. package/{password/index.d.ts → types/primeng-password.d.ts} +33 -14
  311. package/{picklist/index.d.ts → types/primeng-picklist.d.ts} +6 -4
  312. package/{popover/index.d.ts → types/primeng-popover.d.ts} +27 -11
  313. package/{progressbar/index.d.ts → types/primeng-progressbar.d.ts} +3 -1
  314. package/{radiobutton/index.d.ts → types/primeng-radiobutton.d.ts} +1 -0
  315. package/{rating/index.d.ts → types/primeng-rating.d.ts} +1 -0
  316. package/{scrolltop/index.d.ts → types/primeng-scrolltop.d.ts} +15 -5
  317. package/{select/index.d.ts → types/primeng-select.d.ts} +13 -3
  318. package/{selectbutton/index.d.ts → types/primeng-selectbutton.d.ts} +1 -0
  319. package/{skeleton/index.d.ts → types/primeng-skeleton.d.ts} +1 -0
  320. package/{slider/index.d.ts → types/primeng-slider.d.ts} +1 -0
  321. package/{speeddial/index.d.ts → types/primeng-speeddial.d.ts} +2 -2
  322. package/{splitbutton/index.d.ts → types/primeng-splitbutton.d.ts} +17 -6
  323. package/{splitter/index.d.ts → types/primeng-splitter.d.ts} +1 -0
  324. package/{stepper/index.d.ts → types/primeng-stepper.d.ts} +12 -7
  325. package/{table/index.d.ts → types/primeng-table.d.ts} +51 -10
  326. package/{tag/index.d.ts → types/primeng-tag.d.ts} +1 -0
  327. package/{textarea/index.d.ts → types/primeng-textarea.d.ts} +14 -1
  328. package/{tieredmenu/index.d.ts → types/primeng-tieredmenu.d.ts} +14 -8
  329. package/{timeline/index.d.ts → types/primeng-timeline.d.ts} +1 -0
  330. package/{toast/index.d.ts → types/primeng-toast.d.ts} +28 -5
  331. package/{togglebutton/index.d.ts → types/primeng-togglebutton.d.ts} +1 -0
  332. package/{toggleswitch/index.d.ts → types/primeng-toggleswitch.d.ts} +1 -0
  333. package/{tooltip/index.d.ts → types/primeng-tooltip.d.ts} +21 -3
  334. package/{tree/index.d.ts → types/primeng-tree.d.ts} +2 -0
  335. package/{treeselect/index.d.ts → types/primeng-treeselect.d.ts} +22 -17
  336. package/{treetable/index.d.ts → types/primeng-treetable.d.ts} +2 -0
  337. package/types/{accordion/index.d.ts → primeng-types-accordion.d.ts} +9 -0
  338. package/types/{autocomplete/index.d.ts → primeng-types-autocomplete.d.ts} +1 -1
  339. package/types/{checkbox/index.d.ts → primeng-types-checkbox.d.ts} +18 -1
  340. package/types/{colorpicker/index.d.ts → primeng-types-colorpicker.d.ts} +5 -0
  341. package/types/{confirmpopup/index.d.ts → primeng-types-confirmpopup.d.ts} +5 -0
  342. package/types/{contextmenu/index.d.ts → primeng-types-contextmenu.d.ts} +5 -0
  343. package/types/{datepicker/index.d.ts → primeng-types-datepicker.d.ts} +5 -0
  344. package/types/{dialog/index.d.ts → primeng-types-dialog.d.ts} +5 -0
  345. package/types/{drawer/index.d.ts → primeng-types-drawer.d.ts} +5 -0
  346. package/types/{fieldset/index.d.ts → primeng-types-fieldset.d.ts} +9 -0
  347. package/types/{galleria/index.d.ts → primeng-types-galleria.d.ts} +5 -0
  348. package/types/{image/index.d.ts → primeng-types-image.d.ts} +5 -0
  349. package/types/{menu/index.d.ts → primeng-types-menu.d.ts} +5 -0
  350. package/types/{message/index.d.ts → primeng-types-message.d.ts} +5 -0
  351. package/types/{metergroup/index.d.ts → primeng-types-metergroup.d.ts} +27 -4
  352. package/types/primeng-types-motion.d.ts +26 -0
  353. package/types/{multiselect/index.d.ts → primeng-types-multiselect.d.ts} +8 -1
  354. package/types/{overlay/index.d.ts → primeng-types-overlay.d.ts} +5 -0
  355. package/types/{panel/index.d.ts → primeng-types-panel.d.ts} +9 -0
  356. package/types/{panelmenu/index.d.ts → primeng-types-panelmenu.d.ts} +9 -0
  357. package/types/{password/index.d.ts → primeng-types-password.d.ts} +11 -0
  358. package/types/{popover/index.d.ts → primeng-types-popover.d.ts} +5 -0
  359. package/types/{scrolltop/index.d.ts → primeng-types-scrolltop.d.ts} +5 -0
  360. package/types/{stepper/index.d.ts → primeng-types-stepper.d.ts} +9 -0
  361. package/types/{table/index.d.ts → primeng-types-table.d.ts} +20 -11
  362. package/types/{tieredmenu/index.d.ts → primeng-types-tieredmenu.d.ts} +5 -0
  363. package/types/{toast/index.d.ts → primeng-types-toast.d.ts} +5 -0
  364. package/inputtext/index.d.ts +0 -97
  365. /package/{animateonscroll/index.d.ts → types/primeng-animateonscroll.d.ts} +0 -0
  366. /package/{autofocus/index.d.ts → types/primeng-autofocus.d.ts} +0 -0
  367. /package/{avatargroup/index.d.ts → types/primeng-avatargroup.d.ts} +0 -0
  368. /package/{base/index.d.ts → types/primeng-base.d.ts} +0 -0
  369. /package/{baseeditableholder/index.d.ts → types/primeng-baseeditableholder.d.ts} +0 -0
  370. /package/{baseinput/index.d.ts → types/primeng-baseinput.d.ts} +0 -0
  371. /package/{basemodelholder/index.d.ts → types/primeng-basemodelholder.d.ts} +0 -0
  372. /package/{blockui/index.d.ts → types/primeng-blockui.d.ts} +0 -0
  373. /package/{breadcrumb/index.d.ts → types/primeng-breadcrumb.d.ts} +0 -0
  374. /package/{buttongroup/index.d.ts → types/primeng-buttongroup.d.ts} +0 -0
  375. /package/{card/index.d.ts → types/primeng-card.d.ts} +0 -0
  376. /package/{carousel/index.d.ts → types/primeng-carousel.d.ts} +0 -0
  377. /package/{chart/index.d.ts → types/primeng-chart.d.ts} +0 -0
  378. /package/{dataview/index.d.ts → types/primeng-dataview.d.ts} +0 -0
  379. /package/{dock/index.d.ts → types/primeng-dock.d.ts} +0 -0
  380. /package/{dom/index.d.ts → types/primeng-dom.d.ts} +0 -0
  381. /package/{dragdrop/index.d.ts → types/primeng-dragdrop.d.ts} +0 -0
  382. /package/{editor/index.d.ts → types/primeng-editor.d.ts} +0 -0
  383. /package/{fileupload/index.d.ts → types/primeng-fileupload.d.ts} +0 -0
  384. /package/{floatlabel/index.d.ts → types/primeng-floatlabel.d.ts} +0 -0
  385. /package/{fluid/index.d.ts → types/primeng-fluid.d.ts} +0 -0
  386. /package/{focustrap/index.d.ts → types/primeng-focustrap.d.ts} +0 -0
  387. /package/{iconfield/index.d.ts → types/primeng-iconfield.d.ts} +0 -0
  388. /package/{icons/angledoubledown/index.d.ts → types/primeng-icons-angledoubledown.d.ts} +0 -0
  389. /package/{icons/angledoubleleft/index.d.ts → types/primeng-icons-angledoubleleft.d.ts} +0 -0
  390. /package/{icons/angledoubleright/index.d.ts → types/primeng-icons-angledoubleright.d.ts} +0 -0
  391. /package/{icons/angledoubleup/index.d.ts → types/primeng-icons-angledoubleup.d.ts} +0 -0
  392. /package/{icons/angledown/index.d.ts → types/primeng-icons-angledown.d.ts} +0 -0
  393. /package/{icons/angleleft/index.d.ts → types/primeng-icons-angleleft.d.ts} +0 -0
  394. /package/{icons/angleright/index.d.ts → types/primeng-icons-angleright.d.ts} +0 -0
  395. /package/{icons/angleup/index.d.ts → types/primeng-icons-angleup.d.ts} +0 -0
  396. /package/{icons/arrowdown/index.d.ts → types/primeng-icons-arrowdown.d.ts} +0 -0
  397. /package/{icons/arrowdownleft/index.d.ts → types/primeng-icons-arrowdownleft.d.ts} +0 -0
  398. /package/{icons/arrowdownright/index.d.ts → types/primeng-icons-arrowdownright.d.ts} +0 -0
  399. /package/{icons/arrowleft/index.d.ts → types/primeng-icons-arrowleft.d.ts} +0 -0
  400. /package/{icons/arrowright/index.d.ts → types/primeng-icons-arrowright.d.ts} +0 -0
  401. /package/{icons/arrowup/index.d.ts → types/primeng-icons-arrowup.d.ts} +0 -0
  402. /package/{icons/ban/index.d.ts → types/primeng-icons-ban.d.ts} +0 -0
  403. /package/{icons/bars/index.d.ts → types/primeng-icons-bars.d.ts} +0 -0
  404. /package/{icons/baseicon/index.d.ts → types/primeng-icons-baseicon.d.ts} +0 -0
  405. /package/{icons/blank/index.d.ts → types/primeng-icons-blank.d.ts} +0 -0
  406. /package/{icons/calendar/index.d.ts → types/primeng-icons-calendar.d.ts} +0 -0
  407. /package/{icons/caretleft/index.d.ts → types/primeng-icons-caretleft.d.ts} +0 -0
  408. /package/{icons/caretright/index.d.ts → types/primeng-icons-caretright.d.ts} +0 -0
  409. /package/{icons/check/index.d.ts → types/primeng-icons-check.d.ts} +0 -0
  410. /package/{icons/chevrondown/index.d.ts → types/primeng-icons-chevrondown.d.ts} +0 -0
  411. /package/{icons/chevronleft/index.d.ts → types/primeng-icons-chevronleft.d.ts} +0 -0
  412. /package/{icons/chevronright/index.d.ts → types/primeng-icons-chevronright.d.ts} +0 -0
  413. /package/{icons/chevronup/index.d.ts → types/primeng-icons-chevronup.d.ts} +0 -0
  414. /package/{icons/exclamationtriangle/index.d.ts → types/primeng-icons-exclamationtriangle.d.ts} +0 -0
  415. /package/{icons/eye/index.d.ts → types/primeng-icons-eye.d.ts} +0 -0
  416. /package/{icons/eyeslash/index.d.ts → types/primeng-icons-eyeslash.d.ts} +0 -0
  417. /package/{icons/filter/index.d.ts → types/primeng-icons-filter.d.ts} +0 -0
  418. /package/{icons/filterfill/index.d.ts → types/primeng-icons-filterfill.d.ts} +0 -0
  419. /package/{icons/filterslash/index.d.ts → types/primeng-icons-filterslash.d.ts} +0 -0
  420. /package/{icons/home/index.d.ts → types/primeng-icons-home.d.ts} +0 -0
  421. /package/{icons/infocircle/index.d.ts → types/primeng-icons-infocircle.d.ts} +0 -0
  422. /package/{icons/minus/index.d.ts → types/primeng-icons-minus.d.ts} +0 -0
  423. /package/{icons/pencil/index.d.ts → types/primeng-icons-pencil.d.ts} +0 -0
  424. /package/{icons/plus/index.d.ts → types/primeng-icons-plus.d.ts} +0 -0
  425. /package/{icons/refresh/index.d.ts → types/primeng-icons-refresh.d.ts} +0 -0
  426. /package/{icons/search/index.d.ts → types/primeng-icons-search.d.ts} +0 -0
  427. /package/{icons/searchminus/index.d.ts → types/primeng-icons-searchminus.d.ts} +0 -0
  428. /package/{icons/searchplus/index.d.ts → types/primeng-icons-searchplus.d.ts} +0 -0
  429. /package/{icons/sortalt/index.d.ts → types/primeng-icons-sortalt.d.ts} +0 -0
  430. /package/{icons/sortamountdown/index.d.ts → types/primeng-icons-sortamountdown.d.ts} +0 -0
  431. /package/{icons/sortamountupalt/index.d.ts → types/primeng-icons-sortamountupalt.d.ts} +0 -0
  432. /package/{icons/spinner/index.d.ts → types/primeng-icons-spinner.d.ts} +0 -0
  433. /package/{icons/star/index.d.ts → types/primeng-icons-star.d.ts} +0 -0
  434. /package/{icons/starfill/index.d.ts → types/primeng-icons-starfill.d.ts} +0 -0
  435. /package/{icons/thlarge/index.d.ts → types/primeng-icons-thlarge.d.ts} +0 -0
  436. /package/{icons/times/index.d.ts → types/primeng-icons-times.d.ts} +0 -0
  437. /package/{icons/timescircle/index.d.ts → types/primeng-icons-timescircle.d.ts} +0 -0
  438. /package/{icons/trash/index.d.ts → types/primeng-icons-trash.d.ts} +0 -0
  439. /package/{icons/undo/index.d.ts → types/primeng-icons-undo.d.ts} +0 -0
  440. /package/{icons/upload/index.d.ts → types/primeng-icons-upload.d.ts} +0 -0
  441. /package/{icons/windowmaximize/index.d.ts → types/primeng-icons-windowmaximize.d.ts} +0 -0
  442. /package/{icons/windowminimize/index.d.ts → types/primeng-icons-windowminimize.d.ts} +0 -0
  443. /package/{icons/index.d.ts → types/primeng-icons.d.ts} +0 -0
  444. /package/{iftalabel/index.d.ts → types/primeng-iftalabel.d.ts} +0 -0
  445. /package/{imagecompare/index.d.ts → types/primeng-imagecompare.d.ts} +0 -0
  446. /package/{inplace/index.d.ts → types/primeng-inplace.d.ts} +0 -0
  447. /package/{inputgroup/index.d.ts → types/primeng-inputgroup.d.ts} +0 -0
  448. /package/{inputgroupaddon/index.d.ts → types/primeng-inputgroupaddon.d.ts} +0 -0
  449. /package/{inputicon/index.d.ts → types/primeng-inputicon.d.ts} +0 -0
  450. /package/{inputmask/index.d.ts → types/primeng-inputmask.d.ts} +0 -0
  451. /package/{inputotp/index.d.ts → types/primeng-inputotp.d.ts} +0 -0
  452. /package/{keyfilter/index.d.ts → types/primeng-keyfilter.d.ts} +0 -0
  453. /package/{knob/index.d.ts → types/primeng-knob.d.ts} +0 -0
  454. /package/{megamenu/index.d.ts → types/primeng-megamenu.d.ts} +0 -0
  455. /package/{menubar/index.d.ts → types/primeng-menubar.d.ts} +0 -0
  456. /package/{orderlist/index.d.ts → types/primeng-orderlist.d.ts} +0 -0
  457. /package/{organizationchart/index.d.ts → types/primeng-organizationchart.d.ts} +0 -0
  458. /package/{overlaybadge/index.d.ts → types/primeng-overlaybadge.d.ts} +0 -0
  459. /package/{paginator/index.d.ts → types/primeng-paginator.d.ts} +0 -0
  460. /package/{passthrough/index.d.ts → types/primeng-passthrough.d.ts} +0 -0
  461. /package/{progressspinner/index.d.ts → types/primeng-progressspinner.d.ts} +0 -0
  462. /package/{ripple/index.d.ts → types/primeng-ripple.d.ts} +0 -0
  463. /package/{scroller/index.d.ts → types/primeng-scroller.d.ts} +0 -0
  464. /package/{scrollpanel/index.d.ts → types/primeng-scrollpanel.d.ts} +0 -0
  465. /package/{steps/index.d.ts → types/primeng-steps.d.ts} +0 -0
  466. /package/{styleclass/index.d.ts → types/primeng-styleclass.d.ts} +0 -0
  467. /package/{tabs/index.d.ts → types/primeng-tabs.d.ts} +0 -0
  468. /package/{terminal/index.d.ts → types/primeng-terminal.d.ts} +0 -0
  469. /package/{toolbar/index.d.ts → types/primeng-toolbar.d.ts} +0 -0
  470. /package/{ts-helpers/index.d.ts → types/primeng-ts-helpers.d.ts} +0 -0
  471. /package/types/{avatar/index.d.ts → primeng-types-avatar.d.ts} +0 -0
  472. /package/types/{avatargroup/index.d.ts → primeng-types-avatargroup.d.ts} +0 -0
  473. /package/types/{badge/index.d.ts → primeng-types-badge.d.ts} +0 -0
  474. /package/types/{blockui/index.d.ts → primeng-types-blockui.d.ts} +0 -0
  475. /package/types/{breadcrumb/index.d.ts → primeng-types-breadcrumb.d.ts} +0 -0
  476. /package/types/{button/index.d.ts → primeng-types-button.d.ts} +0 -0
  477. /package/types/{card/index.d.ts → primeng-types-card.d.ts} +0 -0
  478. /package/types/{carousel/index.d.ts → primeng-types-carousel.d.ts} +0 -0
  479. /package/types/{cascadeselect/index.d.ts → primeng-types-cascadeselect.d.ts} +0 -0
  480. /package/types/{chart/index.d.ts → primeng-types-chart.d.ts} +0 -0
  481. /package/types/{chip/index.d.ts → primeng-types-chip.d.ts} +0 -0
  482. /package/types/{confirmdialog/index.d.ts → primeng-types-confirmdialog.d.ts} +0 -0
  483. /package/types/{dataview/index.d.ts → primeng-types-dataview.d.ts} +0 -0
  484. /package/types/{divider/index.d.ts → primeng-types-divider.d.ts} +0 -0
  485. /package/types/{dock/index.d.ts → primeng-types-dock.d.ts} +0 -0
  486. /package/types/{editor/index.d.ts → primeng-types-editor.d.ts} +0 -0
  487. /package/types/{fileupload/index.d.ts → primeng-types-fileupload.d.ts} +0 -0
  488. /package/types/{floatlabel/index.d.ts → primeng-types-floatlabel.d.ts} +0 -0
  489. /package/types/{fluid/index.d.ts → primeng-types-fluid.d.ts} +0 -0
  490. /package/types/{iconfield/index.d.ts → primeng-types-iconfield.d.ts} +0 -0
  491. /package/types/{iftalabel/index.d.ts → primeng-types-iftalabel.d.ts} +0 -0
  492. /package/types/{imagecompare/index.d.ts → primeng-types-imagecompare.d.ts} +0 -0
  493. /package/types/{inplace/index.d.ts → primeng-types-inplace.d.ts} +0 -0
  494. /package/types/{inputgroup/index.d.ts → primeng-types-inputgroup.d.ts} +0 -0
  495. /package/types/{inputgroupaddon/index.d.ts → primeng-types-inputgroupaddon.d.ts} +0 -0
  496. /package/types/{inputicon/index.d.ts → primeng-types-inputicon.d.ts} +0 -0
  497. /package/types/{inputmask/index.d.ts → primeng-types-inputmask.d.ts} +0 -0
  498. /package/types/{inputnumber/index.d.ts → primeng-types-inputnumber.d.ts} +0 -0
  499. /package/types/{inputotp/index.d.ts → primeng-types-inputotp.d.ts} +0 -0
  500. /package/types/{inputtext/index.d.ts → primeng-types-inputtext.d.ts} +0 -0
  501. /package/types/{knob/index.d.ts → primeng-types-knob.d.ts} +0 -0
  502. /package/types/{listbox/index.d.ts → primeng-types-listbox.d.ts} +0 -0
  503. /package/types/{megamenu/index.d.ts → primeng-types-megamenu.d.ts} +0 -0
  504. /package/types/{menubar/index.d.ts → primeng-types-menubar.d.ts} +0 -0
  505. /package/types/{orderlist/index.d.ts → primeng-types-orderlist.d.ts} +0 -0
  506. /package/types/{organizationchart/index.d.ts → primeng-types-organizationchart.d.ts} +0 -0
  507. /package/types/{overlaybadge/index.d.ts → primeng-types-overlaybadge.d.ts} +0 -0
  508. /package/types/{paginator/index.d.ts → primeng-types-paginator.d.ts} +0 -0
  509. /package/types/{picklist/index.d.ts → primeng-types-picklist.d.ts} +0 -0
  510. /package/types/{progressbar/index.d.ts → primeng-types-progressbar.d.ts} +0 -0
  511. /package/types/{progressspinner/index.d.ts → primeng-types-progressspinner.d.ts} +0 -0
  512. /package/types/{radiobutton/index.d.ts → primeng-types-radiobutton.d.ts} +0 -0
  513. /package/types/{rating/index.d.ts → primeng-types-rating.d.ts} +0 -0
  514. /package/types/{scroller/index.d.ts → primeng-types-scroller.d.ts} +0 -0
  515. /package/types/{scrollpanel/index.d.ts → primeng-types-scrollpanel.d.ts} +0 -0
  516. /package/types/{select/index.d.ts → primeng-types-select.d.ts} +0 -0
  517. /package/types/{selectbutton/index.d.ts → primeng-types-selectbutton.d.ts} +0 -0
  518. /package/types/{skeleton/index.d.ts → primeng-types-skeleton.d.ts} +0 -0
  519. /package/types/{slider/index.d.ts → primeng-types-slider.d.ts} +0 -0
  520. /package/types/{speeddial/index.d.ts → primeng-types-speeddial.d.ts} +0 -0
  521. /package/types/{splitbutton/index.d.ts → primeng-types-splitbutton.d.ts} +0 -0
  522. /package/types/{splitter/index.d.ts → primeng-types-splitter.d.ts} +0 -0
  523. /package/types/{tabs/index.d.ts → primeng-types-tabs.d.ts} +0 -0
  524. /package/types/{tag/index.d.ts → primeng-types-tag.d.ts} +0 -0
  525. /package/types/{terminal/index.d.ts → primeng-types-terminal.d.ts} +0 -0
  526. /package/types/{textarea/index.d.ts → primeng-types-textarea.d.ts} +0 -0
  527. /package/types/{timeline/index.d.ts → primeng-types-timeline.d.ts} +0 -0
  528. /package/types/{togglebutton/index.d.ts → primeng-types-togglebutton.d.ts} +0 -0
  529. /package/types/{toggleswitch/index.d.ts → primeng-types-toggleswitch.d.ts} +0 -0
  530. /package/types/{toolbar/index.d.ts → primeng-types-toolbar.d.ts} +0 -0
  531. /package/types/{tooltip/index.d.ts → primeng-types-tooltip.d.ts} +0 -0
  532. /package/types/{tree/index.d.ts → primeng-types-tree.d.ts} +0 -0
  533. /package/types/{treeselect/index.d.ts → primeng-types-treeselect.d.ts} +0 -0
  534. /package/types/{treetable/index.d.ts → primeng-types-treetable.d.ts} +0 -0
  535. /package/{usestyle/index.d.ts → types/primeng-usestyle.d.ts} +0 -0
  536. /package/{utils/index.d.ts → types/primeng-utils.d.ts} +0 -0
  537. /package/{index.d.ts → types/primeng.d.ts} +0 -0
@@ -1,12 +1,11 @@
1
1
  export * from 'primeng/types/menu';
2
- import { trigger, transition, style as style$1, animate } from '@angular/animations';
3
2
  import * as i2 from '@angular/common';
4
3
  import { isPlatformBrowser, CommonModule } from '@angular/common';
5
4
  import * as i0 from '@angular/core';
6
5
  import { Injectable, InjectionToken, PLATFORM_ID, Inject, Pipe, input, EventEmitter, inject, forwardRef, Output, Input, ViewEncapsulation, Component, computed, signal, numberAttribute, booleanAttribute, ContentChildren, ContentChild, ViewChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
7
6
  import * as i3 from '@angular/router';
8
7
  import { RouterModule } from '@angular/router';
9
- import { uuid, focus, relativePosition, absolutePosition, isTouchDevice, find, findSingle } from '@primeuix/utils';
8
+ import { uuid, addStyle, absolutePosition, focus, appendChild, isTouchDevice, find, findSingle } from '@primeuix/utils';
10
9
  import * as i6 from 'primeng/api';
11
10
  import { SharedModule, PrimeTemplate } from 'primeng/api';
12
11
  import * as i5 from 'primeng/badge';
@@ -14,7 +13,9 @@ import { BadgeModule } from 'primeng/badge';
14
13
  import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
15
14
  import * as i4 from 'primeng/bind';
16
15
  import { BindModule, Bind } from 'primeng/bind';
17
- import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
16
+ import { ConnectedOverlayScrollHandler } from 'primeng/dom';
17
+ import * as i8 from 'primeng/motion';
18
+ import { MotionModule } from 'primeng/motion';
18
19
  import { Ripple } from 'primeng/ripple';
19
20
  import * as i7 from 'primeng/tooltip';
20
21
  import { TooltipModule } from 'primeng/tooltip';
@@ -56,10 +57,10 @@ class MenuStyle extends BaseStyle {
56
57
  style = style;
57
58
  classes = classes;
58
59
  inlineStyles = inlineStyles;
59
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
60
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MenuStyle });
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
61
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MenuStyle });
61
62
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MenuStyle, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MenuStyle, decorators: [{
63
64
  type: Injectable
64
65
  }] });
65
66
  /**
@@ -133,10 +134,10 @@ class SafeHtmlPipe {
133
134
  }
134
135
  return this.sanitizer.bypassSecurityTrustHtml(value);
135
136
  }
136
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: PLATFORM_ID }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
137
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" });
137
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: PLATFORM_ID }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
138
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" });
138
139
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SafeHtmlPipe, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: SafeHtmlPipe, decorators: [{
140
141
  type: Pipe,
141
142
  args: [{
142
143
  name: 'safeHtml',
@@ -165,8 +166,8 @@ class MenuItemContent extends BaseComponent {
165
166
  getPTOptions(key) {
166
167
  return this.menu.getPTOptions(key, this.item, this.idx(), this.menuitemId());
167
168
  }
168
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MenuItemContent, deps: [{ token: forwardRef(() => Menu) }], target: i0.ɵɵFactoryTarget.Component });
169
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.4", type: MenuItemContent, isStandalone: true, selector: "[pMenuItemContent]", inputs: { item: { classPropertyName: "item", publicName: "pMenuItemContent", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, menuitemId: { classPropertyName: "menuitemId", publicName: "menuitemId", isSignal: true, isRequired: false, transformFunction: null }, idx: { classPropertyName: "idx", publicName: "idx", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMenuItemClick: "onMenuItemClick" }, providers: [MenuStyle], usesInheritance: true, ngImport: i0, template: ` <div [class]="cx('itemContent')" (click)="onItemClick($event, item)" [attr.data-pc-section]="'content'" [pBind]="getPTOptions('itemContent')">
169
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MenuItemContent, deps: [{ token: forwardRef(() => Menu) }], target: i0.ɵɵFactoryTarget.Component });
170
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: MenuItemContent, isStandalone: true, selector: "[pMenuItemContent]", inputs: { item: { classPropertyName: "item", publicName: "pMenuItemContent", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, menuitemId: { classPropertyName: "menuitemId", publicName: "menuitemId", isSignal: true, isRequired: false, transformFunction: null }, idx: { classPropertyName: "idx", publicName: "idx", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMenuItemClick: "onMenuItemClick" }, providers: [MenuStyle], usesInheritance: true, ngImport: i0, template: ` <div [class]="cx('itemContent')" (click)="onItemClick($event, item)" [attr.data-pc-section]="'content'" [pBind]="getPTOptions('itemContent')">
170
171
  <ng-container *ngIf="!itemTemplate">
171
172
  <a
172
173
  *ngIf="!item?.routerLink"
@@ -212,12 +213,12 @@ class MenuItemContent extends BaseComponent {
212
213
  <ng-template #itemContent>
213
214
  <span [class]="cx('itemIcon', { item })" [pBind]="getPTOptions('itemIcon')" *ngIf="item.icon" [style]="item.iconStyle" [attr.data-pc-section]="'itemicon'"></span>
214
215
  <span [class]="cx('itemLabel')" [pBind]="getPTOptions('itemLabel')" [attr.data-pc-section]="'itemlabel'" *ngIf="item.escape !== false; else htmlLabel">{{ item.label }}</span>
215
- <ng-template #htmlLabel><span class="p-menu-item-label" [attr.data-pc-section]="'itemlabel'" [innerHTML]="item.label | safeHtml" [pBind]="getPTOptions('itemLabel')"></span></ng-template>
216
- <p-badge *ngIf="item.badge" [styleClass]="item.badgeStyleClass" [value]="item.badge" [pt]="getPTOptions('pcBadge')" />
216
+ <ng-template #htmlLabel><span [class]="cx('itemLabel')" [attr.data-pc-section]="'itemlabel'" [innerHTML]="item.label | safeHtml" [pBind]="getPTOptions('itemLabel')"></span></ng-template>
217
+ <p-badge *ngIf="item.badge" [styleClass]="item.badgeStyleClass" [value]="item.badge" [pt]="getPTOptions('pcBadge')" [unstyled]="unstyled()" />
217
218
  </ng-template>
218
219
  </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i5.Badge, selector: "p-badge", inputs: ["styleClass", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], encapsulation: i0.ViewEncapsulation.None });
219
220
  }
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MenuItemContent, decorators: [{
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MenuItemContent, decorators: [{
221
222
  type: Component,
222
223
  args: [{
223
224
  selector: '[pMenuItemContent]',
@@ -269,8 +270,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
269
270
  <ng-template #itemContent>
270
271
  <span [class]="cx('itemIcon', { item })" [pBind]="getPTOptions('itemIcon')" *ngIf="item.icon" [style]="item.iconStyle" [attr.data-pc-section]="'itemicon'"></span>
271
272
  <span [class]="cx('itemLabel')" [pBind]="getPTOptions('itemLabel')" [attr.data-pc-section]="'itemlabel'" *ngIf="item.escape !== false; else htmlLabel">{{ item.label }}</span>
272
- <ng-template #htmlLabel><span class="p-menu-item-label" [attr.data-pc-section]="'itemlabel'" [innerHTML]="item.label | safeHtml" [pBind]="getPTOptions('itemLabel')"></span></ng-template>
273
- <p-badge *ngIf="item.badge" [styleClass]="item.badgeStyleClass" [value]="item.badge" [pt]="getPTOptions('pcBadge')" />
273
+ <ng-template #htmlLabel><span [class]="cx('itemLabel')" [attr.data-pc-section]="'itemlabel'" [innerHTML]="item.label | safeHtml" [pBind]="getPTOptions('itemLabel')"></span></ng-template>
274
+ <p-badge *ngIf="item.badge" [styleClass]="item.badgeStyleClass" [value]="item.badge" [pt]="getPTOptions('pcBadge')" [unstyled]="unstyled()" />
274
275
  </ng-template>
275
276
  </div>`,
276
277
  encapsulation: ViewEncapsulation.None,
@@ -284,7 +285,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
284
285
  args: ['pMenuItemContent']
285
286
  }], itemTemplate: [{
286
287
  type: Input
287
- }], onMenuItemClick: [{
288
+ }], menuitemId: [{ type: i0.Input, args: [{ isSignal: true, alias: "menuitemId", required: false }] }], idx: [{ type: i0.Input, args: [{ isSignal: true, alias: "idx", required: false }] }], onMenuItemClick: [{
288
289
  type: Output
289
290
  }] } });
290
291
  /**
@@ -325,11 +326,13 @@ class Menu extends BaseComponent {
325
326
  baseZIndex = 0;
326
327
  /**
327
328
  * Transition options of the show animation.
329
+ * @deprecated since v21.0.0, use `motionOptions` instead.
328
330
  * @group Props
329
331
  */
330
332
  showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';
331
333
  /**
332
334
  * Transition options of the hide animation.
335
+ * @deprecated since v21.0.0, use `motionOptions` instead.
333
336
  * @group Props
334
337
  */
335
338
  hideTransitionOptions = '.1s linear';
@@ -359,6 +362,17 @@ class Menu extends BaseComponent {
359
362
  * @group Props
360
363
  */
361
364
  appendTo = input(undefined, ...(ngDevMode ? [{ debugName: "appendTo" }] : []));
365
+ /**
366
+ * The motion options.
367
+ * @group Props
368
+ */
369
+ motionOptions = input(undefined, ...(ngDevMode ? [{ debugName: "motionOptions" }] : []));
370
+ computedMotionOptions = computed(() => {
371
+ return {
372
+ ...this.ptm('motion'),
373
+ ...this.motionOptions()
374
+ };
375
+ }, ...(ngDevMode ? [{ debugName: "computedMotionOptions" }] : []));
362
376
  /**
363
377
  * Callback to invoke when overlay menu is shown.
364
378
  * @group Emits
@@ -398,7 +412,6 @@ class Menu extends BaseComponent {
398
412
  selectedOptionIndex = signal(-1, ...(ngDevMode ? [{ debugName: "selectedOptionIndex" }] : []));
399
413
  focused = false;
400
414
  overlayVisible = false;
401
- relativeAlign;
402
415
  $pcMenu = inject(MENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
403
416
  _componentStyle = inject(MenuStyle);
404
417
  bindDirectiveInstance = inject(Bind, { self: true });
@@ -438,8 +451,11 @@ class Menu extends BaseComponent {
438
451
  * @group Method
439
452
  */
440
453
  show(event) {
454
+ // Clear container if exists but overlay is not currently visible (fast toggle case)
455
+ if (this.container && !this.overlayVisible) {
456
+ this.container = undefined;
457
+ }
441
458
  this.target = event.currentTarget;
442
- this.relativeAlign = event.relativeAlign;
443
459
  this.visible = true;
444
460
  this.preventDocumentDefault = true;
445
461
  this.overlayVisible = true;
@@ -505,49 +521,37 @@ class Menu extends BaseComponent {
505
521
  getTabIndexValue() {
506
522
  return this.tabindex !== undefined ? this.tabindex.toString() : null;
507
523
  }
508
- onOverlayAnimationStart(event) {
509
- switch (event.toState) {
510
- case 'visible':
511
- if (this.popup) {
512
- this.container = event.element;
513
- this.moveOnTop();
514
- this.onShow.emit({});
515
- this.$attrSelector && this.container?.setAttribute(this.$attrSelector, '');
516
- this.appendOverlay();
517
- this.alignOverlay();
518
- this.bindDocumentClickListener();
519
- this.bindDocumentResizeListener();
520
- this.bindScrollListener();
521
- focus(this.listViewChild?.nativeElement);
522
- }
523
- break;
524
- case 'void':
525
- this.onOverlayHide();
526
- this.onHide.emit({});
527
- break;
528
- }
529
- }
530
- onOverlayAnimationEnd(event) {
531
- switch (event.toState) {
532
- case 'void':
533
- if (this.autoZIndex) {
534
- ZIndexUtils.clear(event.element);
535
- }
536
- break;
537
- }
524
+ onOverlayBeforeEnter(event) {
525
+ this.container = event.element;
526
+ addStyle(this.container, { position: 'absolute', top: '0' });
527
+ this.appendOverlay();
528
+ this.moveOnTop();
529
+ this.$attrSelector && this.container?.setAttribute(this.$attrSelector, '');
530
+ this.bindDocumentClickListener();
531
+ this.bindDocumentResizeListener();
532
+ this.bindScrollListener();
533
+ absolutePosition(this.container, this.target);
534
+ focus(this.listViewChild?.nativeElement);
535
+ this.onShow.emit({});
538
536
  }
539
- alignOverlay() {
540
- if (this.relativeAlign)
541
- relativePosition(this.container, this.target);
542
- else
543
- absolutePosition(this.container, this.target);
537
+ onOverlayAfterLeave() {
538
+ this.restoreOverlayAppend();
539
+ this.onOverlayHide();
540
+ this.onHide.emit({});
544
541
  }
545
542
  appendOverlay() {
546
- DomHandler.appendOverlay(this.container, this.$appendTo() === 'body' ? this.document.body : this.$appendTo(), this.$appendTo());
543
+ if (this.$appendTo() && this.$appendTo() !== 'self') {
544
+ if (this.$appendTo() === 'body') {
545
+ appendChild(this.document.body, this.container);
546
+ }
547
+ else {
548
+ appendChild(this.$appendTo(), this.container);
549
+ }
550
+ }
547
551
  }
548
552
  restoreOverlayAppend() {
549
553
  if (this.container && this.$appendTo() !== 'self') {
550
- this.renderer.appendChild(this.el.nativeElement, this.container);
554
+ appendChild(this.el.nativeElement, this.container);
551
555
  }
552
556
  }
553
557
  moveOnTop() {
@@ -561,7 +565,7 @@ class Menu extends BaseComponent {
561
565
  */
562
566
  hide() {
563
567
  this.visible = false;
564
- this.relativeAlign = false;
568
+ this.overlayVisible = false;
565
569
  this.cd.markForCheck();
566
570
  }
567
571
  onWindowResize() {
@@ -780,6 +784,12 @@ class Menu extends BaseComponent {
780
784
  if (!this.cd.destroyed) {
781
785
  this.target = null;
782
786
  }
787
+ if (this.container) {
788
+ if (this.autoZIndex) {
789
+ ZIndexUtils.clear(this.container);
790
+ }
791
+ this.container = undefined;
792
+ }
783
793
  }
784
794
  onDestroy() {
785
795
  if (this.popup) {
@@ -787,8 +797,11 @@ class Menu extends BaseComponent {
787
797
  this.scrollHandler.destroy();
788
798
  this.scrollHandler = null;
789
799
  }
790
- if (this.container && this.autoZIndex) {
791
- ZIndexUtils.clear(this.container);
800
+ if (this.container) {
801
+ if (this.autoZIndex) {
802
+ ZIndexUtils.clear(this.container);
803
+ }
804
+ this.container = undefined;
792
805
  }
793
806
  this.restoreOverlayAppend();
794
807
  this.onOverlayHide();
@@ -806,229 +819,227 @@ class Menu extends BaseComponent {
806
819
  }
807
820
  return item.visible === false;
808
821
  }
809
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Menu, deps: [{ token: i6.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
810
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.4", type: Menu, isStandalone: true, selector: "p-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 }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", 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 }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onShow: "onShow", onHide: "onHide", onBlur: "onBlur", onFocus: "onFocus" }, providers: [MenuStyle, { provide: MENU_INSTANCE, useExisting: Menu }, { provide: PARENT_INSTANCE, useExisting: Menu }], queries: [{ propertyName: "startTemplate", first: true, predicate: ["start"] }, { propertyName: "endTemplate", first: true, predicate: ["end"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "submenuHeaderTemplate", first: true, predicate: ["submenuheader"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "listViewChild", first: true, predicate: ["list"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i4.Bind }], ngImport: i0, template: `
811
- <div
812
- #container
813
- [class]="cn(cx('root'), styleClass)"
814
- [style]="sx('root')"
815
- [ngStyle]="style"
816
- *ngIf="!popup || visible"
817
- (click)="onOverlayClick($event)"
818
- [@overlayAnimation]="{
819
- value: 'visible',
820
- params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }
821
- }"
822
- [@.disabled]="popup !== true"
823
- (@overlayAnimation.start)="onOverlayAnimationStart($event)"
824
- (@overlayAnimation.done)="onOverlayAnimationEnd($event)"
825
- [attr.data-pc-name]="'menu'"
826
- [attr.id]="id"
827
- [pBind]="ptm('root')"
828
- >
829
- <div *ngIf="startTemplate ?? _startTemplate" [class]="cx('start')" [pBind]="ptm('start')" [attr.data-pc-section]="'start'">
830
- <ng-container *ngTemplateOutlet="startTemplate ?? _startTemplate"></ng-container>
831
- </div>
832
- <ul
833
- #list
834
- [class]="cx('list')"
835
- [pBind]="ptm('list')"
836
- role="menu"
837
- [attr.id]="id + '_list'"
838
- [attr.tabindex]="getTabIndexValue()"
839
- [attr.data-pc-section]="'menu'"
840
- [attr.aria-activedescendant]="activedescendant()"
841
- [attr.aria-label]="ariaLabel"
842
- [attr.aria-labelledBy]="ariaLabelledBy"
843
- (focus)="onListFocus($event)"
844
- (blur)="onListBlur($event)"
845
- (keydown)="onListKeyDown($event)"
846
- >
847
- <ng-template ngFor let-submenu let-i="index" [ngForOf]="model" *ngIf="hasSubMenu()">
848
- <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="submenu.separator && submenu.visible !== false" role="separator" [attr.data-pc-section]="'separator'"></li>
849
- <li
850
- [class]="cx('submenuLabel')"
851
- [pBind]="ptm('submenuLabel')"
852
- [attr.data-automationid]="submenu.automationId"
853
- *ngIf="!submenu.separator"
854
- pTooltip
855
- [tooltipOptions]="submenu.tooltipOptions"
856
- role="none"
857
- [attr.id]="menuitemId(submenu, id, i)"
858
- [attr.data-pc-section]="'submenulabel'"
859
- >
860
- <ng-container *ngIf="!submenuHeaderTemplate && !_submenuHeaderTemplate">
861
- <span *ngIf="submenu.escape !== false; else htmlSubmenuLabel">{{ submenu.label }}</span>
862
- <ng-template #htmlSubmenuLabel><span [innerHTML]="submenu.label | safeHtml"></span></ng-template>
863
- </ng-container>
864
- <ng-container *ngTemplateOutlet="submenuHeaderTemplate ?? _submenuHeaderTemplate; context: { $implicit: submenu }"></ng-container>
865
- </li>
866
- <ng-template ngFor let-item let-j="index" [ngForOf]="submenu.items">
867
- <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="item.separator && (item.visible !== false || submenu.visible !== false)" role="separator" [attr.data-pc-section]="'separator'"></li>
822
+ get dataP() {
823
+ return this.cn({
824
+ popup: this.popup
825
+ });
826
+ }
827
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: Menu, deps: [{ token: i6.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
828
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: Menu, isStandalone: true, selector: "p-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 }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", 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 }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, 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", onBlur: "onBlur", onFocus: "onFocus" }, providers: [MenuStyle, { provide: MENU_INSTANCE, useExisting: Menu }, { provide: PARENT_INSTANCE, useExisting: Menu }], queries: [{ propertyName: "startTemplate", first: true, predicate: ["start"] }, { propertyName: "endTemplate", first: true, predicate: ["end"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "submenuHeaderTemplate", first: true, predicate: ["submenuheader"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "listViewChild", first: true, predicate: ["list"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i4.Bind }], ngImport: i0, template: `
829
+ @if (popup) {
830
+ <p-motion [visible]="visible" [appear]="popup" name="p-anchored-overlay" [options]="computedMotionOptions()" (onBeforeEnter)="onOverlayBeforeEnter($event)" (onAfterLeave)="onOverlayAfterLeave()">
831
+ <ng-container *ngTemplateOutlet="sharedcontent"></ng-container>
832
+ </p-motion>
833
+ } @else {
834
+ <ng-container *ngTemplateOutlet="sharedcontent"></ng-container>
835
+ }
836
+ <ng-template #sharedcontent>
837
+ <div #container [class]="cn(cx('root'), styleClass)" [style]="sx('root')" [ngStyle]="style" (click)="onOverlayClick($event)" [attr.id]="id" [pBind]="ptm('root')" [attr.data-p]="dataP">
838
+ <div *ngIf="startTemplate ?? _startTemplate" [class]="cx('start')" [pBind]="ptm('start')" [attr.data-pc-section]="'start'">
839
+ <ng-container *ngTemplateOutlet="startTemplate ?? _startTemplate"></ng-container>
840
+ </div>
841
+ <ul
842
+ #list
843
+ [class]="cx('list')"
844
+ [pBind]="ptm('list')"
845
+ role="menu"
846
+ [attr.id]="id + '_list'"
847
+ [attr.tabindex]="getTabIndexValue()"
848
+ [attr.data-pc-section]="'menu'"
849
+ [attr.aria-activedescendant]="activedescendant()"
850
+ [attr.aria-label]="ariaLabel"
851
+ [attr.aria-labelledBy]="ariaLabelledBy"
852
+ (focus)="onListFocus($event)"
853
+ (blur)="onListBlur($event)"
854
+ (keydown)="onListKeyDown($event)"
855
+ >
856
+ <ng-template ngFor let-submenu let-i="index" [ngForOf]="model" *ngIf="hasSubMenu()">
857
+ <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="submenu.separator && submenu.visible !== false" role="separator" [attr.data-pc-section]="'separator'"></li>
858
+ <li
859
+ [class]="cx('submenuLabel')"
860
+ [pBind]="ptm('submenuLabel')"
861
+ [attr.data-automationid]="submenu.automationId"
862
+ *ngIf="!submenu.separator"
863
+ pTooltip
864
+ [tooltipOptions]="submenu.tooltipOptions"
865
+ [pTooltipUnstyled]="unstyled()"
866
+ role="none"
867
+ [attr.id]="menuitemId(submenu, id, i)"
868
+ [attr.data-pc-section]="'submenulabel'"
869
+ >
870
+ <ng-container *ngIf="!submenuHeaderTemplate && !_submenuHeaderTemplate">
871
+ <span *ngIf="submenu.escape !== false; else htmlSubmenuLabel">{{ submenu.label }}</span>
872
+ <ng-template #htmlSubmenuLabel><span [innerHTML]="submenu.label | safeHtml"></span></ng-template>
873
+ </ng-container>
874
+ <ng-container *ngTemplateOutlet="submenuHeaderTemplate ?? _submenuHeaderTemplate; context: { $implicit: submenu }"></ng-container>
875
+ </li>
876
+ <ng-template ngFor let-item let-j="index" [ngForOf]="submenu.items">
877
+ <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="item.separator && (item.visible !== false || submenu.visible !== false)" role="separator" [attr.data-pc-section]="'separator'"></li>
878
+ <li
879
+ [class]="cn(cx('item', { item, id: menuitemId(item, id, i, j) }), item?.styleClass)"
880
+ *ngIf="!item.separator && item.visible !== false && (item.visible !== undefined || submenu.visible !== false)"
881
+ [pMenuItemContent]="item"
882
+ [itemTemplate]="itemTemplate ?? _itemTemplate"
883
+ [idx]="j"
884
+ [menuitemId]="menuitemId(item, id, i, j)"
885
+ [style]="item.style"
886
+ (onMenuItemClick)="itemClick($event, menuitemId(item, id, i, j))"
887
+ pTooltip
888
+ [tooltipOptions]="item.tooltipOptions"
889
+ [pTooltipUnstyled]="unstyled()"
890
+ [unstyled]="unstyled()"
891
+ role="menuitem"
892
+ [attr.data-pc-section]="'menuitem'"
893
+ [attr.aria-label]="label(item.label)"
894
+ [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i, j))"
895
+ [attr.data-p-disabled]="disabled(item.disabled)"
896
+ [attr.aria-disabled]="disabled(item.disabled)"
897
+ [attr.id]="menuitemId(item, id, i, j)"
898
+ ></li>
899
+ </ng-template>
900
+ </ng-template>
901
+ <ng-template ngFor let-item let-i="index" [ngForOf]="model" *ngIf="!hasSubMenu()">
902
+ <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="item.separator && item.visible !== false" role="separator" [attr.data-pc-section]="'separator'"></li>
868
903
  <li
869
- [class]="cn(cx('item', { item, id: menuitemId(item, id, i, j) }), item?.styleClass)"
870
- *ngIf="!item.separator && item.visible !== false && (item.visible !== undefined || submenu.visible !== false)"
904
+ [class]="cn(cx('item', { item, id: menuitemId(item, id, i) }), item?.styleClass)"
905
+ *ngIf="!item.separator && item.visible !== false"
871
906
  [pMenuItemContent]="item"
872
907
  [itemTemplate]="itemTemplate ?? _itemTemplate"
873
- [idx]="j"
874
- [menuitemId]="menuitemId(item, id, i, j)"
875
- [style]="item.style"
876
- (onMenuItemClick)="itemClick($event, menuitemId(item, id, i, j))"
908
+ [idx]="i"
909
+ [menuitemId]="menuitemId(item, id, i)"
910
+ [ngStyle]="item.style"
911
+ (onMenuItemClick)="itemClick($event, menuitemId(item, id, i))"
877
912
  pTooltip
878
913
  [tooltipOptions]="item.tooltipOptions"
914
+ [unstyled]="unstyled()"
915
+ [pTooltipUnstyled]="unstyled()"
879
916
  role="menuitem"
880
917
  [attr.data-pc-section]="'menuitem'"
881
918
  [attr.aria-label]="label(item.label)"
882
- [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i, j))"
919
+ [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i))"
883
920
  [attr.data-p-disabled]="disabled(item.disabled)"
884
921
  [attr.aria-disabled]="disabled(item.disabled)"
885
- [attr.id]="menuitemId(item, id, i, j)"
922
+ [attr.id]="menuitemId(item, id, i)"
886
923
  ></li>
887
924
  </ng-template>
888
- </ng-template>
889
- <ng-template ngFor let-item let-i="index" [ngForOf]="model" *ngIf="!hasSubMenu()">
890
- <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="item.separator && item.visible !== false" role="separator" [attr.data-pc-section]="'separator'"></li>
891
- <li
892
- [class]="cn(cx('item', { item, id: menuitemId(item, id, i) }), item?.styleClass)"
893
- *ngIf="!item.separator && item.visible !== false"
894
- [pMenuItemContent]="item"
895
- [itemTemplate]="itemTemplate ?? _itemTemplate"
896
- [idx]="i"
897
- [menuitemId]="menuitemId(item, id, i)"
898
- [ngStyle]="item.style"
899
- (onMenuItemClick)="itemClick($event, menuitemId(item, id, i))"
900
- pTooltip
901
- [tooltipOptions]="item.tooltipOptions"
902
- role="menuitem"
903
- [attr.data-pc-section]="'menuitem'"
904
- [attr.aria-label]="label(item.label)"
905
- [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i))"
906
- [attr.data-p-disabled]="disabled(item.disabled)"
907
- [attr.aria-disabled]="disabled(item.disabled)"
908
- [attr.id]="menuitemId(item, id, i)"
909
- ></li>
910
- </ng-template>
911
- </ul>
912
- <div *ngIf="endTemplate ?? _endTemplate" [class]="cx('end')" [pBind]="ptm('end')" [attr.data-pc-section]="'end'">
913
- <ng-container *ngTemplateOutlet="endTemplate ?? _endTemplate"></ng-container>
925
+ </ul>
926
+ <div *ngIf="endTemplate ?? _endTemplate" [class]="cx('end')" [pBind]="ptm('end')" [attr.data-pc-section]="'end'">
927
+ <ng-container *ngTemplateOutlet="endTemplate ?? _endTemplate"></ng-container>
928
+ </div>
914
929
  </div>
915
- </div>
916
- `, isInline: true, dependencies: [{ 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: "component", type: MenuItemContent, selector: "[pMenuItemContent]", inputs: ["pMenuItemContent", "itemTemplate", "menuitemId", "idx"], outputs: ["onMenuItemClick"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "directive", type: i4.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], animations: [trigger('overlayAnimation', [transition(':enter', [style$1({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style$1({ opacity: 0 }))])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
930
+ </ng-template>
931
+ `, isInline: true, dependencies: [{ 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: "component", type: MenuItemContent, selector: "[pMenuItemContent]", inputs: ["pMenuItemContent", "itemTemplate", "menuitemId", "idx"], outputs: ["onMenuItemClick"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.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: i4.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "ngmodule", type: MotionModule }, { kind: "component", type: i8.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"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
917
932
  }
918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Menu, decorators: [{
933
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: Menu, decorators: [{
919
934
  type: Component,
920
935
  args: [{
921
936
  selector: 'p-menu',
922
937
  standalone: true,
923
- imports: [CommonModule, RouterModule, MenuItemContent, TooltipModule, BadgeModule, SharedModule, SafeHtmlPipe, BindModule],
938
+ imports: [CommonModule, RouterModule, MenuItemContent, TooltipModule, BadgeModule, SharedModule, SafeHtmlPipe, BindModule, MotionModule],
924
939
  template: `
925
- <div
926
- #container
927
- [class]="cn(cx('root'), styleClass)"
928
- [style]="sx('root')"
929
- [ngStyle]="style"
930
- *ngIf="!popup || visible"
931
- (click)="onOverlayClick($event)"
932
- [@overlayAnimation]="{
933
- value: 'visible',
934
- params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }
935
- }"
936
- [@.disabled]="popup !== true"
937
- (@overlayAnimation.start)="onOverlayAnimationStart($event)"
938
- (@overlayAnimation.done)="onOverlayAnimationEnd($event)"
939
- [attr.data-pc-name]="'menu'"
940
- [attr.id]="id"
941
- [pBind]="ptm('root')"
942
- >
943
- <div *ngIf="startTemplate ?? _startTemplate" [class]="cx('start')" [pBind]="ptm('start')" [attr.data-pc-section]="'start'">
944
- <ng-container *ngTemplateOutlet="startTemplate ?? _startTemplate"></ng-container>
945
- </div>
946
- <ul
947
- #list
948
- [class]="cx('list')"
949
- [pBind]="ptm('list')"
950
- role="menu"
951
- [attr.id]="id + '_list'"
952
- [attr.tabindex]="getTabIndexValue()"
953
- [attr.data-pc-section]="'menu'"
954
- [attr.aria-activedescendant]="activedescendant()"
955
- [attr.aria-label]="ariaLabel"
956
- [attr.aria-labelledBy]="ariaLabelledBy"
957
- (focus)="onListFocus($event)"
958
- (blur)="onListBlur($event)"
959
- (keydown)="onListKeyDown($event)"
960
- >
961
- <ng-template ngFor let-submenu let-i="index" [ngForOf]="model" *ngIf="hasSubMenu()">
962
- <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="submenu.separator && submenu.visible !== false" role="separator" [attr.data-pc-section]="'separator'"></li>
963
- <li
964
- [class]="cx('submenuLabel')"
965
- [pBind]="ptm('submenuLabel')"
966
- [attr.data-automationid]="submenu.automationId"
967
- *ngIf="!submenu.separator"
968
- pTooltip
969
- [tooltipOptions]="submenu.tooltipOptions"
970
- role="none"
971
- [attr.id]="menuitemId(submenu, id, i)"
972
- [attr.data-pc-section]="'submenulabel'"
973
- >
974
- <ng-container *ngIf="!submenuHeaderTemplate && !_submenuHeaderTemplate">
975
- <span *ngIf="submenu.escape !== false; else htmlSubmenuLabel">{{ submenu.label }}</span>
976
- <ng-template #htmlSubmenuLabel><span [innerHTML]="submenu.label | safeHtml"></span></ng-template>
977
- </ng-container>
978
- <ng-container *ngTemplateOutlet="submenuHeaderTemplate ?? _submenuHeaderTemplate; context: { $implicit: submenu }"></ng-container>
979
- </li>
980
- <ng-template ngFor let-item let-j="index" [ngForOf]="submenu.items">
981
- <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="item.separator && (item.visible !== false || submenu.visible !== false)" role="separator" [attr.data-pc-section]="'separator'"></li>
940
+ @if (popup) {
941
+ <p-motion [visible]="visible" [appear]="popup" name="p-anchored-overlay" [options]="computedMotionOptions()" (onBeforeEnter)="onOverlayBeforeEnter($event)" (onAfterLeave)="onOverlayAfterLeave()">
942
+ <ng-container *ngTemplateOutlet="sharedcontent"></ng-container>
943
+ </p-motion>
944
+ } @else {
945
+ <ng-container *ngTemplateOutlet="sharedcontent"></ng-container>
946
+ }
947
+ <ng-template #sharedcontent>
948
+ <div #container [class]="cn(cx('root'), styleClass)" [style]="sx('root')" [ngStyle]="style" (click)="onOverlayClick($event)" [attr.id]="id" [pBind]="ptm('root')" [attr.data-p]="dataP">
949
+ <div *ngIf="startTemplate ?? _startTemplate" [class]="cx('start')" [pBind]="ptm('start')" [attr.data-pc-section]="'start'">
950
+ <ng-container *ngTemplateOutlet="startTemplate ?? _startTemplate"></ng-container>
951
+ </div>
952
+ <ul
953
+ #list
954
+ [class]="cx('list')"
955
+ [pBind]="ptm('list')"
956
+ role="menu"
957
+ [attr.id]="id + '_list'"
958
+ [attr.tabindex]="getTabIndexValue()"
959
+ [attr.data-pc-section]="'menu'"
960
+ [attr.aria-activedescendant]="activedescendant()"
961
+ [attr.aria-label]="ariaLabel"
962
+ [attr.aria-labelledBy]="ariaLabelledBy"
963
+ (focus)="onListFocus($event)"
964
+ (blur)="onListBlur($event)"
965
+ (keydown)="onListKeyDown($event)"
966
+ >
967
+ <ng-template ngFor let-submenu let-i="index" [ngForOf]="model" *ngIf="hasSubMenu()">
968
+ <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="submenu.separator && submenu.visible !== false" role="separator" [attr.data-pc-section]="'separator'"></li>
982
969
  <li
983
- [class]="cn(cx('item', { item, id: menuitemId(item, id, i, j) }), item?.styleClass)"
984
- *ngIf="!item.separator && item.visible !== false && (item.visible !== undefined || submenu.visible !== false)"
970
+ [class]="cx('submenuLabel')"
971
+ [pBind]="ptm('submenuLabel')"
972
+ [attr.data-automationid]="submenu.automationId"
973
+ *ngIf="!submenu.separator"
974
+ pTooltip
975
+ [tooltipOptions]="submenu.tooltipOptions"
976
+ [pTooltipUnstyled]="unstyled()"
977
+ role="none"
978
+ [attr.id]="menuitemId(submenu, id, i)"
979
+ [attr.data-pc-section]="'submenulabel'"
980
+ >
981
+ <ng-container *ngIf="!submenuHeaderTemplate && !_submenuHeaderTemplate">
982
+ <span *ngIf="submenu.escape !== false; else htmlSubmenuLabel">{{ submenu.label }}</span>
983
+ <ng-template #htmlSubmenuLabel><span [innerHTML]="submenu.label | safeHtml"></span></ng-template>
984
+ </ng-container>
985
+ <ng-container *ngTemplateOutlet="submenuHeaderTemplate ?? _submenuHeaderTemplate; context: { $implicit: submenu }"></ng-container>
986
+ </li>
987
+ <ng-template ngFor let-item let-j="index" [ngForOf]="submenu.items">
988
+ <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="item.separator && (item.visible !== false || submenu.visible !== false)" role="separator" [attr.data-pc-section]="'separator'"></li>
989
+ <li
990
+ [class]="cn(cx('item', { item, id: menuitemId(item, id, i, j) }), item?.styleClass)"
991
+ *ngIf="!item.separator && item.visible !== false && (item.visible !== undefined || submenu.visible !== false)"
992
+ [pMenuItemContent]="item"
993
+ [itemTemplate]="itemTemplate ?? _itemTemplate"
994
+ [idx]="j"
995
+ [menuitemId]="menuitemId(item, id, i, j)"
996
+ [style]="item.style"
997
+ (onMenuItemClick)="itemClick($event, menuitemId(item, id, i, j))"
998
+ pTooltip
999
+ [tooltipOptions]="item.tooltipOptions"
1000
+ [pTooltipUnstyled]="unstyled()"
1001
+ [unstyled]="unstyled()"
1002
+ role="menuitem"
1003
+ [attr.data-pc-section]="'menuitem'"
1004
+ [attr.aria-label]="label(item.label)"
1005
+ [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i, j))"
1006
+ [attr.data-p-disabled]="disabled(item.disabled)"
1007
+ [attr.aria-disabled]="disabled(item.disabled)"
1008
+ [attr.id]="menuitemId(item, id, i, j)"
1009
+ ></li>
1010
+ </ng-template>
1011
+ </ng-template>
1012
+ <ng-template ngFor let-item let-i="index" [ngForOf]="model" *ngIf="!hasSubMenu()">
1013
+ <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="item.separator && item.visible !== false" role="separator" [attr.data-pc-section]="'separator'"></li>
1014
+ <li
1015
+ [class]="cn(cx('item', { item, id: menuitemId(item, id, i) }), item?.styleClass)"
1016
+ *ngIf="!item.separator && item.visible !== false"
985
1017
  [pMenuItemContent]="item"
986
1018
  [itemTemplate]="itemTemplate ?? _itemTemplate"
987
- [idx]="j"
988
- [menuitemId]="menuitemId(item, id, i, j)"
989
- [style]="item.style"
990
- (onMenuItemClick)="itemClick($event, menuitemId(item, id, i, j))"
1019
+ [idx]="i"
1020
+ [menuitemId]="menuitemId(item, id, i)"
1021
+ [ngStyle]="item.style"
1022
+ (onMenuItemClick)="itemClick($event, menuitemId(item, id, i))"
991
1023
  pTooltip
992
1024
  [tooltipOptions]="item.tooltipOptions"
1025
+ [unstyled]="unstyled()"
1026
+ [pTooltipUnstyled]="unstyled()"
993
1027
  role="menuitem"
994
1028
  [attr.data-pc-section]="'menuitem'"
995
1029
  [attr.aria-label]="label(item.label)"
996
- [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i, j))"
1030
+ [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i))"
997
1031
  [attr.data-p-disabled]="disabled(item.disabled)"
998
1032
  [attr.aria-disabled]="disabled(item.disabled)"
999
- [attr.id]="menuitemId(item, id, i, j)"
1033
+ [attr.id]="menuitemId(item, id, i)"
1000
1034
  ></li>
1001
1035
  </ng-template>
1002
- </ng-template>
1003
- <ng-template ngFor let-item let-i="index" [ngForOf]="model" *ngIf="!hasSubMenu()">
1004
- <li [class]="cx('separator')" [pBind]="ptm('separator')" *ngIf="item.separator && item.visible !== false" role="separator" [attr.data-pc-section]="'separator'"></li>
1005
- <li
1006
- [class]="cn(cx('item', { item, id: menuitemId(item, id, i) }), item?.styleClass)"
1007
- *ngIf="!item.separator && item.visible !== false"
1008
- [pMenuItemContent]="item"
1009
- [itemTemplate]="itemTemplate ?? _itemTemplate"
1010
- [idx]="i"
1011
- [menuitemId]="menuitemId(item, id, i)"
1012
- [ngStyle]="item.style"
1013
- (onMenuItemClick)="itemClick($event, menuitemId(item, id, i))"
1014
- pTooltip
1015
- [tooltipOptions]="item.tooltipOptions"
1016
- role="menuitem"
1017
- [attr.data-pc-section]="'menuitem'"
1018
- [attr.aria-label]="label(item.label)"
1019
- [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i))"
1020
- [attr.data-p-disabled]="disabled(item.disabled)"
1021
- [attr.aria-disabled]="disabled(item.disabled)"
1022
- [attr.id]="menuitemId(item, id, i)"
1023
- ></li>
1024
- </ng-template>
1025
- </ul>
1026
- <div *ngIf="endTemplate ?? _endTemplate" [class]="cx('end')" [pBind]="ptm('end')" [attr.data-pc-section]="'end'">
1027
- <ng-container *ngTemplateOutlet="endTemplate ?? _endTemplate"></ng-container>
1036
+ </ul>
1037
+ <div *ngIf="endTemplate ?? _endTemplate" [class]="cx('end')" [pBind]="ptm('end')" [attr.data-pc-section]="'end'">
1038
+ <ng-container *ngTemplateOutlet="endTemplate ?? _endTemplate"></ng-container>
1039
+ </div>
1028
1040
  </div>
1029
- </div>
1041
+ </ng-template>
1030
1042
  `,
1031
- animations: [trigger('overlayAnimation', [transition(':enter', [style$1({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style$1({ opacity: 0 }))])])],
1032
1043
  changeDetection: ChangeDetectionStrategy.OnPush,
1033
1044
  encapsulation: ViewEncapsulation.None,
1034
1045
  providers: [MenuStyle, { provide: MENU_INSTANCE, useExisting: Menu }, { provide: PARENT_INSTANCE, useExisting: Menu }],
@@ -1062,7 +1073,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1062
1073
  }], tabindex: [{
1063
1074
  type: Input,
1064
1075
  args: [{ transform: numberAttribute }]
1065
- }], onShow: [{
1076
+ }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], motionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionOptions", required: false }] }], onShow: [{
1066
1077
  type: Output
1067
1078
  }], onHide: [{
1068
1079
  type: Output
@@ -1096,11 +1107,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1096
1107
  args: [PrimeTemplate]
1097
1108
  }] } });
1098
1109
  class MenuModule {
1099
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1100
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: MenuModule, imports: [Menu, SharedModule, SafeHtmlPipe], exports: [Menu, SharedModule, SafeHtmlPipe] });
1101
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MenuModule, imports: [Menu, SharedModule, SharedModule] });
1110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1111
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: MenuModule, imports: [Menu, SharedModule, SafeHtmlPipe], exports: [Menu, SharedModule, SafeHtmlPipe] });
1112
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MenuModule, imports: [Menu, SharedModule, SharedModule] });
1102
1113
  }
1103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MenuModule, decorators: [{
1114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MenuModule, decorators: [{
1104
1115
  type: NgModule,
1105
1116
  args: [{
1106
1117
  imports: [Menu, SharedModule, SafeHtmlPipe],