primeng 19.0.0-rc.1 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/accordion/accordion.d.ts +7 -7
  2. package/autocomplete/autocomplete.d.ts +21 -8
  3. package/badge/badge.d.ts +1 -3
  4. package/basecomponent/basecomponent.d.ts +2 -5
  5. package/blockui/blockui.d.ts +10 -5
  6. package/breadcrumb/breadcrumb.d.ts +9 -6
  7. package/button/button.d.ts +10 -4
  8. package/calendar/calendar.d.ts +29 -15
  9. package/card/card.d.ts +12 -5
  10. package/carousel/carousel.d.ts +10 -4
  11. package/cascadeselect/cascadeselect.d.ts +18 -8
  12. package/checkbox/checkbox.d.ts +8 -4
  13. package/chip/chip.d.ts +9 -7
  14. package/config/themeprovider.d.ts +6 -0
  15. package/confirmdialog/confirmdialog.d.ts +15 -5
  16. package/confirmpopup/confirmpopup.d.ts +11 -5
  17. package/contextmenu/contextmenu.d.ts +10 -6
  18. package/datepicker/datepicker.d.ts +25 -11
  19. package/dialog/dialog.d.ts +15 -4
  20. package/divider/divider.d.ts +1 -1
  21. package/dock/dock.d.ts +7 -4
  22. package/drawer/drawer.d.ts +18 -10
  23. package/dropdown/dropdown.d.ts +4 -3
  24. package/dynamicdialog/dynamicdialog.d.ts +3 -2
  25. package/editor/editor.d.ts +7 -3
  26. package/fesm2022/primeng-accordion.mjs +56 -41
  27. package/fesm2022/primeng-accordion.mjs.map +1 -1
  28. package/fesm2022/primeng-autocomplete.mjs +153 -92
  29. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  30. package/fesm2022/primeng-badge.mjs +39 -32
  31. package/fesm2022/primeng-badge.mjs.map +1 -1
  32. package/fesm2022/primeng-basecomponent.mjs +2 -25
  33. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  34. package/fesm2022/primeng-blockui.mjs +38 -18
  35. package/fesm2022/primeng-blockui.mjs.map +1 -1
  36. package/fesm2022/primeng-breadcrumb.mjs +49 -31
  37. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  38. package/fesm2022/primeng-button.mjs +55 -28
  39. package/fesm2022/primeng-button.mjs.map +1 -1
  40. package/fesm2022/primeng-calendar.mjs +199 -136
  41. package/fesm2022/primeng-calendar.mjs.map +1 -1
  42. package/fesm2022/primeng-card.mjs +95 -45
  43. package/fesm2022/primeng-card.mjs.map +1 -1
  44. package/fesm2022/primeng-carousel.mjs +74 -42
  45. package/fesm2022/primeng-carousel.mjs.map +1 -1
  46. package/fesm2022/primeng-cascadeselect.mjs +99 -61
  47. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  48. package/fesm2022/primeng-checkbox.mjs +31 -12
  49. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  50. package/fesm2022/primeng-chip.mjs +117 -96
  51. package/fesm2022/primeng-chip.mjs.map +1 -1
  52. package/fesm2022/primeng-config.mjs +13 -11
  53. package/fesm2022/primeng-config.mjs.map +1 -1
  54. package/fesm2022/primeng-confirmdialog.mjs +104 -60
  55. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  56. package/fesm2022/primeng-confirmpopup.mjs +57 -29
  57. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  58. package/fesm2022/primeng-contextmenu.mjs +52 -21
  59. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  60. package/fesm2022/primeng-datepicker.mjs +199 -158
  61. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  62. package/fesm2022/primeng-dialog.mjs +97 -50
  63. package/fesm2022/primeng-dialog.mjs.map +1 -1
  64. package/fesm2022/primeng-divider.mjs +2 -4
  65. package/fesm2022/primeng-divider.mjs.map +1 -1
  66. package/fesm2022/primeng-dock.mjs +29 -10
  67. package/fesm2022/primeng-dock.mjs.map +1 -1
  68. package/fesm2022/primeng-drawer.mjs +112 -70
  69. package/fesm2022/primeng-drawer.mjs.map +1 -1
  70. package/fesm2022/primeng-dropdown.mjs +14 -6
  71. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  72. package/fesm2022/primeng-dynamicdialog.mjs +25 -21
  73. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  74. package/fesm2022/primeng-editor.mjs +26 -10
  75. package/fesm2022/primeng-editor.mjs.map +1 -1
  76. package/fesm2022/primeng-fieldset.mjs +61 -33
  77. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  78. package/fesm2022/primeng-fileupload.mjs +138 -87
  79. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  80. package/fesm2022/primeng-galleria.mjs +22 -13
  81. package/fesm2022/primeng-galleria.mjs.map +1 -1
  82. package/fesm2022/primeng-image.mjs +113 -66
  83. package/fesm2022/primeng-image.mjs.map +1 -1
  84. package/fesm2022/primeng-imagecompare.mjs +30 -10
  85. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  86. package/fesm2022/primeng-inplace.mjs +51 -26
  87. package/fesm2022/primeng-inplace.mjs.map +1 -1
  88. package/fesm2022/primeng-inputmask.mjs +31 -15
  89. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  90. package/fesm2022/primeng-inputnumber.mjs +54 -45
  91. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  92. package/fesm2022/primeng-inputotp.mjs +30 -11
  93. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  94. package/fesm2022/primeng-listbox.mjs +137 -78
  95. package/fesm2022/primeng-listbox.mjs.map +1 -1
  96. package/fesm2022/primeng-megamenu.mjs +105 -59
  97. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  98. package/fesm2022/primeng-menu.mjs +26 -26
  99. package/fesm2022/primeng-menu.mjs.map +1 -1
  100. package/fesm2022/primeng-menubar.mjs +69 -34
  101. package/fesm2022/primeng-menubar.mjs.map +1 -1
  102. package/fesm2022/primeng-message.mjs +49 -25
  103. package/fesm2022/primeng-message.mjs.map +1 -1
  104. package/fesm2022/primeng-messages.mjs +12 -3
  105. package/fesm2022/primeng-messages.mjs.map +1 -1
  106. package/fesm2022/primeng-metergroup.mjs +62 -30
  107. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  108. package/fesm2022/primeng-multiselect.mjs +246 -155
  109. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  110. package/fesm2022/primeng-orderlist.mjs +123 -68
  111. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  112. package/fesm2022/primeng-organizationchart.mjs +31 -15
  113. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  114. package/fesm2022/primeng-overlay.mjs +26 -6
  115. package/fesm2022/primeng-overlay.mjs.map +1 -1
  116. package/fesm2022/primeng-overlaypanel.mjs +29 -9
  117. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  118. package/fesm2022/primeng-paginator.mjs +92 -60
  119. package/fesm2022/primeng-paginator.mjs.map +1 -1
  120. package/fesm2022/primeng-panel.mjs +159 -98
  121. package/fesm2022/primeng-panel.mjs.map +1 -1
  122. package/fesm2022/primeng-panelmenu.mjs +55 -32
  123. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  124. package/fesm2022/primeng-password.mjs +88 -49
  125. package/fesm2022/primeng-password.mjs.map +1 -1
  126. package/fesm2022/primeng-picklist.mjs +360 -228
  127. package/fesm2022/primeng-picklist.mjs.map +1 -1
  128. package/fesm2022/primeng-popover.mjs +23 -7
  129. package/fesm2022/primeng-popover.mjs.map +1 -1
  130. package/fesm2022/primeng-progressbar.mjs +26 -8
  131. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  132. package/fesm2022/primeng-rating.mjs +44 -20
  133. package/fesm2022/primeng-rating.mjs.map +1 -1
  134. package/fesm2022/primeng-scroller.mjs +47 -37
  135. package/fesm2022/primeng-scroller.mjs.map +1 -1
  136. package/fesm2022/primeng-scrollpanel.mjs +28 -9
  137. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  138. package/fesm2022/primeng-scrolltop.mjs +16 -9
  139. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  140. package/fesm2022/primeng-select.mjs +198 -119
  141. package/fesm2022/primeng-select.mjs.map +1 -1
  142. package/fesm2022/primeng-selectbutton.mjs +25 -9
  143. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  144. package/fesm2022/primeng-sidebar.mjs +81 -58
  145. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  146. package/fesm2022/primeng-speeddial.mjs +54 -29
  147. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  148. package/fesm2022/primeng-splitbutton.mjs +41 -18
  149. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  150. package/fesm2022/primeng-splitter.mjs +4 -4
  151. package/fesm2022/primeng-splitter.mjs.map +1 -1
  152. package/fesm2022/primeng-stepper.mjs +33 -19
  153. package/fesm2022/primeng-stepper.mjs.map +1 -1
  154. package/fesm2022/primeng-table.mjs +115 -103
  155. package/fesm2022/primeng-table.mjs.map +1 -1
  156. package/fesm2022/primeng-tabmenu.mjs +54 -27
  157. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  158. package/fesm2022/primeng-tabs.mjs +27 -19
  159. package/fesm2022/primeng-tabs.mjs.map +1 -1
  160. package/fesm2022/primeng-tabview.mjs +106 -54
  161. package/fesm2022/primeng-tabview.mjs.map +1 -1
  162. package/fesm2022/primeng-tag.mjs +68 -44
  163. package/fesm2022/primeng-tag.mjs.map +1 -1
  164. package/fesm2022/primeng-tieredmenu.mjs +44 -21
  165. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  166. package/fesm2022/primeng-timeline.mjs +40 -16
  167. package/fesm2022/primeng-timeline.mjs.map +1 -1
  168. package/fesm2022/primeng-toast.mjs +30 -7
  169. package/fesm2022/primeng-toast.mjs.map +1 -1
  170. package/fesm2022/primeng-togglebutton.mjs +44 -28
  171. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  172. package/fesm2022/primeng-toggleswitch.mjs +28 -9
  173. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  174. package/fesm2022/primeng-toolbar.mjs +46 -20
  175. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  176. package/fesm2022/primeng-tooltip.mjs +32 -69
  177. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  178. package/fesm2022/primeng-tree.mjs +113 -96
  179. package/fesm2022/primeng-tree.mjs.map +1 -1
  180. package/fesm2022/primeng-treeselect.mjs +154 -85
  181. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  182. package/fesm2022/primeng-treetable.mjs +31 -14
  183. package/fesm2022/primeng-treetable.mjs.map +1 -1
  184. package/fesm2022/primeng-usestyle.mjs +1 -1
  185. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  186. package/fieldset/fieldset.d.ts +12 -6
  187. package/fileupload/fileupload.d.ts +19 -8
  188. package/galleria/galleria.d.ts +3 -2
  189. package/image/image.d.ts +18 -7
  190. package/imagecompare/imagecompare.d.ts +7 -2
  191. package/inplace/inplace.d.ts +12 -6
  192. package/inputmask/inputmask.d.ts +8 -4
  193. package/inputnumber/inputnumber.d.ts +11 -6
  194. package/inputotp/inputotp.d.ts +7 -2
  195. package/listbox/listbox.d.ts +17 -4
  196. package/megamenu/megamenu.d.ts +16 -7
  197. package/menu/menu.d.ts +6 -6
  198. package/menubar/menubar.d.ts +13 -6
  199. package/message/message.d.ts +10 -4
  200. package/messages/messages.d.ts +4 -3
  201. package/metergroup/metergroup.d.ts +11 -3
  202. package/multiselect/multiselect.d.ts +36 -17
  203. package/orderlist/orderlist.d.ts +23 -11
  204. package/organizationchart/organizationchart.d.ts +6 -4
  205. package/overlay/overlay.d.ts +6 -3
  206. package/overlaypanel/overlaypanel.d.ts +6 -3
  207. package/package.json +180 -180
  208. package/paginator/paginator.d.ts +15 -8
  209. package/panel/panel.d.ts +14 -5
  210. package/panelmenu/panelmenu.d.ts +8 -4
  211. package/password/password.d.ts +15 -7
  212. package/picklist/picklist.d.ts +23 -3
  213. package/popover/popover.d.ts +7 -4
  214. package/progressbar/progressbar.d.ts +7 -3
  215. package/rating/rating.d.ts +11 -5
  216. package/scroller/scroller.d.ts +9 -4
  217. package/scrollpanel/scrollpanel.d.ts +7 -3
  218. package/scrolltop/scrolltop.d.ts +7 -4
  219. package/select/select.d.ts +31 -13
  220. package/selectbutton/selectbutton.d.ts +7 -3
  221. package/sidebar/sidebar.d.ts +9 -2
  222. package/speeddial/speeddial.d.ts +9 -4
  223. package/splitbutton/splitbutton.d.ts +9 -5
  224. package/splitter/splitter.d.ts +4 -4
  225. package/stepper/stepper.d.ts +8 -3
  226. package/table/table.d.ts +2 -2
  227. package/tabmenu/tabmenu.d.ts +12 -7
  228. package/tabs/tablist.d.ts +6 -2
  229. package/tabview/tabview.d.ts +16 -7
  230. package/tag/tag.d.ts +8 -9
  231. package/tieredmenu/tieredmenu.d.ts +10 -6
  232. package/timeline/timeline.d.ts +7 -2
  233. package/toast/toast.d.ts +7 -3
  234. package/togglebutton/togglebutton.d.ts +8 -3
  235. package/toggleswitch/toggleswitch.d.ts +6 -2
  236. package/toolbar/toolbar.d.ts +9 -4
  237. package/tooltip/tooltip.d.ts +2 -1
  238. package/tree/tree.d.ts +23 -10
  239. package/treeselect/treeselect.d.ts +26 -12
  240. package/treetable/treetable.d.ts +6 -4
