@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.
@@ -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, menuSharedConfig, strapiService) {
138
+ constructor(router, config, strapiService) {
139
139
  this.router = router;
140
- this.menuSharedConfig = menuSharedConfig;
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.getStrapiData();
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
- getStrapiData() {
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, "mat-icon", 4);
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, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
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 <mat-icon class=\"menu-icon\">{{menuItem.icon}}</mat-icon>\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"] }]
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 SideNavMenuComponent_div_0_Template(rf, ctx) { if (rf & 1) {
682
+ function SideNavMenuComponent_a_14_Template(rf, ctx) { if (rf & 1) {
677
683
  const _r2 = i0.ɵɵgetCurrentView();
678
- i0.ɵɵelementStart(0, "div", 14)(1, "a", 15);
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 SideNavMenuComponent_a_4_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.logoClick($event)); });
710
- i0.ɵɵelement(2, "img", 16);
711
- i0.ɵɵelementStart(3, "span", 17);
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 SideNavMenuComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
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 SideNavMenuComponent_button_11_ng_container_4_ng_template_4_Template(rf, ctx) { if (rf & 1) {
746
- i0.ɵɵelementStart(0, "mat-icon", 23);
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 SideNavMenuComponent_button_11_ng_container_4_Template(rf, ctx) { if (rf & 1) {
716
+ function SideNavMenuComponent_button_24_ng_container_4_Template(rf, ctx) { if (rf & 1) {
754
717
  i0.ɵɵelementContainerStart(0);
755
- i0.ɵɵelementStart(1, "span", 21);
718
+ i0.ɵɵelementStart(1, "span", 23);
756
719
  i0.ɵɵtext(2);
757
720
  i0.ɵɵelementEnd();
758
- i0.ɵɵtemplate(3, SideNavMenuComponent_button_11_ng_container_4_mat_icon_3_Template, 2, 1, "mat-icon", 22)(4, SideNavMenuComponent_button_11_ng_container_4_ng_template_4_Template, 2, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
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 iconDown_r5 = i0.ɵɵreference(5);
724
+ const iconDown_r4 = i0.ɵɵreference(5);
762
725
  i0.ɵɵnextContext();
763
- const state_r6 = i0.ɵɵreference(1);
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", state_r6.menuOpen)("ngIfElse", iconDown_r5);
731
+ i0.ɵɵproperty("ngIf", state_r5.menuOpen)("ngIfElse", iconDown_r4);
769
732
  } }
770
- function SideNavMenuComponent_button_11_Template(rf, ctx) { if (rf & 1) {
771
- i0.ɵɵelementStart(0, "button", 18, 2)(2, "div", 19);
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, SideNavMenuComponent_button_11_ng_container_4_Template, 6, 3, "ng-container", 20);
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 menu_r7 = i0.ɵɵreference(13);
779
- i0.ɵɵproperty("matMenuTriggerFor", menu_r7);
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 SideNavMenuComponent_For_15_Conditional_0_Conditional_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
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 SideNavMenuComponent_For_15_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
789
- i0.ɵɵelementStart(0, "a", 25);
790
- i0.ɵɵtemplate(1, SideNavMenuComponent_For_15_Conditional_0_Conditional_0_ng_container_1_Template, 1, 0, "ng-container", 27);
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 item_r8 = i0.ɵɵnextContext(2).$implicit;
756
+ const item_r7 = i0.ɵɵnextContext(2).$implicit;
794
757
  i0.ɵɵnextContext();
795
- const profileMenuItem_r9 = i0.ɵɵreference(17);
796
- i0.ɵɵproperty("href", item_r8.link.href, i0.ɵɵsanitizeUrl);
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", profileMenuItem_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r8.icon, item_r8.label));
761
+ i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r7.icon, item_r7.label));
799
762
  } }
800
- function SideNavMenuComponent_For_15_Conditional_0_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
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 SideNavMenuComponent_For_15_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
804
- i0.ɵɵelementStart(0, "a", 26);
805
- i0.ɵɵtemplate(1, SideNavMenuComponent_For_15_Conditional_0_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 27);
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 item_r8 = i0.ɵɵnextContext(2).$implicit;
771
+ const item_r7 = i0.ɵɵnextContext(2).$implicit;
809
772
  i0.ɵɵnextContext();
810
- const profileMenuItem_r9 = i0.ɵɵreference(17);
811
- i0.ɵɵproperty("routerLink", item_r8.link.href);
773
+ const profileMenuItem_r8 = i0.ɵɵreference(30);
774
+ i0.ɵɵproperty("routerLink", item_r7.link.href);
812
775
  i0.ɵɵadvance();
813
- i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r8.icon, item_r8.label));
776
+ i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r7.icon, item_r7.label));
814
777
  } }
