primeng 16.5.1 → 16.7.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 (228) hide show
  1. package/animate/animate.d.ts +3 -2
  2. package/animateonscroll/animateonscroll.d.ts +73 -0
  3. package/animateonscroll/index.d.ts +5 -0
  4. package/animateonscroll/public_api.d.ts +1 -0
  5. package/api/menuitem.d.ts +5 -1
  6. package/api/primengconfig.d.ts +1 -0
  7. package/autocomplete/autocomplete.d.ts +177 -54
  8. package/autocomplete/autocomplete.interface.d.ts +30 -0
  9. package/breadcrumb/breadcrumb.d.ts +1 -0
  10. package/cascadeselect/cascadeselect.d.ts +188 -68
  11. package/cascadeselect/cascadeselect.interface.d.ts +19 -0
  12. package/checkbox/checkbox.d.ts +1 -4
  13. package/chips/chips.d.ts +21 -5
  14. package/colorpicker/colorpicker.d.ts +5 -5
  15. package/contextmenu/contextmenu.d.ts +4 -1
  16. package/dialog/dialog.d.ts +1 -2
  17. package/dom/domhandler.d.ts +4 -1
  18. package/dropdown/dropdown.d.ts +115 -37
  19. package/esm2022/accordion/accordion.mjs +11 -7
  20. package/esm2022/animate/animate.mjs +4 -1
  21. package/esm2022/animateonscroll/animateonscroll.mjs +185 -0
  22. package/esm2022/animateonscroll/primeng-animateonscroll.mjs +5 -0
  23. package/esm2022/animateonscroll/public_api.mjs +2 -0
  24. package/esm2022/api/menuitem.mjs +1 -1
  25. package/esm2022/api/primengconfig.mjs +2 -1
  26. package/esm2022/autocomplete/autocomplete.interface.mjs +1 -1
  27. package/esm2022/autocomplete/autocomplete.mjs +893 -617
  28. package/esm2022/breadcrumb/breadcrumb.mjs +44 -17
  29. package/esm2022/button/button.mjs +2 -2
  30. package/esm2022/carousel/carousel.mjs +6 -1
  31. package/esm2022/cascadeselect/cascadeselect.interface.mjs +1 -1
  32. package/esm2022/cascadeselect/cascadeselect.mjs +921 -482
  33. package/esm2022/checkbox/checkbox.mjs +90 -73
  34. package/esm2022/chips/chips.mjs +197 -53
  35. package/esm2022/colorpicker/colorpicker.mjs +56 -37
  36. package/esm2022/contextmenu/contextmenu.mjs +177 -144
  37. package/esm2022/dialog/dialog.mjs +6 -11
  38. package/esm2022/dom/domhandler.mjs +26 -8
  39. package/esm2022/dropdown/dropdown.mjs +707 -588
  40. package/esm2022/galleria/galleria.mjs +3 -3
  41. package/esm2022/image/image.mjs +11 -4
  42. package/esm2022/inputmask/inputmask.mjs +22 -9
  43. package/esm2022/inputnumber/inputnumber.mjs +142 -83
  44. package/esm2022/inputswitch/inputswitch.mjs +55 -49
  45. package/esm2022/knob/knob.mjs +92 -5
  46. package/esm2022/listbox/listbox.interface.mjs +1 -1
  47. package/esm2022/listbox/listbox.mjs +996 -454
  48. package/esm2022/megamenu/megamenu.mjs +168 -144
  49. package/esm2022/menu/menu.mjs +146 -94
  50. package/esm2022/menubar/menubar.mjs +168 -144
  51. package/esm2022/multiselect/multiselect.mjs +1022 -603
  52. package/esm2022/overlaypanel/overlaypanel.mjs +10 -4
  53. package/esm2022/paginator/paginator.mjs +2 -2
  54. package/esm2022/panelmenu/panelmenu.mjs +135 -106
  55. package/esm2022/password/password.mjs +29 -28
  56. package/esm2022/radiobutton/radiobutton.mjs +46 -33
  57. package/esm2022/rating/rating.mjs +172 -80
  58. package/esm2022/selectbutton/selectbutton.mjs +105 -34
  59. package/esm2022/slider/slider.mjs +151 -66
  60. package/esm2022/splitbutton/splitbutton.interface.mjs +1 -1
  61. package/esm2022/splitbutton/splitbutton.mjs +70 -14
  62. package/esm2022/table/table.mjs +3 -3
  63. package/esm2022/tabmenu/tabmenu.mjs +17 -25
  64. package/esm2022/tabview/tabview.mjs +3 -3
  65. package/esm2022/tieredmenu/tieredmenu.mjs +168 -144
  66. package/esm2022/togglebutton/togglebutton.mjs +47 -10
  67. package/esm2022/treetable/treetable.mjs +1 -1
  68. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +53 -35
  69. package/fesm2022/primeng-accordion.mjs +10 -6
  70. package/fesm2022/primeng-accordion.mjs.map +1 -1
  71. package/fesm2022/primeng-animate.mjs +3 -0
  72. package/fesm2022/primeng-animate.mjs.map +1 -1
  73. package/fesm2022/primeng-animateonscroll.mjs +190 -0
  74. package/fesm2022/primeng-animateonscroll.mjs.map +1 -0
  75. package/fesm2022/primeng-api.mjs +1 -0
  76. package/fesm2022/primeng-api.mjs.map +1 -1
  77. package/fesm2022/primeng-autocomplete.mjs +893 -617
  78. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  79. package/fesm2022/primeng-breadcrumb.mjs +43 -16
  80. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  81. package/fesm2022/primeng-button.mjs +1 -1
  82. package/fesm2022/primeng-button.mjs.map +1 -1
  83. package/fesm2022/primeng-carousel.mjs +5 -0
  84. package/fesm2022/primeng-carousel.mjs.map +1 -1
  85. package/fesm2022/primeng-cascadeselect.mjs +920 -481
  86. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  87. package/fesm2022/primeng-checkbox.mjs +89 -72
  88. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  89. package/fesm2022/primeng-chips.mjs +195 -51
  90. package/fesm2022/primeng-chips.mjs.map +1 -1
  91. package/fesm2022/primeng-colorpicker.mjs +55 -36
  92. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  93. package/fesm2022/primeng-contextmenu.mjs +176 -143
  94. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  95. package/fesm2022/primeng-dialog.mjs +5 -10
  96. package/fesm2022/primeng-dialog.mjs.map +1 -1
  97. package/fesm2022/primeng-dom.mjs +25 -7
  98. package/fesm2022/primeng-dom.mjs.map +1 -1
  99. package/fesm2022/primeng-dropdown.mjs +707 -588
  100. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  101. package/fesm2022/primeng-galleria.mjs +2 -2
  102. package/fesm2022/primeng-galleria.mjs.map +1 -1
  103. package/fesm2022/primeng-image.mjs +10 -3
  104. package/fesm2022/primeng-image.mjs.map +1 -1
  105. package/fesm2022/primeng-inputmask.mjs +20 -7
  106. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  107. package/fesm2022/primeng-inputnumber.mjs +140 -81
  108. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  109. package/fesm2022/primeng-inputswitch.mjs +55 -49
  110. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  111. package/fesm2022/primeng-knob.mjs +92 -5
  112. package/fesm2022/primeng-knob.mjs.map +1 -1
  113. package/fesm2022/primeng-listbox.mjs +995 -453
  114. package/fesm2022/primeng-listbox.mjs.map +1 -1
  115. package/fesm2022/primeng-megamenu.mjs +167 -143
  116. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  117. package/fesm2022/primeng-menu.mjs +146 -94
  118. package/fesm2022/primeng-menu.mjs.map +1 -1
  119. package/fesm2022/primeng-menubar.mjs +167 -143
  120. package/fesm2022/primeng-menubar.mjs.map +1 -1
  121. package/fesm2022/primeng-multiselect.mjs +1021 -602
  122. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  123. package/fesm2022/primeng-overlaypanel.mjs +9 -3
  124. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  125. package/fesm2022/primeng-paginator.mjs +1 -1
  126. package/fesm2022/primeng-paginator.mjs.map +1 -1
  127. package/fesm2022/primeng-panelmenu.mjs +134 -105
  128. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  129. package/fesm2022/primeng-password.mjs +27 -26
  130. package/fesm2022/primeng-password.mjs.map +1 -1
  131. package/fesm2022/primeng-radiobutton.mjs +46 -33
  132. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  133. package/fesm2022/primeng-rating.mjs +171 -79
  134. package/fesm2022/primeng-rating.mjs.map +1 -1
  135. package/fesm2022/primeng-selectbutton.mjs +104 -33
  136. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  137. package/fesm2022/primeng-slider.mjs +150 -65
  138. package/fesm2022/primeng-slider.mjs.map +1 -1
  139. package/fesm2022/primeng-splitbutton.mjs +69 -13
  140. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  141. package/fesm2022/primeng-table.mjs +2 -2
  142. package/fesm2022/primeng-table.mjs.map +1 -1
  143. package/fesm2022/primeng-tabmenu.mjs +16 -24
  144. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  145. package/fesm2022/primeng-tabview.mjs +2 -2
  146. package/fesm2022/primeng-tabview.mjs.map +1 -1
  147. package/fesm2022/primeng-tieredmenu.mjs +167 -143
  148. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  149. package/fesm2022/primeng-togglebutton.mjs +46 -9
  150. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  151. package/fesm2022/primeng-treetable.mjs.map +1 -1
  152. package/fesm2022/primeng-tristatecheckbox.mjs +53 -35
  153. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  154. package/image/image.d.ts +6 -1
  155. package/inputmask/inputmask.d.ts +6 -1
  156. package/inputnumber/inputnumber.d.ts +6 -1
  157. package/inputswitch/inputswitch.d.ts +6 -9
  158. package/knob/knob.d.ts +20 -3
  159. package/listbox/listbox.d.ts +208 -39
  160. package/listbox/listbox.interface.d.ts +15 -0
  161. package/megamenu/megamenu.d.ts +3 -1
  162. package/menu/menu.d.ts +11 -5
  163. package/menubar/menubar.d.ts +3 -1
  164. package/multiselect/multiselect.d.ts +171 -60
  165. package/overlaypanel/overlaypanel.d.ts +1 -0
  166. package/package.json +83 -77
  167. package/panelmenu/panelmenu.d.ts +5 -2
  168. package/password/password.d.ts +3 -4
  169. package/radiobutton/radiobutton.d.ts +1 -2
  170. package/rating/rating.d.ts +29 -7
  171. package/resources/components/dropdown/dropdown.css +16 -2
  172. package/resources/themes/arya-blue/theme.css +106 -84
  173. package/resources/themes/arya-green/theme.css +106 -84
  174. package/resources/themes/arya-orange/theme.css +106 -84
  175. package/resources/themes/arya-purple/theme.css +106 -84
  176. package/resources/themes/bootstrap4-dark-blue/theme.css +110 -88
  177. package/resources/themes/bootstrap4-dark-purple/theme.css +110 -88
  178. package/resources/themes/bootstrap4-light-blue/theme.css +110 -88
  179. package/resources/themes/bootstrap4-light-purple/theme.css +110 -88
  180. package/resources/themes/fluent-light/theme.css +103 -81
  181. package/resources/themes/lara-dark-blue/theme.css +106 -84
  182. package/resources/themes/lara-dark-indigo/theme.css +106 -84
  183. package/resources/themes/lara-dark-purple/theme.css +106 -84
  184. package/resources/themes/lara-dark-teal/theme.css +106 -84
  185. package/resources/themes/lara-light-blue/theme.css +109 -87
  186. package/resources/themes/lara-light-indigo/theme.css +109 -87
  187. package/resources/themes/lara-light-purple/theme.css +109 -87
  188. package/resources/themes/lara-light-teal/theme.css +109 -87
  189. package/resources/themes/luna-amber/theme.css +110 -88
  190. package/resources/themes/luna-blue/theme.css +110 -88
  191. package/resources/themes/luna-green/theme.css +110 -88
  192. package/resources/themes/luna-pink/theme.css +110 -88
  193. package/resources/themes/md-dark-deeppurple/theme.css +117 -95
  194. package/resources/themes/md-dark-indigo/theme.css +117 -95
  195. package/resources/themes/md-light-deeppurple/theme.css +117 -95
  196. package/resources/themes/md-light-indigo/theme.css +117 -95
  197. package/resources/themes/mdc-dark-deeppurple/theme.css +117 -95
  198. package/resources/themes/mdc-dark-indigo/theme.css +117 -95
  199. package/resources/themes/mdc-light-deeppurple/theme.css +117 -95
  200. package/resources/themes/mdc-light-indigo/theme.css +117 -95
  201. package/resources/themes/mira/theme.css +107 -85
  202. package/resources/themes/nano/theme.css +109 -87
  203. package/resources/themes/nova/theme.css +110 -88
  204. package/resources/themes/nova-accent/theme.css +109 -87
  205. package/resources/themes/nova-alt/theme.css +110 -88
  206. package/resources/themes/rhea/theme.css +109 -87
  207. package/resources/themes/saga-blue/theme.css +106 -84
  208. package/resources/themes/saga-green/theme.css +106 -84
  209. package/resources/themes/saga-orange/theme.css +106 -84
  210. package/resources/themes/saga-purple/theme.css +106 -84
  211. package/resources/themes/soho-dark/theme.css +109 -87
  212. package/resources/themes/soho-light/theme.css +109 -87
  213. package/resources/themes/tailwind-light/theme.css +110 -88
  214. package/resources/themes/vela-blue/theme.css +106 -84
  215. package/resources/themes/vela-green/theme.css +106 -84
  216. package/resources/themes/vela-orange/theme.css +106 -84
  217. package/resources/themes/vela-purple/theme.css +106 -84
  218. package/resources/themes/viva-dark/theme.css +109 -87
  219. package/resources/themes/viva-light/theme.css +109 -87
  220. package/selectbutton/selectbutton.d.ts +15 -3
  221. package/slider/slider.d.ts +12 -6
  222. package/splitbutton/splitbutton.d.ts +10 -1
  223. package/splitbutton/splitbutton.interface.d.ts +15 -0
  224. package/tabmenu/tabmenu.d.ts +2 -2
  225. package/tieredmenu/tieredmenu.d.ts +3 -1
  226. package/togglebutton/togglebutton.d.ts +7 -1
  227. package/treetable/treetable.d.ts +1 -1
  228. package/tristatecheckbox/tristatecheckbox.d.ts +8 -4
