primeng 20.2.0 → 20.3.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 (711) hide show
  1. package/accordion/index.d.ts +31 -12
  2. package/animateonscroll/index.d.ts +5 -6
  3. package/api/index.d.ts +128 -2
  4. package/autocomplete/index.d.ts +18 -208
  5. package/autofocus/index.d.ts +2 -2
  6. package/avatar/index.d.ts +12 -5
  7. package/avatargroup/index.d.ts +10 -5
  8. package/badge/index.d.ts +18 -10
  9. package/base/index.d.ts +4 -9
  10. package/basecomponent/index.d.ts +147 -29
  11. package/baseeditableholder/index.d.ts +3 -3
  12. package/baseinput/index.d.ts +3 -3
  13. package/basemodelholder/index.d.ts +3 -3
  14. package/bind/index.d.ts +38 -0
  15. package/blockui/index.d.ts +17 -21
  16. package/breadcrumb/index.d.ts +15 -45
  17. package/button/index.d.ts +113 -153
  18. package/buttongroup/index.d.ts +1 -1
  19. package/card/index.d.ts +18 -36
  20. package/carousel/index.d.ts +18 -74
  21. package/cascadeselect/index.d.ts +23 -131
  22. package/chart/index.d.ts +13 -7
  23. package/checkbox/index.d.ts +16 -35
  24. package/chip/index.d.ts +15 -36
  25. package/classnames/index.d.ts +3 -9
  26. package/colorpicker/index.d.ts +15 -27
  27. package/config/index.d.ts +203 -24
  28. package/confirmdialog/index.d.ts +22 -49
  29. package/confirmpopup/index.d.ts +15 -36
  30. package/contextmenu/index.d.ts +19 -8
  31. package/dataview/index.d.ts +17 -184
  32. package/datepicker/index.d.ts +23 -215
  33. package/dialog/index.d.ts +16 -40
  34. package/divider/index.d.ts +10 -4
  35. package/dock/index.d.ts +17 -29
  36. package/drawer/index.d.ts +16 -37
  37. package/dynamicdialog/index.d.ts +67 -75
  38. package/editor/index.d.ts +16 -132
  39. package/fesm2022/primeng-accordion.mjs +93 -57
  40. package/fesm2022/primeng-accordion.mjs.map +1 -1
  41. package/fesm2022/primeng-animateonscroll.mjs +10 -13
  42. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  43. package/fesm2022/primeng-api.mjs +31 -31
  44. package/fesm2022/primeng-autocomplete.mjs +91 -61
  45. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  46. package/fesm2022/primeng-autofocus.mjs +9 -9
  47. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  48. package/fesm2022/primeng-avatar.mjs +33 -24
  49. package/fesm2022/primeng-avatar.mjs.map +1 -1
  50. package/fesm2022/primeng-avatargroup.mjs +24 -22
  51. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  52. package/fesm2022/primeng-badge.mjs +65 -47
  53. package/fesm2022/primeng-badge.mjs.map +1 -1
  54. package/fesm2022/primeng-base.mjs +10 -13
  55. package/fesm2022/primeng-base.mjs.map +1 -1
  56. package/fesm2022/primeng-basecomponent.mjs +345 -94
  57. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  58. package/fesm2022/primeng-baseeditableholder.mjs +3 -3
  59. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  60. package/fesm2022/primeng-baseinput.mjs +3 -3
  61. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  62. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  63. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  64. package/fesm2022/primeng-bind.mjs +94 -0
  65. package/fesm2022/primeng-bind.mjs.map +1 -0
  66. package/fesm2022/primeng-blockui.mjs +30 -24
  67. package/fesm2022/primeng-blockui.mjs.map +1 -1
  68. package/fesm2022/primeng-breadcrumb.mjs +91 -66
  69. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  70. package/fesm2022/primeng-button.mjs +247 -207
  71. package/fesm2022/primeng-button.mjs.map +1 -1
  72. package/fesm2022/primeng-buttongroup.mjs +14 -14
  73. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  74. package/fesm2022/primeng-card.mjs +58 -38
  75. package/fesm2022/primeng-card.mjs.map +1 -1
  76. package/fesm2022/primeng-carousel.mjs +142 -45
  77. package/fesm2022/primeng-carousel.mjs.map +1 -1
  78. package/fesm2022/primeng-cascadeselect.mjs +221 -193
  79. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  80. package/fesm2022/primeng-chart.mjs +43 -20
  81. package/fesm2022/primeng-chart.mjs.map +1 -1
  82. package/fesm2022/primeng-checkbox.mjs +47 -33
  83. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  84. package/fesm2022/primeng-chip.mjs +43 -36
  85. package/fesm2022/primeng-chip.mjs.map +1 -1
  86. package/fesm2022/primeng-classnames.mjs +15 -40
  87. package/fesm2022/primeng-classnames.mjs.map +1 -1
  88. package/fesm2022/primeng-colorpicker.mjs +49 -41
  89. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  90. package/fesm2022/primeng-config.mjs +23 -8
  91. package/fesm2022/primeng-config.mjs.map +1 -1
  92. package/fesm2022/primeng-confirmdialog.mjs +57 -33
  93. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  94. package/fesm2022/primeng-confirmpopup.mjs +45 -29
  95. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  96. package/fesm2022/primeng-contextmenu.mjs +131 -83
  97. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  98. package/fesm2022/primeng-dataview.mjs +51 -42
  99. package/fesm2022/primeng-dataview.mjs.map +1 -1
  100. package/fesm2022/primeng-datepicker.mjs +292 -186
  101. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  102. package/fesm2022/primeng-dialog.mjs +73 -40
  103. package/fesm2022/primeng-dialog.mjs.map +1 -1
  104. package/fesm2022/primeng-divider.mjs +29 -21
  105. package/fesm2022/primeng-divider.mjs.map +1 -1
  106. package/fesm2022/primeng-dock.mjs +63 -43
  107. package/fesm2022/primeng-dock.mjs.map +1 -1
  108. package/fesm2022/primeng-dragdrop.mjs +10 -10
  109. package/fesm2022/primeng-drawer.mjs +54 -43
  110. package/fesm2022/primeng-drawer.mjs.map +1 -1
  111. package/fesm2022/primeng-dynamicdialog.mjs +361 -564
  112. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  113. package/fesm2022/primeng-editor.mjs +101 -89
  114. package/fesm2022/primeng-editor.mjs.map +1 -1
  115. package/fesm2022/primeng-fieldset.mjs +64 -47
  116. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  117. package/fesm2022/primeng-fileupload.mjs +125 -120
  118. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  119. package/fesm2022/primeng-floatlabel.mjs +28 -19
  120. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  121. package/fesm2022/primeng-fluid.mjs +24 -14
  122. package/fesm2022/primeng-fluid.mjs.map +1 -1
  123. package/fesm2022/primeng-focustrap.mjs +9 -11
  124. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  125. package/fesm2022/primeng-galleria.mjs +346 -214
  126. package/fesm2022/primeng-galleria.mjs.map +1 -1
  127. package/fesm2022/primeng-iconfield.mjs +30 -18
  128. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  130. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  131. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  132. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  133. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  134. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  135. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  136. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  137. package/fesm2022/primeng-icons-arrowdown.mjs +4 -5
  138. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  140. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  141. package/fesm2022/primeng-icons-arrowleft.mjs +4 -5
  142. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  144. package/fesm2022/primeng-icons-arrowup.mjs +4 -5
  145. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  146. package/fesm2022/primeng-icons-ban.mjs +4 -5
  147. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  148. package/fesm2022/primeng-icons-bars.mjs +3 -3
  149. package/fesm2022/primeng-icons-baseicon.mjs +7 -6
  150. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-blank.mjs +3 -3
  152. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  153. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  154. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  155. package/fesm2022/primeng-icons-check.mjs +3 -3
  156. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  157. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  158. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  159. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  160. package/fesm2022/primeng-icons-exclamationtriangle.mjs +4 -5
  161. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  162. package/fesm2022/primeng-icons-eye.mjs +3 -3
  163. package/fesm2022/primeng-icons-eyeslash.mjs +4 -5
  164. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-filter.mjs +4 -5
  166. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  168. package/fesm2022/primeng-icons-filterslash.mjs +4 -5
  169. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  170. package/fesm2022/primeng-icons-home.mjs +4 -5
  171. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  172. package/fesm2022/primeng-icons-infocircle.mjs +4 -5
  173. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  174. package/fesm2022/primeng-icons-minus.mjs +3 -3
  175. package/fesm2022/primeng-icons-pencil.mjs +4 -5
  176. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-plus.mjs +4 -5
  178. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-refresh.mjs +4 -5
  180. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-search.mjs +4 -5
  182. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-searchminus.mjs +4 -5
  184. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-searchplus.mjs +4 -5
  186. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortalt.mjs +4 -5
  188. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-sortamountdown.mjs +4 -5
  190. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-sortamountupalt.mjs +4 -5
  192. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-spinner.mjs +4 -5
  194. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-star.mjs +4 -5
  196. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-starfill.mjs +4 -5
  198. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-thlarge.mjs +4 -5
  200. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-times.mjs +3 -3
  202. package/fesm2022/primeng-icons-timescircle.mjs +4 -5
  203. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  204. package/fesm2022/primeng-icons-trash.mjs +4 -5
  205. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  206. package/fesm2022/primeng-icons-undo.mjs +4 -5
  207. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  208. package/fesm2022/primeng-icons-upload.mjs +4 -5
  209. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  210. package/fesm2022/primeng-icons-windowmaximize.mjs +4 -5
  211. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  212. package/fesm2022/primeng-icons-windowminimize.mjs +4 -5
  213. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  214. package/fesm2022/primeng-iftalabel.mjs +27 -17
  215. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  216. package/fesm2022/primeng-image.mjs +92 -42
  217. package/fesm2022/primeng-image.mjs.map +1 -1
  218. package/fesm2022/primeng-imagecompare.mjs +31 -24
  219. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  220. package/fesm2022/primeng-inplace.mjs +46 -36
  221. package/fesm2022/primeng-inplace.mjs.map +1 -1
  222. package/fesm2022/primeng-inputgroup.mjs +28 -21
  223. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  224. package/fesm2022/primeng-inputgroupaddon.mjs +25 -19
  225. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  226. package/fesm2022/primeng-inputicon.mjs +27 -15
  227. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  228. package/fesm2022/primeng-inputmask.mjs +38 -29
  229. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  230. package/fesm2022/primeng-inputnumber.mjs +67 -60
  231. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  232. package/fesm2022/primeng-inputotp.mjs +31 -19
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputtext.mjs +39 -20
  235. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  236. package/fesm2022/primeng-keyfilter.mjs +7 -7
  237. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  238. package/fesm2022/primeng-knob.mjs +35 -27
  239. package/fesm2022/primeng-knob.mjs.map +1 -1
  240. package/fesm2022/primeng-listbox.mjs +146 -61
  241. package/fesm2022/primeng-listbox.mjs.map +1 -1
  242. package/fesm2022/primeng-megamenu.mjs +363 -345
  243. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  244. package/fesm2022/primeng-menu.mjs +116 -60
  245. package/fesm2022/primeng-menu.mjs.map +1 -1
  246. package/fesm2022/primeng-menubar.mjs +122 -86
  247. package/fesm2022/primeng-menubar.mjs.map +1 -1
  248. package/fesm2022/primeng-message.mjs +47 -39
  249. package/fesm2022/primeng-message.mjs.map +1 -1
  250. package/fesm2022/primeng-metergroup.mjs +53 -43
  251. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  252. package/fesm2022/primeng-multiselect.mjs +196 -147
  253. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  254. package/fesm2022/primeng-orderlist.mjs +80 -49
  255. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  256. package/fesm2022/primeng-organizationchart.mjs +93 -67
  257. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  258. package/fesm2022/primeng-overlay.mjs +67 -80
  259. package/fesm2022/primeng-overlay.mjs.map +1 -1
  260. package/fesm2022/primeng-overlaybadge.mjs +31 -22
  261. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  262. package/fesm2022/primeng-paginator.mjs +65 -53
  263. package/fesm2022/primeng-paginator.mjs.map +1 -1
  264. package/fesm2022/primeng-panel.mjs +108 -79
  265. package/fesm2022/primeng-panel.mjs.map +1 -1
  266. package/fesm2022/primeng-panelmenu.mjs +385 -308
  267. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  268. package/fesm2022/primeng-passthrough.mjs +21 -0
  269. package/fesm2022/primeng-passthrough.mjs.map +1 -0
  270. package/fesm2022/primeng-password.mjs +80 -67
  271. package/fesm2022/primeng-password.mjs.map +1 -1
  272. package/fesm2022/primeng-picklist.mjs +153 -95
  273. package/fesm2022/primeng-picklist.mjs.map +1 -1
  274. package/fesm2022/primeng-popover.mjs +44 -33
  275. package/fesm2022/primeng-popover.mjs.map +1 -1
  276. package/fesm2022/primeng-progressbar.mjs +37 -29
  277. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  278. package/fesm2022/primeng-progressspinner.mjs +30 -23
  279. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  280. package/fesm2022/primeng-radiobutton.mjs +41 -32
  281. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  282. package/fesm2022/primeng-rating.mjs +48 -38
  283. package/fesm2022/primeng-rating.mjs.map +1 -1
  284. package/fesm2022/primeng-ripple.mjs +17 -19
  285. package/fesm2022/primeng-ripple.mjs.map +1 -1
  286. package/fesm2022/primeng-scroller.mjs +50 -42
  287. package/fesm2022/primeng-scroller.mjs.map +1 -1
  288. package/fesm2022/primeng-scrollpanel.mjs +46 -39
  289. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  290. package/fesm2022/primeng-scrolltop.mjs +31 -21
  291. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  292. package/fesm2022/primeng-select.mjs +161 -82
  293. package/fesm2022/primeng-select.mjs.map +1 -1
  294. package/fesm2022/primeng-selectbutton.mjs +36 -25
  295. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  296. package/fesm2022/primeng-skeleton.mjs +24 -17
  297. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  298. package/fesm2022/primeng-slider.mjs +43 -23
  299. package/fesm2022/primeng-slider.mjs.map +1 -1
  300. package/fesm2022/primeng-speeddial.mjs +70 -46
  301. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  302. package/fesm2022/primeng-splitbutton.mjs +38 -21
  303. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  304. package/fesm2022/primeng-splitter.mjs +38 -34
  305. package/fesm2022/primeng-splitter.mjs.map +1 -1
  306. package/fesm2022/primeng-stepper.mjs +163 -88
  307. package/fesm2022/primeng-stepper.mjs.map +1 -1
  308. package/fesm2022/primeng-steps.mjs +14 -16
  309. package/fesm2022/primeng-steps.mjs.map +1 -1
  310. package/fesm2022/primeng-styleclass.mjs +7 -7
  311. package/fesm2022/primeng-table.mjs +714 -643
  312. package/fesm2022/primeng-table.mjs.map +1 -1
  313. package/fesm2022/primeng-tabs.mjs +183 -116
  314. package/fesm2022/primeng-tabs.mjs.map +1 -1
  315. package/fesm2022/primeng-tag.mjs +35 -25
  316. package/fesm2022/primeng-tag.mjs.map +1 -1
  317. package/fesm2022/primeng-terminal.mjs +51 -45
  318. package/fesm2022/primeng-terminal.mjs.map +1 -1
  319. package/fesm2022/primeng-textarea.mjs +28 -23
  320. package/fesm2022/primeng-textarea.mjs.map +1 -1
  321. package/fesm2022/primeng-tieredmenu.mjs +136 -73
  322. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  323. package/fesm2022/primeng-timeline.mjs +42 -34
  324. package/fesm2022/primeng-timeline.mjs.map +1 -1
  325. package/fesm2022/primeng-toast.mjs +66 -61
  326. package/fesm2022/primeng-toast.mjs.map +1 -1
  327. package/fesm2022/primeng-togglebutton.mjs +39 -29
  328. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  329. package/fesm2022/primeng-toggleswitch.mjs +39 -29
  330. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  331. package/fesm2022/primeng-toolbar.mjs +37 -29
  332. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  333. package/fesm2022/primeng-tooltip.mjs +32 -33
  334. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  335. package/fesm2022/primeng-tree.mjs +185 -114
  336. package/fesm2022/primeng-tree.mjs.map +1 -1
  337. package/fesm2022/primeng-treeselect.mjs +95 -49
  338. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  339. package/fesm2022/primeng-treetable.mjs +283 -249
  340. package/fesm2022/primeng-treetable.mjs.map +1 -1
  341. package/fesm2022/primeng-types-accordion.mjs +4 -0
  342. package/fesm2022/primeng-types-accordion.mjs.map +1 -0
  343. package/fesm2022/primeng-types-autocomplete.mjs +4 -0
  344. package/fesm2022/primeng-types-autocomplete.mjs.map +1 -0
  345. package/fesm2022/primeng-types-avatar.mjs +4 -0
  346. package/fesm2022/primeng-types-avatar.mjs.map +1 -0
  347. package/fesm2022/primeng-types-avatargroup.mjs +4 -0
  348. package/fesm2022/primeng-types-avatargroup.mjs.map +1 -0
  349. package/fesm2022/primeng-types-badge.mjs +4 -0
  350. package/fesm2022/primeng-types-badge.mjs.map +1 -0
  351. package/fesm2022/primeng-types-blockui.mjs +4 -0
  352. package/fesm2022/primeng-types-blockui.mjs.map +1 -0
  353. package/fesm2022/primeng-types-breadcrumb.mjs +4 -0
  354. package/fesm2022/primeng-types-breadcrumb.mjs.map +1 -0
  355. package/fesm2022/primeng-types-button.mjs +4 -0
  356. package/fesm2022/primeng-types-button.mjs.map +1 -0
  357. package/fesm2022/primeng-types-card.mjs +4 -0
  358. package/fesm2022/primeng-types-card.mjs.map +1 -0
  359. package/fesm2022/primeng-types-carousel.mjs +4 -0
  360. package/fesm2022/primeng-types-carousel.mjs.map +1 -0
  361. package/fesm2022/primeng-types-cascadeselect.mjs +4 -0
  362. package/fesm2022/primeng-types-cascadeselect.mjs.map +1 -0
  363. package/fesm2022/primeng-types-chart.mjs +4 -0
  364. package/fesm2022/primeng-types-chart.mjs.map +1 -0
  365. package/fesm2022/primeng-types-checkbox.mjs +4 -0
  366. package/fesm2022/primeng-types-checkbox.mjs.map +1 -0
  367. package/fesm2022/primeng-types-chip.mjs +4 -0
  368. package/fesm2022/primeng-types-chip.mjs.map +1 -0
  369. package/fesm2022/primeng-types-colorpicker.mjs +4 -0
  370. package/fesm2022/primeng-types-colorpicker.mjs.map +1 -0
  371. package/fesm2022/primeng-types-confirmdialog.mjs +4 -0
  372. package/fesm2022/primeng-types-confirmdialog.mjs.map +1 -0
  373. package/fesm2022/primeng-types-confirmpopup.mjs +4 -0
  374. package/fesm2022/primeng-types-confirmpopup.mjs.map +1 -0
  375. package/fesm2022/primeng-types-contextmenu.mjs +4 -0
  376. package/fesm2022/primeng-types-contextmenu.mjs.map +1 -0
  377. package/fesm2022/primeng-types-dataview.mjs +4 -0
  378. package/fesm2022/primeng-types-dataview.mjs.map +1 -0
  379. package/fesm2022/primeng-types-datepicker.mjs +4 -0
  380. package/fesm2022/primeng-types-datepicker.mjs.map +1 -0
  381. package/fesm2022/primeng-types-dialog.mjs +4 -0
  382. package/fesm2022/primeng-types-dialog.mjs.map +1 -0
  383. package/fesm2022/primeng-types-divider.mjs +4 -0
  384. package/fesm2022/primeng-types-divider.mjs.map +1 -0
  385. package/fesm2022/primeng-types-dock.mjs +4 -0
  386. package/fesm2022/primeng-types-dock.mjs.map +1 -0
  387. package/fesm2022/primeng-types-drawer.mjs +4 -0
  388. package/fesm2022/primeng-types-drawer.mjs.map +1 -0
  389. package/fesm2022/primeng-types-editor.mjs +4 -0
  390. package/fesm2022/primeng-types-editor.mjs.map +1 -0
  391. package/fesm2022/primeng-types-fieldset.mjs +4 -0
  392. package/fesm2022/primeng-types-fieldset.mjs.map +1 -0
  393. package/fesm2022/primeng-types-fileupload.mjs +4 -0
  394. package/fesm2022/primeng-types-fileupload.mjs.map +1 -0
  395. package/fesm2022/primeng-types-floatlabel.mjs +4 -0
  396. package/fesm2022/primeng-types-floatlabel.mjs.map +1 -0
  397. package/fesm2022/primeng-types-fluid.mjs +4 -0
  398. package/fesm2022/primeng-types-fluid.mjs.map +1 -0
  399. package/fesm2022/primeng-types-galleria.mjs +4 -0
  400. package/fesm2022/primeng-types-galleria.mjs.map +1 -0
  401. package/fesm2022/primeng-types-iconfield.mjs +4 -0
  402. package/fesm2022/primeng-types-iconfield.mjs.map +1 -0
  403. package/fesm2022/primeng-types-iftalabel.mjs +4 -0
  404. package/fesm2022/primeng-types-iftalabel.mjs.map +1 -0
  405. package/fesm2022/primeng-types-image.mjs +4 -0
  406. package/fesm2022/primeng-types-image.mjs.map +1 -0
  407. package/fesm2022/primeng-types-imagecompare.mjs +4 -0
  408. package/fesm2022/primeng-types-imagecompare.mjs.map +1 -0
  409. package/fesm2022/primeng-types-inplace.mjs +4 -0
  410. package/fesm2022/primeng-types-inplace.mjs.map +1 -0
  411. package/fesm2022/primeng-types-inputgroup.mjs +4 -0
  412. package/fesm2022/primeng-types-inputgroup.mjs.map +1 -0
  413. package/fesm2022/primeng-types-inputgroupaddon.mjs +4 -0
  414. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +1 -0
  415. package/fesm2022/primeng-types-inputicon.mjs +4 -0
  416. package/fesm2022/primeng-types-inputicon.mjs.map +1 -0
  417. package/fesm2022/primeng-types-inputmask.mjs +4 -0
  418. package/fesm2022/primeng-types-inputmask.mjs.map +1 -0
  419. package/fesm2022/primeng-types-inputnumber.mjs +4 -0
  420. package/fesm2022/primeng-types-inputnumber.mjs.map +1 -0
  421. package/fesm2022/primeng-types-inputotp.mjs +4 -0
  422. package/fesm2022/primeng-types-inputotp.mjs.map +1 -0
  423. package/fesm2022/primeng-types-inputtext.mjs +4 -0
  424. package/fesm2022/primeng-types-inputtext.mjs.map +1 -0
  425. package/fesm2022/primeng-types-knob.mjs +4 -0
  426. package/fesm2022/primeng-types-knob.mjs.map +1 -0
  427. package/fesm2022/primeng-types-listbox.mjs +4 -0
  428. package/fesm2022/primeng-types-listbox.mjs.map +1 -0
  429. package/fesm2022/primeng-types-megamenu.mjs +4 -0
  430. package/fesm2022/primeng-types-megamenu.mjs.map +1 -0
  431. package/fesm2022/primeng-types-menu.mjs +4 -0
  432. package/fesm2022/primeng-types-menu.mjs.map +1 -0
  433. package/fesm2022/primeng-types-menubar.mjs +4 -0
  434. package/fesm2022/primeng-types-menubar.mjs.map +1 -0
  435. package/fesm2022/primeng-types-message.mjs +4 -0
  436. package/fesm2022/primeng-types-message.mjs.map +1 -0
  437. package/fesm2022/primeng-types-metergroup.mjs +4 -0
  438. package/fesm2022/primeng-types-metergroup.mjs.map +1 -0
  439. package/fesm2022/primeng-types-multiselect.mjs +4 -0
  440. package/fesm2022/primeng-types-multiselect.mjs.map +1 -0
  441. package/fesm2022/primeng-types-orderlist.mjs +4 -0
  442. package/fesm2022/primeng-types-orderlist.mjs.map +1 -0
  443. package/fesm2022/primeng-types-organizationchart.mjs +4 -0
  444. package/fesm2022/primeng-types-organizationchart.mjs.map +1 -0
  445. package/fesm2022/primeng-types-overlay.mjs +4 -0
  446. package/fesm2022/primeng-types-overlay.mjs.map +1 -0
  447. package/fesm2022/primeng-types-overlaybadge.mjs +4 -0
  448. package/fesm2022/primeng-types-overlaybadge.mjs.map +1 -0
  449. package/fesm2022/primeng-types-paginator.mjs +4 -0
  450. package/fesm2022/primeng-types-paginator.mjs.map +1 -0
  451. package/fesm2022/primeng-types-panel.mjs +4 -0
  452. package/fesm2022/primeng-types-panel.mjs.map +1 -0
  453. package/fesm2022/primeng-types-panelmenu.mjs +4 -0
  454. package/fesm2022/primeng-types-panelmenu.mjs.map +1 -0
  455. package/fesm2022/primeng-types-password.mjs +4 -0
  456. package/fesm2022/primeng-types-password.mjs.map +1 -0
  457. package/fesm2022/primeng-types-picklist.mjs +4 -0
  458. package/fesm2022/primeng-types-picklist.mjs.map +1 -0
  459. package/fesm2022/primeng-types-popover.mjs +4 -0
  460. package/fesm2022/primeng-types-popover.mjs.map +1 -0
  461. package/fesm2022/primeng-types-progressbar.mjs +4 -0
  462. package/fesm2022/primeng-types-progressbar.mjs.map +1 -0
  463. package/fesm2022/primeng-types-progressspinner.mjs +4 -0
  464. package/fesm2022/primeng-types-progressspinner.mjs.map +1 -0
  465. package/fesm2022/primeng-types-radiobutton.mjs +4 -0
  466. package/fesm2022/primeng-types-radiobutton.mjs.map +1 -0
  467. package/fesm2022/primeng-types-rating.mjs +4 -0
  468. package/fesm2022/primeng-types-rating.mjs.map +1 -0
  469. package/fesm2022/primeng-types-scroller.mjs +4 -0
  470. package/fesm2022/primeng-types-scroller.mjs.map +1 -0
  471. package/fesm2022/primeng-types-scrollpanel.mjs +4 -0
  472. package/fesm2022/primeng-types-scrollpanel.mjs.map +1 -0
  473. package/fesm2022/primeng-types-scrolltop.mjs +4 -0
  474. package/fesm2022/primeng-types-scrolltop.mjs.map +1 -0
  475. package/fesm2022/primeng-types-select.mjs +4 -0
  476. package/fesm2022/primeng-types-select.mjs.map +1 -0
  477. package/fesm2022/primeng-types-selectbutton.mjs +4 -0
  478. package/fesm2022/primeng-types-selectbutton.mjs.map +1 -0
  479. package/fesm2022/primeng-types-skeleton.mjs +4 -0
  480. package/fesm2022/primeng-types-skeleton.mjs.map +1 -0
  481. package/fesm2022/primeng-types-slider.mjs +4 -0
  482. package/fesm2022/primeng-types-slider.mjs.map +1 -0
  483. package/fesm2022/primeng-types-speeddial.mjs +4 -0
  484. package/fesm2022/primeng-types-speeddial.mjs.map +1 -0
  485. package/fesm2022/primeng-types-splitbutton.mjs +4 -0
  486. package/fesm2022/primeng-types-splitbutton.mjs.map +1 -0
  487. package/fesm2022/primeng-types-splitter.mjs +4 -0
  488. package/fesm2022/primeng-types-splitter.mjs.map +1 -0
  489. package/fesm2022/primeng-types-stepper.mjs +4 -0
  490. package/fesm2022/primeng-types-stepper.mjs.map +1 -0
  491. package/fesm2022/primeng-types-table.mjs +4 -0
  492. package/fesm2022/primeng-types-table.mjs.map +1 -0
  493. package/fesm2022/primeng-types-tabs.mjs +4 -0
  494. package/fesm2022/primeng-types-tabs.mjs.map +1 -0
  495. package/fesm2022/primeng-types-tag.mjs +4 -0
  496. package/fesm2022/primeng-types-tag.mjs.map +1 -0
  497. package/fesm2022/primeng-types-terminal.mjs +4 -0
  498. package/fesm2022/primeng-types-terminal.mjs.map +1 -0
  499. package/fesm2022/primeng-types-textarea.mjs +4 -0
  500. package/fesm2022/primeng-types-textarea.mjs.map +1 -0
  501. package/fesm2022/primeng-types-tieredmenu.mjs +4 -0
  502. package/fesm2022/primeng-types-tieredmenu.mjs.map +1 -0
  503. package/fesm2022/primeng-types-timeline.mjs +4 -0
  504. package/fesm2022/primeng-types-timeline.mjs.map +1 -0
  505. package/fesm2022/primeng-types-toast.mjs +4 -0
  506. package/fesm2022/primeng-types-toast.mjs.map +1 -0
  507. package/fesm2022/primeng-types-togglebutton.mjs +4 -0
  508. package/fesm2022/primeng-types-togglebutton.mjs.map +1 -0
  509. package/fesm2022/primeng-types-toggleswitch.mjs +4 -0
  510. package/fesm2022/primeng-types-toggleswitch.mjs.map +1 -0
  511. package/fesm2022/primeng-types-toolbar.mjs +4 -0
  512. package/fesm2022/primeng-types-toolbar.mjs.map +1 -0
  513. package/fesm2022/primeng-types-tooltip.mjs +4 -0
  514. package/fesm2022/primeng-types-tooltip.mjs.map +1 -0
  515. package/fesm2022/primeng-types-tree.mjs +4 -0
  516. package/fesm2022/primeng-types-tree.mjs.map +1 -0
  517. package/fesm2022/primeng-types-treeselect.mjs +4 -0
  518. package/fesm2022/primeng-types-treeselect.mjs.map +1 -0
  519. package/fesm2022/primeng-types-treetable.mjs +4 -0
  520. package/fesm2022/primeng-types-treetable.mjs.map +1 -0
  521. package/fesm2022/primeng-usestyle.mjs +3 -3
  522. package/fieldset/index.d.ts +16 -55
  523. package/fileupload/index.d.ts +18 -246
  524. package/floatlabel/index.d.ts +13 -6
  525. package/fluid/index.d.ts +9 -2
  526. package/focustrap/index.d.ts +2 -2
  527. package/galleria/index.d.ts +50 -132
  528. package/iconfield/index.d.ts +13 -5
  529. package/icons/arrowdown/index.d.ts +3 -4
  530. package/icons/arrowleft/index.d.ts +1 -1
  531. package/icons/arrowup/index.d.ts +1 -1
  532. package/icons/ban/index.d.ts +1 -1
  533. package/icons/exclamationtriangle/index.d.ts +3 -4
  534. package/icons/eyeslash/index.d.ts +1 -1
  535. package/icons/filter/index.d.ts +1 -1
  536. package/icons/filterslash/index.d.ts +1 -1
  537. package/icons/home/index.d.ts +1 -1
  538. package/icons/infocircle/index.d.ts +1 -1
  539. package/icons/pencil/index.d.ts +1 -1
  540. package/icons/plus/index.d.ts +1 -1
  541. package/icons/refresh/index.d.ts +1 -1
  542. package/icons/search/index.d.ts +1 -1
  543. package/icons/searchminus/index.d.ts +1 -1
  544. package/icons/searchplus/index.d.ts +1 -1
  545. package/icons/sortalt/index.d.ts +1 -1
  546. package/icons/sortamountdown/index.d.ts +1 -1
  547. package/icons/sortamountupalt/index.d.ts +1 -1
  548. package/icons/spinner/index.d.ts +1 -1
  549. package/icons/star/index.d.ts +1 -1
  550. package/icons/starfill/index.d.ts +1 -1
  551. package/icons/thlarge/index.d.ts +1 -1
  552. package/icons/timescircle/index.d.ts +1 -1
  553. package/icons/trash/index.d.ts +1 -1
  554. package/icons/undo/index.d.ts +1 -1
  555. package/icons/upload/index.d.ts +1 -1
  556. package/icons/windowmaximize/index.d.ts +1 -1
  557. package/icons/windowminimize/index.d.ts +1 -1
  558. package/iftalabel/index.d.ts +15 -8
  559. package/image/index.d.ts +14 -71
  560. package/imagecompare/index.d.ts +15 -9
  561. package/inplace/index.d.ts +16 -29
  562. package/inputgroup/index.d.ts +12 -6
  563. package/inputgroupaddon/index.d.ts +11 -5
  564. package/inputicon/index.d.ts +11 -4
  565. package/inputmask/index.d.ts +21 -29
  566. package/inputnumber/index.d.ts +17 -49
  567. package/inputotp/index.d.ts +14 -8
  568. package/inputtext/index.d.ts +14 -6
  569. package/keyfilter/index.d.ts +0 -5
  570. package/knob/index.d.ts +11 -5
  571. package/listbox/index.d.ts +19 -177
  572. package/megamenu/index.d.ts +23 -44
  573. package/menu/index.d.ts +22 -10
  574. package/menubar/index.d.ts +22 -52
  575. package/message/index.d.ts +15 -9
  576. package/metergroup/index.d.ts +17 -132
  577. package/multiselect/index.d.ts +23 -259
  578. package/orderlist/index.d.ts +16 -120
  579. package/organizationchart/index.d.ts +18 -68
  580. package/overlay/index.d.ts +36 -8
  581. package/overlaybadge/index.d.ts +11 -5
  582. package/package.json +582 -214
  583. package/paginator/index.d.ts +16 -47
  584. package/panel/index.d.ts +32 -55
  585. package/panelmenu/index.d.ts +24 -35
  586. package/passthrough/index.d.ts +14 -0
  587. package/password/index.d.ts +22 -12
  588. package/picklist/index.d.ts +17 -252
  589. package/popover/index.d.ts +15 -8
  590. package/progressbar/index.d.ts +14 -7
  591. package/progressspinner/index.d.ts +11 -5
  592. package/radiobutton/index.d.ts +15 -25
  593. package/rating/index.d.ts +15 -43
  594. package/ripple/index.d.ts +5 -5
  595. package/scroller/index.d.ts +20 -190
  596. package/scrollpanel/index.d.ts +17 -22
  597. package/scrolltop/index.d.ts +16 -28
  598. package/select/index.d.ts +24 -166
  599. package/selectbutton/index.d.ts +14 -53
  600. package/skeleton/index.d.ts +11 -5
  601. package/slider/index.d.ts +14 -47
  602. package/speeddial/index.d.ts +19 -54
  603. package/splitbutton/index.d.ts +15 -39
  604. package/splitter/index.d.ts +15 -44
  605. package/stepper/index.d.ts +50 -22
  606. package/steps/index.d.ts +5 -5
  607. package/table/index.d.ts +167 -829
  608. package/tabs/index.d.ts +37 -19
  609. package/tag/index.d.ts +13 -18
  610. package/terminal/index.d.ts +14 -8
  611. package/textarea/index.d.ts +13 -8
  612. package/tieredmenu/index.d.ts +25 -41
  613. package/timeline/index.d.ts +14 -51
  614. package/toast/index.d.ts +20 -65
  615. package/togglebutton/index.d.ts +15 -60
  616. package/toggleswitch/index.d.ts +15 -24
  617. package/toolbar/index.d.ts +14 -27
  618. package/tooltip/index.d.ts +13 -8
  619. package/tree/index.d.ts +24 -213
  620. package/treeselect/index.d.ts +17 -118
  621. package/treetable/index.d.ts +96 -548
  622. package/types/accordion/index.d.ts +88 -0
  623. package/types/autocomplete/index.d.ts +299 -0
  624. package/types/avatar/index.d.ts +40 -0
  625. package/types/avatargroup/index.d.ts +28 -0
  626. package/types/badge/index.d.ts +26 -0
  627. package/types/blockui/index.d.ts +39 -0
  628. package/types/breadcrumb/index.d.ts +70 -0
  629. package/types/button/index.d.ts +105 -0
  630. package/types/card/index.d.ts +75 -0
  631. package/types/carousel/index.d.ts +140 -0
  632. package/types/cascadeselect/index.d.ts +198 -0
  633. package/types/chart/index.d.ts +32 -0
  634. package/types/checkbox/index.d.ts +62 -0
  635. package/types/chip/index.d.ts +71 -0
  636. package/types/colorpicker/index.d.ts +73 -0
  637. package/types/confirmdialog/index.d.ts +121 -0
  638. package/types/confirmpopup/index.d.ts +82 -0
  639. package/types/contextmenu/index.d.ts +89 -0
  640. package/types/dataview/index.d.ts +234 -0
  641. package/types/datepicker/index.d.ts +464 -0
  642. package/types/dialog/index.d.ts +98 -0
  643. package/types/divider/index.d.ts +28 -0
  644. package/types/dock/index.d.ts +67 -0
  645. package/types/drawer/index.d.ts +77 -0
  646. package/types/editor/index.d.ts +210 -0
  647. package/types/fieldset/index.d.ts +92 -0
  648. package/types/fileupload/index.d.ts +576 -0
  649. package/types/floatlabel/index.d.ts +26 -0
  650. package/types/fluid/index.d.ts +28 -0
  651. package/types/galleria/index.d.ts +233 -0
  652. package/types/iconfield/index.d.ts +26 -0
  653. package/types/iftalabel/index.d.ts +26 -0
  654. package/types/image/index.d.ts +193 -0
  655. package/types/imagecompare/index.d.ts +28 -0
  656. package/types/inplace/index.d.ts +61 -0
  657. package/types/inputgroup/index.d.ts +28 -0
  658. package/types/inputgroupaddon/index.d.ts +28 -0
  659. package/types/inputicon/index.d.ts +26 -0
  660. package/types/inputmask/index.d.ts +56 -0
  661. package/types/inputnumber/index.d.ts +95 -0
  662. package/types/inputotp/index.d.ts +31 -0
  663. package/types/inputtext/index.d.ts +24 -0
  664. package/types/knob/index.d.ts +40 -0
  665. package/types/listbox/index.d.ts +280 -0
  666. package/types/megamenu/index.d.ts +122 -0
  667. package/types/menu/index.d.ts +101 -0
  668. package/types/menubar/index.d.ts +121 -0
  669. package/types/message/index.d.ts +48 -0
  670. package/types/metergroup/index.d.ts +178 -0
  671. package/types/multiselect/index.d.ts +362 -0
  672. package/types/orderlist/index.d.ts +164 -0
  673. package/types/organizationchart/index.d.ts +138 -0
  674. package/types/overlay/index.d.ts +28 -0
  675. package/types/overlaybadge/index.d.ts +34 -0
  676. package/types/paginator/index.d.ts +131 -0
  677. package/types/panel/index.d.ts +92 -0
  678. package/types/panelmenu/index.d.ts +114 -0
  679. package/types/password/index.d.ts +97 -0
  680. package/types/picklist/index.d.ts +353 -0
  681. package/types/popover/index.d.ts +52 -0
  682. package/types/progressbar/index.d.ts +54 -0
  683. package/types/progressspinner/index.d.ts +36 -0
  684. package/types/radiobutton/index.d.ts +51 -0
  685. package/types/rating/index.d.ts +82 -0
  686. package/types/scroller/index.d.ts +221 -0
  687. package/types/scrollpanel/index.d.ts +51 -0
  688. package/types/scrolltop/index.d.ts +52 -0
  689. package/types/select/index.d.ts +288 -0
  690. package/types/selectbutton/index.d.ts +77 -0
  691. package/types/skeleton/index.d.ts +28 -0
  692. package/types/slider/index.d.ts +78 -0
  693. package/types/speeddial/index.d.ts +82 -0
  694. package/types/splitbutton/index.d.ts +70 -0
  695. package/types/splitter/index.d.ts +70 -0
  696. package/types/stepper/index.d.ts +153 -0
  697. package/types/table/index.d.ts +884 -0
  698. package/types/tabs/index.d.ts +119 -0
  699. package/types/tag/index.d.ts +47 -0
  700. package/types/terminal/index.d.ts +60 -0
  701. package/types/textarea/index.d.ts +28 -0
  702. package/types/tieredmenu/index.d.ts +87 -0
  703. package/types/timeline/index.d.ts +95 -0
  704. package/types/toast/index.d.ts +114 -0
  705. package/types/togglebutton/index.d.ts +85 -0
  706. package/types/toggleswitch/index.d.ts +51 -0
  707. package/types/toolbar/index.d.ts +55 -0
  708. package/types/tooltip/index.d.ts +32 -0
  709. package/types/tree/index.d.ts +308 -0
  710. package/types/treeselect/index.d.ts +224 -0
  711. package/types/treetable/index.d.ts +640 -0