@@ -1,11 +1,11 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule, isPlatformBrowser } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, EventEmitter, inject, forwardRef, numberAttribute, booleanAttribute, Component, ViewEncapsulation, Input, Output, ViewChild, signal, effect, ChangeDetectionStrategy, ContentChild, NgModule } from '@angular/core';
4
+ import { Injectable, EventEmitter, inject, forwardRef, numberAttribute, booleanAttribute, Component, ViewEncapsulation, Input, Output, ViewChild, signal, effect, ChangeDetectionStrategy, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import * as i2 from '@angular/router';
6
6
  import { RouterModule } from '@angular/router';
7
7
  import { resolve, isNotEmpty, uuid, isEmpty, focus, findSingle, isPrintableCharacter, findLastIndex, isTouchDevice } from '@primeuix/utils';
8
- import { SharedModule } from 'primeng/api';
8
+ import { SharedModule, PrimeTemplate } from 'primeng/api';
9
9
  import * as i4 from 'primeng/badge';
10
10
  import { BadgeModule } from 'primeng/badge';
11
11
  import { BaseComponent } from 'primeng/basecomponent';
@@ -600,9 +600,9 @@ function MegaMenuSub_ul_0_ng_template_3_li_1_ng_container_3_a_1_ng_container_6_T
600
600
  } if (rf & 2) {
601
601
  const ctx_r1 = i0.ɵɵnextContext(6);
602
602
  i0.ɵɵadvance();
603
- i0.ɵɵproperty("ngIf", !ctx_r1.megaMenu.submenuiconTemplate);
603
+ i0.ɵɵproperty("ngIf", !ctx_r1.megaMenu.submenuIconTemplate && !ctx_r1.megaMenu._submenuIconTemplate);
604
604
  i0.ɵɵadvance();
605
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.megaMenu.submenuiconTemplate);
605
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.megaMenu.submenuIconTemplate || ctx_r1.megaMenu._submenuIconTemplate);
606
606
  } }