@@ -21,6 +21,7 @@ class TieredMenuSub {
21
21
  cd;
22
22
  tieredMenu;
23
23
  items;
24
+ itemTemplate;
24
25
  root = false;
25
26
  autoDisplay;
26
27
  autoZIndex = true;
@@ -120,7 +121,7 @@ class TieredMenuSub {
120
121
  this.itemClick.emit({ originalEvent: event, processedItem, isFocus: true });
121
122
  }
122
123
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TieredMenuSub, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: forwardRef(() => TieredMenu) }], target: i0.ɵɵFactoryTarget.Component });
123
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: TieredMenuSub, selector: "p-tieredMenuSub", inputs: { items: "items", root: "root", autoDisplay: "autoDisplay", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", popup: "popup", menuId: "menuId", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", level: "level", focusedItemId: "focusedItemId", activeItemPath: "activeItemPath", tabindex: "tabindex" }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "sublistViewChild", first: true, predicate: ["sublist"], descendants: true, static: true }], ngImport: i0, template: `
124
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: TieredMenuSub, selector: "p-tieredMenuSub", inputs: { items: "items", itemTemplate: "itemTemplate", root: "root", autoDisplay: "autoDisplay", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", popup: "popup", menuId: "menuId", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", level: "level", focusedItemId: "focusedItemId", activeItemPath: "activeItemPath", tabindex: "tabindex" }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "sublistViewChild", first: true, predicate: ["sublist"], descendants: true, static: true }], ngImport: i0, template: `
124
125
  <ul