@@ -1,21 +1,24 @@
1
- import { trigger, state, transition, style as style$1, animate } from '@angular/animations';
2
- import * as i1 from '@angular/common';
1
+ export * from 'primeng/types/panelmenu';
2
+ import { trigger, state, transition, style as style$2, animate } from '@angular/animations';
3
+ import * as i2 from '@angular/common';
3
4
  import { CommonModule } from '@angular/common';
4
5
  import * as i0 from '@angular/core';
5
- import { Injectable, EventEmitter, inject, forwardRef, booleanAttribute, numberAttribute, ViewChild, Output, Input, ViewEncapsulation, Component, signal, computed, ChangeDetectionStrategy, ContentChildren, ContentChild, NgModule } from '@angular/core';
6
- import * as i2 from '@angular/router';
6
+ import { Injectable, InjectionToken, EventEmitter, inject, ElementRef, forwardRef, booleanAttribute, numberAttribute, Output, Input, ViewEncapsulation, Component, signal, computed, ViewChild, ChangeDetectionStrategy, ContentChildren, ContentChild, NgModule } from '@angular/core';
7
+ import * as i3 from '@angular/router';
7
8
  import { RouterModule } from '@angular/router';
8
9
  import { resolve, isNotEmpty, findLast, findSingle, isPrintableCharacter, isEmpty, uuid, equals, focus, getAttribute } from '@primeuix/utils';