607
607
  function MegaMenuSub_ul_0_ng_template_3_li_1_ng_container_3_a_1_Template(rf, ctx) { if (rf & 1) {
608
608
  i0.ɵɵelementStart(0, "a", 18);
@@ -692,9 +692,9 @@ function MegaMenuSub_ul_0_ng_template_3_li_1_ng_container_3_a_2_ng_container_6_T
692
692
  } if (rf & 2) {
693
693
  const ctx_r1 = i0.ɵɵnextContext(6);
694
694
  i0.ɵɵadvance();
695
- i0.ɵɵproperty("ngIf", !ctx_r1.megaMenu.submenuiconTemplate);
695
+ i0.ɵɵproperty("ngIf", !ctx_r1.megaMenu.submenuIconTemplate && !ctx_r1.megaMenu._submenuIconTemplate);
696
696
  i0.ɵɵadvance();
697
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.megaMenu.submenuiconTemplate);
697
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.megaMenu.submenuIconTemplate || ctx_r1.megaMenu._submenuIconTemplate);
698
698
  } }
699
699
  function MegaMenuSub_ul_0_ng_template_3_li_1_ng_container_3_a_2_Template(rf, ctx) { if (rf & 1) {
700
700
  i0.ɵɵelementStart(0, "a", 30);
@@ -847,28 +847,32 @@ function MegaMenu_div_2_Template(rf, ctx) { if (rf & 1) {
847
847
  } if (rf & 2) {
848
848
  const ctx_r1 = i0.ɵɵnextContext();
849
849
  i0.ɵɵadvance();
850
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.startTemplate);
850
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.startTemplate || ctx_r1._startTemplate);
851
851
  } }