125
126
  #sublist
126
127
  role="menu"
@@ -168,88 +169,94 @@ class TieredMenuSub {
168
169
  [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
169
170
  >
170
171
  <div [attr.data-pc-section]="'content'" class="p-menuitem-content" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({$event, processedItem})">
171
- <a
172
- *ngIf="!getItemProp(processedItem, 'routerLink')"
173
- [attr.href]="getItemProp(processedItem, 'url')"
174
- [attr.aria-hidden]="true"
175
- [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
176
- [attr.data-pc-section]="'action'"
177
- [target]="getItemProp(processedItem, 'target')"
178
- [ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
179
- [attr.tabindex]="-1"
180
- pRipple
181
- >
182
- <span
183
- *ngIf="getItemProp(processedItem, 'icon')"
184
- class="p-menuitem-icon"
185
- [ngClass]="getItemProp(processedItem, 'icon')"
186
- [ngStyle]="getItemProp(processedItem, 'iconStyle')"
187
- [attr.data-pc-section]="'icon'"
172
+ <ng-container *ngIf="!itemTemplate">
173
+ <a
174
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
175
+ [attr.href]="getItemProp(processedItem, 'url')"
188
176
  [attr.aria-hidden]="true"
177
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
178
+ [attr.data-pc-section]="'action'"
179
+ [target]="getItemProp(processedItem, 'target')"
180
+ [ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
189
181
  [attr.tabindex]="-1"
182
+ pRipple
190
183
  >
191
- </span>
192
- <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
193
- {{ getItemLabel(processedItem) }}
194
- </span>
195
- <ng-template #htmlLabel>
196
- <span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
197
- </ng-template>
198
- <span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
184
+ <span
185
+ *ngIf="getItemProp(processedItem, 'icon')"
186
+ class="p-menuitem-icon"
187
+ [ngClass]="getItemProp(processedItem, 'icon')"
188
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
189
+ [attr.data-pc-section]="'icon'"
190
+ [attr.aria-hidden]="true"
191
+ [attr.tabindex]="-1"
192
+ >
193
+ </span>
194
+ <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
195
+ {{ getItemLabel(processedItem) }}
196
+ </span>
197
+ <ng-template #htmlLabel>
198
+ <span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
199
+ </ng-template>
200
+ <span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
199
201
 
200
- <ng-container *ngIf="isItemGroup(processedItem)">
201
- <AngleRightIcon *ngIf="!tieredMenu.submenuIconTemplate" [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
202
- <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
203
- </ng-container>
204
- </a>
205
- <a
206
- *ngIf="getItemProp(processedItem, 'routerLink')"
207
- [routerLink]="getItemProp(processedItem, 'routerLink')"
208
- [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
209
- [attr.tabindex]="-1"
210
- [attr.aria-hidden]="true"
211
- [attr.data-pc-section]="'action'"
212
- [queryParams]="getItemProp(processedItem, 'queryParams')"
213
- [routerLinkActive]="'p-menuitem-link-active'"
214
- [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
215
- [target]="getItemProp(processedItem, 'target')"
216
- [ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
217
- [fragment]="getItemProp(processedItem, 'fragment')"
218
- [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
219
- [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
220
- [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
221
- [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
222
- [state]="getItemProp(processedItem, 'state')"
223
- pRipple
224
- >
225
- <span
226
- *ngIf="getItemProp(processedItem, 'icon')"
227
- class="p-menuitem-icon"
228
- [ngClass]="getItemProp(processedItem, 'icon')"
229
- [ngStyle]="getItemProp(processedItem, 'iconStyle')"
230
- [attr.data-pc-section]="'icon'"
231
- [attr.aria-hidden]="true"
202
+ <ng-container *ngIf="isItemGroup(processedItem)">
203
+ <AngleRightIcon *ngIf="!tieredMenu.submenuIconTemplate" [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
204
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
205
+ </ng-container>
206
+ </a>
207
+ <a
208
+ *ngIf="getItemProp(processedItem, 'routerLink')"
209
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
210
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
232
211
  [attr.tabindex]="-1"
212
+ [attr.aria-hidden]="true"
213
+ [attr.data-pc-section]="'action'"
214
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
215
+ [routerLinkActive]="'p-menuitem-link-active'"
216
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
217
+ [target]="getItemProp(processedItem, 'target')"
218
+ [ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
219
+ [fragment]="getItemProp(processedItem, 'fragment')"
220
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
221
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
222
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
223
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
224
+ [state]="getItemProp(processedItem, 'state')"
225
+ pRipple
233
226
  >
234
- </span>
235
- <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
236
- {{ getItemLabel(processedItem) }}
237
- </span>
238
- <ng-template #htmlLabel>
239
- <span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
240
- </ng-template>
241
- <span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
227
+ <span
228
+ *ngIf="getItemProp(processedItem, 'icon')"
229
+ class="p-menuitem-icon"
230
+ [ngClass]="getItemProp(processedItem, 'icon')"
231
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
232
+ [attr.data-pc-section]="'icon'"
233
+ [attr.aria-hidden]="true"
234
+ [attr.tabindex]="-1"
235
+ >
236
+ </span>
237
+ <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
238
+ {{ getItemLabel(processedItem) }}
239
+ </span>
240
+ <ng-template #htmlLabel>
241
+ <span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
242
+ </ng-template>
243
+ <span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
242
244
 
243
- <ng-container *ngIf="isItemGroup(processedItem)">
244
- <AngleRightIcon *ngIf="!tieredMenu.submenuIconTemplate" [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
245
- <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
246
- </ng-container>
247
- </a>
245
+ <ng-container *ngIf="isItemGroup(processedItem)">
246
+ <AngleRightIcon *ngIf="!tieredMenu.submenuIconTemplate" [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
247
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
248
+ </ng-container>
249
+ </a>
250
+ </ng-container>
251
+ <ng-container *ngIf="itemTemplate">
252
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
253
+ </ng-container>
248
254
  </div>
249
255
 
250
256
  <p-tieredMenuSub
251
257
  *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
252
258
  [items]="processedItem.items"
259
+ [itemTemplate]="itemTemplate"
253
260
  [autoDisplay]="autoDisplay"
254
261
  [menuId]="menuId"
255
262
  [activeItemPath]="activeItemPath"
@@ -261,7 +268,7 @@ class TieredMenuSub {
261
268
  </li>
262
269
  </ng-template>
263
270
  </ul>
264
- `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.RouterLink; }), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.RouterLinkActive; }), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "directive", type: i0.forwardRef(function () { return i4.Tooltip; }), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(function () { return AngleRightIcon; }), selector: "AngleRightIcon" }, { kind: "component", type: i0.forwardRef(function () { return TieredMenuSub; }), selector: "p-tieredMenuSub", inputs: ["items", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "tabindex"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }], encapsulation: i0.ViewEncapsulation.None });
271
+ `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.RouterLink; }), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.RouterLinkActive; }), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "directive", type: i0.forwardRef(function () { return i4.Tooltip; }), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(function () { return AngleRightIcon; }), selector: "AngleRightIcon" }, { kind: "component", type: i0.forwardRef(function () { return TieredMenuSub; }), selector: "p-tieredMenuSub", inputs: ["items", "itemTemplate", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "tabindex"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }], encapsulation: i0.ViewEncapsulation.None });
265
272
  }
266
273
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TieredMenuSub, decorators: [{
267
274
  type: Component,
@@ -315,88 +322,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
315
322
  [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
316
323
  >
317
324
  <div [attr.data-pc-section]="'content'" class="p-menuitem-content" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({$event, processedItem})">
318
- <a
319
- *ngIf="!getItemProp(processedItem, 'routerLink')"
320
- [attr.href]="getItemProp(processedItem, 'url')"
321
- [attr.aria-hidden]="true"
322
- [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
323
- [attr.data-pc-section]="'action'"
324
- [target]="getItemProp(processedItem, 'target')"
325
- [ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
326
- [attr.tabindex]="-1"
327
- pRipple
328
- >
329
- <span
330
- *ngIf="getItemProp(processedItem, 'icon')"
331
- class="p-menuitem-icon"
332
- [ngClass]="getItemProp(processedItem, 'icon')"
333
- [ngStyle]="getItemProp(processedItem, 'iconStyle')"
334
- [attr.data-pc-section]="'icon'"
325
+ <ng-container *ngIf="!itemTemplate">
326
+ <a
327
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
328
+ [attr.href]="getItemProp(processedItem, 'url')"
335
329
  [attr.aria-hidden]="true"
330
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
331
+ [attr.data-pc-section]="'action'"
332
+ [target]="getItemProp(processedItem, 'target')"
333
+ [ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
336
334
  [attr.tabindex]="-1"
335
+ pRipple
337
336
  >
338
- </span>
339
- <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
340
- {{ getItemLabel(processedItem) }}
341
- </span>
342
- <ng-template #htmlLabel>
343
- <span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
344
- </ng-template>
345
- <span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
337
+ <span
338
+ *ngIf="getItemProp(processedItem, 'icon')"
339
+ class="p-menuitem-icon"
340
+ [ngClass]="getItemProp(processedItem, 'icon')"
341
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
342
+ [attr.data-pc-section]="'icon'"
343
+ [attr.aria-hidden]="true"
344
+ [attr.tabindex]="-1"
345
+ >
346
+ </span>
347
+ <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
348
+ {{ getItemLabel(processedItem) }}
349
+ </span>
350
+ <ng-template #htmlLabel>
351
+ <span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
352
+ </ng-template>
353
+ <span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
346
354
 
347
- <ng-container *ngIf="isItemGroup(processedItem)">
348
- <AngleRightIcon *ngIf="!tieredMenu.submenuIconTemplate" [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
349
- <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
350
- </ng-container>
351
- </a>
352
- <a
353
- *ngIf="getItemProp(processedItem, 'routerLink')"
354
- [routerLink]="getItemProp(processedItem, 'routerLink')"
355
- [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
356
- [attr.tabindex]="-1"
357
- [attr.aria-hidden]="true"
358
- [attr.data-pc-section]="'action'"
359
- [queryParams]="getItemProp(processedItem, 'queryParams')"
360
- [routerLinkActive]="'p-menuitem-link-active'"
361
- [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
362
- [target]="getItemProp(processedItem, 'target')"
363
- [ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
364
- [fragment]="getItemProp(processedItem, 'fragment')"
365
- [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
366
- [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
367
- [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
368
- [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
369
- [state]="getItemProp(processedItem, 'state')"
370
- pRipple
371
- >
372
- <span
373
- *ngIf="getItemProp(processedItem, 'icon')"
374
- class="p-menuitem-icon"
375
- [ngClass]="getItemProp(processedItem, 'icon')"
376
- [ngStyle]="getItemProp(processedItem, 'iconStyle')"
377
- [attr.data-pc-section]="'icon'"
378
- [attr.aria-hidden]="true"
355
+ <ng-container *ngIf="isItemGroup(processedItem)">
356
+ <AngleRightIcon *ngIf="!tieredMenu.submenuIconTemplate" [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
357
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
358
+ </ng-container>
359
+ </a>
360
+ <a
361
+ *ngIf="getItemProp(processedItem, 'routerLink')"
362
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
363
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
379
364
  [attr.tabindex]="-1"
365
+ [attr.aria-hidden]="true"
366
+ [attr.data-pc-section]="'action'"
367
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
368
+ [routerLinkActive]="'p-menuitem-link-active'"
369
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
370
+ [target]="getItemProp(processedItem, 'target')"
371
+ [ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
372
+ [fragment]="getItemProp(processedItem, 'fragment')"
373
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
374
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
375
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
376
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
377
+ [state]="getItemProp(processedItem, 'state')"
378
+ pRipple
380
379
  >
381
- </span>
382
- <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
383
- {{ getItemLabel(processedItem) }}
384
- </span>
385
- <ng-template #htmlLabel>
386
- <span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
387
- </ng-template>
388
- <span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
380
+ <span
381
+ *ngIf="getItemProp(processedItem, 'icon')"
382
+ class="p-menuitem-icon"
383
+ [ngClass]="getItemProp(processedItem, 'icon')"
384
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
385
+ [attr.data-pc-section]="'icon'"
386
+ [attr.aria-hidden]="true"
387
+ [attr.tabindex]="-1"
388
+ >
389
+ </span>
390
+ <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
391
+ {{ getItemLabel(processedItem) }}
392
+ </span>
393
+ <ng-template #htmlLabel>
394
+ <span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
395
+ </ng-template>
396
+ <span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
389
397
 
390
- <ng-container *ngIf="isItemGroup(processedItem)">
391
- <AngleRightIcon *ngIf="!tieredMenu.submenuIconTemplate" [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
392
- <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
393
- </ng-container>
394
- </a>
398
+ <ng-container *ngIf="isItemGroup(processedItem)">
399
+ <AngleRightIcon *ngIf="!tieredMenu.submenuIconTemplate" [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
400
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
401
+ </ng-container>
402
+ </a>
403
+ </ng-container>
404
+ <ng-container *ngIf="itemTemplate">
405
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
406
+ </ng-container>
395
407
  </div>
396
408
 
397
409
  <p-tieredMenuSub
398
410
  *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
399
411
  [items]="processedItem.items"
412
+ [itemTemplate]="itemTemplate"
400
413
  [autoDisplay]="autoDisplay"
401
414
  [menuId]="menuId"
402
415
  [activeItemPath]="activeItemPath"
@@ -419,6 +432,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
419
432
  args: [forwardRef(() => TieredMenu)]
420
433
  }] }]; }, propDecorators: { items: [{
421
434
  type: Input
435
+ }], itemTemplate: [{
436
+ type: Input
422
437
  }], root: [{
423
438
  type: Input
424
439
  }], autoDisplay: [{
@@ -565,6 +580,7 @@ class TieredMenu {
565
580
  rootmenu;
566
581
  containerViewChild;
567
582
  submenuIconTemplate;
583
+ itemTemplate;
568
584
  container;
569
585
  outsideClickListener;
570
586
  resizeListener;
@@ -627,6 +643,12 @@ class TieredMenu {
627
643
  case 'submenuicon':
628
644
  this.submenuIconTemplate = item.template;
629
645
  break;
646
+ case 'item':
647
+ this.itemTemplate = item.template;
648
+ break;
649
+ default:
650
+ this.itemTemplate = item.template;
651
+ break;
630
652
  }
631
653
  });
632
654
  }
@@ -1133,6 +1155,7 @@ class TieredMenu {
1133
1155
  #rootmenu
1134
1156
  [root]="true"
1135
1157
  [items]="processedItems"
1158
+ [itemTemplate]="itemTemplate"
1136
1159
  [menuId]="id"
1137
1160
  [tabindex]="!disabled ? tabindex : -1"
1138
1161
  [ariaLabel]="ariaLabel"
@@ -1150,7 +1173,7 @@ class TieredMenu {
1150
1173
  (itemMouseEnter)="onItemMouseEnter($event)"
1151
1174
  ></p-tieredMenuSub>
1152
1175
  </div>
1153
- `, isInline: true, styles: ["@layer primeng{.p-tieredmenu-overlay{position:absolute;top:0;left:0}.p-tieredmenu ul{margin:0;padding:0;list-style:none}.p-tieredmenu .p-submenu-list{position:absolute;min-width:100%;z-index:1;display:none}.p-tieredmenu .p-menuitem-link{cursor:pointer;display:flex;align-items:center;text-decoration:none;overflow:hidden;position:relative}.p-tieredmenu .p-menuitem-text{line-height:1}.p-tieredmenu .p-menuitem{position:relative}.p-tieredmenu .p-menuitem-link .p-submenu-icon:not(svg){margin-left:auto}.p-tieredmenu .p-menuitem-link .p-icon-wrapper{margin-left:auto}.p-tieredmenu .p-menuitem-active>p-tieredmenusub>.p-submenu-list{display:block;left:100%;top:0}.p-tieredmenu .p-menuitem-active>p-tieredmenusub>.p-submenu-list.p-submenu-list-flipped{left:-100%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TieredMenuSub, selector: "p-tieredMenuSub", inputs: ["items", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "tabindex"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1176
+ `, isInline: true, styles: ["@layer primeng{.p-tieredmenu-overlay{position:absolute;top:0;left:0}.p-tieredmenu ul{margin:0;padding:0;list-style:none}.p-tieredmenu .p-submenu-list{position:absolute;min-width:100%;z-index:1;display:none}.p-tieredmenu .p-menuitem-link{cursor:pointer;display:flex;align-items:center;text-decoration:none;overflow:hidden;position:relative}.p-tieredmenu .p-menuitem-text{line-height:1}.p-tieredmenu .p-menuitem{position:relative}.p-tieredmenu .p-menuitem-link .p-submenu-icon:not(svg){margin-left:auto}.p-tieredmenu .p-menuitem-link .p-icon-wrapper{margin-left:auto}.p-tieredmenu .p-menuitem-active>p-tieredmenusub>.p-submenu-list{display:block;left:100%;top:0}.p-tieredmenu .p-menuitem-active>p-tieredmenusub>.p-submenu-list.p-submenu-list-flipped{left:-100%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TieredMenuSub, selector: "p-tieredMenuSub", inputs: ["items", "itemTemplate", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "tabindex"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1154
1177
  }
1155
1178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TieredMenu, decorators: [{
1156
1179
  type: Component,
@@ -1174,6 +1197,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1174
1197
  #rootmenu
1175
1198
  [root]="true"
1176
1199
  [items]="processedItems"
1200
+ [itemTemplate]="itemTemplate"
1177
1201
  [menuId]="id"
1178
1202
  [tabindex]="!disabled ? tabindex : -1"
1179
1203
  [ariaLabel]="ariaLabel"