815
- function SideNavMenuComponent_For_15_Conditional_0_Template(rf, ctx) { if (rf & 1) {
816
- i0.ɵɵtemplate(0, SideNavMenuComponent_For_15_Conditional_0_Conditional_0_Template, 2, 6, "a", 25)(1, SideNavMenuComponent_For_15_Conditional_0_Conditional_1_Template, 2, 6, "a", 26);
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 item_r8 = i0.ɵɵnextContext().$implicit;
819
- i0.ɵɵconditional(item_r8.link.isExternal ? 0 : 1);
781
+ const item_r7 = i0.ɵɵnextContext().$implicit;
782
+ i0.ɵɵconditional(item_r7.link.isExternal ? 0 : 1);
820
783
  } }
821
- function SideNavMenuComponent_For_15_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
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 SideNavMenuComponent_For_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
825
- const _r10 = i0.ɵɵgetCurrentView();
826
- i0.ɵɵelementStart(0, "button", 28);
827
- i0.ɵɵlistener("click", function SideNavMenuComponent_For_15_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const item_r8 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(item_r8.button == null ? null : item_r8.button.callback()); });
828
- i0.ɵɵtemplate(1, SideNavMenuComponent_For_15_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 27);
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 item_r8 = i0.ɵɵnextContext().$implicit;
794
+ const item_r7 = i0.ɵɵnextContext().$implicit;
832
795
  i0.ɵɵnextContext();
833
- const profileMenuItem_r9 = i0.ɵɵreference(17);
796
+ const profileMenuItem_r8 = i0.ɵɵreference(30);
834
797
  i0.ɵɵadvance();
835
- i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c0, item_r8.icon, item_r8.label));
798
+ i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c0, item_r7.icon, item_r7.label));
836
799
  } }
837
- function SideNavMenuComponent_For_15_Template(rf, ctx) { if (rf & 1) {
838
- i0.ɵɵtemplate(0, SideNavMenuComponent_For_15_Conditional_0_Template, 2, 1)(1, SideNavMenuComponent_For_15_Conditional_1_Template, 2, 5, "button", 24);
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 item_r8 = ctx.$implicit;
841
- i0.ɵɵconditional(item_r8.link ? 0 : 1);
803
+ const item_r7 = ctx.$implicit;
804
+ i0.ɵɵconditional(item_r7.link ? 0 : 1);
842
805
  } }
843
- function SideNavMenuComponent_ng_template_16_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
844
- i0.ɵɵelementStart(0, "span", 31);
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 icon_r11 = i0.ɵɵnextContext(2).icon;
849
- i0.ɵɵclassProp("material-icons-outlined", icon_r11 == null ? null : icon_r11.isOutlined);
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(" ", icon_r11 == null ? null : icon_r11.name, " ");
814
+ i0.ɵɵtextInterpolate1(" ", icon_r10 == null ? null : icon_r10.name, " ");
852
815
  } }
853
- function SideNavMenuComponent_ng_template_16_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
854
- i0.ɵɵelement(0, "mat-icon", 30);
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 icon_r11 = i0.ɵɵnextContext(2).icon;
857
- i0.ɵɵproperty("svgIcon", icon_r11 == null ? null : icon_r11.name);
819
+ const icon_r10 = i0.ɵɵnextContext(2).icon;
820
+ i0.ɵɵproperty("svgIcon", icon_r10 == null ? null : icon_r10.name);
858
821
  } }
859
- function SideNavMenuComponent_ng_template_16_Conditional_0_Template(rf, ctx) { if (rf & 1) {
860
- i0.ɵɵtemplate(0, SideNavMenuComponent_ng_template_16_Conditional_0_Conditional_0_Template, 2, 3, "span", 29)(1, SideNavMenuComponent_ng_template_16_Conditional_0_Conditional_1_Template, 1, 1, "mat-icon", 30);
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 icon_r11 = i0.ɵɵnextContext().icon;
863
- i0.ɵɵconditional(!(icon_r11 == null ? null : icon_r11.isCustom) ? 0 : 1);
825
+ const icon_r10 = i0.ɵɵnextContext().icon;
826
+ i0.ɵɵconditional(!(icon_r10 == null ? null : icon_r10.isCustom) ? 0 : 1);
864
827
  } }