852
- function MegaMenu_ng_container_3_a_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
853
- i0.ɵɵelementContainerStart(0);
854
- i0.ɵɵelement(1, "BarsIcon");
855
- i0.ɵɵelementContainerEnd();
852
+ function MegaMenu_ng_container_3_a_1_BarsIcon_2_Template(rf, ctx) { if (rf & 1) {
853
+ i0.ɵɵelement(0, "BarsIcon");
854
+ } }
855
+ function MegaMenu_ng_container_3_a_1_3_ng_template_0_Template(rf, ctx) { }
856
+ function MegaMenu_ng_container_3_a_1_3_Template(rf, ctx) { if (rf & 1) {
857
+ i0.ɵɵtemplate(0, MegaMenu_ng_container_3_a_1_3_ng_template_0_Template, 0, 0, "ng-template");
856
858
  } }
857
859
  function MegaMenu_ng_container_3_a_1_Template(rf, ctx) { if (rf & 1) {
858
860
  const _r3 = i0.ɵɵgetCurrentView();
859
861
  i0.ɵɵelementStart(0, "a", 11, 2);
860
862
  i0.ɵɵlistener("click", function MegaMenu_ng_container_3_a_1_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.menuButtonClick($event)); })("keydown", function MegaMenu_ng_container_3_a_1_Template_a_keydown_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.menuButtonKeydown($event)); });
861
- i0.ɵɵtemplate(2, MegaMenu_ng_container_3_a_1_ng_container_2_Template, 2, 0, "ng-container", 5);
863
+ i0.ɵɵtemplate(2, MegaMenu_ng_container_3_a_1_BarsIcon_2_Template, 1, 0, "BarsIcon", 5)(3, MegaMenu_ng_container_3_a_1_3_Template, 1, 0, null, 6);
862
864
  i0.ɵɵelementEnd();
