@tilde-nlp/ngx-menu 6.1.13 → 6.1.15
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/esm2022/lib/components/menu-icon/menu-icon.component.mjs +6 -5
- package/esm2022/lib/components/menu-item-list/menu-item-list.component.mjs +2 -2
- package/esm2022/lib/components/side-nav-menu/side-nav-menu.component.mjs +130 -152
- package/esm2022/lib/models/custom-menu-item.model.mjs +1 -1
- package/esm2022/lib/services/menu-items.service.mjs +10 -5
- package/fesm2022/tilde-nlp-ngx-menu.mjs +146 -161
- package/fesm2022/tilde-nlp-ngx-menu.mjs.map +1 -1
- package/lib/components/side-nav-menu/side-nav-menu.component.d.ts +2 -4
- package/lib/models/custom-menu-item.model.d.ts +1 -0
- package/lib/services/menu-items.service.d.ts +5 -3
- package/package.json +1 -1
|
@@ -28,8 +28,6 @@ import { MatDialogModule } from '@angular/material/dialog';
|
|
|
28
28
|
import { MatListModule } from '@angular/material/list';
|
|
29
29
|
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
|
|
30
30
|
|
|
31
|
-
const MENU_SHARED_CONFIG = "menu-shared-config";
|
|
32
|
-
|
|
33
31
|
/** Necessary for menu components to determine where loaded data from strapi should be placed - either in front of pre defined items or in end. */
|
|
34
32
|
var StrapiDataLocation;
|
|
35
33
|
(function (StrapiDataLocation) {
|
|
@@ -37,6 +35,8 @@ var StrapiDataLocation;
|
|
|
37
35
|
StrapiDataLocation[StrapiDataLocation["END"] = 1] = "END";
|
|
38
36
|
})(StrapiDataLocation || (StrapiDataLocation = {}));
|
|
39
37
|
|
|
38
|
+
const MENU_SHARED_CONFIG = "menu-shared-config";
|
|
39
|
+
|
|
40
40
|
const MENU_ICON_STRAPI_EXTENSION = ".svg";
|
|
41
41
|
|
|
42
42
|
class StarpiMenuService {
|
|
@@ -135,9 +135,9 @@ class MenuItemsService {
|
|
|
135
135
|
get strapiDataLocation() { return this.menuSharedConfig?.strapiDataLocation ?? StrapiDataLocation.END; }
|
|
136
136
|
get mergedGroups() { return this._mergedGroups; }
|
|
137
137
|
get menuItemGroups() { return this.menuSharedConfig.itemGroups; }
|
|
138
|
-
constructor(router,
|
|
138
|
+
constructor(router, config, strapiService) {
|
|
139
139
|
this.router = router;
|
|
140
|
-
this.
|
|
140
|
+
this.config = config;
|
|
141
141
|
this.strapiService = strapiService;
|
|
142
142
|
this._activeElements = new BehaviorSubject({});
|
|
143
143
|
this.strapiItems = [];
|
|
@@ -148,9 +148,14 @@ class MenuItemsService {
|
|
|
148
148
|
fragment: 'exact'
|
|
149
149
|
};
|
|
150
150
|
this._mergedGroups = [];
|
|
151
|
-
this.
|
|
151
|
+
this.menuSharedConfig = config;
|
|
152
|
+
this.initData();
|
|
152
153
|
this.subscribeToRouteChanges();
|
|
153
154
|
}
|
|
155
|
+
setMenuItems(config) {
|
|
156
|
+
this.menuSharedConfig = config;
|
|
157
|
+
this.initData();
|
|
158
|
+
}
|
|
154
159
|
subscribeToRouteChanges() {
|
|
155
160
|
this.router.events
|
|
156
161
|
.pipe(filter(e => e instanceof NavigationEnd))
|
|
@@ -189,7 +194,7 @@ class MenuItemsService {
|
|
|
189
194
|
}
|
|
190
195
|
return customIdElement;
|
|
191
196
|
}
|
|
192
|
-
|
|
197
|
+
initData() {
|
|
193
198
|
if (!this.menuSharedConfig?.disableStrapi) {
|
|
194
199
|
this.strapiService.getMenuItems().subscribe(this.loadData.bind(this));
|
|
195
200
|
}
|
|
@@ -285,17 +290,18 @@ function MenuIconComponent_ng_container_0_mat_icon_1_Template(rf, ctx) { if (rf
|
|
|
285
290
|
i0.ɵɵproperty("svgIcon", ctx_r0.menuItem.icon);
|
|
286
291
|
} }
|
|
287
292
|
function MenuIconComponent_ng_container_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
288
|
-
i0.ɵɵelementStart(0, "
|
|
293
|
+
i0.ɵɵelementStart(0, "span", 4);
|
|
289
294
|
i0.ɵɵtext(1);
|
|
290
295
|
i0.ɵɵelementEnd();
|
|
291
296
|
} if (rf & 2) {
|
|
292
297
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
298
|
+
i0.ɵɵclassProp("material-icons-outlined", ctx_r0.menuItem == null ? null : ctx_r0.menuItem.isIconOutlined);
|
|
293
299
|
i0.ɵɵadvance();
|
|
294
300
|
i0.ɵɵtextInterpolate(ctx_r0.menuItem.icon);
|
|
295
301
|
} }
|
|
296
302
|
function MenuIconComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
297
303
|
i0.ɵɵelementContainerStart(0);
|
|
298
|
-
i0.ɵɵtemplate(1, MenuIconComponent_ng_container_0_mat_icon_1_Template, 1, 1, "mat-icon", 2)(2, MenuIconComponent_ng_container_0_ng_template_2_Template, 2,
|
|
304
|
+
i0.ɵɵtemplate(1, MenuIconComponent_ng_container_0_mat_icon_1_Template, 1, 1, "mat-icon", 2)(2, MenuIconComponent_ng_container_0_ng_template_2_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
299
305
|
i0.ɵɵelementContainerEnd();
|
|
300
306
|
} if (rf & 2) {
|
|
301
307
|
const materialIcon_r2 = i0.ɵɵreference(3);
|
|
@@ -312,7 +318,7 @@ class MenuIconComponent {
|
|
|
312
318
|
return typeof icon !== "string";
|
|
313
319
|
}
|
|
314
320
|
static { this.ɵfac = function MenuIconComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuIconComponent)(); }; }
|
|
315
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuIconComponent, selectors: [["tld-menu-icon"]], inputs: { menuItem: "menuItem" }, decls: 1, vars: 1, consts: [["materialIcon", ""], [4, "ngIf"], ["class", "menu-icon", 3, "svgIcon", 4, "ngIf", "ngIfElse"], [1, "menu-icon", 3, "svgIcon"], [1, "menu-icon"]], template: function MenuIconComponent_Template(rf, ctx) { if (rf & 1) {
|
|
321
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuIconComponent, selectors: [["tld-menu-icon"]], inputs: { menuItem: "menuItem" }, decls: 1, vars: 1, consts: [["materialIcon", ""], [4, "ngIf"], ["class", "menu-icon", 3, "svgIcon", 4, "ngIf", "ngIfElse"], [1, "menu-icon", 3, "svgIcon"], [1, "material-icons", "menu-icon"]], template: function MenuIconComponent_Template(rf, ctx) { if (rf & 1) {
|
|
316
322
|
i0.ɵɵtemplate(0, MenuIconComponent_ng_container_0_Template, 4, 2, "ng-container", 1);
|
|
317
323
|
} if (rf & 2) {
|
|
318
324
|
i0.ɵɵproperty("ngIf", ctx.menuItem.icon);
|
|
@@ -320,7 +326,7 @@ class MenuIconComponent {
|
|
|
320
326
|
}
|
|
321
327
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuIconComponent, [{
|
|
322
328
|
type: Component,
|
|
323
|
-
args: [{ selector: 'tld-menu-icon', template: "<ng-container *ngIf=\"menuItem.icon\">\r\n <mat-icon class=\"menu-icon\" [svgIcon]=\"menuItem.icon\" *ngIf=\"!menuItem.materialIcon; else materialIcon;\"></mat-icon>\r\n <ng-template #materialIcon>\r\n <
|
|
329
|
+
args: [{ selector: 'tld-menu-icon', template: "<ng-container *ngIf=\"menuItem.icon\">\r\n <mat-icon class=\"menu-icon\" [svgIcon]=\"menuItem.icon\" *ngIf=\"!menuItem.materialIcon; else materialIcon;\"></mat-icon>\r\n <ng-template #materialIcon>\r\n <span class=\"material-icons menu-icon\" [class.material-icons-outlined]=\"menuItem?.isIconOutlined\">{{menuItem.icon}}</span>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [".menu-icon{color:var(--base-30);margin:auto;min-width:24px;min-height:24px;max-width:24px;max-height:24px;vertical-align:middle}\n"] }]
|
|
324
330
|
}], null, { menuItem: [{
|
|
325
331
|
type: Input
|
|
326
332
|
}] }); })();
|
|
@@ -553,11 +559,11 @@ class MenuItemListComponent {
|
|
|
553
559
|
i0.ɵɵproperty("fxLayoutAlign", ctx.menuLayoutDirection);
|
|
554
560
|
i0.ɵɵadvance();
|
|
555
561
|
i0.ɵɵproperty("ngForOf", ctx.items);
|
|
556
|
-
} }, dependencies: [i4.DefaultLayoutDirective, i4.DefaultLayoutGapDirective, i4.DefaultLayoutAlignDirective, i5.DefaultClassDirective, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i5$1.MatTooltip, MenuItemListComponent, MenuIconComponent, MenuItemLinkComponent, i8.TranslatePipe], styles: ["[_nghost-%COMP%]{display:inline-block} .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important} .collapsed .menu-list-wrapper, .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important} .collapsed .menu-item{display:flex!important;place-content:center center!important} .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}[_nghost-%COMP%] .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}[_nghost-%COMP%] .menu-list-wrapper .menu-item:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}[_nghost-%COMP%] .menu-list-wrapper .menu-item.active-menu-item, [_nghost-%COMP%] .menu-list-wrapper .menu-item.active-menu-item mat-icon, [_nghost-%COMP%] .menu-list-wrapper .menu-item.active-menu-item:hover{font-weight:600}[_nghost-%COMP%] .menu-list-wrapper .menu-item span{display:inline-block}[_nghost-%COMP%] .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}[_nghost-%COMP%] .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}[_nghost-%COMP%] .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}.child-list[_nghost-%COMP%]{margin-bottom:1rem}.child-list[_nghost-%COMP%] .menu-item[_ngcontent-%COMP%] + .menu-item[_ngcontent-%COMP%]{margin-top:.5rem} .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative} .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}"] }); }
|
|
562
|
+
} }, dependencies: [i4.DefaultLayoutDirective, i4.DefaultLayoutGapDirective, i4.DefaultLayoutAlignDirective, i5.DefaultClassDirective, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i5$1.MatTooltip, MenuItemListComponent, MenuIconComponent, MenuItemLinkComponent, i8.TranslatePipe], styles: ["[_nghost-%COMP%]{display:inline-block} .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important} .collapsed .menu-list-wrapper, .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important} .collapsed .menu-item{display:flex!important;place-content:center center!important} .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}[_nghost-%COMP%] .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}[_nghost-%COMP%] .menu-list-wrapper .menu-item:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}[_nghost-%COMP%] .menu-list-wrapper .menu-item.active-menu-item, [_nghost-%COMP%] .menu-list-wrapper .menu-item.active-menu-item mat-icon, [_nghost-%COMP%] .menu-list-wrapper .menu-item.active-menu-item:hover{font-weight:600}[_nghost-%COMP%] .menu-list-wrapper .menu-item span{display:inline-block}[_nghost-%COMP%] .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}[_nghost-%COMP%] .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}[_nghost-%COMP%] .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}.child-list[_nghost-%COMP%]{margin-bottom:1rem}.child-list[_nghost-%COMP%] .menu-item[_ngcontent-%COMP%] + .menu-item[_ngcontent-%COMP%]{margin-top:.5rem} .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative} .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}.menu-item-list-title[_ngcontent-%COMP%]{margin-left:20px;padding:8px 0 24px;font-size:16px;font-weight:600}.menu-item-list[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slide-in .3s forwards}@keyframes _ngcontent-%COMP%_slide-in{0%{margin-left:-100px}to{margin-left:0}}"] }); }
|
|
557
563
|
}
|
|
558
564
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemListComponent, [{
|
|
559
565
|
type: Component,
|
|
560
|
-
args: [{ selector: 'menu-item-list', template: "<div class=\"menu-list-wrapper\">\r\n <div *ngIf=\"titleKey && showTitle && labelsVisible\" fxLayoutAlign=\"start center\" class=\"menu-item-list-title\">\r\n {{ titleKey | translate }}\r\n </div>\r\n <div fxLayout=\"column\" [fxLayoutAlign]=\"menuLayoutDirection\" class=\"menu-item-list\">\r\n <ng-container *ngFor=\"let menuItem of items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"!menuItem.showChildren || !menuItem.children || menuItem?.children?.length === 0 ? menuItemLink : itemWithChildren; context: {menuItem: menuItem}\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemWithChildren let-menuItem=\"menuItem\">\r\n <button [attr.id]=\"menuItem.customId\" [ngClass.lt-md]=\"'mob-menu-item'\" [fxLayout]=\"menuItemLayout\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\" [class.menu-labels-visible]=\"labelsVisible\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"activeItem?.link && menuItem === activeItem\" (click)=\"toggleItemExpand($event,menuItem)\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"labelsVisible\">\r\n <span class=\"menu-item-title\">\r\n <span class=\"title-content\">{{ menuItem.title | translate }}</span></span>\r\n <span class=\"material-icons\" *ngIf=\"menuItem.showChildren && menuItem.children\">\r\n {{ menuItem.expanded ? 'arrow_drop_up' : 'arrow_drop_down' }}\r\n </span>\r\n </ng-container>\r\n </button>\r\n <ng-container *ngIf=\"menuItem.showChildren && menuItem.expanded && labelsVisible\">\r\n <menu-item-list class=\"child-list\" *ngIf=\"menuItem.children && menuItem.children.length\" [items]=\"menuItem.children\"\r\n [direction]=\"direction\" [labelsVisible]=\"labelsVisible\" [activeItem]=\"activeItem\">\r\n </menu-item-list>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #menuItemLink let-menuItem=\"menuItem\">\r\n <tld-menu-item-link [ngClass.lt-md]=\"'mob-menu-item'\" [menuItem]=\"menuItem\" [direction]=\"direction\" [labelsVisible]=\"labelsVisible\"\r\n [activeItem]=\"activeItem\" [showIcons]=\"showIcons\"></tld-menu-item-link>\r\n</ng-template>", styles: [":host{display:inline-block}::ng-deep .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important}::ng-deep .collapsed .menu-list-wrapper,::ng-deep .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important}::ng-deep .collapsed .menu-item{display:flex!important;place-content:center center!important}::ng-deep .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}:host ::ng-deep .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}:host ::ng-deep .menu-list-wrapper .menu-item:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item,:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item mat-icon,:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item:hover{font-weight:600}:host ::ng-deep .menu-list-wrapper .menu-item span{display:inline-block}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}:host.child-list{margin-bottom:1rem}:host.child-list .menu-item+.menu-item{margin-top:.5rem}::ng-deep .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative}::ng-deep .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}\n"] }]
|
|
566
|
+
args: [{ selector: 'menu-item-list', template: "<div class=\"menu-list-wrapper\">\r\n <div *ngIf=\"titleKey && showTitle && labelsVisible\" fxLayoutAlign=\"start center\" class=\"menu-item-list-title\">\r\n {{ titleKey | translate }}\r\n </div>\r\n <div fxLayout=\"column\" [fxLayoutAlign]=\"menuLayoutDirection\" class=\"menu-item-list\">\r\n <ng-container *ngFor=\"let menuItem of items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"!menuItem.showChildren || !menuItem.children || menuItem?.children?.length === 0 ? menuItemLink : itemWithChildren; context: {menuItem: menuItem}\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemWithChildren let-menuItem=\"menuItem\">\r\n <button [attr.id]=\"menuItem.customId\" [ngClass.lt-md]=\"'mob-menu-item'\" [fxLayout]=\"menuItemLayout\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\" [class.menu-labels-visible]=\"labelsVisible\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"activeItem?.link && menuItem === activeItem\" (click)=\"toggleItemExpand($event,menuItem)\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"labelsVisible\">\r\n <span class=\"menu-item-title\">\r\n <span class=\"title-content\">{{ menuItem.title | translate }}</span></span>\r\n <span class=\"material-icons\" *ngIf=\"menuItem.showChildren && menuItem.children\">\r\n {{ menuItem.expanded ? 'arrow_drop_up' : 'arrow_drop_down' }}\r\n </span>\r\n </ng-container>\r\n </button>\r\n <ng-container *ngIf=\"menuItem.showChildren && menuItem.expanded && labelsVisible\">\r\n <menu-item-list class=\"child-list\" *ngIf=\"menuItem.children && menuItem.children.length\" [items]=\"menuItem.children\"\r\n [direction]=\"direction\" [labelsVisible]=\"labelsVisible\" [activeItem]=\"activeItem\">\r\n </menu-item-list>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #menuItemLink let-menuItem=\"menuItem\">\r\n <tld-menu-item-link [ngClass.lt-md]=\"'mob-menu-item'\" [menuItem]=\"menuItem\" [direction]=\"direction\" [labelsVisible]=\"labelsVisible\"\r\n [activeItem]=\"activeItem\" [showIcons]=\"showIcons\"></tld-menu-item-link>\r\n</ng-template>", styles: [":host{display:inline-block}::ng-deep .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important}::ng-deep .collapsed .menu-list-wrapper,::ng-deep .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important}::ng-deep .collapsed .menu-item{display:flex!important;place-content:center center!important}::ng-deep .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}:host ::ng-deep .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}:host ::ng-deep .menu-list-wrapper .menu-item:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item,:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item mat-icon,:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item:hover{font-weight:600}:host ::ng-deep .menu-list-wrapper .menu-item span{display:inline-block}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}:host.child-list{margin-bottom:1rem}:host.child-list .menu-item+.menu-item{margin-top:.5rem}::ng-deep .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative}::ng-deep .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}.menu-item-list-title{margin-left:20px;padding:8px 0 24px;font-size:16px;font-weight:600}.menu-item-list{animation:slide-in .3s forwards}@keyframes slide-in{0%{margin-left:-100px}to{margin-left:0}}\n"] }]
|
|
561
567
|
}], null, { direction: [{
|
|
562
568
|
type: Input
|
|
563
569
|
}], labelsVisible: [{
|
|
@@ -673,42 +679,13 @@ class MenuColumnsComponent {
|
|
|
673
679
|
|
|
674
680
|
const _forTrack0 = ($index, $item) => $item.label;
|
|
675
681
|
const _c0 = (a0, a1) => ({ icon: a0, label: a1 });
|
|
676
|
-
function
|
|
682
|
+
function SideNavMenuComponent_a_14_Template(rf, ctx) { if (rf & 1) {
|
|
677
683
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
678
|
-
i0.ɵɵelementStart(0, "
|
|
679
|
-
i0.ɵɵpipe(2, "translate");
|
|
680
|
-
i0.ɵɵlistener("click", function SideNavMenuComponent_div_0_Template_a_click_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.logoClick($event)); });
|
|
681
|
-
i0.ɵɵelement(3, "img", 16);
|
|
682
|
-
i0.ɵɵelementStart(4, "span", 17);
|
|
683
|
-
i0.ɵɵtext(5);
|
|
684
|
-
i0.ɵɵelementEnd()();
|
|
685
|
-
i0.ɵɵelementStart(6, "button", 9);
|
|
686
|
-
i0.ɵɵpipe(7, "translate");
|
|
687
|
-
i0.ɵɵlistener("click", function SideNavMenuComponent_div_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCollapse()); });
|
|
688
|
-
i0.ɵɵelementStart(8, "mat-icon");
|
|
689
|
-
i0.ɵɵtext(9, "menu");
|
|
690
|
-
i0.ɵɵelementEnd()()();
|
|
691
|
-
} if (rf & 2) {
|
|
692
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
693
|
-
i0.ɵɵproperty("fxHide", !ctx_r2.collapsed);
|
|
694
|
-
i0.ɵɵadvance();
|
|
695
|
-
i0.ɵɵproperty("libPlausibleEvent", ctx_r2.LOGOCLICK_PLAUSIBLE_EVENT)("href", ctx_r2.baseUrl, i0.ɵɵsanitizeUrl);
|
|
696
|
-
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(2, 8, "MENU.ARIA_LABELS.LOGO"));
|
|
697
|
-
i0.ɵɵadvance(2);
|
|
698
|
-
i0.ɵɵproperty("src", ctx_r2.menuLogoImage, i0.ɵɵsanitizeUrl);
|
|
699
|
-
i0.ɵɵadvance(2);
|
|
700
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.productName, " ");
|
|
701
|
-
i0.ɵɵadvance();
|
|
702
|
-
i0.ɵɵproperty("libPlausibleEvent", ctx_r2.collapsed ? ctx_r2.EXPAND_PLAUSIBLE_EVENT : ctx_r2.COLLAPSE_PLAUSIBLE_EVENT);
|
|
703
|
-
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(7, 10, "ARIA_LABELS.MENU_TOGGLER"));
|
|
704
|
-
} }
|
|
705
|
-
function SideNavMenuComponent_a_4_Template(rf, ctx) { if (rf & 1) {
|
|
706
|
-
const _r4 = i0.ɵɵgetCurrentView();
|
|
707
|
-
i0.ɵɵelementStart(0, "a", 15);
|
|
684
|
+
i0.ɵɵelementStart(0, "a", 6);
|
|
708
685
|
i0.ɵɵpipe(1, "translate");
|
|
709
|
-
i0.ɵɵlistener("click", function
|
|
710
|
-
i0.ɵɵelement(2, "img",
|
|
711
|
-
i0.ɵɵelementStart(3, "span",
|
|
686
|
+
i0.ɵɵlistener("click", function SideNavMenuComponent_a_14_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.logoClick($event)); });
|
|
687
|
+
i0.ɵɵelement(2, "img", 7);
|
|
688
|
+
i0.ɵɵelementStart(3, "span", 8);
|
|
712
689
|
i0.ɵɵtext(4);
|
|
713
690
|
i0.ɵɵelementEnd()();
|
|
714
691
|
} if (rf & 2) {
|
|
@@ -720,158 +697,144 @@ function SideNavMenuComponent_a_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
720
697
|
i0.ɵɵadvance(2);
|
|
721
698
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.productName, " ");
|
|
722
699
|
} }
|
|
723
|
-
function
|
|
724
|
-
i0.ɵɵelementStart(0, "mat-icon");
|
|
725
|
-
i0.ɵɵtext(1, "close");
|
|
726
|
-
i0.ɵɵelementEnd();
|
|
727
|
-
} }
|
|
728
|
-
function SideNavMenuComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
729
|
-
i0.ɵɵelementStart(0, "mat-icon");
|
|
730
|
-
i0.ɵɵtext(1);
|
|
731
|
-
i0.ɵɵelementEnd();
|
|
732
|
-
} if (rf & 2) {
|
|
733
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
734
|
-
i0.ɵɵadvance();
|
|
735
|
-
i0.ɵɵtextInterpolate(ctx_r2.collapsed ? "keyboard_double_arrow_right" : "keyboard_double_arrow_left");
|
|
736
|
-
} }
|
|
737
|
-
function SideNavMenuComponent_button_11_ng_container_4_mat_icon_3_Template(rf, ctx) { if (rf & 1) {
|
|
738
|
-
i0.ɵɵelementStart(0, "mat-icon", 23);
|
|
700
|
+
function SideNavMenuComponent_button_24_ng_container_4_mat_icon_3_Template(rf, ctx) { if (rf & 1) {
|
|
701
|
+
i0.ɵɵelementStart(0, "mat-icon", 25);
|
|
739
702
|
i0.ɵɵtext(1);
|
|
740
703
|
i0.ɵɵelementEnd();
|
|
741
704
|
} if (rf & 2) {
|
|
742
705
|
i0.ɵɵadvance();
|
|
743
706
|
i0.ɵɵtextInterpolate("keyboard_arrow_down");
|
|
744
707
|
} }
|
|
745
|
-
function
|
|
746
|
-
i0.ɵɵelementStart(0, "mat-icon",
|
|
708
|
+
function SideNavMenuComponent_button_24_ng_container_4_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
709
|
+
i0.ɵɵelementStart(0, "mat-icon", 25);
|
|
747
710
|
i0.ɵɵtext(1);
|
|
748
711
|
i0.ɵɵelementEnd();
|
|
749
712
|
} if (rf & 2) {
|
|
750
713
|
i0.ɵɵadvance();
|
|
751
714
|
i0.ɵɵtextInterpolate("keyboard_arrow_up");
|
|
752
715
|
} }
|
|
753
|
-
function
|
|
716
|
+
function SideNavMenuComponent_button_24_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
754
717
|
i0.ɵɵelementContainerStart(0);
|
|
755
|
-
i0.ɵɵelementStart(1, "span",
|
|
718
|
+
i0.ɵɵelementStart(1, "span", 23);
|
|
756
719
|
i0.ɵɵtext(2);
|
|
757
720
|
i0.ɵɵelementEnd();
|
|
758
|
-
i0.ɵɵtemplate(3,
|
|
721
|
+
i0.ɵɵtemplate(3, SideNavMenuComponent_button_24_ng_container_4_mat_icon_3_Template, 2, 1, "mat-icon", 24)(4, SideNavMenuComponent_button_24_ng_container_4_ng_template_4_Template, 2, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
|
|
759
722
|
i0.ɵɵelementContainerEnd();
|
|
760
723
|
} if (rf & 2) {
|
|
761
|
-
const
|
|
724
|
+
const iconDown_r4 = i0.ɵɵreference(5);
|
|
762
725
|
i0.ɵɵnextContext();
|
|
763
|
-
const
|
|
726
|
+
const state_r5 = i0.ɵɵreference(1);
|
|
764
727
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
765
728
|
i0.ɵɵadvance(2);
|
|
766
729
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.username, " ");
|
|
767
730
|
i0.ɵɵadvance();
|
|
768
|
-
i0.ɵɵproperty("ngIf",
|
|
731
|
+
i0.ɵɵproperty("ngIf", state_r5.menuOpen)("ngIfElse", iconDown_r4);
|
|
769
732
|
} }
|
|
770
|
-
function
|
|
771
|
-
i0.ɵɵelementStart(0, "button",
|
|
733
|
+
function SideNavMenuComponent_button_24_Template(rf, ctx) { if (rf & 1) {
|
|
734
|
+
i0.ɵɵelementStart(0, "button", 20, 2)(2, "div", 21);
|
|
772
735
|
i0.ɵɵtext(3);
|
|
773
736
|
i0.ɵɵelementEnd();
|
|
774
|
-
i0.ɵɵtemplate(4,
|
|
737
|
+
i0.ɵɵtemplate(4, SideNavMenuComponent_button_24_ng_container_4_Template, 6, 3, "ng-container", 22);
|
|
775
738
|
i0.ɵɵelementEnd();
|
|
776
739
|
} if (rf & 2) {
|
|
777
740
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
778
|
-
const
|
|
779
|
-
i0.ɵɵproperty("matMenuTriggerFor",
|
|
741
|
+
const menu_r6 = i0.ɵɵreference(26);
|
|
742
|
+
i0.ɵɵproperty("matMenuTriggerFor", menu_r6);
|
|
780
743
|
i0.ɵɵadvance(3);
|
|
781
744
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.userInitials, " ");
|
|
782
745
|
i0.ɵɵadvance();
|
|
783
746
|
i0.ɵɵproperty("ngIf", !ctx_r2.collapsed);
|
|
784
747
|
} }
|
|
785
|
-
function
|
|
748
|
+
function SideNavMenuComponent_For_28_Conditional_0_Conditional_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
786
749
|
i0.ɵɵelementContainer(0);
|
|
787
750
|
} }
|
|
788
|
-
function
|
|
789
|
-
i0.ɵɵelementStart(0, "a",
|
|
790
|
-
i0.ɵɵtemplate(1,
|
|
751
|
+
function SideNavMenuComponent_For_28_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
752
|
+
i0.ɵɵelementStart(0, "a", 27);
|
|
753
|
+
i0.ɵɵtemplate(1, SideNavMenuComponent_For_28_Conditional_0_Conditional_0_ng_container_1_Template, 1, 0, "ng-container", 29);
|
|
791
754
|
i0.ɵɵelementEnd();
|
|
792
755
|
} if (rf & 2) {
|
|
793
|
-
const
|
|
756
|
+
const item_r7 = i0.ɵɵnextContext(2).$implicit;
|
|
794
757
|
i0.ɵɵnextContext();
|
|
795
|
-
const
|
|
796
|
-
i0.ɵɵproperty("href",
|
|
758
|
+
const profileMenuItem_r8 = i0.ɵɵreference(30);
|
|
759
|
+
i0.ɵɵproperty("href", item_r7.link.href, i0.ɵɵsanitizeUrl);
|
|
797
760
|
i0.ɵɵadvance();
|
|
798
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
761
|
+
i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r7.icon, item_r7.label));
|
|
799
762
|
} }
|
|
800
|
-
function
|
|
763
|
+
function SideNavMenuComponent_For_28_Conditional_0_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
801
764
|
i0.ɵɵelementContainer(0);
|
|
802
765
|
} }
|
|
803
|
-
function
|
|
804
|
-
i0.ɵɵelementStart(0, "a",
|
|
805
|
-
i0.ɵɵtemplate(1,
|
|
766
|
+
function SideNavMenuComponent_For_28_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
767
|
+
i0.ɵɵelementStart(0, "a", 28);
|
|
768
|
+
i0.ɵɵtemplate(1, SideNavMenuComponent_For_28_Conditional_0_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 29);
|
|
806
769
|
i0.ɵɵelementEnd();
|
|
807
770
|
} if (rf & 2) {
|
|
808
|
-
const
|
|
771
|
+
const item_r7 = i0.ɵɵnextContext(2).$implicit;
|
|
809
772
|
i0.ɵɵnextContext();
|
|
810
|
-
const
|
|
811
|
-
i0.ɵɵproperty("routerLink",
|
|
773
|
+
const profileMenuItem_r8 = i0.ɵɵreference(30);
|
|
774
|
+
i0.ɵɵproperty("routerLink", item_r7.link.href);
|
|
812
775
|
i0.ɵɵadvance();
|
|
813
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
776
|
+
i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r7.icon, item_r7.label));
|
|
814
777
|
} }
|
|
815
|
-
function
|
|
816
|
-
i0.ɵɵtemplate(0,
|
|
778
|
+
function SideNavMenuComponent_For_28_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
779
|
+
i0.ɵɵtemplate(0, SideNavMenuComponent_For_28_Conditional_0_Conditional_0_Template, 2, 6, "a", 27)(1, SideNavMenuComponent_For_28_Conditional_0_Conditional_1_Template, 2, 6, "a", 28);
|
|
817
780
|
} if (rf & 2) {
|
|
818
|
-
const
|
|
819
|
-
i0.ɵɵconditional(
|
|
781
|
+
const item_r7 = i0.ɵɵnextContext().$implicit;
|
|
782
|
+
i0.ɵɵconditional(item_r7.link.isExternal ? 0 : 1);
|
|
820
783
|
} }
|
|
821
|
-
function
|
|
784
|
+
function SideNavMenuComponent_For_28_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
822
785
|
i0.ɵɵelementContainer(0);
|
|
823
786
|
} }
|
|
824
|
-
function
|
|
825
|
-
const
|
|
826
|
-
i0.ɵɵelementStart(0, "button",
|
|
827
|
-
i0.ɵɵlistener("click", function
|
|
828
|
-
i0.ɵɵtemplate(1,
|
|
787
|
+
function SideNavMenuComponent_For_28_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
788
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
789
|
+
i0.ɵɵelementStart(0, "button", 30);
|
|
790
|
+
i0.ɵɵlistener("click", function SideNavMenuComponent_For_28_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const item_r7 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(item_r7.button == null ? null : item_r7.button.callback()); });
|
|
791
|
+
i0.ɵɵtemplate(1, SideNavMenuComponent_For_28_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 29);
|
|
829
792
|
i0.ɵɵelementEnd();
|
|
830
793
|
} if (rf & 2) {
|
|
831
|
-
const
|
|
794
|
+
const item_r7 = i0.ɵɵnextContext().$implicit;
|
|
832
795
|
i0.ɵɵnextContext();
|
|
833
|
-
const
|
|
796
|
+
const profileMenuItem_r8 = i0.ɵɵreference(30);
|
|
834
797
|
i0.ɵɵadvance();
|
|
835
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
798
|
+
i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c0, item_r7.icon, item_r7.label));
|
|
836
799
|
} }
|
|
837
|
-
function
|
|
838
|
-
i0.ɵɵtemplate(0,
|
|
800
|
+
function SideNavMenuComponent_For_28_Template(rf, ctx) { if (rf & 1) {
|
|
801
|
+
i0.ɵɵtemplate(0, SideNavMenuComponent_For_28_Conditional_0_Template, 2, 1)(1, SideNavMenuComponent_For_28_Conditional_1_Template, 2, 5, "button", 26);
|
|
839
802
|
} if (rf & 2) {
|
|
840
|
-
const
|
|
841
|
-
i0.ɵɵconditional(
|
|
803
|
+
const item_r7 = ctx.$implicit;
|
|
804
|
+
i0.ɵɵconditional(item_r7.link ? 0 : 1);
|
|
842
805
|
} }
|
|
843
|
-
function
|
|
844
|
-
i0.ɵɵelementStart(0, "span",
|
|
806
|
+
function SideNavMenuComponent_ng_template_29_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
807
|
+
i0.ɵɵelementStart(0, "span", 33);
|
|
845
808
|
i0.ɵɵtext(1);
|
|
846
809
|
i0.ɵɵelementEnd();
|
|
847
810
|
} if (rf & 2) {
|
|
848
|
-
const
|
|
849
|
-
i0.ɵɵclassProp("material-icons-outlined",
|
|
811
|
+
const icon_r10 = i0.ɵɵnextContext(2).icon;
|
|
812
|
+
i0.ɵɵclassProp("material-icons-outlined", icon_r10 == null ? null : icon_r10.isOutlined);
|
|
850
813
|
i0.ɵɵadvance();
|
|
851
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
814
|
+
i0.ɵɵtextInterpolate1(" ", icon_r10 == null ? null : icon_r10.name, " ");
|
|
852
815
|
} }
|
|
853
|
-
function
|
|
854
|
-
i0.ɵɵelement(0, "mat-icon",
|
|
816
|
+
function SideNavMenuComponent_ng_template_29_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
817
|
+
i0.ɵɵelement(0, "mat-icon", 32);
|
|
855
818
|
} if (rf & 2) {
|
|
856
|
-
const
|
|
857
|
-
i0.ɵɵproperty("svgIcon",
|
|
819
|
+
const icon_r10 = i0.ɵɵnextContext(2).icon;
|
|
820
|
+
i0.ɵɵproperty("svgIcon", icon_r10 == null ? null : icon_r10.name);
|
|
858
821
|
} }
|
|
859
|
-
function
|
|
860
|
-
i0.ɵɵtemplate(0,
|
|
822
|
+
function SideNavMenuComponent_ng_template_29_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
823
|
+
i0.ɵɵtemplate(0, SideNavMenuComponent_ng_template_29_Conditional_0_Conditional_0_Template, 2, 3, "span", 31)(1, SideNavMenuComponent_ng_template_29_Conditional_0_Conditional_1_Template, 1, 1, "mat-icon", 32);
|
|
861
824
|
} if (rf & 2) {
|
|
862
|
-
const
|
|
863
|
-
i0.ɵɵconditional(!(
|
|
825
|
+
const icon_r10 = i0.ɵɵnextContext().icon;
|
|
826
|
+
i0.ɵɵconditional(!(icon_r10 == null ? null : icon_r10.isCustom) ? 0 : 1);
|
|
864
827
|
} }
|
|
865
|
-
function
|
|
866
|
-
i0.ɵɵtemplate(0,
|
|
828
|
+
function SideNavMenuComponent_ng_template_29_Template(rf, ctx) { if (rf & 1) {
|
|
829
|
+
i0.ɵɵtemplate(0, SideNavMenuComponent_ng_template_29_Conditional_0_Template, 2, 1);
|
|
867
830
|
i0.ɵɵtext(1);
|
|
868
831
|
i0.ɵɵpipe(2, "translate");
|
|
869
832
|
} if (rf & 2) {
|
|
870
|
-
const
|
|
871
|
-
const
|
|
872
|
-
i0.ɵɵconditional(
|
|
833
|
+
const icon_r10 = ctx.icon;
|
|
834
|
+
const label_r11 = ctx.label;
|
|
835
|
+
i0.ɵɵconditional(icon_r10 ? 0 : -1);
|
|
873
836
|
i0.ɵɵadvance();
|
|
874
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2,
|
|
837
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, label_r11), " ");
|
|
875
838
|
} }
|
|
876
839
|
class SideNavMenuComponent extends NavBaseComponent {
|
|
877
840
|
#username;
|
|
@@ -888,7 +851,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
888
851
|
get sideNavWidth() {
|
|
889
852
|
return this.collapsed ? this.menuSettings.collapsedWidth : this.menuSettings.expandedWidth;
|
|
890
853
|
}
|
|
891
|
-
constructor(strapiLinkService, domService, menuItems
|
|
854
|
+
constructor(strapiLinkService, domService, menuItems) {
|
|
892
855
|
super(menuItems);
|
|
893
856
|
this.strapiLinkService = strapiLinkService;
|
|
894
857
|
this.domService = domService;
|
|
@@ -901,7 +864,6 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
901
864
|
disableStrapi: false
|
|
902
865
|
};
|
|
903
866
|
this.collapsed = false;
|
|
904
|
-
this.isMobile = ResolutionHelper.isMobileRes();
|
|
905
867
|
this.COLLAPSED_LOCAL_STORAGE_KEY = "TLD_MENU_SIDE_NAV_COLLAPSED";
|
|
906
868
|
//#region Plausible event variables for collapse button
|
|
907
869
|
this.COLLAPSE_PLAUSIBLE_EVENT_ID = "collapseMenu";
|
|
@@ -919,7 +881,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
919
881
|
eventId: this.COLLAPSE_PLAUSIBLE_EVENT_ID,
|
|
920
882
|
properties: [{ key: this.COLLAPSE_PLAUSIBLE_ACTION_KEY, value: "collapse" }]
|
|
921
883
|
};
|
|
922
|
-
this.baseUrl = menuSharedConfig.baseUrl || '';
|
|
884
|
+
this.baseUrl = menuItems.menuSharedConfig.baseUrl || '';
|
|
923
885
|
}
|
|
924
886
|
ngOnInit() {
|
|
925
887
|
super.ngOnInit();
|
|
@@ -937,7 +899,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
937
899
|
if (!this.domService.localStorage) {
|
|
938
900
|
return;
|
|
939
901
|
}
|
|
940
|
-
this.collapsed = (this.domService.localStorage.getItem(this.COLLAPSED_LOCAL_STORAGE_KEY) == 'true' ||
|
|
902
|
+
this.collapsed = (this.domService.localStorage.getItem(this.COLLAPSED_LOCAL_STORAGE_KEY) == 'true' || ResolutionHelper.isMobileRes()) ? true : false;
|
|
941
903
|
}
|
|
942
904
|
setColapsedFromLocalStorage() {
|
|
943
905
|
if (!this.domService.localStorage) {
|
|
@@ -959,29 +921,57 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
959
921
|
// If there are more than one word, use the first letter of the first two names
|
|
960
922
|
this.userInitials = splittedUsername[0][0] + splittedUsername[1][0];
|
|
961
923
|
}
|
|
962
|
-
static { this.ɵfac = function SideNavMenuComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SideNavMenuComponent)(i0.ɵɵdirectiveInject(i1.StrapiLinkService), i0.ɵɵdirectiveInject(i2.DOMService), i0.ɵɵdirectiveInject(MenuItemsService)
|
|
963
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SideNavMenuComponent, selectors: [["lib-side-nav-menu"]], inputs: { username: "username", menuSettings: "menuSettings", productName: "productName" }, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
924
|
+
static { this.ɵfac = function SideNavMenuComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SideNavMenuComponent)(i0.ɵɵdirectiveInject(i1.StrapiLinkService), i0.ɵɵdirectiveInject(i2.DOMService), i0.ɵɵdirectiveInject(MenuItemsService)); }; }
|
|
925
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SideNavMenuComponent, selectors: [["lib-side-nav-menu"]], inputs: { username: "username", menuSettings: "menuSettings", productName: "productName" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 31, vars: 28, consts: [["menu", "matMenu"], ["profileMenuItem", ""], ["state", "matMenuTrigger"], ["iconDown", ""], ["fxHide.gt-xs", ""], [1, "mobile-header", 3, "fxHide"], ["fxFlex", "3.125em", "fxLayoutAlign", "start center", 3, "click", "libPlausibleEvent", "href"], ["height", "40", "width", "40", "alt", "logo", 1, "menu-logo", 3, "src"], [1, "menu-product-name"], ["mat-icon-button", "", 1, "toggler", 3, "click", "libPlausibleEvent"], ["fxLayout", "column", 1, "menu-container", 3, "ngClass.lt-sm"], ["fxLayout", "column", "fxFlexFill", "", 1, "content"], ["fxLayout", "row", 1, "menu-container-header", 3, "fxLayoutAlign"], ["fxFlex", "3.125em", "fxLayoutAlign", "start center", 3, "libPlausibleEvent", "href", "click", 4, "ngIf"], ["fxHide.lt-sm", ""], ["fxLayout", "column", 1, "menu-wrapper"], ["role", "navigation", 3, "toggleCollapseEvent", "direction", "isOpen", "active"], [1, "profile"], ["class", "profile-wrapper", 3, "matMenuTriggerFor", 4, "ngIf"], [1, "profile-menu"], [1, "profile-wrapper", 3, "matMenuTriggerFor"], [1, "profile-icon"], [4, "ngIf"], [1, "profile-name"], ["class", "profile-arrow spin", 4, "ngIf", "ngIfElse"], [1, "profile-arrow", "spin"], ["mat-menu-item", "", 1, "profile-option"], ["target", "_blank", 1, "mat-mdc-menu-item", 3, "href"], [1, "mat-mdc-menu-item", 3, "routerLink"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["mat-menu-item", "", 1, "profile-option", 3, "click"], [1, "material-icons", "profile-option-icon", 3, "material-icons-outlined"], [1, "profile-option-icon", 3, "svgIcon"], [1, "material-icons", "profile-option-icon"]], template: function SideNavMenuComponent_Template(rf, ctx) { if (rf & 1) {
|
|
964
926
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
965
|
-
i0.ɵɵ
|
|
966
|
-
i0.ɵɵ
|
|
967
|
-
i0.ɵɵ
|
|
968
|
-
i0.ɵɵ
|
|
969
|
-
i0.ɵɵ
|
|
970
|
-
i0.ɵɵ
|
|
971
|
-
i0.ɵɵtemplate(7, SideNavMenuComponent_Conditional_7_Template, 2, 0, "mat-icon")(8, SideNavMenuComponent_Conditional_8_Template, 2, 1, "mat-icon");
|
|
927
|
+
i0.ɵɵelementStart(0, "div", 4)(1, "div", 5)(2, "a", 6);
|
|
928
|
+
i0.ɵɵpipe(3, "translate");
|
|
929
|
+
i0.ɵɵlistener("click", function SideNavMenuComponent_Template_a_click_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.logoClick($event)); });
|
|
930
|
+
i0.ɵɵelement(4, "img", 7);
|
|
931
|
+
i0.ɵɵelementStart(5, "span", 8);
|
|
932
|
+
i0.ɵɵtext(6);
|
|
972
933
|
i0.ɵɵelementEnd()();
|
|
973
|
-
i0.ɵɵelementStart(
|
|
974
|
-
i0.ɵɵ
|
|
934
|
+
i0.ɵɵelementStart(7, "button", 9);
|
|
935
|
+
i0.ɵɵpipe(8, "translate");
|
|
936
|
+
i0.ɵɵlistener("click", function SideNavMenuComponent_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleCollapse()); });
|
|
937
|
+
i0.ɵɵelementStart(9, "mat-icon");
|
|
938
|
+
i0.ɵɵtext(10, "menu");
|
|
939
|
+
i0.ɵɵelementEnd()()()();
|
|
940
|
+
i0.ɵɵelementStart(11, "div", 10)(12, "div", 11)(13, "div", 12);
|
|
941
|
+
i0.ɵɵtemplate(14, SideNavMenuComponent_a_14_Template, 5, 7, "a", 13);
|
|
942
|
+
i0.ɵɵelementStart(15, "button", 9);
|
|
943
|
+
i0.ɵɵpipe(16, "translate");
|
|
944
|
+
i0.ɵɵlistener("click", function SideNavMenuComponent_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleCollapse()); });
|
|
945
|
+
i0.ɵɵelementStart(17, "mat-icon", 4);
|
|
946
|
+
i0.ɵɵtext(18, "close");
|
|
947
|
+
i0.ɵɵelementEnd();
|
|
948
|
+
i0.ɵɵelementStart(19, "mat-icon", 14);
|
|
949
|
+
i0.ɵɵtext(20);
|
|
950
|
+
i0.ɵɵelementEnd()()();
|
|
951
|
+
i0.ɵɵelementStart(21, "div", 15)(22, "menu-columns", 16);
|
|
952
|
+
i0.ɵɵlistener("toggleCollapseEvent", function SideNavMenuComponent_Template_menu_columns_toggleCollapseEvent_22_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleCollapse()); });
|
|
975
953
|
i0.ɵɵelementEnd()();
|
|
976
|
-
i0.ɵɵ
|
|
977
|
-
i0.ɵɵ
|
|
978
|
-
i0.ɵɵ
|
|
954
|
+
i0.ɵɵelementStart(23, "div", 17);
|
|
955
|
+
i0.ɵɵtemplate(24, SideNavMenuComponent_button_24_Template, 5, 3, "button", 18);
|
|
956
|
+
i0.ɵɵelementStart(25, "mat-menu", 19, 0);
|
|
957
|
+
i0.ɵɵrepeaterCreate(27, SideNavMenuComponent_For_28_Template, 2, 1, null, null, _forTrack0);
|
|
958
|
+
i0.ɵɵelementEnd()();
|
|
959
|
+
i0.ɵɵtemplate(29, SideNavMenuComponent_ng_template_29_Template, 3, 4, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
979
960
|
i0.ɵɵelementEnd()();
|
|
980
|
-
i0.ɵɵtemplate(16, SideNavMenuComponent_ng_template_16_Template, 3, 4, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
981
|
-
i0.ɵɵelementEnd();
|
|
982
961
|
} if (rf & 2) {
|
|
983
|
-
i0.ɵɵproperty("ngIf", ctx.isMobile);
|
|
984
962
|
i0.ɵɵadvance();
|
|
963
|
+
i0.ɵɵproperty("fxHide", !ctx.collapsed);
|
|
964
|
+
i0.ɵɵadvance();
|
|
965
|
+
i0.ɵɵproperty("libPlausibleEvent", ctx.LOGOCLICK_PLAUSIBLE_EVENT)("href", ctx.baseUrl, i0.ɵɵsanitizeUrl);
|
|
966
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(3, 22, "MENU.ARIA_LABELS.LOGO"));
|
|
967
|
+
i0.ɵɵadvance(2);
|
|
968
|
+
i0.ɵɵproperty("src", ctx.menuLogoImage, i0.ɵɵsanitizeUrl);
|
|
969
|
+
i0.ɵɵadvance(2);
|
|
970
|
+
i0.ɵɵtextInterpolate1(" ", ctx.productName, " ");
|
|
971
|
+
i0.ɵɵadvance();
|
|
972
|
+
i0.ɵɵproperty("libPlausibleEvent", ctx.collapsed ? ctx.EXPAND_PLAUSIBLE_EVENT : ctx.COLLAPSE_PLAUSIBLE_EVENT);
|
|
973
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(8, 24, "ARIA_LABELS.MENU_TOGGLER"));
|
|
974
|
+
i0.ɵɵadvance(4);
|
|
985
975
|
i0.ɵɵstyleProp("width", ctx.sideNavWidth);
|
|
986
976
|
i0.ɵɵclassProp("collapsed", ctx.collapsed);
|
|
987
977
|
i0.ɵɵproperty("ngClass.lt-sm", "mobile");
|
|
@@ -991,33 +981,28 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
991
981
|
i0.ɵɵproperty("ngIf", !ctx.collapsed);
|
|
992
982
|
i0.ɵɵadvance();
|
|
993
983
|
i0.ɵɵproperty("libPlausibleEvent", ctx.collapsed ? ctx.EXPAND_PLAUSIBLE_EVENT : ctx.COLLAPSE_PLAUSIBLE_EVENT);
|
|
994
|
-
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(
|
|
984
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(16, 26, "ARIA_LABELS.MENU_TOGGLER"));
|
|
985
|
+
i0.ɵɵadvance(5);
|
|
986
|
+
i0.ɵɵtextInterpolate(ctx.collapsed ? "keyboard_double_arrow_right" : "keyboard_double_arrow_left");
|
|
995
987
|
i0.ɵɵadvance(2);
|
|
996
|
-
i0.ɵɵconditional(ctx.isMobile ? 7 : 8);
|
|
997
|
-
i0.ɵɵadvance(3);
|
|
998
988
|
i0.ɵɵproperty("direction", ctx.direction)("isOpen", !ctx.collapsed)("active", ctx.active);
|
|
999
|
-
i0.ɵɵadvance();
|
|
989
|
+
i0.ɵɵadvance(2);
|
|
1000
990
|
i0.ɵɵproperty("ngIf", ctx.userInitials);
|
|
1001
991
|
i0.ɵɵadvance(3);
|
|
1002
992
|
i0.ɵɵrepeater(ctx.menuSettings.userOptions);
|
|
1003
|
-
} }, dependencies: [i4.DefaultLayoutDirective, i4.DefaultLayoutAlignDirective, i4.FlexFillDirective, i4.DefaultFlexDirective, i5.DefaultShowHideDirective, i5.DefaultClassDirective, i1$1.RouterLink, i3.NgIf, i3.NgTemplateOutlet, i2$1.MatIcon, i9.MatIconButton, i10.MatMenu, i10.MatMenuItem, i10.MatMenuTrigger, i2.PlausibleEventDirective, MenuColumnsComponent, i8.TranslatePipe], styles: ["a[_ngcontent-%COMP%]{text-decoration:none}.mobile-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding:23px 27px;background-color:#fcfcfc;border:1px solid var(--base-70)}.mobile.menu-container.collapsed[_ngcontent-%COMP%]{display:none!important}.mobile.menu-container[_ngcontent-%COMP%]:not(.collapsed){display:block!important;position:absolute;min-width:100vw;min-height:100vh;z-index:1000}.mobile[_ngcontent-%COMP%] .profile-wrapper[_ngcontent-%COMP%]{position:relative}.mobile[_ngcontent-%COMP%] .profile-wrapper[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:absolute!important;right:0}.menu-product-name[_ngcontent-%COMP%]{white-space:nowrap;margin-left:12px;font-weight:600;color:var(--primary-accent-darker)}.menu-container[_ngcontent-%COMP%]{max-height:100vh;white-space:nowrap;height:100%;transition:width .2s ease;min-height:100vh;overflow:auto;background:var(--base-100);border-right:2px solid var(--base-95)}.menu-container[_ngcontent-%COMP%] .menu-container-header[_ngcontent-%COMP%]{margin:24px 0;max-height:40px}.menu-container.collapsed[_ngcontent-%COMP%] .menu-container-header[_ngcontent-%COMP%]{margin:24px 0 32px!important}.menu-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]:not(.collapsed){overflow-x:hidden;padding:0 12px}.menu-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]:not(.collapsed) .menu-logo[_ngcontent-%COMP%]{margin-left:16px;max-width:100%}.menu-container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{width:100%}.menu-container[_ngcontent-%COMP%] .profile-wrapper[_ngcontent-%COMP%]{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;margin:32px 16px}.menu-container[_ngcontent-%COMP%] .profile-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;border-radius:100%;color:var(--base-0);background-color:var(--base-70);font-size:16px;font-weight:600}.menu-container[_ngcontent-%COMP%] .profile-name[_ngcontent-%COMP%]{max-width:145px;overflow:hidden;margin-left:12px}.profile-option-icon[_ngcontent-%COMP%]{vertical-align:middle;margin:0 5px 5px 0}[_nghost-%COMP%] .
|
|
993
|
+
} }, dependencies: [i4.DefaultLayoutDirective, i4.DefaultLayoutAlignDirective, i4.FlexFillDirective, i4.DefaultFlexDirective, i5.DefaultShowHideDirective, i5.DefaultClassDirective, i1$1.RouterLink, i3.NgIf, i3.NgTemplateOutlet, i2$1.MatIcon, i9.MatIconButton, i10.MatMenu, i10.MatMenuItem, i10.MatMenuTrigger, i2.PlausibleEventDirective, MenuColumnsComponent, i8.TranslatePipe], styles: ["a[_ngcontent-%COMP%]{text-decoration:none}.mobile-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding:23px 27px;background-color:#fcfcfc;border:1px solid var(--base-70)}.mobile.menu-container.collapsed[_ngcontent-%COMP%]{display:none!important}.mobile.menu-container[_ngcontent-%COMP%]:not(.collapsed){display:block!important;position:absolute;min-width:100vw;min-height:100vh;z-index:1000}.mobile[_ngcontent-%COMP%] .profile-wrapper[_ngcontent-%COMP%]{position:relative}.mobile[_ngcontent-%COMP%] .profile-wrapper[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:absolute!important;right:0}.menu-product-name[_ngcontent-%COMP%]{white-space:nowrap;margin-left:12px;font-weight:600;color:var(--primary-accent-darker)}.menu-container[_ngcontent-%COMP%]{max-height:100vh;white-space:nowrap;height:100%;transition:width .2s ease;min-height:100vh;overflow:auto;background:var(--base-100);border-right:2px solid var(--base-95)}.menu-container[_ngcontent-%COMP%] .menu-container-header[_ngcontent-%COMP%]{margin:24px 0;max-height:40px}.menu-container.collapsed[_ngcontent-%COMP%] .menu-container-header[_ngcontent-%COMP%]{margin:24px 0 32px!important}.menu-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]:not(.collapsed){overflow-x:hidden;padding:0 12px}.menu-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]:not(.collapsed) .menu-logo[_ngcontent-%COMP%]{margin-left:16px;max-width:100%}.menu-container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{width:100%}.menu-container[_ngcontent-%COMP%] .profile[_ngcontent-%COMP%]{position:relative;height:100%;margin-top:100px}.menu-container[_ngcontent-%COMP%] .profile-wrapper[_ngcontent-%COMP%]{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;width:100%;position:absolute;bottom:0;margin:32px 16px}.menu-container[_ngcontent-%COMP%] .profile-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;border-radius:100%;color:var(--base-0);background-color:var(--base-70);font-size:16px;font-weight:600}.menu-container[_ngcontent-%COMP%] .profile-name[_ngcontent-%COMP%]{max-width:145px;overflow:hidden;margin-left:12px}.collapsed[_ngcontent-%COMP%] .profile-wrapper[_ngcontent-%COMP%]{margin:36px 0!important}.mobile[_ngcontent-%COMP%] .profile-name[_ngcontent-%COMP%]{max-width:60vw}.profile-option-icon[_ngcontent-%COMP%]{vertical-align:middle;margin:0 5px 5px 0}[_nghost-%COMP%] .menu-item{display:flex;padding:16px!important;border-radius:4px!important}[_nghost-%COMP%] .child-list .menu-item{padding:8px 46px!important}[_nghost-%COMP%] .collapsed .menu-item{padding:0!important;width:40px;height:40px;border-radius:50%!important}[_nghost-%COMP%] .active-menu-item{background-color:var(--base-95)!important}[_nghost-%COMP%] .menu-item-title{margin-left:12px}tld-menu-icon[_ngcontent-%COMP%]{margin-right:10px}.mobile[_ngcontent-%COMP%] .profile-arrow[_ngcontent-%COMP%]{position:absolute;right:0;margin-right:20px}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spinArrow .3s forwards}[_nghost-%COMP%] button.collapse-btn .mat-mdc-button-persistent-ripple, [_nghost-%COMP%] button.toggler .mat-mdc-button-persistent-ripple{display:none}[_nghost-%COMP%] .mobile .child-list .menu-item{padding:8px 54px!important} .cdk-overlay-container .profile-menu{margin:10px 0!important} .mat-mdc-menu-item .mat-icon{margin-right:5px!important} .collapsed .profile-wrapper{justify-content:center!important} .profile-menu a{font-weight:400!important;display:flex;align-items:center;gap:5px} .profile-menu a:hover{color:var(--mat-menu-item-label-text-color, var(--mat-app-on-surface))!important;text-decoration:inherit}@keyframes _ngcontent-%COMP%_spinArrow{to{transform:rotate(180deg)}}"] }); }
|
|
1004
994
|
}
|
|
1005
995
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SideNavMenuComponent, [{
|
|
1006
996
|
type: Component,
|
|
1007
|
-
args: [{ selector: 'lib-side-nav-menu', template: "<div
|
|
1008
|
-
}], () => [{ type: i1.StrapiLinkService }, { type: i2.DOMService }, { type: MenuItemsService }, {
|
|
1009
|
-
type: Optional
|
|
1010
|
-
}, {
|
|
1011
|
-
type: Inject,
|
|
1012
|
-
args: [MENU_SHARED_CONFIG]
|
|
1013
|
-
}] }], { username: [{
|
|
997
|
+
args: [{ selector: 'lib-side-nav-menu', template: "<div fxHide.gt-xs>\r\n <div [fxHide]=\"!collapsed\" class=\"mobile-header\">\r\n <a [libPlausibleEvent]=\"LOGOCLICK_PLAUSIBLE_EVENT\" fxFlex=\"3.125em\" [href]=\"baseUrl\"\r\n [attr.aria-label]=\"'MENU.ARIA_LABELS.LOGO' | translate\" (click)=\"logoClick($event)\" fxLayoutAlign=\"start center\"\r\n >\r\n <img height=\"40\" width=\"40\" class=\"menu-logo\" [src]=\"menuLogoImage\" alt=\"logo\" />\r\n <span class=\"menu-product-name\">\r\n {{ productName }}\r\n </span>\r\n </a>\r\n \r\n <button\r\n mat-icon-button\r\n class=\"toggler\"\r\n [attr.aria-label]=\"'ARIA_LABELS.MENU_TOGGLER' | translate\"\r\n [libPlausibleEvent]=\"collapsed ? EXPAND_PLAUSIBLE_EVENT : COLLAPSE_PLAUSIBLE_EVENT\"\r\n (click)=\"toggleCollapse()\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div [ngClass.lt-sm]=\"'mobile'\" class=\"menu-container\" [style.width]=\"sideNavWidth\" fxLayout=\"column\" [class.collapsed]=\"collapsed\">\r\n <div class=\"content\" fxLayout=\"column\" fxFlexFill>\r\n <div class=\"menu-container-header\" fxLayout=\"row\" [fxLayoutAlign]=\"collapsed ? 'center center' : 'space-between center'\">\r\n <a *ngIf=\"!collapsed\" [libPlausibleEvent]=\"LOGOCLICK_PLAUSIBLE_EVENT\" fxFlex=\"3.125em\" [href]=\"baseUrl\"\r\n [attr.aria-label]=\"'MENU.ARIA_LABELS.LOGO' | translate\" (click)=\"logoClick($event)\" fxLayoutAlign=\"start center\"\r\n >\r\n <img height=\"40\" width=\"40\" class=\"menu-logo\" [src]=\"menuLogoImage\" alt=\"logo\" />\r\n <span class=\"menu-product-name\">\r\n {{ productName }}\r\n </span>\r\n </a>\r\n \r\n <button\r\n mat-icon-button\r\n class=\"toggler\"\r\n [attr.aria-label]=\"'ARIA_LABELS.MENU_TOGGLER' | translate\"\r\n [libPlausibleEvent]=\"collapsed ? EXPAND_PLAUSIBLE_EVENT : COLLAPSE_PLAUSIBLE_EVENT\"\r\n (click)=\"toggleCollapse()\"\r\n >\r\n <mat-icon fxHide.gt-xs>close</mat-icon>\r\n <mat-icon fxHide.lt-sm>{{ collapsed ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}</mat-icon>\r\n </button>\r\n </div>\r\n \r\n <div class=\"menu-wrapper\" fxLayout=\"column\">\r\n <menu-columns (toggleCollapseEvent)=\"toggleCollapse()\" [direction]=\"direction\" role=\"navigation\" [isOpen]=\"!collapsed\"\r\n [active]=\"active\"></menu-columns>\r\n </div>\r\n\r\n <div class=\"profile\">\r\n <button *ngIf=\"userInitials\" #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"profile-wrapper\">\r\n <div class=\"profile-icon\">\r\n {{userInitials}}\r\n </div>\r\n\r\n <ng-container *ngIf=\"!collapsed\">\r\n <span class=\"profile-name\">\r\n {{ username }}\r\n </span>\r\n \r\n <mat-icon *ngIf=\"state.menuOpen; else iconDown\" class=\"profile-arrow spin\">{{\"keyboard_arrow_down\"}}</mat-icon>\r\n\r\n <ng-template #iconDown>\r\n <mat-icon class=\"profile-arrow spin\">{{\"keyboard_arrow_up\" }}</mat-icon>\r\n </ng-template>\r\n </ng-container>\r\n </button>\r\n\r\n <mat-menu #menu=\"matMenu\" class=\"profile-menu\">\r\n @for (item of menuSettings.userOptions; track item.label) {\r\n @if (item.link) {\r\n @if (item.link.isExternal) {\r\n <a class=\"mat-mdc-menu-item\" [href]=\"item.link.href\" target=\"_blank\">\r\n <ng-container\r\n *ngTemplateOutlet=\"profileMenuItem; context: { icon: item.icon, label: item.label }\">\r\n </ng-container>\r\n </a>\r\n } @else {\r\n <a class=\"mat-mdc-menu-item\" [routerLink]=\"item.link.href\">\r\n <ng-container\r\n *ngTemplateOutlet=\"profileMenuItem; context: { icon: item.icon, label: item.label }\">\r\n </ng-container>\r\n </a>\r\n }\r\n } @else {\r\n <button\r\n mat-menu-item\r\n class=\"profile-option\"\r\n (click)=\"item.button?.callback()\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"profileMenuItem; context: { icon: item.icon, label: item.label }\">\r\n </ng-container>\r\n </button>\r\n }\r\n }\r\n </mat-menu>\r\n </div>\r\n\r\n <ng-template #profileMenuItem let-icon=\"icon\" let-label=\"label\">\r\n @if (icon) {\r\n @if (!icon?.isCustom) {\r\n <span class=\"material-icons profile-option-icon\" [class.material-icons-outlined]=\"icon?.isOutlined\">\r\n {{icon?.name}}\r\n </span>\r\n } @else {\r\n <mat-icon class=\"profile-option-icon\" [svgIcon]=\"icon?.name\"></mat-icon>\r\n }\r\n }\r\n {{ label | translate }}\r\n </ng-template>\r\n</div>\r\n ", styles: ["a{text-decoration:none}.mobile-header{display:flex;justify-content:space-between;padding:23px 27px;background-color:#fcfcfc;border:1px solid var(--base-70)}.mobile.menu-container.collapsed{display:none!important}.mobile.menu-container:not(.collapsed){display:block!important;position:absolute;min-width:100vw;min-height:100vh;z-index:1000}.mobile .profile-wrapper{position:relative}.mobile .profile-wrapper mat-icon{position:absolute!important;right:0}.menu-product-name{white-space:nowrap;margin-left:12px;font-weight:600;color:var(--primary-accent-darker)}.menu-container{max-height:100vh;white-space:nowrap;height:100%;transition:width .2s ease;min-height:100vh;overflow:auto;background:var(--base-100);border-right:2px solid var(--base-95)}.menu-container .menu-container-header{margin:24px 0;max-height:40px}.menu-container.collapsed .menu-container-header{margin:24px 0 32px!important}.menu-container .content:not(.collapsed){overflow-x:hidden;padding:0 12px}.menu-container .content:not(.collapsed) .menu-logo{margin-left:16px;max-width:100%}.menu-container .divider{width:100%}.menu-container .profile{position:relative;height:100%;margin-top:100px}.menu-container .profile-wrapper{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;width:100%;position:absolute;bottom:0;margin:32px 16px}.menu-container .profile-icon{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;border-radius:100%;color:var(--base-0);background-color:var(--base-70);font-size:16px;font-weight:600}.menu-container .profile-name{max-width:145px;overflow:hidden;margin-left:12px}.collapsed .profile-wrapper{margin:36px 0!important}.mobile .profile-name{max-width:60vw}.profile-option-icon{vertical-align:middle;margin:0 5px 5px 0}:host ::ng-deep .menu-item{display:flex;padding:16px!important;border-radius:4px!important}:host ::ng-deep .child-list .menu-item{padding:8px 46px!important}:host ::ng-deep .collapsed .menu-item{padding:0!important;width:40px;height:40px;border-radius:50%!important}:host ::ng-deep .active-menu-item{background-color:var(--base-95)!important}:host ::ng-deep .menu-item-title{margin-left:12px}tld-menu-icon{margin-right:10px}.mobile .profile-arrow{position:absolute;right:0;margin-right:20px}.spin{animation:spinArrow .3s forwards}:host::ng-deep button.collapse-btn .mat-mdc-button-persistent-ripple,:host::ng-deep button.toggler .mat-mdc-button-persistent-ripple{display:none}:host ::ng-deep .mobile .child-list .menu-item{padding:8px 54px!important}::ng-deep .cdk-overlay-container .profile-menu{margin:10px 0!important}::ng-deep .mat-mdc-menu-item .mat-icon{margin-right:5px!important}::ng-deep .collapsed .profile-wrapper{justify-content:center!important}::ng-deep .profile-menu a{font-weight:400!important;display:flex;align-items:center;gap:5px}::ng-deep .profile-menu a:hover{color:var(--mat-menu-item-label-text-color, var(--mat-app-on-surface))!important;text-decoration:inherit}@keyframes spinArrow{to{transform:rotate(180deg)}}\n"] }]
|
|
998
|
+
}], () => [{ type: i1.StrapiLinkService }, { type: i2.DOMService }, { type: MenuItemsService }], { username: [{
|
|
1014
999
|
type: Input
|
|
1015
1000
|
}], menuSettings: [{
|
|
1016
1001
|
type: Input
|
|
1017
1002
|
}], productName: [{
|
|
1018
1003
|
type: Input
|
|
1019
1004
|
}] }); })();
|
|
1020
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SideNavMenuComponent, { className: "SideNavMenuComponent", filePath: "lib\\components\\side-nav-menu\\side-nav-menu.component.ts", lineNumber:
|
|
1005
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SideNavMenuComponent, { className: "SideNavMenuComponent", filePath: "lib\\components\\side-nav-menu\\side-nav-menu.component.ts", lineNumber: 14 }); })();
|
|
1021
1006
|
|
|
1022
1007
|
class MenuModule {
|
|
1023
1008
|
static forRoot(config) {
|