primeng 16.5.0 → 16.6.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.
- package/api/menuitem.d.ts +5 -1
- package/api/tooltipoptions.d.ts +1 -1
- package/breadcrumb/breadcrumb.d.ts +1 -0
- package/contextmenu/contextmenu.d.ts +3 -1
- package/esm2022/accordion/accordion.mjs +2 -2
- package/esm2022/api/menuitem.mjs +1 -1
- package/esm2022/api/tooltipoptions.mjs +1 -1
- package/esm2022/breadcrumb/breadcrumb.mjs +45 -18
- package/esm2022/button/button.mjs +2 -2
- package/esm2022/carousel/carousel.mjs +2 -1
- package/esm2022/contextmenu/contextmenu.mjs +176 -152
- package/esm2022/dock/dock.mjs +4 -4
- package/esm2022/dropdown/dropdown.mjs +2 -2
- package/esm2022/galleria/galleria.mjs +3 -3
- package/esm2022/image/image.mjs +11 -4
- package/esm2022/megamenu/megamenu.mjs +178 -154
- package/esm2022/menu/menu.mjs +150 -102
- package/esm2022/menubar/menubar.mjs +174 -150
- package/esm2022/multiselect/multiselect.mjs +3 -2
- package/esm2022/overlaypanel/overlaypanel.mjs +9 -3
- package/esm2022/panelmenu/panelmenu.mjs +141 -112
- package/esm2022/slidemenu/slidemenu.mjs +2 -2
- package/esm2022/speeddial/speeddial.mjs +2 -2
- package/esm2022/splitbutton/splitbutton.interface.mjs +1 -1
- package/esm2022/splitbutton/splitbutton.mjs +70 -14
- package/esm2022/steps/steps.mjs +1 -1
- package/esm2022/table/table.mjs +28 -20
- package/esm2022/tabmenu/tabmenu.mjs +18 -26
- package/esm2022/tabview/tabview.mjs +4 -4
- package/esm2022/tieredmenu/tieredmenu.mjs +172 -148
- package/esm2022/tooltip/tooltip.mjs +28 -31
- package/esm2022/treetable/treetable.mjs +1 -1
- package/fesm2022/primeng-accordion.mjs +1 -1
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +44 -17
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +1 -1
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +1 -0
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +175 -151
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +3 -3
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +1 -1
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +2 -2
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +10 -3
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +177 -153
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +150 -102
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +173 -149
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +2 -1
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-overlaypanel.mjs +8 -2
- package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +140 -111
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-slidemenu.mjs +1 -1
- package/fesm2022/primeng-slidemenu.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +1 -1
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +69 -13
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +1 -1
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +27 -19
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabmenu.mjs +17 -25
- package/fesm2022/primeng-tabmenu.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs +3 -3
- package/fesm2022/primeng-tabview.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +171 -147
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +27 -30
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/image/image.d.ts +6 -1
- package/megamenu/megamenu.d.ts +3 -1
- package/menu/menu.d.ts +11 -5
- package/menubar/menubar.d.ts +3 -1
- package/overlaypanel/overlaypanel.d.ts +1 -0
- package/package.json +195 -195
- package/panelmenu/panelmenu.d.ts +5 -2
- package/splitbutton/splitbutton.d.ts +10 -1
- package/splitbutton/splitbutton.interface.d.ts +15 -0
- package/table/table.d.ts +2 -1
- package/tabmenu/tabmenu.d.ts +2 -2
- package/tieredmenu/tieredmenu.d.ts +3 -1
- package/tooltip/tooltip.d.ts +7 -12
- package/treetable/treetable.d.ts +1 -1
@@ -35,6 +35,7 @@ class MenubarSub {
|
|
35
35
|
cd;
|
36
36
|
menubarService;
|
37
37
|
items;
|
38
|
+
itemTemplate;
|
38
39
|
root = false;
|
39
40
|
autoZIndex = true;
|
40
41
|
baseZIndex = 0;
|
@@ -133,7 +134,7 @@ class MenubarSub {
|
|
133
134
|
this.mouseLeaveSubscriber?.unsubscribe();
|
134
135
|
}
|
135
136
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MenubarSub, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: MenubarService }], target: i0.ɵɵFactoryTarget.Component });
|
136
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: MenubarSub, selector: "p-menubarSub", inputs: { items: "items", root: "root", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", mobileActive: "mobileActive", autoDisplay: "autoDisplay", menuId: "menuId", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", level: "level", focusedItemId: "focusedItemId", activeItemPath: "activeItemPath" }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "menubarViewChild", first: true, predicate: ["menubar"], descendants: true, static: true }], ngImport: i0, template: `
|
137
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: MenubarSub, selector: "p-menubarSub", inputs: { items: "items", itemTemplate: "itemTemplate", root: "root", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", mobileActive: "mobileActive", autoDisplay: "autoDisplay", menuId: "menuId", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", level: "level", focusedItemId: "focusedItemId", activeItemPath: "activeItemPath" }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "menubarViewChild", first: true, predicate: ["menubar"], descendants: true, static: true }], ngImport: i0, template: `
|
137
138
|
<ul
|
138
139
|
#menubar
|
139
140
|
[ngClass]="{ 'p-submenu-list': !root, 'p-menubar-root-list': root }"
|
@@ -145,13 +146,13 @@ class MenubarSub {
|
|
145
146
|
[attr.aria-label]="ariaLabel"
|
146
147
|
[attr.aria-labelledBy]="ariaLabelledBy"
|
147
148
|
(keydown)="menuKeydown.emit($event)"
|
148
|
-
[id]="menuId"
|
149
|
+
[attr.id]="menuId"
|
149
150
|
[attr.aria-activedescendant]="focusedItemId"
|
150
151
|
>
|
151
152
|
<ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
|
152
153
|
<li
|
153
154
|
*ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
|
154
|
-
[id]="getItemId(processedItem)"
|
155
|
+
[attr.id]="getItemId(processedItem)"
|
155
156
|
[style]="getItemProp(processedItem, 'style')"
|
156
157
|
[ngClass]="getSeparatorItemClass(processedItem)"
|
157
158
|
role="separator"
|
@@ -161,7 +162,7 @@ class MenubarSub {
|
|
161
162
|
#listItem
|
162
163
|
*ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
|
163
164
|
role="menuitem"
|
164
|
-
[id]="getItemId(processedItem)"
|
165
|
+
[attr.id]="getItemId(processedItem)"
|
165
166
|
[attr.data-pc-section]="'menuitem'"
|
166
167
|
[attr.data-p-highlight]="isItemActive(processedItem)"
|
167
168
|
[attr.data-p-focused]="isItemFocused(processedItem)"
|
@@ -180,86 +181,92 @@ class MenubarSub {
|
|
180
181
|
[tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
|
181
182
|
>
|
182
183
|
<div class="p-menuitem-content" [attr.data-pc-section]="'content'" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({$event, processedItem})">
|
183
|
-
<
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
[attr.data-automationid]="getItemProp(processedItem, 'automationId')"
|
188
|
-
[attr.data-pc-section]="'action'"
|
189
|
-
[target]="getItemProp(processedItem, 'target')"
|
190
|
-
[ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
|
191
|
-
[attr.tabindex]="-1"
|
192
|
-
pRipple
|
193
|
-
>
|
194
|
-
<span
|
195
|
-
*ngIf="getItemProp(processedItem, 'icon')"
|
196
|
-
class="p-menuitem-icon"
|
197
|
-
[ngClass]="getItemProp(processedItem, 'icon')"
|
198
|
-
[ngStyle]="getItemProp(processedItem, 'iconStyle')"
|
199
|
-
[attr.data-pc-section]="'icon'"
|
184
|
+
<ng-container *ngIf="!itemTemplate">
|
185
|
+
<a
|
186
|
+
*ngIf="!getItemProp(processedItem, 'routerLink')"
|
187
|
+
[attr.href]="getItemProp(processedItem, 'url')"
|
200
188
|
[attr.aria-hidden]="true"
|
189
|
+
[attr.data-automationid]="getItemProp(processedItem, 'automationId')"
|
190
|
+
[attr.data-pc-section]="'action'"
|
191
|
+
[target]="getItemProp(processedItem, 'target')"
|
192
|
+
[ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
|
201
193
|
[attr.tabindex]="-1"
|
194
|
+
pRipple
|
202
195
|
>
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
196
|
+
<span
|
197
|
+
*ngIf="getItemProp(processedItem, 'icon')"
|
198
|
+
class="p-menuitem-icon"
|
199
|
+
[ngClass]="getItemProp(processedItem, 'icon')"
|
200
|
+
[ngStyle]="getItemProp(processedItem, 'iconStyle')"
|
201
|
+
[attr.data-pc-section]="'icon'"
|
202
|
+
[attr.aria-hidden]="true"
|
203
|
+
[attr.tabindex]="-1"
|
204
|
+
>
|
205
|
+
</span>
|
206
|
+
<span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
|
207
|
+
{{ getItemLabel(processedItem) }}
|
208
|
+
</span>
|
209
|
+
<ng-template #htmlLabel>
|
210
|
+
<span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
|
211
|
+
</ng-template>
|
212
|
+
<span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
|
211
213
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
214
|
+
<ng-container *ngIf="isItemGroup(processedItem)">
|
215
|
+
<ng-container *ngIf="!menubar.submenuIconTemplate">
|
216
|
+
<AngleDownIcon [styleClass]="'p-submenu-icon'" *ngIf="root" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
|
217
|
+
<AngleRightIcon [styleClass]="'p-submenu-icon'" *ngIf="!root" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
|
218
|
+
</ng-container>
|
219
|
+
<ng-template *ngTemplateOutlet="menubar.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
|
216
220
|
</ng-container>
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
[routerLink]="getItemProp(processedItem, 'routerLink')"
|
223
|
-
[attr.data-automationid]="getItemProp(processedItem, 'automationId')"
|
224
|
-
[attr.tabindex]="-1"
|
225
|
-
[attr.aria-hidden]="true"
|
226
|
-
[attr.data-pc-section]="'action'"
|
227
|
-
[queryParams]="getItemProp(processedItem, 'queryParams')"
|
228
|
-
[routerLinkActive]="'p-menuitem-link-active'"
|
229
|
-
[routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
|
230
|
-
[target]="getItemProp(processedItem, 'target')"
|
231
|
-
[ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
|
232
|
-
[fragment]="getItemProp(processedItem, 'fragment')"
|
233
|
-
[queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
|
234
|
-
[preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
|
235
|
-
[skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
|
236
|
-
[replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
|
237
|
-
[state]="getItemProp(processedItem, 'state')"
|
238
|
-
pRipple
|
239
|
-
>
|
240
|
-
<span
|
241
|
-
class="p-menuitem-icon"
|
242
|
-
*ngIf="getItemProp(processedItem, 'icon')"
|
243
|
-
[ngClass]="getItemProp(processedItem, 'icon')"
|
244
|
-
[ngStyle]="getItemProp(processedItem, 'iconStyle')"
|
245
|
-
[attr.data-pc-section]="'icon'"
|
246
|
-
[attr.aria-hidden]="true"
|
221
|
+
</a>
|
222
|
+
<a
|
223
|
+
*ngIf="getItemProp(processedItem, 'routerLink')"
|
224
|
+
[routerLink]="getItemProp(processedItem, 'routerLink')"
|
225
|
+
[attr.data-automationid]="getItemProp(processedItem, 'automationId')"
|
247
226
|
[attr.tabindex]="-1"
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
227
|
+
[attr.aria-hidden]="true"
|
228
|
+
[attr.data-pc-section]="'action'"
|
229
|
+
[queryParams]="getItemProp(processedItem, 'queryParams')"
|
230
|
+
[routerLinkActive]="'p-menuitem-link-active'"
|
231
|
+
[routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
|
232
|
+
[target]="getItemProp(processedItem, 'target')"
|
233
|
+
[ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
|
234
|
+
[fragment]="getItemProp(processedItem, 'fragment')"
|
235
|
+
[queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
|
236
|
+
[preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
|
237
|
+
[skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
|
238
|
+
[replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
|
239
|
+
[state]="getItemProp(processedItem, 'state')"
|
240
|
+
pRipple
|
241
|
+
>
|
242
|
+
<span
|
243
|
+
class="p-menuitem-icon"
|
244
|
+
*ngIf="getItemProp(processedItem, 'icon')"
|
245
|
+
[ngClass]="getItemProp(processedItem, 'icon')"
|
246
|
+
[ngStyle]="getItemProp(processedItem, 'iconStyle')"
|
247
|
+
[attr.data-pc-section]="'icon'"
|
248
|
+
[attr.aria-hidden]="true"
|
249
|
+
[attr.tabindex]="-1"
|
250
|
+
></span>
|
251
|
+
<span class="p-menuitem-text" *ngIf="getItemProp(processedItem, 'escape'); else htmlRouteLabel">{{ getItemLabel(processedItem) }}</span>
|
252
|
+
<ng-template #htmlRouteLabel><span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span></ng-template>
|
253
|
+
<span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
|
254
|
+
<ng-container *ngIf="isItemGroup(processedItem)">
|
255
|
+
<ng-container *ngIf="!menubar.submenuIconTemplate">
|
256
|
+
<AngleDownIcon [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" *ngIf="root" />
|
257
|
+
<AngleRightIcon [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" *ngIf="!root" />
|
258
|
+
</ng-container>
|
259
|
+
<ng-template *ngTemplateOutlet="menubar.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
|
256
260
|
</ng-container>
|
257
|
-
|
258
|
-
|
259
|
-
|
261
|
+
</a>
|
262
|
+
</ng-container>
|
263
|
+
<ng-container *ngIf="itemTemplate">
|
264
|
+
<ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
|
265
|
+
</ng-container>
|
260
266
|
</div>
|
261
267
|
<p-menubarSub
|
262
268
|
*ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
|
269
|
+
[itemTemplate]="itemTemplate"
|
263
270
|
[items]="processedItem.items"
|
264
271
|
[mobileActive]="mobileActive"
|
265
272
|
[autoDisplay]="autoDisplay"
|
@@ -274,7 +281,7 @@ class MenubarSub {
|
|
274
281
|
</li>
|
275
282
|
</ng-template>
|
276
283
|
</ul>
|
277
|
-
`, 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: ["
|
284
|
+
`, 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 AngleDownIcon; }), selector: "AngleDownIcon" }, { kind: "component", type: i0.forwardRef(function () { return AngleRightIcon; }), selector: "AngleRightIcon" }, { kind: "component", type: i0.forwardRef(function () { return MenubarSub; }), selector: "p-menubarSub", inputs: ["items", "itemTemplate", "root", "autoZIndex", "baseZIndex", "mobileActive", "autoDisplay", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }], encapsulation: i0.ViewEncapsulation.None });
|
278
285
|
}
|
279
286
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MenubarSub, decorators: [{
|
280
287
|
type: Component,
|
@@ -292,13 +299,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
292
299
|
[attr.aria-label]="ariaLabel"
|
293
300
|
[attr.aria-labelledBy]="ariaLabelledBy"
|
294
301
|
(keydown)="menuKeydown.emit($event)"
|
295
|
-
[id]="menuId"
|
302
|
+
[attr.id]="menuId"
|
296
303
|
[attr.aria-activedescendant]="focusedItemId"
|
297
304
|
>
|
298
305
|
<ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
|
299
306
|
<li
|
300
307
|
*ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
|
301
|
-
[id]="getItemId(processedItem)"
|
308
|
+
[attr.id]="getItemId(processedItem)"
|
302
309
|
[style]="getItemProp(processedItem, 'style')"
|
303
310
|
[ngClass]="getSeparatorItemClass(processedItem)"
|
304
311
|
role="separator"
|
@@ -308,7 +315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
308
315
|
#listItem
|
309
316
|
*ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
|
310
317
|
role="menuitem"
|
311
|
-
[id]="getItemId(processedItem)"
|
318
|
+
[attr.id]="getItemId(processedItem)"
|
312
319
|
[attr.data-pc-section]="'menuitem'"
|
313
320
|
[attr.data-p-highlight]="isItemActive(processedItem)"
|
314
321
|
[attr.data-p-focused]="isItemFocused(processedItem)"
|
@@ -327,86 +334,92 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
327
334
|
[tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
|
328
335
|
>
|
329
336
|
<div class="p-menuitem-content" [attr.data-pc-section]="'content'" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({$event, processedItem})">
|
330
|
-
<
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
[attr.data-automationid]="getItemProp(processedItem, 'automationId')"
|
335
|
-
[attr.data-pc-section]="'action'"
|
336
|
-
[target]="getItemProp(processedItem, 'target')"
|
337
|
-
[ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
|
338
|
-
[attr.tabindex]="-1"
|
339
|
-
pRipple
|
340
|
-
>
|
341
|
-
<span
|
342
|
-
*ngIf="getItemProp(processedItem, 'icon')"
|
343
|
-
class="p-menuitem-icon"
|
344
|
-
[ngClass]="getItemProp(processedItem, 'icon')"
|
345
|
-
[ngStyle]="getItemProp(processedItem, 'iconStyle')"
|
346
|
-
[attr.data-pc-section]="'icon'"
|
337
|
+
<ng-container *ngIf="!itemTemplate">
|
338
|
+
<a
|
339
|
+
*ngIf="!getItemProp(processedItem, 'routerLink')"
|
340
|
+
[attr.href]="getItemProp(processedItem, 'url')"
|
347
341
|
[attr.aria-hidden]="true"
|
342
|
+
[attr.data-automationid]="getItemProp(processedItem, 'automationId')"
|
343
|
+
[attr.data-pc-section]="'action'"
|
344
|
+
[target]="getItemProp(processedItem, 'target')"
|
345
|
+
[ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
|
348
346
|
[attr.tabindex]="-1"
|
347
|
+
pRipple
|
349
348
|
>
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
349
|
+
<span
|
350
|
+
*ngIf="getItemProp(processedItem, 'icon')"
|
351
|
+
class="p-menuitem-icon"
|
352
|
+
[ngClass]="getItemProp(processedItem, 'icon')"
|
353
|
+
[ngStyle]="getItemProp(processedItem, 'iconStyle')"
|
354
|
+
[attr.data-pc-section]="'icon'"
|
355
|
+
[attr.aria-hidden]="true"
|
356
|
+
[attr.tabindex]="-1"
|
357
|
+
>
|
358
|
+
</span>
|
359
|
+
<span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" class="p-menuitem-text" [attr.data-pc-section]="'label'">
|
360
|
+
{{ getItemLabel(processedItem) }}
|
361
|
+
</span>
|
362
|
+
<ng-template #htmlLabel>
|
363
|
+
<span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
|
364
|
+
</ng-template>
|
365
|
+
<span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
|
358
366
|
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
367
|
+
<ng-container *ngIf="isItemGroup(processedItem)">
|
368
|
+
<ng-container *ngIf="!menubar.submenuIconTemplate">
|
369
|
+
<AngleDownIcon [styleClass]="'p-submenu-icon'" *ngIf="root" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
|
370
|
+
<AngleRightIcon [styleClass]="'p-submenu-icon'" *ngIf="!root" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
|
371
|
+
</ng-container>
|
372
|
+
<ng-template *ngTemplateOutlet="menubar.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
|
363
373
|
</ng-container>
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
[routerLink]="getItemProp(processedItem, 'routerLink')"
|
370
|
-
[attr.data-automationid]="getItemProp(processedItem, 'automationId')"
|
371
|
-
[attr.tabindex]="-1"
|
372
|
-
[attr.aria-hidden]="true"
|
373
|
-
[attr.data-pc-section]="'action'"
|
374
|
-
[queryParams]="getItemProp(processedItem, 'queryParams')"
|
375
|
-
[routerLinkActive]="'p-menuitem-link-active'"
|
376
|
-
[routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
|
377
|
-
[target]="getItemProp(processedItem, 'target')"
|
378
|
-
[ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
|
379
|
-
[fragment]="getItemProp(processedItem, 'fragment')"
|
380
|
-
[queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
|
381
|
-
[preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
|
382
|
-
[skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
|
383
|
-
[replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
|
384
|
-
[state]="getItemProp(processedItem, 'state')"
|
385
|
-
pRipple
|
386
|
-
>
|
387
|
-
<span
|
388
|
-
class="p-menuitem-icon"
|
389
|
-
*ngIf="getItemProp(processedItem, 'icon')"
|
390
|
-
[ngClass]="getItemProp(processedItem, 'icon')"
|
391
|
-
[ngStyle]="getItemProp(processedItem, 'iconStyle')"
|
392
|
-
[attr.data-pc-section]="'icon'"
|
393
|
-
[attr.aria-hidden]="true"
|
374
|
+
</a>
|
375
|
+
<a
|
376
|
+
*ngIf="getItemProp(processedItem, 'routerLink')"
|
377
|
+
[routerLink]="getItemProp(processedItem, 'routerLink')"
|
378
|
+
[attr.data-automationid]="getItemProp(processedItem, 'automationId')"
|
394
379
|
[attr.tabindex]="-1"
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
380
|
+
[attr.aria-hidden]="true"
|
381
|
+
[attr.data-pc-section]="'action'"
|
382
|
+
[queryParams]="getItemProp(processedItem, 'queryParams')"
|
383
|
+
[routerLinkActive]="'p-menuitem-link-active'"
|
384
|
+
[routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
|
385
|
+
[target]="getItemProp(processedItem, 'target')"
|
386
|
+
[ngClass]="{ 'p-menuitem-link': true, 'p-disabled': getItemProp(processedItem, 'disabled') }"
|
387
|
+
[fragment]="getItemProp(processedItem, 'fragment')"
|
388
|
+
[queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
|
389
|
+
[preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
|
390
|
+
[skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
|
391
|
+
[replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
|
392
|
+
[state]="getItemProp(processedItem, 'state')"
|
393
|
+
pRipple
|
394
|
+
>
|
395
|
+
<span
|
396
|
+
class="p-menuitem-icon"
|
397
|
+
*ngIf="getItemProp(processedItem, 'icon')"
|
398
|
+
[ngClass]="getItemProp(processedItem, 'icon')"
|
399
|
+
[ngStyle]="getItemProp(processedItem, 'iconStyle')"
|
400
|
+
[attr.data-pc-section]="'icon'"
|
401
|
+
[attr.aria-hidden]="true"
|
402
|
+
[attr.tabindex]="-1"
|
403
|
+
></span>
|
404
|
+
<span class="p-menuitem-text" *ngIf="getItemProp(processedItem, 'escape'); else htmlRouteLabel">{{ getItemLabel(processedItem) }}</span>
|
405
|
+
<ng-template #htmlRouteLabel><span class="p-menuitem-text" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span></ng-template>
|
406
|
+
<span class="p-menuitem-badge" *ngIf="getItemProp(processedItem, 'badge')" [ngClass]="getItemProp(processedItem, 'badgeStyleClass')">{{ getItemProp(processedItem, 'badge') }}</span>
|
407
|
+
<ng-container *ngIf="isItemGroup(processedItem)">
|
408
|
+
<ng-container *ngIf="!menubar.submenuIconTemplate">
|
409
|
+
<AngleDownIcon [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" *ngIf="root" />
|
410
|
+
<AngleRightIcon [styleClass]="'p-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" *ngIf="!root" />
|
411
|
+
</ng-container>
|
412
|
+
<ng-template *ngTemplateOutlet="menubar.submenuIconTemplate" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
|
403
413
|
</ng-container>
|
404
|
-
|
405
|
-
|
406
|
-
|
414
|
+
</a>
|
415
|
+
</ng-container>
|
416
|
+
<ng-container *ngIf="itemTemplate">
|
417
|
+
<ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
|
418
|
+
</ng-container>
|
407
419
|
</div>
|
408
420
|
<p-menubarSub
|
409
421
|
*ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
|
422
|
+
[itemTemplate]="itemTemplate"
|
410
423
|
[items]="processedItem.items"
|
411
424
|
[mobileActive]="mobileActive"
|
412
425
|
[autoDisplay]="autoDisplay"
|
@@ -429,6 +442,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
429
442
|
}]
|
430
443
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: MenubarService }]; }, propDecorators: { items: [{
|
431
444
|
type: Input
|
445
|
+
}], itemTemplate: [{
|
446
|
+
type: Input
|
432
447
|
}], root: [{
|
433
448
|
type: Input
|
434
449
|
}], autoZIndex: [{
|
@@ -558,6 +573,7 @@ class Menubar {
|
|
558
573
|
endTemplate;
|
559
574
|
menuIconTemplate;
|
560
575
|
submenuIconTemplate;
|
576
|
+
itemTemplate;
|
561
577
|
mobileActive;
|
562
578
|
outsideClickListener;
|
563
579
|
resizeListener;
|
@@ -626,6 +642,12 @@ class Menubar {
|
|
626
642
|
case 'submenuicon':
|
627
643
|
this.submenuIconTemplate = item.template;
|
628
644
|
break;
|
645
|
+
case 'item':
|
646
|
+
this.itemTemplate = item.template;
|
647
|
+
break;
|
648
|
+
default:
|
649
|
+
this.itemTemplate = item.template;
|
650
|
+
break;
|
629
651
|
}
|
630
652
|
});
|
631
653
|
}
|
@@ -1079,6 +1101,7 @@ class Menubar {
|
|
1079
1101
|
<p-menubarSub
|
1080
1102
|
#rootmenu
|
1081
1103
|
[items]="processedItems"
|
1104
|
+
[itemTemplate]="itemTemplate"
|
1082
1105
|
[menuId]="id"
|
1083
1106
|
[root]="true"
|
1084
1107
|
[baseZIndex]="baseZIndex"
|
@@ -1104,7 +1127,7 @@ class Menubar {
|
|
1104
1127
|
</div>
|
1105
1128
|
</ng-template>
|
1106
1129
|
</div>
|
1107
|
-
`, isInline: true, styles: ["@layer primeng{.p-menubar{display:flex;align-items:center}.p-menubar ul{margin:0;padding:0;list-style:none}.p-menubar .p-menuitem-link{cursor:pointer;display:flex;align-items:center;text-decoration:none;overflow:hidden;position:relative}.p-menubar .p-menuitem-text{line-height:1}.p-menubar .p-menuitem{position:relative}.p-menubar-root-list{display:flex;align-items:center;flex-wrap:wrap}.p-menubar-root-list>li ul{display:none;z-index:1}.p-menubar-root-list>.p-menuitem-active>p-menubarsub>.p-submenu-list{display:block}.p-menubar .p-submenu-list{display:none;position:absolute;z-index:2}.p-menubar .p-submenu-list>.p-menuitem-active>p-menubarsub>.p-submenu-list{display:block;left:100%;top:0}.p-menubar .p-submenu-list .p-menuitem-link .p-submenu-icon:not(svg){margin-left:auto}.p-menubar .p-menubar-root-list .p-icon-wrapper,.p-menubar .p-submenu-list .p-menuitem-link .p-icon-wrapper{margin-left:auto}.p-menubar .p-menubar-custom,.p-menubar .p-menubar-end{margin-left:auto;align-self:center}.p-menubar-button{display:none;cursor:pointer;align-items:center;justify-content:center}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: i0.forwardRef(function () { return BarsIcon; }), selector: "BarsIcon" }, { kind: "component", type: i0.forwardRef(function () { return MenubarSub; }), selector: "p-menubarSub", inputs: ["items", "root", "autoZIndex", "baseZIndex", "mobileActive", "autoDisplay", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
1130
|
+
`, isInline: true, styles: ["@layer primeng{.p-menubar{display:flex;align-items:center}.p-menubar ul{margin:0;padding:0;list-style:none}.p-menubar .p-menuitem-link{cursor:pointer;display:flex;align-items:center;text-decoration:none;overflow:hidden;position:relative}.p-menubar .p-menuitem-text{line-height:1}.p-menubar .p-menuitem{position:relative}.p-menubar-root-list{display:flex;align-items:center;flex-wrap:wrap}.p-menubar-root-list>li ul{display:none;z-index:1}.p-menubar-root-list>.p-menuitem-active>p-menubarsub>.p-submenu-list{display:block}.p-menubar .p-submenu-list{display:none;position:absolute;z-index:2}.p-menubar .p-submenu-list>.p-menuitem-active>p-menubarsub>.p-submenu-list{display:block;left:100%;top:0}.p-menubar .p-submenu-list .p-menuitem-link .p-submenu-icon:not(svg){margin-left:auto}.p-menubar .p-menubar-root-list .p-icon-wrapper,.p-menubar .p-submenu-list .p-menuitem-link .p-icon-wrapper{margin-left:auto}.p-menubar .p-menubar-custom,.p-menubar .p-menubar-end{margin-left:auto;align-self:center}.p-menubar-button{display:none;cursor:pointer;align-items:center;justify-content:center}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: i0.forwardRef(function () { return BarsIcon; }), selector: "BarsIcon" }, { kind: "component", type: i0.forwardRef(function () { return MenubarSub; }), selector: "p-menubarSub", inputs: ["items", "itemTemplate", "root", "autoZIndex", "baseZIndex", "mobileActive", "autoDisplay", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
1108
1131
|
}
|
1109
1132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Menubar, decorators: [{
|
1110
1133
|
type: Component,
|
@@ -1133,6 +1156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
1133
1156
|
<p-menubarSub
|
1134
1157
|
#rootmenu
|
1135
1158
|
[items]="processedItems"
|
1159
|
+
[itemTemplate]="itemTemplate"
|
1136
1160
|
[menuId]="id"
|
1137
1161
|
[root]="true"
|
1138
1162
|
[baseZIndex]="baseZIndex"
|