9
10
  import { SharedModule, PrimeTemplate } from 'primeng/api';
10
- import { BaseComponent } from 'primeng/basecomponent';
11
+ import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
12
+ import * as i1 from 'primeng/bind';
13
+ import { Bind, BindModule } from 'primeng/bind';
11
14
  import { ChevronDownIcon, ChevronRightIcon } from 'primeng/icons';
12
- import * as i3 from 'primeng/tooltip';
15
+ import * as i4 from 'primeng/tooltip';
13
16
  import { TooltipModule } from 'primeng/tooltip';
14
- import { style } from '@primeuix/styles/panelmenu';
17
+ import { style as style$1 } from '@primeuix/styles/panelmenu';
15
18
  import { BaseStyle } from 'primeng/base';
16
19
 
17
- const theme = /*css*/ `
18
- ${style}
20
+ const style = /*css*/ `
21
+ ${style$1}
19
22
  /*For PrimeNG*/
20
23
  .p-panelmenu-item:not(.ng-animating) {
21
24
  overflow: hidden;
@@ -66,12 +69,12 @@ const classes = {
66
69
  };
67
70
  class PanelMenuStyle extends BaseStyle {
68
71
  name = 'panelmenu';
69
- theme = theme;
72
+ style = style;
70
73
  classes = classes;
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
72
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuStyle });
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
75
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuStyle });
73
76
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuStyle, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuStyle, decorators: [{
75
78
  type: Injectable
76
79
  }] });