863
865
  } if (rf & 2) {
864
866
  const ctx_r1 = i0.ɵɵnextContext(2);
865
867
  i0.ɵɵattribute("aria-haspopup", ctx_r1.model.length && ctx_r1.model.length > 0 ? true : false)("aria-expanded", ctx_r1.mobileActive)("aria-controls", ctx_r1.id)("aria-label", ctx_r1.config.translation.aria.navigation);
866
868
  i0.ɵɵadvance(2);
867
- i0.ɵɵproperty("ngIf", !ctx_r1.buttonTemplate);
869
+ i0.ɵɵproperty("ngIf", !ctx_r1.buttonIconTemplate && !ctx_r1._buttonIconTemplate);
870
+ i0.ɵɵadvance();
871
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.buttonIconTemplate || ctx_r1._buttonIconTemplate);
868
872
  } }
869
873
  function MegaMenu_ng_container_3_Template(rf, ctx) { if (rf & 1) {
870
874
  i0.ɵɵelementContainerStart(0);
871
- i0.ɵɵtemplate(1, MegaMenu_ng_container_3_a_1_Template, 3, 5, "a", 10);
875
+ i0.ɵɵtemplate(1, MegaMenu_ng_container_3_a_1_Template, 4, 6, "a", 10);
872
876
  i0.ɵɵelementContainerEnd();
873
877
  } if (rf & 2) {
874
878
  const ctx_r1 = i0.ɵɵnextContext();
@@ -888,7 +892,7 @@ function MegaMenu_div_7_Template(rf, ctx) { if (rf & 1) {
888
892
  } if (rf & 2) {
889
893
  const ctx_r1 = i0.ɵɵnextContext();
890
894
  i0.ɵɵadvance();
891
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.endTemplate);
895
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.endTemplate || ctx_r1._endTemplate);
892
896
  } }
893
897
  class MegaMenuSub extends BaseComponent {
894
898
  id;
@@ -1109,14 +1113,14 @@ class MegaMenuSub extends BaseComponent {
1109
1113
  </ng-template>
1110
1114
  <p-badge *ngIf="getItemProp(processedItem, 'badge')" [styleClass]="getItemProp(processedItem, 'badgeStyleClass')" [value]="getItemProp(processedItem, 'badge')" />
1111
1115
  <ng-container *ngIf="isItemGroup(processedItem)">
1112
- <ng-container *ngIf="!megaMenu.submenuiconTemplate">
1116
+ <ng-container *ngIf="!megaMenu.submenuIconTemplate && !megaMenu._submenuIconTemplate">
1113
1117
  @if (orientation === 'horizontal' || mobileActive) {
1114
1118
  <AngleDownIcon [ngClass]="'p-megamenu-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
1115
1119
  } @else {
1116
1120
  <AngleRightIcon [ngClass]="'p-megamenu-submenu-icon'" [attr.data-pc-section]="'submenuicon'" *ngIf="orientation === 'vertical'" [attr.aria-hidden]="true" />
1117
1121
  }
1118
1122
  </ng-container>
1119
- <ng-template *ngTemplateOutlet="megaMenu.submenuiconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
1123
+ <ng-template *ngTemplateOutlet="megaMenu.submenuIconTemplate || megaMenu._submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
1120
1124
  </ng-container>
1121
1125
  </a>
1122
1126
  <a
@@ -1152,11 +1156,11 @@ class MegaMenuSub extends BaseComponent {
1152
1156
  <ng-template #htmlRouteLabel><span class="p-megamenu-item-label" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span></ng-template>
1153
1157
  <p-badge *ngIf="getItemProp(processedItem, 'badge')" [styleClass]="getItemProp(processedItem, 'badgeStyleClass')" [value]="getItemProp(processedItem, 'badge')" />
1154
1158
  <ng-container *ngIf="isItemGroup(processedItem)">
1155
- <ng-container *ngIf="!megaMenu.submenuiconTemplate">
1159
+ <ng-container *ngIf="!megaMenu.submenuIconTemplate && !megaMenu._submenuIconTemplate">
1156
1160
  <AngleDownIcon [styleClass]="'p-megamenu-submenu-icon'" [attr.data-pc-section]="'submenuicon'" *ngIf="orientation === 'horizontal'" [attr.aria-hidden]="true" />
1157
1161
  <AngleRightIcon [styleClass]="'p-megamenu-submenu-icon'" [attr.data-pc-section]="'submenuicon'" *ngIf="orientation === 'vertical'" [attr.aria-hidden]="true" />
1158
1162
  </ng-container>
1159
- <ng-template *ngTemplateOutlet="megaMenu.submenuiconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
1163
+ <ng-template *ngTemplateOutlet="megaMenu.submenuIconTemplate || megaMenu._submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
1160
1164
  </ng-container>
1161
1165
  </a>
1162
1166
  </ng-container>
@@ -1245,7 +1249,7 @@ class MegaMenuSub extends BaseComponent {
1245
1249
  type: ViewChild,
1246
1250
  args: ['menubar', { static: true }]
1247
1251
  }] }); })();
