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