77
80
  /**
@@ -156,6 +159,8 @@ var PanelMenuClasses;
156
159
  PanelMenuClasses["separator"] = "p-menuitem-separator";
157
160
  })(PanelMenuClasses || (PanelMenuClasses = {}));
158
161
 
162
+ const PANELMENU_INSTANCE = new InjectionToken('PANELMENU_INSTANCE');
163
+ const PANELMENUSUB_INSTANCE = new InjectionToken('PANELMENUSUB_INSTANCE');
159
164
  class PanelMenuSub extends BaseComponent {
160
165
  panelId;
161
166
  focusedItemId;
@@ -171,9 +176,25 @@ class PanelMenuSub extends BaseComponent {
171
176
  menuFocus = new EventEmitter();
172
177
  menuBlur = new EventEmitter();
173
178
  menuKeyDown = new EventEmitter();
174
- listViewChild;
179
+ listViewChild = inject(ElementRef);
175
180
  panelMenu = inject(forwardRef(() => PanelMenu));
176
181
  _componentStyle = inject(PanelMenuStyle);
182
+ bindDirectiveInstance = inject(Bind, { self: true });
183
+ $pcPanelMenu = inject(PANELMENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
184
+ onAfterViewChecked() {
185
+ this.bindDirectiveInstance.setAttrs(this.ptm(this.root ? 'rootList' : 'submenu'));
186
+ }
187
+ getPTOptions(processedItem, index, key) {
188
+ return this.ptm(key, {
189
+ context: {
190
+ item: processedItem.item,
191
+ index,
192
+ active: this.isItemActive(processedItem),
193
+ focused: this.isItemFocused(processedItem),
194
+ disabled: this.isItemDisabled(processedItem)
195
+ }
196
+ });
197
+ }
177
198
  getItemId(processedItem) {
178
199
  return processedItem.item?.id ?? `${this.panelId}_${processedItem.key}`;
179
200
  }
@@ -229,117 +250,131 @@ class PanelMenuSub extends BaseComponent {
229
250
  onItemToggle(event) {
230
251
  this.itemToggle.emit(event);
231
252
  }
232
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuSub, deps: null, target: i0.ɵɵFactoryTarget.Component });
233
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: PanelMenuSub, isStandalone: true, selector: "p-panelMenuSub, p-panelmenu-sub", inputs: { panelId: "panelId", focusedItemId: "focusedItemId", items: "items", itemTemplate: "itemTemplate", level: ["level", "level", numberAttribute], activeItemPath: "activeItemPath", root: ["root", "root", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], transitionOptions: "transitionOptions", parentExpanded: ["parentExpanded", "parentExpanded", booleanAttribute] }, outputs: { itemToggle: "itemToggle", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeyDown: "menuKeyDown" }, providers: [PanelMenuStyle], viewQueries: [{ propertyName: "listViewChild", first: true, predicate: ["list"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
234
- <ul
235
- #list
236
- [class]="root ? cn(cx('rootList'), cx('submenu')) : cx('submenu')"
237
- role="tree"
238
- [tabindex]="-1"
239
- [attr.aria-activedescendant]="focusedItemId"
240
- [attr.data-pc-section]="'menu'"
241
- [attr.aria-hidden]="!parentExpanded"
242
- (focusin)="menuFocus.emit($event)"
243
- (focusout)="menuBlur.emit($event)"
244
- (keydown)="menuKeyDown.emit($event)"
245
- >
246
- <ng-template ngFor let-processedItem let-index="index" [ngForOf]="items">
247
- <li *ngIf="processedItem.separator" [class]="cn(cx('separator'), getItemProp(processedItem, 'styleClass'))" role="separator"></li>
248
- <li
249
- *ngIf="!processedItem.separator && isItemVisible(processedItem)"
250
- role="treeitem"
251
- [attr.id]="getItemId(processedItem)"
252
- [attr.aria-label]="getItemProp(processedItem, 'label')"
253
- [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
254
- [attr.aria-level]="level + 1"
255
- [attr.aria-setsize]="getAriaSetSize()"
256
- [attr.aria-posinset]="getAriaPosInset(index)"
257
- [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
258
- [ngStyle]="getItemProp(processedItem, 'style')"
259
- [pTooltip]="getItemProp(processedItem, 'tooltip')"
260
- [attr.data-p-disabled]="isItemDisabled(processedItem)"
261
- [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
262
- >
263
- <div [class]="cx('itemContent')" (click)="onItemClick($event, processedItem)">
264
- <ng-container *ngIf="!itemTemplate">
265
- <a
266
- *ngIf="!getItemProp(processedItem, 'routerLink')"
267
- [attr.href]="getItemProp(processedItem, 'url')"
268
- [class]="cx('itemLink')"
269
- [target]="getItemProp(processedItem, 'target')"
270
- [attr.data-pc-section]="'action'"
271
- [attr.tabindex]="!!parentExpanded ? '0' : '-1'"
272
- >
273
- <ng-container *ngIf="isItemGroup(processedItem)">
274
- <ng-container *ngIf="!panelMenu.submenuIconTemplate && !panelMenu._submenuIconTemplate">
275
- <svg data-p-icon="chevron-down" [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))" *ngIf="isItemActive(processedItem)" [ngStyle]="getItemProp(processedItem, 'iconStyle')" />
276
- <svg data-p-icon="chevron-right" [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))" *ngIf="!isItemActive(processedItem)" [ngStyle]="getItemProp(processedItem, 'iconStyle')" />
277
- </ng-container>
278
- <ng-template *ngTemplateOutlet="panelMenu.submenuIconTemplate || panelMenu._submenuIconTemplate"></ng-template>
253
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuSub, deps: null, target: i0.ɵɵFactoryTarget.Component });
254
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.4", type: PanelMenuSub, isStandalone: true, selector: "ul[pPanelMenuSub]", inputs: { panelId: "panelId", focusedItemId: "focusedItemId", items: "items", itemTemplate: "itemTemplate", level: ["level", "level", numberAttribute], activeItemPath: "activeItemPath", root: ["root", "root", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], transitionOptions: "transitionOptions", parentExpanded: ["parentExpanded", "parentExpanded", booleanAttribute] }, outputs: { itemToggle: "itemToggle", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeyDown: "menuKeyDown" }, host: { attributes: { "role": "tree" }, listeners: { "focusin": "menuFocus.emit($event)", "focusout": "menuBlur.emit($event)", "keydown": "menuKeyDown.emit($event)" }, properties: { "class": "root ? cn(cx(\"rootList\"), cx(\"submenu\")) : cx(\"submenu\")", "tabindex": "-1", "attr.aria-activedescendant": "focusedItemId", "attr.aria-hidden": "!parentExpanded" } }, providers: [PanelMenuStyle, { provide: PANELMENUSUB_INSTANCE, useExisting: PanelMenuSub }, { provide: PARENT_INSTANCE, useExisting: PanelMenuSub }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
255
+ <ng-template ngFor let-processedItem let-index="index" [ngForOf]="items">
256
+ <li *ngIf="processedItem.separator" [class]="cn(cx('separator'), getItemProp(processedItem, 'styleClass'))" role="separator" [pBind]="ptm('separator')"></li>
257
+ <li
258
+ *ngIf="!processedItem.separator && isItemVisible(processedItem)"
259
+ role="treeitem"
260
+ [attr.id]="getItemId(processedItem)"
261
+ [attr.aria-label]="getItemProp(processedItem, 'label')"
262
+ [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
263
+ [attr.aria-level]="level + 1"
264
+ [attr.aria-setsize]="getAriaSetSize()"
265
+ [attr.aria-posinset]="getAriaPosInset(index)"
266
+ [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
267
+ [ngStyle]="getItemProp(processedItem, 'style')"
268
+ [pTooltip]="getItemProp(processedItem, 'tooltip')"
269
+ [pBind]="getPTOptions(processedItem, index, 'item')"
270
+ [attr.data-p-disabled]="isItemDisabled(processedItem)"
271
+ [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
272
+ >
273
+ <div [class]="cx('itemContent')" [pBind]="getPTOptions(processedItem, index, 'itemContent')" (click)="onItemClick($event, processedItem)">
274
+ <ng-container *ngIf="!itemTemplate">
275
+ <a
276
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
277
+ [attr.href]="getItemProp(processedItem, 'url')"
278
+ [class]="cx('itemLink')"
279
+ [target]="getItemProp(processedItem, 'target')"
280
+ [attr.tabindex]="!!parentExpanded ? '0' : '-1'"
281
+ [pBind]="getPTOptions(processedItem, index, 'itemLink')"
282
+ >
283
+ <ng-container *ngIf="isItemGroup(processedItem)">
284
+ <ng-container *ngIf="!panelMenu.submenuIconTemplate && !panelMenu._submenuIconTemplate">
285
+ <svg
286
+ data-p-icon="chevron-down"
287
+ [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))"
288
+ *ngIf="isItemActive(processedItem)"
289
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
290
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
291
+ />
292
+ <svg
293
+ data-p-icon="chevron-right"
294
+ [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))"
295
+ *ngIf="!isItemActive(processedItem)"
296
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
297
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
298
+ />
279
299
  </ng-container>
280
- <span [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))" *ngIf="processedItem.icon" [ngStyle]="getItemProp(processedItem, 'iconStyle')"></span>
281
- <span [class]="cx('itemLabel')" *ngIf="processedItem.item?.escape !== false; else htmlLabel">{{ getItemProp(processedItem, 'label') }}</span>
282
- <ng-template #htmlLabel><span [class]="cx('itemLabel')" [innerHTML]="getItemProp(processedItem, 'label')"></span></ng-template>
283
- </a>
284
- <a
285
- *ngIf="getItemProp(processedItem, 'routerLink')"
286
- [routerLink]="getItemProp(processedItem, 'routerLink')"
287
- [queryParams]="getItemProp(processedItem, 'queryParams')"
288
- [routerLinkActive]="'p-panelmenu-item-link-active'"
289
- [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
290
- [class]="cx('itemLink')"
291
- [target]="getItemProp(processedItem, 'target')"
292
- [attr.title]="getItemProp(processedItem, 'title')"
293
- [fragment]="getItemProp(processedItem, 'fragment')"
294
- [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
295
- [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
296
- [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
297
- [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
298
- [state]="getItemProp(processedItem, 'state')"
299
- [attr.data-pc-section]="'action'"
300
- [attr.tabindex]="!!parentExpanded ? '0' : '-1'"
301
- >
302
- <ng-container *ngIf="isItemGroup(processedItem)">
303
- <ng-container *ngIf="!panelMenu.submenuIconTemplate && !panelMenu._submenuIconTemplate">
304
- <svg data-p-icon="chevron-down" *ngIf="isItemActive(processedItem)" [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))" [ngStyle]="getItemProp(processedItem, 'iconStyle')" />
305
- <svg data-p-icon="chevron-right" *ngIf="!isItemActive(processedItem)" [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))" [ngStyle]="getItemProp(processedItem, 'iconStyle')" />
306
- </ng-container>
307
- <ng-template *ngTemplateOutlet="panelMenu.submenuIconTemplate && panelMenu._submenuIconTemplate"></ng-template>
300
+ <ng-template *ngTemplateOutlet="panelMenu.submenuIconTemplate || panelMenu._submenuIconTemplate"></ng-template>
301
+ </ng-container>
302
+ <span [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))" *ngIf="processedItem.icon" [ngStyle]="getItemProp(processedItem, 'iconStyle')" [pBind]="getPTOptions(processedItem, index, 'itemIcon')"></span>
303
+ <span [class]="cx('itemLabel')" *ngIf="processedItem.item?.escape !== false; else htmlLabel" [pBind]="getPTOptions(processedItem, index, 'itemLabel')">{{ getItemProp(processedItem, 'label') }}</span>
304
+ <ng-template #htmlLabel><span [class]="cx('itemLabel')" [innerHTML]="getItemProp(processedItem, 'label')" [pBind]="getPTOptions(processedItem, index, 'itemLabel')"></span></ng-template>
305
+ </a>
306
+ <a
307
+ *ngIf="getItemProp(processedItem, 'routerLink')"
308
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
309
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
310
+ [routerLinkActive]="'p-panelmenu-item-link-active'"
311
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
312
+ [class]="cx('itemLink')"
313
+ [target]="getItemProp(processedItem, 'target')"
314
+ [attr.title]="getItemProp(processedItem, 'title')"
315
+ [fragment]="getItemProp(processedItem, 'fragment')"
316
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
317
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
318
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
319
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
320
+ [state]="getItemProp(processedItem, 'state')"
321
+ [attr.tabindex]="!!parentExpanded ? '0' : '-1'"
322
+ [pBind]="getPTOptions(processedItem, index, 'itemLink')"
323
+ >
324
+ <ng-container *ngIf="isItemGroup(processedItem)">
325
+ <ng-container *ngIf="!panelMenu.submenuIconTemplate && !panelMenu._submenuIconTemplate">
326
+ <svg
327
+ data-p-icon="chevron-down"
328
+ *ngIf="isItemActive(processedItem)"
329
+ [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))"
330
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
331
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
332
+ />
333
+ <svg
334
+ data-p-icon="chevron-right"
335
+ *ngIf="!isItemActive(processedItem)"
336
+ [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))"
337
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
338
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
339
+ />
308
340
  </ng-container>
309
- <span [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))" *ngIf="processedItem.icon" [ngStyle]="getItemProp(processedItem, 'iconStyle')"></span>
310
- <span *ngIf="getItemProp(processedItem, 'label')" [class]="cx('itemLabel')" [innerHTML]="getItemProp(processedItem, 'label')"></span>
341
+ <ng-template *ngTemplateOutlet="panelMenu.submenuIconTemplate && panelMenu._submenuIconTemplate"></ng-template>
342
+ </ng-container>
343
+ <span [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))" *ngIf="processedItem.icon" [ngStyle]="getItemProp(processedItem, 'iconStyle')" [pBind]="getPTOptions(processedItem, index, 'itemIcon')"></span>
344
+ <span *ngIf="getItemProp(processedItem, 'label')" [class]="cx('itemLabel')" [innerHTML]="getItemProp(processedItem, 'label')" [pBind]="getPTOptions(processedItem, index, 'itemLabel')"></span>
311
345
 
312
- <span [class]="cn(cx('badge'), getItemProp(processedItem, 'badgeStyleClass'))" *ngIf="processedItem.badge">{{ processedItem.badge }}</span>
313
- </a>
314
- </ng-container>
315
- <ng-container *ngIf="itemTemplate">
316
- <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
317
- </ng-container>
318
- </div>
319
- <div [@submenu]="getAnimation(processedItem)">
320
- <p-panelmenu-sub
321
- *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem) && isItemExpanded(processedItem)"
322
- [id]="getItemId(processedItem) + '_list'"
323
- [panelId]="panelId"
324
- [items]="processedItem?.items"
325
- [itemTemplate]="itemTemplate"
326
- [transitionOptions]="transitionOptions"
327
- [focusedItemId]="focusedItemId"
328
- [activeItemPath]="activeItemPath"
329
- [level]="level + 1"
330
- [parentExpanded]="!!parentExpanded && isItemExpanded(processedItem)"
331
- (itemToggle)="onItemToggle($event)"
332
- ></p-panelmenu-sub>
333
- </div>
334
- </li>
335
- </ng-template>
336
- </ul>
337
- `, isInline: true, dependencies: [{ kind: "component", type: PanelMenuSub, selector: "p-panelMenuSub, p-panelmenu-sub", inputs: ["panelId", "focusedItemId", "items", "itemTemplate", "level", "activeItemPath", "root", "tabindex", "transitionOptions", "parentExpanded"], outputs: ["itemToggle", "menuFocus", "menuBlur", "menuKeyDown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: ChevronRightIcon, selector: "[data-p-icon=\"chevron-right\"]" }, { kind: "ngmodule", type: SharedModule }], animations: [
346
+ <span [class]="cn(cx('badge'), getItemProp(processedItem, 'badgeStyleClass'))" *ngIf="processedItem.badge">{{ processedItem.badge }}</span>
347
+ </a>
348
+ </ng-container>
349
+ <ng-container *ngIf="itemTemplate">
350
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
351
+ </ng-container>
352
+ </div>
353
+ <div [@submenu]="getAnimation(processedItem)">
354
+ <ul
355
+ pPanelMenuSub
356
+ *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem) && isItemExpanded(processedItem)"
357
+ [id]="getItemId(processedItem) + '_list'"
358
+ [panelId]="panelId"
359
+ [items]="processedItem?.items"
360
+ [itemTemplate]="itemTemplate"
361
+ [transitionOptions]="transitionOptions"
362
+ [focusedItemId]="focusedItemId"
363
+ [activeItemPath]="activeItemPath"
364
+ [level]="level + 1"
365
+ [pt]="pt()"
366
+ [parentExpanded]="!!parentExpanded && isItemExpanded(processedItem)"
367
+ (itemToggle)="onItemToggle($event)"
368
+ ></ul>
369
+ </div>
370
+ </li>
371
+ </ng-template>
372
+ `, isInline: true, dependencies: [{ kind: "component", type: PanelMenuSub, selector: "ul[pPanelMenuSub]", inputs: ["panelId", "focusedItemId", "items", "itemTemplate", "level", "activeItemPath", "root", "tabindex", "transitionOptions", "parentExpanded"], outputs: ["itemToggle", "menuFocus", "menuBlur", "menuKeyDown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: ChevronRightIcon, selector: "[data-p-icon=\"chevron-right\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }], animations: [
338
373
  trigger('submenu', [
339
- state('hidden', style$1({
374
+ state('hidden', style$2({
340
375
  height: '0'
341
376
  })),
342
- state('visible', style$1({
377
+ state('visible', style$2({
343
378
  height: '*'
344
379
  })),
345
380
  transition('visible <=> hidden', [animate('{{transitionParams}}')]),
@@ -347,123 +382,137 @@ class PanelMenuSub extends BaseComponent {
347
382
  ])
348
383
  ], encapsulation: i0.ViewEncapsulation.None });
349
384
  }
350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuSub, decorators: [{
385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuSub, decorators: [{
351
386
  type: Component,
352
387
  args: [{
353
- selector: 'p-panelMenuSub, p-panelmenu-sub',
354
- imports: [CommonModule, RouterModule, TooltipModule, ChevronDownIcon, ChevronRightIcon, SharedModule],
388
+ selector: 'ul[pPanelMenuSub]',
389
+ imports: [CommonModule, RouterModule, TooltipModule, ChevronDownIcon, ChevronRightIcon, SharedModule, BindModule],
355
390
  standalone: true,
356
391
  template: `
357
- <ul
358
- #list
359
- [class]="root ? cn(cx('rootList'), cx('submenu')) : cx('submenu')"
360
- role="tree"
361
- [tabindex]="-1"
362
- [attr.aria-activedescendant]="focusedItemId"
363
- [attr.data-pc-section]="'menu'"
364
- [attr.aria-hidden]="!parentExpanded"
365
- (focusin)="menuFocus.emit($event)"
366
- (focusout)="menuBlur.emit($event)"
367
- (keydown)="menuKeyDown.emit($event)"
368
- >
369
- <ng-template ngFor let-processedItem let-index="index" [ngForOf]="items">
370
- <li *ngIf="processedItem.separator" [class]="cn(cx('separator'), getItemProp(processedItem, 'styleClass'))" role="separator"></li>
371
- <li
372
- *ngIf="!processedItem.separator && isItemVisible(processedItem)"
373
- role="treeitem"
374
- [attr.id]="getItemId(processedItem)"
375
- [attr.aria-label]="getItemProp(processedItem, 'label')"
376
- [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
377
- [attr.aria-level]="level + 1"
378
- [attr.aria-setsize]="getAriaSetSize()"
379
- [attr.aria-posinset]="getAriaPosInset(index)"
380
- [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
381
- [ngStyle]="getItemProp(processedItem, 'style')"
382
- [pTooltip]="getItemProp(processedItem, 'tooltip')"
383
- [attr.data-p-disabled]="isItemDisabled(processedItem)"
384
- [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
385
- >
386
- <div [class]="cx('itemContent')" (click)="onItemClick($event, processedItem)">
387
- <ng-container *ngIf="!itemTemplate">
388
- <a
389
- *ngIf="!getItemProp(processedItem, 'routerLink')"
390
- [attr.href]="getItemProp(processedItem, 'url')"
391
- [class]="cx('itemLink')"
392
- [target]="getItemProp(processedItem, 'target')"
393
- [attr.data-pc-section]="'action'"
394
- [attr.tabindex]="!!parentExpanded ? '0' : '-1'"
395
- >
396
- <ng-container *ngIf="isItemGroup(processedItem)">
397
- <ng-container *ngIf="!panelMenu.submenuIconTemplate && !panelMenu._submenuIconTemplate">
398
- <svg data-p-icon="chevron-down" [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))" *ngIf="isItemActive(processedItem)" [ngStyle]="getItemProp(processedItem, 'iconStyle')" />
399
- <svg data-p-icon="chevron-right" [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))" *ngIf="!isItemActive(processedItem)" [ngStyle]="getItemProp(processedItem, 'iconStyle')" />
400
- </ng-container>
401
- <ng-template *ngTemplateOutlet="panelMenu.submenuIconTemplate || panelMenu._submenuIconTemplate"></ng-template>
392
+ <ng-template ngFor let-processedItem let-index="index" [ngForOf]="items">
393
+ <li *ngIf="processedItem.separator" [class]="cn(cx('separator'), getItemProp(processedItem, 'styleClass'))" role="separator" [pBind]="ptm('separator')"></li>
394
+ <li
395
+ *ngIf="!processedItem.separator && isItemVisible(processedItem)"
396
+ role="treeitem"
397
+ [attr.id]="getItemId(processedItem)"
398
+ [attr.aria-label]="getItemProp(processedItem, 'label')"
399
+ [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
400
+ [attr.aria-level]="level + 1"
401
+ [attr.aria-setsize]="getAriaSetSize()"
402
+ [attr.aria-posinset]="getAriaPosInset(index)"
403
+ [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
404
+ [ngStyle]="getItemProp(processedItem, 'style')"
405
+ [pTooltip]="getItemProp(processedItem, 'tooltip')"
406
+ [pBind]="getPTOptions(processedItem, index, 'item')"
407
+ [attr.data-p-disabled]="isItemDisabled(processedItem)"
408
+ [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
409
+ >
410
+ <div [class]="cx('itemContent')" [pBind]="getPTOptions(processedItem, index, 'itemContent')" (click)="onItemClick($event, processedItem)">
411
+ <ng-container *ngIf="!itemTemplate">
412
+ <a
413
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
414
+ [attr.href]="getItemProp(processedItem, 'url')"
415
+ [class]="cx('itemLink')"
416
+ [target]="getItemProp(processedItem, 'target')"
417
+ [attr.tabindex]="!!parentExpanded ? '0' : '-1'"
418
+ [pBind]="getPTOptions(processedItem, index, 'itemLink')"
419
+ >
420
+ <ng-container *ngIf="isItemGroup(processedItem)">
421
+ <ng-container *ngIf="!panelMenu.submenuIconTemplate && !panelMenu._submenuIconTemplate">
422
+ <svg
423
+ data-p-icon="chevron-down"
424
+ [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))"
425
+ *ngIf="isItemActive(processedItem)"
426
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
427
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
428
+ />
429
+ <svg
430
+ data-p-icon="chevron-right"
431
+ [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))"
432
+ *ngIf="!isItemActive(processedItem)"
433
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
434
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
435
+ />
402
436
  </ng-container>
403
- <span [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))" *ngIf="processedItem.icon" [ngStyle]="getItemProp(processedItem, 'iconStyle')"></span>
404
- <span [class]="cx('itemLabel')" *ngIf="processedItem.item?.escape !== false; else htmlLabel">{{ getItemProp(processedItem, 'label') }}</span>
405
- <ng-template #htmlLabel><span [class]="cx('itemLabel')" [innerHTML]="getItemProp(processedItem, 'label')"></span></ng-template>
406
- </a>
407
- <a
408
- *ngIf="getItemProp(processedItem, 'routerLink')"
409
- [routerLink]="getItemProp(processedItem, 'routerLink')"
410
- [queryParams]="getItemProp(processedItem, 'queryParams')"
411
- [routerLinkActive]="'p-panelmenu-item-link-active'"
412
- [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
413
- [class]="cx('itemLink')"
414
- [target]="getItemProp(processedItem, 'target')"
415
- [attr.title]="getItemProp(processedItem, 'title')"
416
- [fragment]="getItemProp(processedItem, 'fragment')"
417
- [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
418
- [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
419
- [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
420
- [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
421
- [state]="getItemProp(processedItem, 'state')"
422
- [attr.data-pc-section]="'action'"
423
- [attr.tabindex]="!!parentExpanded ? '0' : '-1'"
424
- >
425
- <ng-container *ngIf="isItemGroup(processedItem)">
426
- <ng-container *ngIf="!panelMenu.submenuIconTemplate && !panelMenu._submenuIconTemplate">
427
- <svg data-p-icon="chevron-down" *ngIf="isItemActive(processedItem)" [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))" [ngStyle]="getItemProp(processedItem, 'iconStyle')" />
428
- <svg data-p-icon="chevron-right" *ngIf="!isItemActive(processedItem)" [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))" [ngStyle]="getItemProp(processedItem, 'iconStyle')" />
429
- </ng-container>
430
- <ng-template *ngTemplateOutlet="panelMenu.submenuIconTemplate && panelMenu._submenuIconTemplate"></ng-template>
437
+ <ng-template *ngTemplateOutlet="panelMenu.submenuIconTemplate || panelMenu._submenuIconTemplate"></ng-template>
438
+ </ng-container>
439
+ <span [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))" *ngIf="processedItem.icon" [ngStyle]="getItemProp(processedItem, 'iconStyle')" [pBind]="getPTOptions(processedItem, index, 'itemIcon')"></span>
440
+ <span [class]="cx('itemLabel')" *ngIf="processedItem.item?.escape !== false; else htmlLabel" [pBind]="getPTOptions(processedItem, index, 'itemLabel')">{{ getItemProp(processedItem, 'label') }}</span>
441
+ <ng-template #htmlLabel><span [class]="cx('itemLabel')" [innerHTML]="getItemProp(processedItem, 'label')" [pBind]="getPTOptions(processedItem, index, 'itemLabel')"></span></ng-template>
442
+ </a>
443
+ <a
444
+ *ngIf="getItemProp(processedItem, 'routerLink')"
445
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
446
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
447
+ [routerLinkActive]="'p-panelmenu-item-link-active'"
448
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
449
+ [class]="cx('itemLink')"
450
+ [target]="getItemProp(processedItem, 'target')"
451
+ [attr.title]="getItemProp(processedItem, 'title')"
452
+ [fragment]="getItemProp(processedItem, 'fragment')"
453
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
454
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
455
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
456
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
457
+ [state]="getItemProp(processedItem, 'state')"
458
+ [attr.tabindex]="!!parentExpanded ? '0' : '-1'"
459
+ [pBind]="getPTOptions(processedItem, index, 'itemLink')"
460
+ >
461
+ <ng-container *ngIf="isItemGroup(processedItem)">
462
+ <ng-container *ngIf="!panelMenu.submenuIconTemplate && !panelMenu._submenuIconTemplate">
463
+ <svg
464
+ data-p-icon="chevron-down"
465
+ *ngIf="isItemActive(processedItem)"
466
+ [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))"
467
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
468
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
469
+ />
470
+ <svg
471
+ data-p-icon="chevron-right"
472
+ *ngIf="!isItemActive(processedItem)"
473
+ [class]="cn(cx('submenuIcon'), getItemProp(processedItem, 'icon'))"
474
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
475
+ [pBind]="getPTOptions(processedItem, index, 'submenuIcon')"
476
+ />
431
477
  </ng-container>
432
- <span [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))" *ngIf="processedItem.icon" [ngStyle]="getItemProp(processedItem, 'iconStyle')"></span>
433
- <span *ngIf="getItemProp(processedItem, 'label')" [class]="cx('itemLabel')" [innerHTML]="getItemProp(processedItem, 'label')"></span>
478
+ <ng-template *ngTemplateOutlet="panelMenu.submenuIconTemplate && panelMenu._submenuIconTemplate"></ng-template>
479
+ </ng-container>
480
+ <span [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))" *ngIf="processedItem.icon" [ngStyle]="getItemProp(processedItem, 'iconStyle')" [pBind]="getPTOptions(processedItem, index, 'itemIcon')"></span>
481
+ <span *ngIf="getItemProp(processedItem, 'label')" [class]="cx('itemLabel')" [innerHTML]="getItemProp(processedItem, 'label')" [pBind]="getPTOptions(processedItem, index, 'itemLabel')"></span>
434
482
 
435
- <span [class]="cn(cx('badge'), getItemProp(processedItem, 'badgeStyleClass'))" *ngIf="processedItem.badge">{{ processedItem.badge }}</span>
436
- </a>
437
- </ng-container>
438
- <ng-container *ngIf="itemTemplate">
439
- <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
440
- </ng-container>
441
- </div>
442
- <div [@submenu]="getAnimation(processedItem)">
443
- <p-panelmenu-sub
444
- *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem) && isItemExpanded(processedItem)"
445
- [id]="getItemId(processedItem) + '_list'"
446
- [panelId]="panelId"
447
- [items]="processedItem?.items"
448
- [itemTemplate]="itemTemplate"
449
- [transitionOptions]="transitionOptions"
450
- [focusedItemId]="focusedItemId"
451
- [activeItemPath]="activeItemPath"
452
- [level]="level + 1"
453
- [parentExpanded]="!!parentExpanded && isItemExpanded(processedItem)"
454
- (itemToggle)="onItemToggle($event)"
455
- ></p-panelmenu-sub>
456
- </div>
457
- </li>
458
- </ng-template>
459
- </ul>
483
+ <span [class]="cn(cx('badge'), getItemProp(processedItem, 'badgeStyleClass'))" *ngIf="processedItem.badge">{{ processedItem.badge }}</span>
484
+ </a>
485
+ </ng-container>
486
+ <ng-container *ngIf="itemTemplate">
487
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
488
+ </ng-container>
489
+ </div>
490
+ <div [@submenu]="getAnimation(processedItem)">
491
+ <ul
492
+ pPanelMenuSub
493
+ *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem) && isItemExpanded(processedItem)"
494
+ [id]="getItemId(processedItem) + '_list'"
495
+ [panelId]="panelId"
496
+ [items]="processedItem?.items"
497
+ [itemTemplate]="itemTemplate"
498
+ [transitionOptions]="transitionOptions"
499
+ [focusedItemId]="focusedItemId"
500
+ [activeItemPath]="activeItemPath"
501
+ [level]="level + 1"
502
+ [pt]="pt()"
503
+ [parentExpanded]="!!parentExpanded && isItemExpanded(processedItem)"
504
+ (itemToggle)="onItemToggle($event)"
505
+ ></ul>
506
+ </div>
507
+ </li>
508
+ </ng-template>
460
509
  `,
461
510
  animations: [
462
511
  trigger('submenu', [
463
- state('hidden', style$1({
512
+ state('hidden', style$2({
464
513
  height: '0'
465
514
  })),
466
- state('visible', style$1({
515
+ state('visible', style$2({
467
516
  height: '*'
468
517
  })),
469
518
  transition('visible <=> hidden', [animate('{{transitionParams}}')]),
@@ -471,7 +520,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
471
520
  ])
472
521
  ],
473
522
  encapsulation: ViewEncapsulation.None,
474
- providers: [PanelMenuStyle]
523
+ providers: [PanelMenuStyle, { provide: PANELMENUSUB_INSTANCE, useExisting: PanelMenuSub }, { provide: PARENT_INSTANCE, useExisting: PanelMenuSub }],
524
+ host: {
525
+ '[class]': 'root ? cn(cx("rootList"), cx("submenu")) : cx("submenu")',
526
+ role: 'tree',
527
+ '[tabindex]': '-1',
528
+ '[attr.aria-activedescendant]': 'focusedItemId',
529
+ '[attr.aria-hidden]': '!parentExpanded',
530
+ '(focusin)': 'menuFocus.emit($event)',
531
+ '(focusout)': 'menuBlur.emit($event)',
532
+ '(keydown)': 'menuKeyDown.emit($event)'
533
+ },
534
+ hostDirectives: [Bind]
475
535
  }]
476
536
  }], propDecorators: { panelId: [{
477
537
  type: Input
@@ -505,9 +565,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
505
565
  type: Output
506
566
  }], menuKeyDown: [{
507
567
  type: Output
508
- }], listViewChild: [{
509
- type: ViewChild,
510
- args: ['list']
511
568
  }] } });
512
569
  class PanelMenuList extends BaseComponent {
513
570
  panelId;
@@ -537,7 +594,7 @@ class PanelMenuList extends BaseComponent {
537
594
  const focusedItem = this.focusedItem();
538
595
  return focusedItem && focusedItem.item?.id ? focusedItem.item.id : isNotEmpty(this.focusedItem()) ? `${this.panelId}_${this.focusedItem().key}` : undefined;
539
596
  }
540
- ngOnChanges(changes) {
597
+ onChanges(changes) {
541
598
  this.processedItems.set(this.createProcessedItems(changes?.items?.currentValue || this.items || []));
542
599
  }
543
600
  getItemProp(processedItem, name) {
@@ -559,7 +616,7 @@ class PanelMenuList extends BaseComponent {
559
616
  return isNotEmpty(processedItem.items);
560
617
  }
561
618
  isElementInPanel(event, element) {
562
- const panel = event.currentTarget.closest('[data-pc-section="panel"]');
619
+ const panel = event.currentTarget.closest('[data-pc-name="panelmenu"]');
563
620
  return panel && panel.contains(element);
564
621
  }
565
622
  isItemMatched(processedItem) {
@@ -772,7 +829,7 @@ class PanelMenuList extends BaseComponent {
772
829
  onEnterKey(event) {
773
830
  if (isNotEmpty(this.focusedItem())) {
774
831
  const element = findSingle(this.subMenuViewChild.listViewChild.nativeElement, `li[id="${`${this.focusedItemId}`}"]`);
775
- const anchorElement = element && (findSingle(element, '[data-pc-section="action"]') || findSingle(element, 'a,button'));
832
+ const anchorElement = element && (findSingle(element, 'a') || findSingle(element, 'button'));
776
833
  anchorElement ? anchorElement.click() : element && element.click();
777
834
  }
778
835
  event.preventDefault();
@@ -835,11 +892,12 @@ class PanelMenuList extends BaseComponent {
835
892
  }, 500);
836
893
  return matched;
837
894
  }
838
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuList, deps: null, target: i0.ɵɵFactoryTarget.Component });
839
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: PanelMenuList, isStandalone: true, selector: "p-panelMenuList, p-panel-menu-list", inputs: { panelId: "panelId", id: "id", items: "items", itemTemplate: "itemTemplate", parentExpanded: ["parentExpanded", "parentExpanded", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], transitionOptions: "transitionOptions", root: ["root", "root", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], activeItem: "activeItem" }, outputs: { itemToggle: "itemToggle", headerFocus: "headerFocus" }, viewQueries: [{ propertyName: "subMenuViewChild", first: true, predicate: ["submenu"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
840
- <p-panelmenu-sub
895
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuList, deps: null, target: i0.ɵɵFactoryTarget.Component });
896
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.4", type: PanelMenuList, isStandalone: true, selector: "ul[pPanelMenuList]", inputs: { panelId: "panelId", id: "id", items: "items", itemTemplate: "itemTemplate", parentExpanded: ["parentExpanded", "parentExpanded", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], transitionOptions: "transitionOptions", root: ["root", "root", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], activeItem: "activeItem" }, outputs: { itemToggle: "itemToggle", headerFocus: "headerFocus" }, viewQueries: [{ propertyName: "subMenuViewChild", first: true, predicate: ["submenu"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
897
+ <ul
898
+ pPanelMenuSub
841
899
  #submenu
842
- [root]="true"
900
+ [root]="root"
843
901
  [id]="panelId + '_list'"
844
902
  [panelId]="panelId"
845
903
  [tabindex]="tabindex"
@@ -853,19 +911,21 @@ class PanelMenuList extends BaseComponent {
853
911
  (keydown)="onKeyDown($event)"
854
912
  (menuFocus)="onFocus($event)"
855
913
  (menuBlur)="onBlur($event)"
856
- ></p-panelmenu-sub>
857
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: PanelMenuSub, selector: "p-panelMenuSub, p-panelmenu-sub", inputs: ["panelId", "focusedItemId", "items", "itemTemplate", "level", "activeItemPath", "root", "tabindex", "transitionOptions", "parentExpanded"], outputs: ["itemToggle", "menuFocus", "menuBlur", "menuKeyDown"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
914
+ [pt]="pt()"
915
+ ></ul>
916
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: PanelMenuSub, selector: "ul[pPanelMenuSub]", inputs: ["panelId", "focusedItemId", "items", "itemTemplate", "level", "activeItemPath", "root", "tabindex", "transitionOptions", "parentExpanded"], outputs: ["itemToggle", "menuFocus", "menuBlur", "menuKeyDown"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
858
917
  }
859
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuList, decorators: [{
918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuList, decorators: [{
860
919
  type: Component,
861
920
  args: [{
862
- selector: 'p-panelMenuList, p-panel-menu-list',
921
+ selector: 'ul[pPanelMenuList]',
863
922
  imports: [CommonModule, PanelMenuSub, RouterModule, TooltipModule, SharedModule],
864
923
  standalone: true,
865
924
  template: `
866
- <p-panelmenu-sub
925
+ <ul
926
+ pPanelMenuSub
867
927
  #submenu
868
- [root]="true"
928
+ [root]="root"
869
929
  [id]="panelId + '_list'"
870
930
  [panelId]="panelId"
871
931
  [tabindex]="tabindex"
@@ -879,7 +939,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
879
939
  (keydown)="onKeyDown($event)"
880
940
  (menuFocus)="onFocus($event)"
881
941
  (menuBlur)="onBlur($event)"
882
- ></p-panelmenu-sub>
942
+ [pt]="pt()"
943
+ ></ul>
883
944
  `,
884
945
  changeDetection: ChangeDetectionStrategy.OnPush,
885
946
  encapsulation: ViewEncapsulation.None
@@ -975,11 +1036,24 @@ class PanelMenu extends BaseComponent {
975
1036
  animating;
976
1037
  activeItem = signal(null, ...(ngDevMode ? [{ debugName: "activeItem" }] : []));
977
1038
  _componentStyle = inject(PanelMenuStyle);
978
- ngOnInit() {
979
- super.ngOnInit();
1039
+ bindDirectiveInstance = inject(Bind, { self: true });
1040
+ $pcPanelMenu = inject(PANELMENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
1041
+ onAfterViewChecked() {
1042
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1043
+ }
1044
+ getPTOptions(key, item, index) {
1045
+ return this.ptm(key, {
1046
+ context: {
1047
+ item: item,
1048
+ index,
1049
+ active: this.isItemActive(item)
1050
+ }
1051
+ });
1052
+ }
1053
+ onInit() {
980
1054
  this.id = this.id || uuid('pn_id_');
981
1055
  }
982
- ngAfterContentInit() {
1056
+ onAfterContentInit() {
983
1057
  this.templates?.forEach((item) => {
984
1058
  switch (item.getType()) {
985
1059
  case 'submenuicon':
@@ -1051,8 +1125,8 @@ class PanelMenu extends BaseComponent {
1051
1125
  }
1052
1126
  updateFocusedHeader(event) {
1053
1127
  const { originalEvent, focusOnNext, selfCheck } = event;
1054
- const panelElement = originalEvent.currentTarget.closest('[data-pc-section="panel"]');
1055
- const header = selfCheck ? findSingle(panelElement, '[data-pc-section="header"]') : focusOnNext ? this.findNextHeader(panelElement) : this.findPrevHeader(panelElement);
1128
+ const panelElement = originalEvent.currentTarget.closest('.p-panelmenu-panel');
1129
+ const header = selfCheck ? findSingle(panelElement, '.p-panelmenu-header') : focusOnNext ? this.findNextHeader(panelElement) : this.findPrevHeader(panelElement);
1056
1130
  header ? this.changeFocusedHeader(originalEvent, header) : focusOnNext ? this.onHeaderHomeKey(originalEvent) : this.onHeaderEndKey(originalEvent);
1057
1131
  }
1058
1132
  changeFocusedHeader(event, element) {
@@ -1060,12 +1134,12 @@ class PanelMenu extends BaseComponent {
1060
1134
  }
1061
1135
  findNextHeader(panelElement, selfCheck = false) {
1062
1136
  const nextPanelElement = selfCheck ? panelElement : panelElement.nextElementSibling;
1063
- const headerElement = findSingle(nextPanelElement, '[data-pc-section="header"]');
1137
+ const headerElement = findSingle(nextPanelElement, '.p-panelmenu-header');
1064
1138
  return headerElement ? (getAttribute(headerElement, 'data-p-disabled') ? this.findNextHeader(headerElement.parentElement) : headerElement) : null;
1065
1139
  }
1066
1140
  findPrevHeader(panelElement, selfCheck = false) {
1067
1141
  const prevPanelElement = selfCheck ? panelElement : panelElement.previousElementSibling;
1068
- const headerElement = findSingle(prevPanelElement, '[data-pc-section="header"]');
1142
+ const headerElement = findSingle(prevPanelElement, '.p-panelmenu-header');
1069
1143
  return headerElement ? (getAttribute(headerElement, 'data-p-disabled') ? this.findPrevHeader(headerElement.parentElement) : headerElement) : null;
1070
1144
  }
1071
1145
  findFirstHeader() {
@@ -1117,13 +1191,13 @@ class PanelMenu extends BaseComponent {
1117
1191
  }
1118
1192
  }
1119
1193
  onHeaderArrowDownKey(event) {
1120
- const rootList = getAttribute(event.currentTarget, 'data-p-highlight') === true ? findSingle(event.currentTarget.nextElementSibling, '[data-pc-section="menu"]') : null;
1194
+ const rootList = getAttribute(event.currentTarget, 'data-p-highlight') === true ? findSingle(event.currentTarget.nextElementSibling, 'ul.p-panelmenu-root-list') : null;
1121
1195
  rootList ? focus(rootList) : this.updateFocusedHeader({ originalEvent: event, focusOnNext: true });
1122
1196
  event.preventDefault();
1123
1197
  }
1124
1198
  onHeaderArrowUpKey(event) {
1125
1199
  const prevHeader = this.findPrevHeader(event.currentTarget.parentElement) || this.findLastHeader();
1126
- const rootList = getAttribute(prevHeader, 'data-p-highlight') === true ? findSingle(prevHeader.nextElementSibling, '[data-pc-section="menu"]') : null;
1200
+ const rootList = getAttribute(prevHeader, 'data-p-highlight') === true ? findSingle(prevHeader.nextElementSibling, 'ul.p-panelmenu-root-list') : null;
1127
1201
  rootList ? focus(rootList) : this.updateFocusedHeader({ originalEvent: event, focusOnNext: false });
1128
1202
  event.preventDefault();
1129
1203
  }
@@ -1136,14 +1210,14 @@ class PanelMenu extends BaseComponent {
1136
1210
  event.preventDefault();
1137
1211
  }
1138
1212
  onHeaderEnterKey(event, item, index) {
1139
- const headerAction = findSingle(event.currentTarget, '[data-pc-section="headeraction"]');
1213
+ const headerAction = findSingle(event.currentTarget, 'a.p-panelmenu-header-link');
1140
1214
  headerAction ? headerAction.click() : this.onHeaderClick(event, item, index);
1141
1215
  event.preventDefault();
1142
1216
  }
1143
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenu, deps: null, target: i0.ɵɵFactoryTarget.Component });
1144
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: PanelMenu, isStandalone: true, selector: "p-panelMenu, p-panelmenu, p-panel-menu", inputs: { model: "model", styleClass: "styleClass", multiple: ["multiple", "multiple", booleanAttribute], transitionOptions: "transitionOptions", id: "id", tabindex: ["tabindex", "tabindex", numberAttribute] }, host: { attributes: { "data-pc-section": "root", "data-pc-name": "panelmenu" }, properties: { "class": "cn(cx(\"root\"), styleClass)" } }, providers: [PanelMenuStyle], queries: [{ propertyName: "submenuIconTemplate", first: true, predicate: ["submenuicon"] }, { propertyName: "headerIconTemplate", first: true, predicate: ["headericon"] }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1217
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenu, deps: null, target: i0.ɵɵFactoryTarget.Component });
1218
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.4", type: PanelMenu, isStandalone: true, selector: "p-panelMenu, p-panelmenu, p-panel-menu", inputs: { model: "model", styleClass: "styleClass", multiple: ["multiple", "multiple", booleanAttribute], transitionOptions: "transitionOptions", id: "id", tabindex: ["tabindex", "tabindex", numberAttribute] }, host: { properties: { "class": "cn(cx(\"root\"), styleClass)" } }, providers: [PanelMenuStyle, { provide: PANELMENU_INSTANCE, useExisting: PanelMenu }, { provide: PARENT_INSTANCE, useExisting: PanelMenu }], queries: [{ propertyName: "submenuIconTemplate", first: true, predicate: ["submenuicon"] }, { propertyName: "headerIconTemplate", first: true, predicate: ["headericon"] }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
1145
1219
  <ng-container *ngFor="let item of model; let f = first; let l = last; let i = index">
1146
- <div *ngIf="isItemVisible(item)" [class]="cn(cx('panel'), getItemProp(item, 'headerClass'))" [ngStyle]="getItemProp(item, 'style')" [attr.data-pc-section]="'panel'">
1220
+ <div *ngIf="isItemVisible(item)" [class]="cn(cx('panel'), getItemProp(item, 'headerClass'))" [ngStyle]="getItemProp(item, 'style')" [pBind]="ptm('panel')">
1147
1221
  <div
1148
1222
  [class]="cn(cx('header', { item }), getItemProp(item, 'styleClass'))"
1149
1223
  [ngStyle]="getItemProp(item, 'style')"
@@ -1158,11 +1232,11 @@ class PanelMenu extends BaseComponent {
1158
1232
  [attr.aria-disabled]="isItemDisabled(item)"
1159
1233
  [attr.data-p-highlight]="isItemActive(item)"
1160
1234
  [attr.data-p-disabled]="isItemDisabled(item)"
1161
- [attr.data-pc-section]="'header'"
1235
+ [pBind]="getPTOptions('header', item, i)"
1162
1236
  (click)="onHeaderClick($event, item, i)"
1163
1237
  (keydown)="onHeaderKeyDown($event, item, i)"
1164
1238
  >
1165
- <div [class]="cx('headerContent')">
1239
+ <div [class]="cx('headerContent')" [pBind]="getPTOptions('headerContent', item, i)">
1166
1240
  <ng-container *ngIf="!itemTemplate && !_itemTemplate">
1167
1241
  <a
1168
1242
  *ngIf="!getItemProp(item, 'routerLink')"
@@ -1171,18 +1245,18 @@ class PanelMenu extends BaseComponent {
1171
1245
  [target]="getItemProp(item, 'target')"
1172
1246
  [attr.title]="getItemProp(item, 'title')"
1173
1247
  [class]="cx('headerLink')"
1174
- [attr.data-pc-section]="'headeraction'"
1248
+ [pBind]="getPTOptions('headerLink', item, i)"
1175
1249
  >
1176
1250
  <ng-container *ngIf="isItemGroup(item)">
1177
1251
  <ng-container *ngIf="!headerIconTemplate && !_headerIconTemplate">
1178
- <svg data-p-icon="chevron-down" [class]="cx('headerIcon')" *ngIf="isItemActive(item)" />
1179
- <svg data-p-icon="chevron-right" [class]="cx('headerIcon')" *ngIf="!isItemActive(item)" />
1252
+ <svg data-p-icon="chevron-down" [class]="cx('submenuIcon')" *ngIf="isItemActive(item)" [pBind]="getPTOptions('submenuIcon', item, i)" />
1253
+ <svg data-p-icon="chevron-right" [class]="cx('submenuIcon')" *ngIf="!isItemActive(item)" [pBind]="getPTOptions('submenuIcon', item, i)" />
1180
1254
  </ng-container>
1181
1255
  <ng-template *ngTemplateOutlet="headerIconTemplate || _headerIconTemplate"></ng-template>
1182
1256
  </ng-container>
1183
- <span [class]="cn(cx('headerIcon'), item.icon)" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')"></span>
1184
- <span [class]="cx('headerLabel')" *ngIf="getItemProp(item, 'escape') !== false; else htmlLabel">{{ getItemProp(item, 'label') }}</span>
1185
- <ng-template #htmlLabel><span [class]="cx('headerLabel')" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
1257
+ <span [class]="cn(cx('headerIcon'), item.icon)" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')" [pBind]="getPTOptions('headerIcon', item, i)"></span>
1258
+ <span [class]="cx('headerLabel')" *ngIf="getItemProp(item, 'escape') !== false; else htmlLabel" [pBind]="getPTOptions('headerLabel', item, i)">{{ getItemProp(item, 'label') }}</span>
1259
+ <ng-template #htmlLabel><span [class]="cx('headerLabel')" [innerHTML]="getItemProp(item, 'label')" [pBind]="getPTOptions('headerLabel', item, i)"></span></ng-template>
1186
1260
  <span [class]="cn(cx('badge'), getItemProp(item, 'badgeStyleClass'))" *ngIf="getItemProp(item, 'badge')">{{ getItemProp(item, 'badge') }}</span>
1187
1261
  </a>
1188
1262
  </ng-container>
@@ -1202,18 +1276,18 @@ class PanelMenu extends BaseComponent {
1202
1276
  [skipLocationChange]="getItemProp(item, 'skipLocationChange')"
1203
1277
  [replaceUrl]="getItemProp(item, 'replaceUrl')"
1204
1278
  [state]="getItemProp(item, 'state')"
1205
- [attr.data-pc-section]="'headeraction'"
1279
+ [pBind]="getPTOptions('headerLink', item, i)"
1206
1280
  >
1207
1281
  <ng-container *ngIf="isItemGroup(item)">
1208
1282
  <ng-container *ngIf="!headerIconTemplate && !_headerIconTemplate">
1209
- <svg data-p-icon="chevron-down" [class]="cx('headerIcon')" *ngIf="isItemActive(item)" />
1210
- <svg data-p-icon="chevron-right" [class]="cx('headerIcon')" *ngIf="!isItemActive(item)" />
1283
+ <svg data-p-icon="chevron-down" [class]="cx('submenuIcon')" *ngIf="isItemActive(item)" [pBind]="getPTOptions('submenuIcon', item, i)" />
1284
+ <svg data-p-icon="chevron-right" [class]="cx('submenuIcon')" *ngIf="!isItemActive(item)" [pBind]="getPTOptions('submenuIcon', item, i)" />
1211
1285
  </ng-container>
1212
1286
  <ng-template *ngTemplateOutlet="headerIconTemplate || _headerIconTemplate"></ng-template>
1213
1287
  </ng-container>
1214
- <span [class]="cn(cx('headerIcon'), item.icon)" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')"></span>
1215
- <span [class]="cx('headerLabel')" *ngIf="getItemProp(item, 'escape') !== false; else htmlRouteLabel">{{ getItemProp(item, 'label') }}</span>
1216
- <ng-template #htmlRouteLabel><span [class]="cx('headerLabel')" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
1288
+ <span [class]="cn(cx('headerIcon'), item.icon)" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')" [pBind]="getPTOptions('headerIcon', item, i)"></span>
1289
+ <span [class]="cx('headerLabel')" *ngIf="getItemProp(item, 'escape') !== false; else htmlRouteLabel" [pBind]="getPTOptions('headerLabel', item, i)">{{ getItemProp(item, 'label') }}</span>
1290
+ <ng-template #htmlRouteLabel><span [class]="cx('headerLabel')" [innerHTML]="getItemProp(item, 'label')" [pBind]="getPTOptions('headerLabel', item, i)"></span></ng-template>
1217
1291
  <span *ngIf="getItemProp(item, 'badge')" [class]="cn(cx('badge'), getItemProp(item, 'badgeStyleClass'))">{{ getItemProp(item, 'badge') }}</span>
1218
1292
  </a>
1219
1293
  </div>
@@ -1226,10 +1300,11 @@ class PanelMenu extends BaseComponent {
1226
1300
  role="region"
1227
1301
  [attr.id]="getContentId(item, i)"
1228
1302
  [attr.aria-labelledby]="getHeaderId(item, i)"
1229
- [attr.data-pc-section]="'toggleablecontent'"
1303
+ [pBind]="ptm('contentContainer')"
1230
1304
  >
1231
- <div [class]="cx('content')" [attr.data-pc-section]="'menucontent'">
1232
- <p-panelMenuList
1305
+ <div [class]="cx('content')" [pBind]="ptm('content')">
1306
+ <ul
1307
+ pPanelMenuList
1233
1308
  [panelId]="getPanelId(i, item)"
1234
1309
  [items]="getItemProp(item, 'items')"
1235
1310
  [itemTemplate]="itemTemplate || _itemTemplate"
@@ -1239,18 +1314,19 @@ class PanelMenu extends BaseComponent {
1239
1314
  [tabindex]="tabindex"
1240
1315
  [parentExpanded]="isItemActive(item)"
1241
1316
  (headerFocus)="updateFocusedHeader($event)"
1242
- ></p-panelMenuList>
1317
+ [pt]="pt()"
1318
+ ></ul>
1243
1319
  </div>
1244
1320
  </div>
1245
1321
  </div>
1246
1322
  </ng-container>
1247
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: PanelMenuList, selector: "p-panelMenuList, p-panel-menu-list", inputs: ["panelId", "id", "items", "itemTemplate", "parentExpanded", "expanded", "transitionOptions", "root", "tabindex", "activeItem"], outputs: ["itemToggle", "headerFocus"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: ChevronRightIcon, selector: "[data-p-icon=\"chevron-right\"]" }, { kind: "ngmodule", type: SharedModule }], animations: [
1323
+ `, 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: "component", type: PanelMenuList, selector: "ul[pPanelMenuList]", inputs: ["panelId", "id", "items", "itemTemplate", "parentExpanded", "expanded", "transitionOptions", "root", "tabindex", "activeItem"], outputs: ["itemToggle", "headerFocus"] }, { 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: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: ChevronRightIcon, selector: "[data-p-icon=\"chevron-right\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }], animations: [
1248
1324
  trigger('rootItem', [
1249
- state('hidden', style$1({
1325
+ state('hidden', style$2({
1250
1326
  height: '0',
1251
1327
  visibility: 'hidden'
1252
1328
  })),
1253
- state('visible', style$1({
1329
+ state('visible', style$2({
1254
1330
  height: '*',
1255
1331
  visibility: '*'
1256
1332
  })),
@@ -1259,15 +1335,15 @@ class PanelMenu extends BaseComponent {
1259
1335
  ])
1260
1336
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1261
1337
  }
1262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenu, decorators: [{
1338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenu, decorators: [{
1263
1339
  type: Component,
1264
1340
  args: [{
1265
1341
  selector: 'p-panelMenu, p-panelmenu, p-panel-menu',
1266
- imports: [CommonModule, PanelMenuList, RouterModule, TooltipModule, ChevronDownIcon, ChevronRightIcon, SharedModule],
1342
+ imports: [CommonModule, PanelMenuList, RouterModule, TooltipModule, ChevronDownIcon, ChevronRightIcon, SharedModule, BindModule],
1267
1343
  standalone: true,
1268
1344
  template: `
1269
1345
  <ng-container *ngFor="let item of model; let f = first; let l = last; let i = index">
1270
- <div *ngIf="isItemVisible(item)" [class]="cn(cx('panel'), getItemProp(item, 'headerClass'))" [ngStyle]="getItemProp(item, 'style')" [attr.data-pc-section]="'panel'">
1346
+ <div *ngIf="isItemVisible(item)" [class]="cn(cx('panel'), getItemProp(item, 'headerClass'))" [ngStyle]="getItemProp(item, 'style')" [pBind]="ptm('panel')">
1271
1347
  <div
1272
1348
  [class]="cn(cx('header', { item }), getItemProp(item, 'styleClass'))"
1273
1349
  [ngStyle]="getItemProp(item, 'style')"
@@ -1282,11 +1358,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
1282
1358
  [attr.aria-disabled]="isItemDisabled(item)"
1283
1359
  [attr.data-p-highlight]="isItemActive(item)"
1284
1360
  [attr.data-p-disabled]="isItemDisabled(item)"
1285
- [attr.data-pc-section]="'header'"
1361
+ [pBind]="getPTOptions('header', item, i)"
1286
1362
  (click)="onHeaderClick($event, item, i)"
1287
1363
  (keydown)="onHeaderKeyDown($event, item, i)"
1288
1364
  >
1289
- <div [class]="cx('headerContent')">
1365
+ <div [class]="cx('headerContent')" [pBind]="getPTOptions('headerContent', item, i)">
1290
1366
  <ng-container *ngIf="!itemTemplate && !_itemTemplate">
1291
1367
  <a
1292
1368
  *ngIf="!getItemProp(item, 'routerLink')"
@@ -1295,18 +1371,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
1295
1371
  [target]="getItemProp(item, 'target')"
1296
1372
  [attr.title]="getItemProp(item, 'title')"
1297
1373
  [class]="cx('headerLink')"
1298
- [attr.data-pc-section]="'headeraction'"
1374
+ [pBind]="getPTOptions('headerLink', item, i)"
1299
1375
  >
1300
1376
  <ng-container *ngIf="isItemGroup(item)">
1301
1377
  <ng-container *ngIf="!headerIconTemplate && !_headerIconTemplate">
1302
- <svg data-p-icon="chevron-down" [class]="cx('headerIcon')" *ngIf="isItemActive(item)" />
1303
- <svg data-p-icon="chevron-right" [class]="cx('headerIcon')" *ngIf="!isItemActive(item)" />
1378
+ <svg data-p-icon="chevron-down" [class]="cx('submenuIcon')" *ngIf="isItemActive(item)" [pBind]="getPTOptions('submenuIcon', item, i)" />
1379
+ <svg data-p-icon="chevron-right" [class]="cx('submenuIcon')" *ngIf="!isItemActive(item)" [pBind]="getPTOptions('submenuIcon', item, i)" />
1304
1380
  </ng-container>
1305
1381
  <ng-template *ngTemplateOutlet="headerIconTemplate || _headerIconTemplate"></ng-template>
1306
1382
  </ng-container>
1307
- <span [class]="cn(cx('headerIcon'), item.icon)" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')"></span>
1308
- <span [class]="cx('headerLabel')" *ngIf="getItemProp(item, 'escape') !== false; else htmlLabel">{{ getItemProp(item, 'label') }}</span>
1309
- <ng-template #htmlLabel><span [class]="cx('headerLabel')" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
1383
+ <span [class]="cn(cx('headerIcon'), item.icon)" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')" [pBind]="getPTOptions('headerIcon', item, i)"></span>
1384
+ <span [class]="cx('headerLabel')" *ngIf="getItemProp(item, 'escape') !== false; else htmlLabel" [pBind]="getPTOptions('headerLabel', item, i)">{{ getItemProp(item, 'label') }}</span>
1385
+ <ng-template #htmlLabel><span [class]="cx('headerLabel')" [innerHTML]="getItemProp(item, 'label')" [pBind]="getPTOptions('headerLabel', item, i)"></span></ng-template>
1310
1386
  <span [class]="cn(cx('badge'), getItemProp(item, 'badgeStyleClass'))" *ngIf="getItemProp(item, 'badge')">{{ getItemProp(item, 'badge') }}</span>
1311
1387
  </a>
1312
1388
  </ng-container>
@@ -1326,18 +1402,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
1326
1402
  [skipLocationChange]="getItemProp(item, 'skipLocationChange')"
1327
1403
  [replaceUrl]="getItemProp(item, 'replaceUrl')"
1328
1404
  [state]="getItemProp(item, 'state')"
1329
- [attr.data-pc-section]="'headeraction'"
1405
+ [pBind]="getPTOptions('headerLink', item, i)"
1330
1406
  >
1331
1407
  <ng-container *ngIf="isItemGroup(item)">
1332
1408
  <ng-container *ngIf="!headerIconTemplate && !_headerIconTemplate">
1333
- <svg data-p-icon="chevron-down" [class]="cx('headerIcon')" *ngIf="isItemActive(item)" />
1334
- <svg data-p-icon="chevron-right" [class]="cx('headerIcon')" *ngIf="!isItemActive(item)" />
1409
+ <svg data-p-icon="chevron-down" [class]="cx('submenuIcon')" *ngIf="isItemActive(item)" [pBind]="getPTOptions('submenuIcon', item, i)" />
1410
+ <svg data-p-icon="chevron-right" [class]="cx('submenuIcon')" *ngIf="!isItemActive(item)" [pBind]="getPTOptions('submenuIcon', item, i)" />
1335
1411
  </ng-container>
1336
1412
  <ng-template *ngTemplateOutlet="headerIconTemplate || _headerIconTemplate"></ng-template>
1337
1413
  </ng-container>
1338
- <span [class]="cn(cx('headerIcon'), item.icon)" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')"></span>
1339
- <span [class]="cx('headerLabel')" *ngIf="getItemProp(item, 'escape') !== false; else htmlRouteLabel">{{ getItemProp(item, 'label') }}</span>
1340
- <ng-template #htmlRouteLabel><span [class]="cx('headerLabel')" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
1414
+ <span [class]="cn(cx('headerIcon'), item.icon)" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')" [pBind]="getPTOptions('headerIcon', item, i)"></span>
1415
+ <span [class]="cx('headerLabel')" *ngIf="getItemProp(item, 'escape') !== false; else htmlRouteLabel" [pBind]="getPTOptions('headerLabel', item, i)">{{ getItemProp(item, 'label') }}</span>
1416
+ <ng-template #htmlRouteLabel><span [class]="cx('headerLabel')" [innerHTML]="getItemProp(item, 'label')" [pBind]="getPTOptions('headerLabel', item, i)"></span></ng-template>
1341
1417
  <span *ngIf="getItemProp(item, 'badge')" [class]="cn(cx('badge'), getItemProp(item, 'badgeStyleClass'))">{{ getItemProp(item, 'badge') }}</span>
1342
1418
  </a>
1343
1419
  </div>
@@ -1350,10 +1426,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
1350
1426
  role="region"
1351
1427
  [attr.id]="getContentId(item, i)"
1352
1428
  [attr.aria-labelledby]="getHeaderId(item, i)"
1353
- [attr.data-pc-section]="'toggleablecontent'"
1429
+ [pBind]="ptm('contentContainer')"
1354
1430
  >
1355
- <div [class]="cx('content')" [attr.data-pc-section]="'menucontent'">
1356
- <p-panelMenuList
1431
+ <div [class]="cx('content')" [pBind]="ptm('content')">
1432
+ <ul
1433
+ pPanelMenuList
1357
1434
  [panelId]="getPanelId(i, item)"
1358
1435
  [items]="getItemProp(item, 'items')"
1359
1436
  [itemTemplate]="itemTemplate || _itemTemplate"
@@ -1363,7 +1440,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
1363
1440
  [tabindex]="tabindex"
1364
1441
  [parentExpanded]="isItemActive(item)"
1365
1442
  (headerFocus)="updateFocusedHeader($event)"
1366
- ></p-panelMenuList>
1443
+ [pt]="pt()"
1444
+ ></ul>
1367
1445
  </div>
1368
1446
  </div>
1369
1447
  </div>
@@ -1371,11 +1449,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
1371
1449
  `,
1372
1450
  animations: [
1373
1451
  trigger('rootItem', [
1374
- state('hidden', style$1({
1452
+ state('hidden', style$2({
1375
1453
  height: '0',
1376
1454
  visibility: 'hidden'
1377
1455
  })),
1378
- state('visible', style$1({
1456
+ state('visible', style$2({
1379
1457
  height: '*',
1380
1458
  visibility: '*'
1381
1459
  })),
@@ -1385,12 +1463,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
1385
1463
  ],
1386
1464
  changeDetection: ChangeDetectionStrategy.OnPush,
1387
1465
  encapsulation: ViewEncapsulation.None,
1388
- providers: [PanelMenuStyle],
1466
+ providers: [PanelMenuStyle, { provide: PANELMENU_INSTANCE, useExisting: PanelMenu }, { provide: PARENT_INSTANCE, useExisting: PanelMenu }],
1389
1467
  host: {
1390
- '[class]': 'cn(cx("root"), styleClass)',
1391
- 'data-pc-section': 'root',
1392
- 'data-pc-name': 'panelmenu'
1393
- }
1468
+ '[class]': 'cn(cx("root"), styleClass)'
1469
+ },
1470
+ hostDirectives: [Bind]
1394
1471
  }]
1395
1472
  }], propDecorators: { model: [{
1396
1473
  type: Input
@@ -1423,11 +1500,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
1423
1500
  args: [PrimeTemplate]
1424
1501
  }] } });
1425
1502
  class PanelMenuModule {
1426
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1427
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuModule, imports: [PanelMenu, SharedModule], exports: [PanelMenu, SharedModule] });
1428
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuModule, imports: [PanelMenu, SharedModule, SharedModule] });
1503
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1504
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuModule, imports: [PanelMenu, SharedModule], exports: [PanelMenu, SharedModule] });
1505
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuModule, imports: [PanelMenu, SharedModule, SharedModule] });
1429
1506
  }
1430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PanelMenuModule, decorators: [{
1507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: PanelMenuModule, decorators: [{
1431
1508
  type: NgModule,
1432
1509
  args: [{
1433
1510
  imports: [PanelMenu, SharedModule],