1248
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MegaMenuSub, { className: "MegaMenuSub", filePath: "megamenu.ts", lineNumber: 200 }); })();
1252
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MegaMenuSub, { className: "MegaMenuSub", filePath: "megamenu.ts", lineNumber: 203 }); })();
1249
1253
  /**
1250
1254
  * MegaMenu is navigation component that displays submenus together.
1251
1255
  * @group Components
@@ -1326,12 +1330,12 @@ class MegaMenu extends BaseComponent {
1326
1330
  * Defines template option for menu icon.
1327
1331
  * @group Templates
1328
1332
  */
1329
- menuiconTemplate;
1333
+ menuIconTemplate;
1330
1334
  /**
1331
1335
  * Defines template option for submenu icon.
1332
1336
  * @group Templates
1333
1337
  */
1334
- submenuiconTemplate;
1338
+ submenuIconTemplate;
1335
1339
  /**
1336
1340
  * Defines template option for submenu icon.
1337
1341
  * @group Templates
@@ -1346,10 +1350,18 @@ class MegaMenu extends BaseComponent {
1346
1350
  * Custom menu button icon template on responsive mode.
1347
1351
  * @group Templates
1348
1352
  */
1349
- buttoniconTemplate;
1353
+ buttonIconTemplate;
1354
+ templates;
1350
1355
  menubuttonViewChild;
1351
1356
  rootmenu;
1352
1357
  container;
1358
+ _startTemplate;
1359
+ _endTemplate;
1360
+ _menuIconTemplate;
1361
+ _submenuIconTemplate;
1362
+ _itemTemplate;
1363
+ _buttonTemplate;
1364
+ _buttonIconTemplate;
1353
1365
  outsideClickListener;
1354
1366
  resizeListener;
1355
1367
  dirty = false;
@@ -1407,6 +1419,36 @@ class MegaMenu extends BaseComponent {
1407
1419
  this.bindMatchMediaListener();
1408
1420
  this.id = this.id || uuid('pn_id_');
1409
1421
  }