865
- function SideNavMenuComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
866
- i0.ɵɵtemplate(0, SideNavMenuComponent_ng_template_16_Conditional_0_Template, 2, 1);
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 icon_r11 = ctx.icon;
871
- const label_r12 = ctx.label;
872
- i0.ɵɵconditional(icon_r11 ? 0 : -1);
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, label_r12), "\n");
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, menuSharedConfig) {
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' || this.isMobile) ? true : false;
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), i0.ɵɵdirectiveInject(MENU_SHARED_CONFIG, 8)); }; }
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: 18, vars: 17, consts: [["menu", "matMenu"], ["profileMenuItem", ""], ["state", "matMenuTrigger"], ["iconDown", ""], ["class", "mobile-header", 3, "fxHide", 4, "ngIf"], ["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"], ["mat-icon-button", "", 1, "toggler", 3, "click", "libPlausibleEvent"], ["fxLayout", "column", "fxFlex", "", 1, "menu-wrapper"], ["role", "navigation", "fxFlex", "", 3, "toggleCollapseEvent", "direction", "isOpen", "active"], ["class", "profile-wrapper", 3, "matMenuTriggerFor", 4, "ngIf"], [1, "profile-menu"], [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"], [1, "profile-wrapper", 3, "matMenuTriggerFor"], [1, "profile-icon"], [4, "ngIf"], [1, "profile-name"], ["class", "spin", 4, "ngIf", "ngIfElse"], [1, "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) {
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.ɵɵtemplate(0, SideNavMenuComponent_div_0_Template, 10, 12, "div", 4);
966
- i0.ɵɵelementStart(1, "div", 5)(2, "div", 6)(3, "div", 7);
967
- i0.ɵɵtemplate(4, SideNavMenuComponent_a_4_Template, 5, 7, "a", 8);
968
- i0.ɵɵelementStart(5, "button", 9);
969
- i0.ɵɵpipe(6, "translate");
970
- i0.ɵɵlistener("click", function SideNavMenuComponent_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleCollapse()); });
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(9, "div", 10)(10, "menu-columns", 11);
974
- i0.ɵɵlistener("toggleCollapseEvent", function SideNavMenuComponent_Template_menu_columns_toggleCollapseEvent_10_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleCollapse()); });
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.ɵɵtemplate(11, SideNavMenuComponent_button_11_Template, 5, 3, "button", 12);
977
- i0.ɵɵelementStart(12, "mat-menu", 13, 0);
978
- i0.ɵɵrepeaterCreate(14, SideNavMenuComponent_For_15_Template, 2, 1, null, null, _forTrack0);
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(6, 15, "ARIA_LABELS.MENU_TOGGLER"));
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%] .collapsed .profile-wrapper{left:8px!important}[_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}.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)}}"] }); }
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 *ngIf=\"isMobile\" [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\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 @if (isMobile) {\r\n <mat-icon>close</mat-icon>\r\n } @else {\r\n <mat-icon>{{ collapsed ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}</mat-icon>\r\n }\r\n </button>\r\n </div>\r\n \r\n <div class=\"menu-wrapper\" fxLayout=\"column\" fxFlex>\r\n <menu-columns (toggleCollapseEvent)=\"toggleCollapse()\" [direction]=\"direction\" role=\"navigation\" fxFlex [isOpen]=\"!collapsed\"\r\n [active]=\"active\"></menu-columns>\r\n </div>\r\n\r\n\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=\"spin\">{{\"keyboard_arrow_down\"}}</mat-icon>\r\n\r\n <ng-template #iconDown>\r\n <mat-icon class=\"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>", 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-wrapper{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;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}.profile-option-icon{vertical-align:middle;margin:0 5px 5px 0}:host ::ng-deep .collapsed .profile-wrapper{left:8px!important}: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}.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"] }]
1008
- }], () => [{ type: i1.StrapiLinkService }, { type: i2.DOMService }, { type: MenuItemsService }, { type: undefined, decorators: [{
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: 16 }); })();
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) {