@tilde-nlp/ngx-menu 6.1.34 → 6.1.35
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 +51 -42
- 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 +77 -59
- 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,92 +913,96 @@ 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;
|
|
@@ -1058,6 +1063,11 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
1058
1063
|
this.collapsed = !this.collapsed;
|
|
1059
1064
|
this.setColapsedFromLocalStorage();
|
|
1060
1065
|
}
|
|
1066
|
+
linkCallback(link) {
|
|
1067
|
+
if (link.callback) {
|
|
1068
|
+
link.callback();
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1061
1071
|
getColapsedFromLocalStorage() {
|
|
1062
1072
|
if (!this.domService.localStorage) {
|
|
1063
1073
|
return;
|
|
@@ -1085,7 +1095,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
1085
1095
|
this.userInitials = splittedUsername[0][0] + splittedUsername[1][0];
|
|
1086
1096
|
}
|
|
1087
1097
|
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) {
|
|
1098
|
+
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
1099
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
1090
1100
|
i0.ɵɵelementStart(0, "div", 4)(1, "div", 5)(2, "a", 6);
|
|
1091
1101
|
i0.ɵɵpipe(3, "translate");
|
|
@@ -1154,11 +1164,11 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
1154
1164
|
i0.ɵɵproperty("ngIf", ctx.userInitials);
|
|
1155
1165
|
i0.ɵɵadvance(3);
|
|
1156
1166
|
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(--
|
|
1167
|
+
} }, 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
1168
|
}
|
|
1159
1169
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SideNavMenuComponent, [{
|
|
1160
1170
|
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(--
|
|
1171
|
+
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
1172
|
}], () => [{ type: i1.StrapiLinkService }, { type: i2.DOMService }, { type: MenuItemsService }], { username: [{
|
|
1163
1173
|
type: Input
|
|
1164
1174
|
}], menuSettings: [{
|
|
@@ -1166,7 +1176,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
1166
1176
|
}], productName: [{
|
|
1167
1177
|
type: Input
|
|
1168
1178
|
}] }); })();
|
|
1169
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SideNavMenuComponent, { className: "SideNavMenuComponent", filePath: "lib\\components\\side-nav-menu\\side-nav-menu.component.ts", lineNumber:
|
|
1179
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SideNavMenuComponent, { className: "SideNavMenuComponent", filePath: "lib\\components\\side-nav-menu\\side-nav-menu.component.ts", lineNumber: 15 }); })();
|
|
1170
1180
|
|
|
1171
1181
|
class MenuModule {
|
|
1172
1182
|
static forRoot(config) {
|
|
@@ -1247,37 +1257,45 @@ class MenuModule {
|
|
|
1247
1257
|
* Prefefined user menu options, so that same style of items are used across all products. Use this by passing necessary configuration.
|
|
1248
1258
|
*/
|
|
1249
1259
|
const USER_MENU_OPTIONS = {
|
|
1250
|
-
subscription: (href) => ({
|
|
1260
|
+
subscription: (href, callback) => ({
|
|
1251
1261
|
icon: { name: "credit_card" },
|
|
1252
1262
|
label: 'MENU.SUBSCRIPTION',
|
|
1253
|
-
link: { href: href }
|
|
1263
|
+
link: { href: href, callback }
|
|
1254
1264
|
}),
|
|
1255
|
-
termsOfUse: (href) => ({
|
|
1265
|
+
termsOfUse: (href, callback) => ({
|
|
1256
1266
|
icon: { name: "text_snippet" },
|
|
1257
1267
|
label: 'MENU.TERMS_OF_USE',
|
|
1258
|
-
link: { href, isExternal: true }
|
|
1268
|
+
link: { href, isExternal: true, callback }
|
|
1259
1269
|
}),
|
|
1260
|
-
privacy: (href) => ({
|
|
1270
|
+
privacy: (href, callback) => ({
|
|
1261
1271
|
icon: { name: "gpp_maybe" },
|
|
1262
1272
|
label: 'MENU.PRIVACY',
|
|
1263
|
-
link: { href, isExternal: true },
|
|
1273
|
+
link: { href, isExternal: true, callback },
|
|
1264
1274
|
}),
|
|
1265
|
-
help: (href) => ({
|
|
1275
|
+
help: (href, callback) => ({
|
|
1266
1276
|
label: 'MENU.HELP_CENTER',
|
|
1267
1277
|
icon: { name: `help` },
|
|
1268
|
-
link: { href, isExternal: true }
|
|
1278
|
+
link: { href, isExternal: true, callback }
|
|
1269
1279
|
}),
|
|
1270
|
-
contactUs: (href) => ({
|
|
1280
|
+
contactUs: (href, callback) => ({
|
|
1271
1281
|
label: 'MENU.CONTACT_US',
|
|
1272
1282
|
icon: { name: `mail` },
|
|
1273
|
-
link: { href, isExternal: true }
|
|
1283
|
+
link: { href, isExternal: true, callback }
|
|
1274
1284
|
}),
|
|
1275
|
-
|
|
1285
|
+
/** use language update callback to save in localstorage */
|
|
1286
|
+
changeLanguage: (dialog, languages, languageChangeCallback) => ({
|
|
1276
1287
|
label: 'MENU.CHANGE_LANGUAGE',
|
|
1277
1288
|
icon: { name: "language" },
|
|
1278
|
-
button: {
|
|
1279
|
-
|
|
1280
|
-
|
|
1289
|
+
button: {
|
|
1290
|
+
callback: () => {
|
|
1291
|
+
dialog.open(SelectLanguageDialogComponent, { data: { languages: languages } })
|
|
1292
|
+
.afterClosed().subscribe((language) => {
|
|
1293
|
+
if (language && languageChangeCallback) {
|
|
1294
|
+
languageChangeCallback(language);
|
|
1295
|
+
}
|
|
1296
|
+
});
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1281
1299
|
}),
|
|
1282
1300
|
logout: (callback) => ({
|
|
1283
1301
|
icon: { name: "logout" },
|