1422
+ ngAfterContentInit() {
1423
+ this.templates?.forEach((item) => {
1424
+ switch (item.getType()) {
1425
+ case 'start':
1426
+ this._startTemplate = item.template;
1427
+ break;
1428
+ case 'end':
1429
+ this._endTemplate = item.template;
1430
+ break;
1431
+ case 'menuicon':
1432
+ this._menuIconTemplate = item.template;
1433
+ break;
1434
+ case 'submenuicon':
1435
+ this._submenuIconTemplate = item.template;
1436
+ break;
1437
+ case 'item':
1438
+ this._itemTemplate = item.template;
1439
+ break;
1440
+ case 'button':
1441
+ this._buttonTemplate = item.template;
1442
+ break;
1443
+ case 'buttonicon':
1444
+ this._buttonIconTemplate = item.template;
1445
+ break;
1446
+ default:
1447
+ this._itemTemplate = item.template;
1448
+ break;
1449
+ }
1450
+ });
1451
+ }
1410
1452
  bindMatchMediaListener() {
1411
1453
  if (isPlatformBrowser(this.platformId)) {
1412
1454
  if (!this.matchMediaListener) {
@@ -1889,22 +1931,24 @@ class MegaMenu extends BaseComponent {
1889
1931
  }
1890
1932
  static ɵfac = function MegaMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MegaMenu)(); };
1891
1933
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MegaMenu, selectors: [["p-megaMenu"], ["p-megamenu"], ["p-mega-menu"]], contentQueries: function MegaMenu_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
1892
- i0.ɵɵcontentQuery(dirIndex, _c6, 5);
1893
- i0.ɵɵcontentQuery(dirIndex, _c7, 5);
1894
- i0.ɵɵcontentQuery(dirIndex, _c8, 5);
1895
- i0.ɵɵcontentQuery(dirIndex, _c9, 5);
1896
- i0.ɵɵcontentQuery(dirIndex, _c10, 5);
1897
- i0.ɵɵcontentQuery(dirIndex, _c11, 5);
1898
- i0.ɵɵcontentQuery(dirIndex, _c12, 5);
1934
+ i0.ɵɵcontentQuery(dirIndex, _c6, 4);
1935
+ i0.ɵɵcontentQuery(dirIndex, _c7, 4);
1936
+ i0.ɵɵcontentQuery(dirIndex, _c8, 4);
1937
+ i0.ɵɵcontentQuery(dirIndex, _c9, 4);
1938
+ i0.ɵɵcontentQuery(dirIndex, _c10, 4);
1939
+ i0.ɵɵcontentQuery(dirIndex, _c11, 4);
1940
+ i0.ɵɵcontentQuery(dirIndex, _c12, 4);
1941
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
1899
1942
  } if (rf & 2) {
1900
1943
  let _t;
1901
1944
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.startTemplate = _t.first);
1902
1945
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.endTemplate = _t.first);
1903
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.menuiconTemplate = _t.first);
1904
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.submenuiconTemplate = _t.first);
1946
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.menuIconTemplate = _t.first);
1947
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.submenuIconTemplate = _t.first);
1905
1948
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplate = _t.first);
1906
1949
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.buttonTemplate = _t.first);
1907
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.buttoniconTemplate = _t.first);
1950
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.buttonIconTemplate = _t.first);
1951
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
1908
1952
  } }, viewQuery: function MegaMenu_Query(rf, ctx) { if (rf & 1) {
1909
1953
  i0.ɵɵviewQuery(_c13, 5);
1910
1954
  i0.ɵɵviewQuery(_c14, 5);
@@ -1929,16 +1973,16 @@ class MegaMenu extends BaseComponent {
1929
1973
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction4(31, _c17, ctx.queryMatches, ctx.mobileActive, ctx.orientation == "horizontal", ctx.orientation == "vertical"))("ngStyle", ctx.style);
1930
1974
  i0.ɵɵattribute("data-pc-section", "root")("data-pc-name", "megamenu")("id", ctx.id);
1931
1975
  i0.ɵɵadvance(2);
1932
- i0.ɵɵproperty("ngIf", ctx.startTemplate);
1976
+ i0.ɵɵproperty("ngIf", ctx.startTemplate || ctx._startTemplate);
1933
1977
  i0.ɵɵadvance();
1934
- i0.ɵɵproperty("ngIf", !ctx.buttonTemplate);
1978
+ i0.ɵɵproperty("ngIf", !ctx.buttonTemplate && !ctx._buttonTemplate);
1935
1979
  i0.ɵɵadvance();
1936
- i0.ɵɵproperty("ngTemplateOutlet", ctx.buttonTemplate);
1980
+ i0.ɵɵproperty("ngTemplateOutlet", ctx.buttonTemplate || ctx._buttonTemplate);
1937
1981
  i0.ɵɵadvance();
1938
- i0.ɵɵproperty("itemTemplate", ctx.itemTemplate)("items", ctx.processedItems)("menuId", ctx.id)("root", true)("orientation", ctx.orientation)("ariaLabel", ctx.ariaLabel)("disabled", ctx.disabled)("tabindex", !ctx.disabled ? ctx.tabindex : -1)("activeItem", ctx.activeItem())("level", 0)("ariaLabelledBy", ctx.ariaLabelledBy)("focusedItemId", ctx.focused ? ctx.focusedItemId : undefined)("mobileActive", ctx.mobileActive)("queryMatches", ctx.queryMatches)("scrollHeight", ctx.scrollHeight);
1982
+ i0.ɵɵproperty("itemTemplate", ctx.itemTemplate || ctx._itemTemplate)("items", ctx.processedItems)("menuId", ctx.id)("root", true)("orientation", ctx.orientation)("ariaLabel", ctx.ariaLabel)("disabled", ctx.disabled)("tabindex", !ctx.disabled ? ctx.tabindex : -1)("activeItem", ctx.activeItem())("level", 0)("ariaLabelledBy", ctx.ariaLabelledBy)("focusedItemId", ctx.focused ? ctx.focusedItemId : undefined)("mobileActive", ctx.mobileActive)("queryMatches", ctx.queryMatches)("scrollHeight", ctx.scrollHeight);
1939
1983
  i0.ɵɵattribute("id", ctx.id + "_list");
1940
1984
  i0.ɵɵadvance(2);
1941
- i0.ɵɵproperty("ngIf", ctx.endTemplate);
1985
+ i0.ɵɵproperty("ngIf", ctx.endTemplate || ctx._endTemplate);
1942
1986
  } }, dependencies: [CommonModule, i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, RouterModule, MegaMenuSub, TooltipModule, BarsIcon, BadgeModule, SharedModule], encapsulation: 2, changeDetection: 0 });
1943
1987
  }
