@tilde-nlp/ngx-menu 6.1.34 → 6.1.36
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-item-btn/menu-item-btn.component.mjs +6 -5
- package/esm2022/lib/components/side-nav-menu/models/user-menu-option-link.model.mjs +1 -1
- package/esm2022/lib/components/side-nav-menu/side-nav-menu.component.mjs +53 -43
- package/esm2022/lib/constants/user-menu-options.const.mjs +23 -15
- package/esm2022/lib/models/custom-menu-item.model.mjs +1 -1
- package/fesm2022/tilde-nlp-ngx-menu.mjs +79 -60
- package/fesm2022/tilde-nlp-ngx-menu.mjs.map +1 -1
- package/lib/components/side-nav-menu/models/user-menu-option-link.model.d.ts +2 -0
- package/lib/components/side-nav-menu/side-nav-menu.component.d.ts +2 -0
- package/lib/constants/user-menu-options.const.d.ts +7 -6
- package/lib/models/custom-menu-item.model.d.ts +2 -0
- package/package.json +1 -1
|
@@ -446,7 +446,7 @@ function MenuItemBtnComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
446
446
|
} }
|
|
447
447
|
class MenuItemBtnComponent {
|
|
448
448
|
static { this.ɵfac = function MenuItemBtnComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuItemBtnComponent)(); }; }
|
|
449
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuItemBtnComponent, selectors: [["lib-menu-item-btn"]], inputs: { direction: "direction", activeItem: "activeItem", menuItem: "menuItem" }, decls: 5, vars:
|
|
449
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuItemBtnComponent, selectors: [["lib-menu-item-btn"]], inputs: { direction: "direction", activeItem: "activeItem", menuItem: "menuItem" }, decls: 5, vars: 8, consts: [["menu", "matMenu"], ["fxLayoutAlign", "space-between start", 1, "menu-item", "w-full", "flex", "justify-center", "items-center", 3, "click", "ngClass.lt-md"], [1, "btn-label"], [4, "ngIf"], ["mat-icon-button", "", 3, "click", "matMenuTriggerFor"], ["mat-menu-item", "", 3, "click", 4, "ngFor", "ngForOf"], ["mat-menu-item", "", 3, "click"]], template: function MenuItemBtnComponent_Template(rf, ctx) { if (rf & 1) {
|
|
450
450
|
i0.ɵɵelementStart(0, "button", 1);
|
|
451
451
|
i0.ɵɵlistener("click", function MenuItemBtnComponent_Template_button_click_0_listener() { return ctx.menuItem.clickAction && ctx.menuItem.clickAction(); });
|
|
452
452
|
i0.ɵɵelementStart(1, "span", 2);
|
|
@@ -456,17 +456,18 @@ class MenuItemBtnComponent {
|
|
|
456
456
|
i0.ɵɵtemplate(4, MenuItemBtnComponent_ng_container_4_Template, 7, 2, "ng-container", 3);
|
|
457
457
|
i0.ɵɵelementEnd();
|
|
458
458
|
} if (rf & 2) {
|
|
459
|
-
i0.ɵɵclassProp("active-menu-item", ctx.menuItem === ctx.activeItem);
|
|
459
|
+
i0.ɵɵclassProp("active-menu-item", ctx.menuItem.isItemActive ? ctx.menuItem.isItemActive(ctx.menuItem.customId) : ctx.menuItem === ctx.activeItem);
|
|
460
460
|
i0.ɵɵproperty("ngClass.lt-md", "mobile");
|
|
461
|
+
i0.ɵɵattribute("id", ctx.menuItem.customId);
|
|
461
462
|
i0.ɵɵadvance(2);
|
|
462
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3,
|
|
463
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 6, ctx.menuItem.title), " ");
|
|
463
464
|
i0.ɵɵadvance(2);
|
|
464
465
|
i0.ɵɵproperty("ngIf", ctx.menuItem.subMenu == null ? null : ctx.menuItem.subMenu.length);
|
|
465
466
|
} }, dependencies: [i1$2.DefaultLayoutAlignDirective, i2$2.DefaultClassDirective, i4.NgForOf, i4.NgIf, i2$1.MatIcon, i7.MatIconButton, i6.MatMenu, i6.MatMenuItem, i6.MatMenuTrigger, i8.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.mobile[_ngcontent-%COMP%] .btn-label[_ngcontent-%COMP%]{margin-left:5px}.btn-label[_ngcontent-%COMP%]{font-size:14px;font-weight:500;line-height:20px;letter-spacing:.1px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"] }); }
|
|
466
467
|
}
|
|
467
468
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemBtnComponent, [{
|
|
468
469
|
type: Component,
|
|
469
|
-
args: [{ selector: 'lib-menu-item-btn', standalone: false, template: "<button\r\n [ngClass.lt-md]=\"'mobile'\"\r\n class=\"menu-item w-full flex justify-center items-center\"\r\n fxLayoutAlign=\"space-between start\"\r\n [class.active-menu-item]=\"menuItem === activeItem\"\r\n (click)=\"menuItem.clickAction && menuItem.clickAction()\"\r\n>\r\n <span class=\"btn-label\">\r\n {{ menuItem.title | translate }}\r\n </span>\r\n <ng-container *ngIf=\"menuItem.subMenu?.length\">\r\n <button\r\n mat-icon-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"$event.preventDefault(); $event.stopImmediatePropagation()\"\r\n >\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let item of menuItem.subMenu\"\r\n mat-menu-item\r\n (click)=\"item.onOptionClick()\"\r\n >\r\n {{ item.title | translate }}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</button>\r\n", styles: [":host{width:100%}.mobile .btn-label{margin-left:5px}.btn-label{font-size:14px;font-weight:500;line-height:20px;letter-spacing:.1px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
470
|
+
args: [{ selector: 'lib-menu-item-btn', standalone: false, template: "<button\r\n [ngClass.lt-md]=\"'mobile'\"\r\n [attr.id]=\"menuItem.customId\"\r\n class=\"menu-item w-full flex justify-center items-center\"\r\n fxLayoutAlign=\"space-between start\"\r\n [class.active-menu-item]=\"menuItem.isItemActive ? menuItem.isItemActive(menuItem.customId) : menuItem === activeItem\"\r\n (click)=\"menuItem.clickAction && menuItem.clickAction()\"\r\n>\r\n <span class=\"btn-label\">\r\n {{ menuItem.title | translate }}\r\n </span>\r\n <ng-container *ngIf=\"menuItem.subMenu?.length\">\r\n <button\r\n mat-icon-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"$event.preventDefault(); $event.stopImmediatePropagation()\"\r\n >\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let item of menuItem.subMenu\"\r\n mat-menu-item\r\n (click)=\"item.onOptionClick()\"\r\n >\r\n {{ item.title | translate }}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</button>\r\n", styles: [":host{width:100%}.mobile .btn-label{margin-left:5px}.btn-label{font-size:14px;font-weight:500;line-height:20px;letter-spacing:.1px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
470
471
|
}], null, { direction: [{
|
|
471
472
|
type: Input
|
|
472
473
|
}], activeItem: [{
|
|
@@ -912,98 +913,103 @@ function SideNavMenuComponent_For_29_Conditional_0_Conditional_0_ng_container_1_
|
|
|
912
913
|
i0.ɵɵelementContainer(0);
|
|
913
914
|
} }
|
|
914
915
|
function SideNavMenuComponent_For_29_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
915
|
-
i0.ɵɵ
|
|
916
|
-
i0.ɵɵ
|
|
916
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
917
|
+
i0.ɵɵelementStart(0, "a", 30);
|
|
918
|
+
i0.ɵɵlistener("click", function SideNavMenuComponent_For_29_Conditional_0_Conditional_0_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r7); const item_r8 = i0.ɵɵnextContext(2).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.linkCallback(item_r8.link)); });
|
|
919
|
+
i0.ɵɵtemplate(1, SideNavMenuComponent_For_29_Conditional_0_Conditional_0_ng_container_1_Template, 1, 0, "ng-container", 31);
|
|
917
920
|
i0.ɵɵelementEnd();
|
|
918
921
|
} if (rf & 2) {
|
|
919
|
-
const
|
|
922
|
+
const item_r8 = i0.ɵɵnextContext(2).$implicit;
|
|
920
923
|
i0.ɵɵnextContext();
|
|
921
|
-
const
|
|
922
|
-
i0.ɵɵproperty("href",
|
|
924
|
+
const profileMenuItem_r9 = i0.ɵɵreference(31);
|
|
925
|
+
i0.ɵɵproperty("href", item_r8.link.href, i0.ɵɵsanitizeUrl);
|
|
923
926
|
i0.ɵɵadvance();
|
|
924
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
927
|
+
i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r8.icon, item_r8.label));
|
|
925
928
|
} }
|
|
926
929
|
function SideNavMenuComponent_For_29_Conditional_0_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
927
930
|
i0.ɵɵelementContainer(0);
|
|
928
931
|
} }
|
|
929
932
|
function SideNavMenuComponent_For_29_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
930
|
-
i0.ɵɵ
|
|
931
|
-
i0.ɵɵ
|
|
933
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
934
|
+
i0.ɵɵelementStart(0, "a", 32);
|
|
935
|
+
i0.ɵɵlistener("click", function SideNavMenuComponent_For_29_Conditional_0_Conditional_1_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r10); const item_r8 = i0.ɵɵnextContext(2).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.linkCallback(item_r8.link)); });
|
|
936
|
+
i0.ɵɵtemplate(1, SideNavMenuComponent_For_29_Conditional_0_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 31);
|
|
932
937
|
i0.ɵɵelementEnd();
|
|
933
938
|
} if (rf & 2) {
|
|
934
|
-
const
|
|
939
|
+
const item_r8 = i0.ɵɵnextContext(2).$implicit;
|
|
935
940
|
i0.ɵɵnextContext();
|
|
936
|
-
const
|
|
937
|
-
i0.ɵɵproperty("routerLink",
|
|
941
|
+
const profileMenuItem_r9 = i0.ɵɵreference(31);
|
|
942
|
+
i0.ɵɵproperty("routerLink", item_r8.link.href);
|
|
938
943
|
i0.ɵɵadvance();
|
|
939
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
944
|
+
i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r8.icon, item_r8.label));
|
|
940
945
|
} }
|
|
941
946
|
function SideNavMenuComponent_For_29_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
942
947
|
i0.ɵɵtemplate(0, SideNavMenuComponent_For_29_Conditional_0_Conditional_0_Template, 2, 6, "a", 28)(1, SideNavMenuComponent_For_29_Conditional_0_Conditional_1_Template, 2, 6, "a", 29);
|
|
943
948
|
} if (rf & 2) {
|
|
944
|
-
const
|
|
945
|
-
i0.ɵɵconditional(
|
|
949
|
+
const item_r8 = i0.ɵɵnextContext().$implicit;
|
|
950
|
+
i0.ɵɵconditional(item_r8.link.isExternal ? 0 : 1);
|
|
946
951
|
} }
|
|
947
952
|
function SideNavMenuComponent_For_29_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
948
953
|
i0.ɵɵelementContainer(0);
|
|
949
954
|
} }
|
|
950
955
|
function SideNavMenuComponent_For_29_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
951
|
-
const
|
|
952
|
-
i0.ɵɵelementStart(0, "button",
|
|
953
|
-
i0.ɵɵlistener("click", function SideNavMenuComponent_For_29_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
954
|
-
i0.ɵɵtemplate(1, SideNavMenuComponent_For_29_Conditional_1_ng_container_1_Template, 1, 0, "ng-container",
|
|
956
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
957
|
+
i0.ɵɵelementStart(0, "button", 33);
|
|
958
|
+
i0.ɵɵlistener("click", function SideNavMenuComponent_For_29_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const item_r8 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(item_r8.button == null ? null : item_r8.button.callback()); });
|
|
959
|
+
i0.ɵɵtemplate(1, SideNavMenuComponent_For_29_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 31);
|
|
955
960
|
i0.ɵɵelementEnd();
|
|
956
961
|
} if (rf & 2) {
|
|
957
|
-
const
|
|
962
|
+
const item_r8 = i0.ɵɵnextContext().$implicit;
|
|
958
963
|
i0.ɵɵnextContext();
|
|
959
|
-
const
|
|
964
|
+
const profileMenuItem_r9 = i0.ɵɵreference(31);
|
|
960
965
|
i0.ɵɵadvance();
|
|
961
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
966
|
+
i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c0, item_r8.icon, item_r8.label));
|
|
962
967
|
} }
|
|
963
968
|
function SideNavMenuComponent_For_29_Template(rf, ctx) { if (rf & 1) {
|
|
964
969
|
i0.ɵɵtemplate(0, SideNavMenuComponent_For_29_Conditional_0_Template, 2, 1)(1, SideNavMenuComponent_For_29_Conditional_1_Template, 2, 5, "button", 27);
|
|
965
970
|
} if (rf & 2) {
|
|
966
|
-
const
|
|
967
|
-
i0.ɵɵconditional(
|
|
971
|
+
const item_r8 = ctx.$implicit;
|
|
972
|
+
i0.ɵɵconditional(item_r8.link ? 0 : 1);
|
|
968
973
|
} }
|
|
969
974
|
function SideNavMenuComponent_ng_template_30_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
970
|
-
i0.ɵɵelementStart(0, "span",
|
|
975
|
+
i0.ɵɵelementStart(0, "span", 36);
|
|
971
976
|
i0.ɵɵtext(1);
|
|
972
977
|
i0.ɵɵelementEnd();
|
|
973
978
|
} if (rf & 2) {
|
|
974
|
-
const
|
|
975
|
-
i0.ɵɵclassProp("material-icons-outlined",
|
|
979
|
+
const icon_r12 = i0.ɵɵnextContext(2).icon;
|
|
980
|
+
i0.ɵɵclassProp("material-icons-outlined", icon_r12 == null ? null : icon_r12.isOutlined);
|
|
976
981
|
i0.ɵɵadvance();
|
|
977
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
982
|
+
i0.ɵɵtextInterpolate1(" ", icon_r12 == null ? null : icon_r12.name, " ");
|
|
978
983
|
} }
|
|
979
984
|
function SideNavMenuComponent_ng_template_30_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
980
|
-
i0.ɵɵelement(0, "mat-icon",
|
|
985
|
+
i0.ɵɵelement(0, "mat-icon", 35);
|
|
981
986
|
} if (rf & 2) {
|
|
982
|
-
const
|
|
983
|
-
i0.ɵɵproperty("svgIcon",
|
|
987
|
+
const icon_r12 = i0.ɵɵnextContext(2).icon;
|
|
988
|
+
i0.ɵɵproperty("svgIcon", icon_r12 == null ? null : icon_r12.name);
|
|
984
989
|
} }
|
|
985
990
|
function SideNavMenuComponent_ng_template_30_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
986
|
-
i0.ɵɵtemplate(0, SideNavMenuComponent_ng_template_30_Conditional_0_Conditional_0_Template, 2, 3, "span",
|
|
991
|
+
i0.ɵɵtemplate(0, SideNavMenuComponent_ng_template_30_Conditional_0_Conditional_0_Template, 2, 3, "span", 34)(1, SideNavMenuComponent_ng_template_30_Conditional_0_Conditional_1_Template, 1, 1, "mat-icon", 35);
|
|
987
992
|
} if (rf & 2) {
|
|
988
|
-
const
|
|
989
|
-
i0.ɵɵconditional(!(
|
|
993
|
+
const icon_r12 = i0.ɵɵnextContext().icon;
|
|
994
|
+
i0.ɵɵconditional(!(icon_r12 == null ? null : icon_r12.isCustom) ? 0 : 1);
|
|
990
995
|
} }
|
|
991
996
|
function SideNavMenuComponent_ng_template_30_Template(rf, ctx) { if (rf & 1) {
|
|
992
997
|
i0.ɵɵtemplate(0, SideNavMenuComponent_ng_template_30_Conditional_0_Template, 2, 1);
|
|
993
998
|
i0.ɵɵtext(1);
|
|
994
999
|
i0.ɵɵpipe(2, "translate");
|
|
995
1000
|
} if (rf & 2) {
|
|
996
|
-
const
|
|
997
|
-
const
|
|
998
|
-
i0.ɵɵconditional(
|
|
1001
|
+
const icon_r12 = ctx.icon;
|
|
1002
|
+
const label_r13 = ctx.label;
|
|
1003
|
+
i0.ɵɵconditional(icon_r12 ? 0 : -1);
|
|
999
1004
|
i0.ɵɵadvance();
|
|
1000
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2,
|
|
1005
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, label_r13), " ");
|
|
1001
1006
|
} }
|
|
1002
1007
|
class SideNavMenuComponent extends NavBaseComponent {
|
|
1003
1008
|
#username;
|
|
1004
1009
|
get username() { return this.#username; }
|
|
1005
1010
|
set username(value) {
|
|
1006
|
-
|
|
1011
|
+
// if username is passed whith whitespace in begginining, it breaks UI, so trim it for safety.
|
|
1012
|
+
this.#username = value.trim();
|
|
1007
1013
|
this.setUserInitials();
|
|
1008
1014
|
}
|
|
1009
1015
|
get menuLogoImage() {
|
|
@@ -1058,6 +1064,11 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
1058
1064
|
this.collapsed = !this.collapsed;
|
|
1059
1065
|
this.setColapsedFromLocalStorage();
|
|
1060
1066
|
}
|
|
1067
|
+
linkCallback(link) {
|
|
1068
|
+
if (link.callback) {
|
|
1069
|
+
link.callback();
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
1061
1072
|
getColapsedFromLocalStorage() {
|
|
1062
1073
|
if (!this.domService.localStorage) {
|
|
1063
1074
|
return;
|
|
@@ -1085,7 +1096,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
1085
1096
|
this.userInitials = splittedUsername[0][0] + splittedUsername[1][0];
|
|
1086
1097
|
}
|
|
1087
1098
|
static { this.ɵfac = function SideNavMenuComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SideNavMenuComponent)(i0.ɵɵdirectiveInject(i1.StrapiLinkService), i0.ɵɵdirectiveInject(i2.DOMService), i0.ɵɵdirectiveInject(MenuItemsService)); }; }
|
|
1088
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SideNavMenuComponent, selectors: [["lib-side-nav-menu"]], inputs: { username: "username", menuSettings: "menuSettings", productName: "productName" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 32, vars: 31, 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"], ["mat-icon-button", "", 1, "toggler", 3, "click", "libPlausibleEvent", "matTooltip"], ["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) {
|
|
1099
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SideNavMenuComponent, selectors: [["lib-side-nav-menu"]], inputs: { username: "username", menuSettings: "menuSettings", productName: "productName" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 32, vars: 31, 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"], ["mat-icon-button", "", 1, "toggler", 3, "click", "libPlausibleEvent", "matTooltip"], ["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"], ["target", "_blank", 1, "mat-mdc-menu-item", 3, "click", "href"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "mat-mdc-menu-item", 3, "click", "routerLink"], ["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) {
|
|
1089
1100
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
1090
1101
|
i0.ɵɵelementStart(0, "div", 4)(1, "div", 5)(2, "a", 6);
|
|
1091
1102
|
i0.ɵɵpipe(3, "translate");
|
|
@@ -1154,11 +1165,11 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
1154
1165
|
i0.ɵɵproperty("ngIf", ctx.userInitials);
|
|
1155
1166
|
i0.ɵɵadvance(3);
|
|
1156
1167
|
i0.ɵɵrepeater(ctx.menuSettings.userOptions);
|
|
1157
|
-
} }, dependencies: [i1$2.DefaultLayoutDirective, i1$2.DefaultLayoutAlignDirective, i1$2.FlexFillDirective, i1$2.DefaultFlexDirective, i2$2.DefaultShowHideDirective, i2$2.DefaultClassDirective, i1$1.RouterLink, i4.NgIf, i4.NgTemplateOutlet, i5.MatTooltip, i2$1.MatIcon, i7.MatIconButton, i6.MatMenu, i6.MatMenuItem, i6.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:fixed;min-width:100vw;min-height:100dvh;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(--
|
|
1168
|
+
} }, dependencies: [i1$2.DefaultLayoutDirective, i1$2.DefaultLayoutAlignDirective, i1$2.FlexFillDirective, i1$2.DefaultFlexDirective, i2$2.DefaultShowHideDirective, i2$2.DefaultClassDirective, i1$1.RouterLink, i4.NgIf, i4.NgTemplateOutlet, i5.MatTooltip, i2$1.MatIcon, i7.MatIconButton, i6.MatMenu, i6.MatMenuItem, i6.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:fixed;min-width:100vw;min-height:100dvh;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:100dvh;white-space:nowrap;height:100%;transition:width .2s ease;min-height:100dvh;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;text-overflow:ellipsis}.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}.profile-arrow[_ngcontent-%COMP%]{position:absolute;right:3px;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)}}"] }); }
|
|
1158
1169
|
}
|
|
1159
1170
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SideNavMenuComponent, [{
|
|
1160
1171
|
type: Component,
|
|
1161
|
-
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 [matTooltip]=\"(collapsed ? 'MENU.EXPAND' : 'MENU.COLLAPSE') | translate\"\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:fixed;min-width:100vw;min-height:100dvh;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(--
|
|
1172
|
+
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 [matTooltip]=\"(collapsed ? 'MENU.EXPAND' : 'MENU.COLLAPSE') | translate\"\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\" (click)=\"linkCallback(item.link)\">\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\" (click)=\"linkCallback(item.link)\">\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:fixed;min-width:100vw;min-height:100dvh;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:100dvh;white-space:nowrap;height:100%;transition:width .2s ease;min-height:100dvh;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;text-overflow:ellipsis}.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}.profile-arrow{position:absolute;right:3px;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"] }]
|
|
1162
1173
|
}], () => [{ type: i1.StrapiLinkService }, { type: i2.DOMService }, { type: MenuItemsService }], { username: [{
|
|
1163
1174
|
type: Input
|
|
1164
1175
|
}], menuSettings: [{
|
|
@@ -1166,7 +1177,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
1166
1177
|
}], productName: [{
|
|
1167
1178
|
type: Input
|
|
1168
1179
|
}] }); })();
|
|
1169
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SideNavMenuComponent, { className: "SideNavMenuComponent", filePath: "lib\\components\\side-nav-menu\\side-nav-menu.component.ts", lineNumber:
|
|
1180
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SideNavMenuComponent, { className: "SideNavMenuComponent", filePath: "lib\\components\\side-nav-menu\\side-nav-menu.component.ts", lineNumber: 15 }); })();
|
|
1170
1181
|
|
|
1171
1182
|
class MenuModule {
|
|
1172
1183
|
static forRoot(config) {
|
|
@@ -1247,37 +1258,45 @@ class MenuModule {
|
|
|
1247
1258
|
* Prefefined user menu options, so that same style of items are used across all products. Use this by passing necessary configuration.
|
|
1248
1259
|
*/
|
|
1249
1260
|
const USER_MENU_OPTIONS = {
|
|
1250
|
-
subscription: (href) => ({
|
|
1261
|
+
subscription: (href, callback) => ({
|
|
1251
1262
|
icon: { name: "credit_card" },
|
|
1252
1263
|
label: 'MENU.SUBSCRIPTION',
|
|
1253
|
-
link: { href: href }
|
|
1264
|
+
link: { href: href, callback }
|
|
1254
1265
|
}),
|
|
1255
|
-
termsOfUse: (href) => ({
|
|
1266
|
+
termsOfUse: (href, callback) => ({
|
|
1256
1267
|
icon: { name: "text_snippet" },
|
|
1257
1268
|
label: 'MENU.TERMS_OF_USE',
|
|
1258
|
-
link: { href, isExternal: true }
|
|
1269
|
+
link: { href, isExternal: true, callback }
|
|
1259
1270
|
}),
|
|
1260
|
-
privacy: (href) => ({
|
|
1271
|
+
privacy: (href, callback) => ({
|
|
1261
1272
|
icon: { name: "gpp_maybe" },
|
|
1262
1273
|
label: 'MENU.PRIVACY',
|
|
1263
|
-
link: { href, isExternal: true },
|
|
1274
|
+
link: { href, isExternal: true, callback },
|
|
1264
1275
|
}),
|
|
1265
|
-
help: (href) => ({
|
|
1276
|
+
help: (href, callback) => ({
|
|
1266
1277
|
label: 'MENU.HELP_CENTER',
|
|
1267
1278
|
icon: { name: `help` },
|
|
1268
|
-
link: { href, isExternal: true }
|
|
1279
|
+
link: { href, isExternal: true, callback }
|
|
1269
1280
|
}),
|
|
1270
|
-
contactUs: (href) => ({
|
|
1281
|
+
contactUs: (href, callback) => ({
|
|
1271
1282
|
label: 'MENU.CONTACT_US',
|
|
1272
1283
|
icon: { name: `mail` },
|
|
1273
|
-
link: { href, isExternal: true }
|
|
1284
|
+
link: { href, isExternal: true, callback }
|
|
1274
1285
|
}),
|
|
1275
|
-
|
|
1286
|
+
/** use language update callback to save in localstorage */
|
|
1287
|
+
changeLanguage: (dialog, languages, languageChangeCallback) => ({
|
|
1276
1288
|
label: 'MENU.CHANGE_LANGUAGE',
|
|
1277
1289
|
icon: { name: "language" },
|
|
1278
|
-
button: {
|
|
1279
|
-
|
|
1280
|
-
|
|
1290
|
+
button: {
|
|
1291
|
+
callback: () => {
|
|
1292
|
+
dialog.open(SelectLanguageDialogComponent, { data: { languages: languages } })
|
|
1293
|
+
.afterClosed().subscribe((language) => {
|
|
1294
|
+
if (language && languageChangeCallback) {
|
|
1295
|
+
languageChangeCallback(language);
|
|
1296
|
+
}
|
|
1297
|
+
});
|
|
1298
|
+
}
|
|
1299
|
+
}
|
|
1281
1300
|
}),
|
|
1282
1301
|
logout: (callback) => ({
|
|
1283
1302
|
icon: { name: "logout" },
|