1944
1988
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MegaMenu, [{
@@ -1964,10 +2008,10 @@ class MegaMenu extends BaseComponent {
1964
2008
  [attr.id]="id"
1965
2009
  #container
1966
2010
  >
1967
- <div class="p-megamenu-start" *ngIf="startTemplate">
1968
- <ng-container *ngTemplateOutlet="startTemplate"></ng-container>
2011
+ <div class="p-megamenu-start" *ngIf="startTemplate || _startTemplate">
2012
+ <ng-container *ngTemplateOutlet="startTemplate || _startTemplate"></ng-container>
1969
2013
  </div>
1970
- <ng-container *ngIf="!buttonTemplate">
2014
+ <ng-container *ngIf="!buttonTemplate && !_buttonTemplate">
1971
2015
  <a
1972
2016
  *ngIf="model && model.length > 0"
1973
2017
  #menubutton
@@ -1981,15 +2025,14 @@ class MegaMenu extends BaseComponent {
1981
2025
  (click)="menuButtonClick($event)"
1982
2026
  (keydown)="menuButtonKeydown($event)"
1983
2027
  >
1984
- <ng-container *ngIf="!buttonTemplate">
1985
- <BarsIcon />
1986
- </ng-container>
2028
+ <BarsIcon *ngIf="!buttonIconTemplate && !_buttonIconTemplate" />
2029
+ <ng-template *ngTemplateOutlet="buttonIconTemplate || _buttonIconTemplate"></ng-template>
1987
2030
  </a>
1988
2031
  </ng-container>
1989
- <ng-container *ngTemplateOutlet="buttonTemplate"></ng-container>
2032
+ <ng-container *ngTemplateOutlet="buttonTemplate || _buttonTemplate"></ng-container>
1990
2033
  <p-megamenu-sub
1991
2034
  #rootmenu
1992
- [itemTemplate]="itemTemplate"
2035
+ [itemTemplate]="itemTemplate || _itemTemplate"
1993
2036
  [items]="processedItems"
1994
2037
  [attr.id]="id + '_list'"
1995
2038
  [menuId]="id"
@@ -2011,8 +2054,8 @@ class MegaMenu extends BaseComponent {
2011
2054
  [queryMatches]="queryMatches"
2012
2055
  [scrollHeight]="scrollHeight"
2013
2056
  ></p-megamenu-sub>
2014
- <div class="p-megamenu-end" *ngIf="endTemplate">
2015
- <ng-container *ngTemplateOutlet="endTemplate"></ng-container>
2057
+ <div class="p-megamenu-end" *ngIf="endTemplate || _endTemplate">
2058
+ <ng-container *ngTemplateOutlet="endTemplate || _endTemplate"></ng-container>
2016
2059
  </div>
2017
2060
  </div>
2018
2061
  `,
@@ -2046,25 +2089,28 @@ class MegaMenu extends BaseComponent {
2046
2089
  args: [{ transform: numberAttribute }]
2047
2090
  }], startTemplate: [{
2048
2091
  type: ContentChild,
2049
- args: ['start']
2092
+ args: ['start', { descendants: false }]
2050
2093
  }], endTemplate: [{
2051
2094
  type: ContentChild,
2052
- args: ['end']
2053
- }], menuiconTemplate: [{
2095
+ args: ['end', { descendants: false }]
2096
+ }], menuIconTemplate: [{
2054
2097
  type: ContentChild,
2055
- args: ['menuicon']
2056
- }], submenuiconTemplate: [{
2098
+ args: ['menuicon', { descendants: false }]
2099
+ }], submenuIconTemplate: [{
2057
2100
  type: ContentChild,
2058
- args: ['submenuicon']
2101
+ args: ['submenuicon', { descendants: false }]
2059
2102
  }], itemTemplate: [{
2060
2103
  type: ContentChild,
2061
- args: ['item']
2104
+ args: ['item', { descendants: false }]
2062
2105
  }], buttonTemplate: [{
2063
2106
  type: ContentChild,
2064
- args: ['button']
2065
- }], buttoniconTemplate: [{
2107
+ args: ['button', { descendants: false }]
2108
+ }], buttonIconTemplate: [{
2066
2109
  type: ContentChild,
2067
- args: ['buttonicon']
2110
+ args: ['buttonicon', { descendants: false }]
2111
+ }], templates: [{
2112
+ type: ContentChildren,
2113
+ args: [PrimeTemplate]
2068
2114
  }], menubuttonViewChild: [{
2069
2115
  type: ViewChild,
2070
2116
  args: ['menubutton']
@@ -2075,7 +2121,7 @@ class MegaMenu extends BaseComponent {
2075
2121
  type: ViewChild,
2076
2122
  args: ['container']
2077
2123
  }] }); })();
2078
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MegaMenu, { className: "MegaMenu", filePath: "megamenu.ts", lineNumber: 450 }); })();
2124
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MegaMenu, { className: "MegaMenu", filePath: "megamenu.ts", lineNumber: 452 }); })();
2079
2125
  class MegaMenuModule {
2080
2126
  static ɵfac = function MegaMenuModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MegaMenuModule)(); };
2081
2127
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MegaMenuModule });