@tilde-nlp/ngx-menu 6.1.37 → 6.1.38
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 +25 -22
- package/esm2022/lib/components/side-nav-menu/models/side-nav-settings.model.mjs +1 -1
- package/esm2022/lib/components/side-nav-menu/side-nav-menu.component.mjs +14 -11
- package/esm2022/lib/constants/user-menu-options.const.mjs +23 -19
- package/fesm2022/tilde-nlp-ngx-menu.mjs +58 -48
- package/fesm2022/tilde-nlp-ngx-menu.mjs.map +1 -1
- package/lib/components/side-nav-menu/models/side-nav-settings.model.d.ts +1 -0
- package/lib/constants/user-menu-options.const.d.ts +6 -3
- package/package.json +1 -1
|
@@ -7,10 +7,10 @@ import * as i4 from "@angular/material/icon";
|
|
|
7
7
|
import * as i5 from "@angular/material/button";
|
|
8
8
|
import * as i6 from "@angular/material/menu";
|
|
9
9
|
import * as i7 from "@ngx-translate/core";
|
|
10
|
-
function
|
|
10
|
+
function MenuItemBtnComponent_ng_container_4_button_8_Template(rf, ctx) { if (rf & 1) {
|
|
11
11
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
12
|
-
i0.ɵɵelementStart(0, "button",
|
|
13
|
-
i0.ɵɵlistener("click", function
|
|
12
|
+
i0.ɵɵelementStart(0, "button", 7);
|
|
13
|
+
i0.ɵɵlistener("click", function MenuItemBtnComponent_ng_container_4_button_8_Template_button_click_0_listener() { const item_r3 = i0.ɵɵrestoreView(_r2).$implicit; return i0.ɵɵresetView(item_r3.onOptionClick()); });
|
|
14
14
|
i0.ɵɵtext(1);
|
|
15
15
|
i0.ɵɵpipe(2, "translate");
|
|
16
16
|
i0.ɵɵelementEnd();
|
|
@@ -22,33 +22,36 @@ function MenuItemBtnComponent_ng_container_4_button_6_Template(rf, ctx) { if (rf
|
|
|
22
22
|
function MenuItemBtnComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
23
23
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
24
24
|
i0.ɵɵelementContainerStart(0);
|
|
25
|
-
i0.ɵɵelementStart(1, "button",
|
|
26
|
-
i0.ɵɵlistener("click", function
|
|
27
|
-
i0.ɵɵelementStart(
|
|
28
|
-
i0.ɵɵtext(
|
|
25
|
+
i0.ɵɵelementStart(1, "div")(2, "button", 5, 0);
|
|
26
|
+
i0.ɵɵlistener("click", function MenuItemBtnComponent_ng_container_4_Template_button_click_2_listener($event) { i0.ɵɵrestoreView(_r1); $event.preventDefault(); return i0.ɵɵresetView($event.stopImmediatePropagation()); });
|
|
27
|
+
i0.ɵɵelementStart(4, "mat-icon");
|
|
28
|
+
i0.ɵɵtext(5, "more_vert");
|
|
29
|
+
i0.ɵɵelementEnd()();
|
|
30
|
+
i0.ɵɵelementStart(6, "mat-menu", null, 1);
|
|
31
|
+
i0.ɵɵtemplate(8, MenuItemBtnComponent_ng_container_4_button_8_Template, 3, 3, "button", 6);
|
|
29
32
|
i0.ɵɵelementEnd()();
|
|
30
|
-
i0.ɵɵelementStart(4, "mat-menu", null, 0);
|
|
31
|
-
i0.ɵɵtemplate(6, MenuItemBtnComponent_ng_container_4_button_6_Template, 3, 3, "button", 5);
|
|
32
|
-
i0.ɵɵelementEnd();
|
|
33
33
|
i0.ɵɵelementContainerEnd();
|
|
34
34
|
} if (rf & 2) {
|
|
35
|
-
const
|
|
36
|
-
const
|
|
35
|
+
const menuTrigger_r4 = i0.ɵɵreference(3);
|
|
36
|
+
const menu_r5 = i0.ɵɵreference(7);
|
|
37
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
38
|
+
i0.ɵɵadvance();
|
|
39
|
+
i0.ɵɵclassProp("open", menuTrigger_r4 == null ? null : menuTrigger_r4.menuOpen);
|
|
37
40
|
i0.ɵɵadvance();
|
|
38
|
-
i0.ɵɵproperty("matMenuTriggerFor",
|
|
39
|
-
i0.ɵɵadvance(
|
|
40
|
-
i0.ɵɵproperty("ngForOf",
|
|
41
|
+
i0.ɵɵproperty("matMenuTriggerFor", menu_r5);
|
|
42
|
+
i0.ɵɵadvance(6);
|
|
43
|
+
i0.ɵɵproperty("ngForOf", ctx_r5.menuItem.subMenu);
|
|
41
44
|
} }
|
|
42
45
|
export class MenuItemBtnComponent {
|
|
43
46
|
static { this.ɵfac = function MenuItemBtnComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuItemBtnComponent)(); }; }
|
|
44
|
-
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) {
|
|
45
|
-
i0.ɵɵelementStart(0, "button",
|
|
47
|
+
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: [["menuTrigger", "matMenuTrigger"], ["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", "", 1, "sub-menu-btn", 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) {
|
|
48
|
+
i0.ɵɵelementStart(0, "button", 2);
|
|
46
49
|
i0.ɵɵlistener("click", function MenuItemBtnComponent_Template_button_click_0_listener() { return ctx.menuItem.clickAction && ctx.menuItem.clickAction(); });
|
|
47
|
-
i0.ɵɵelementStart(1, "span",
|
|
50
|
+
i0.ɵɵelementStart(1, "span", 3);
|
|
48
51
|
i0.ɵɵtext(2);
|
|
49
52
|
i0.ɵɵpipe(3, "translate");
|
|
50
53
|
i0.ɵɵelementEnd();
|
|
51
|
-
i0.ɵɵtemplate(4, MenuItemBtnComponent_ng_container_4_Template,
|
|
54
|
+
i0.ɵɵtemplate(4, MenuItemBtnComponent_ng_container_4_Template, 9, 4, "ng-container", 4);
|
|
52
55
|
i0.ɵɵelementEnd();
|
|
53
56
|
} if (rf & 2) {
|
|
54
57
|
i0.ɵɵclassProp("active-menu-item", ctx.menuItem.isItemActive ? ctx.menuItem.isItemActive(ctx.menuItem.customId) : ctx.menuItem === ctx.activeItem);
|
|
@@ -58,11 +61,11 @@ export class MenuItemBtnComponent {
|
|
|
58
61
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 6, ctx.menuItem.title), " ");
|
|
59
62
|
i0.ɵɵadvance(2);
|
|
60
63
|
i0.ɵɵproperty("ngIf", ctx.menuItem.subMenu == null ? null : ctx.menuItem.subMenu.length);
|
|
61
|
-
} }, dependencies: [i1.DefaultLayoutAlignDirective, i2.DefaultClassDirective, i3.NgForOf, i3.NgIf, i4.MatIcon, i5.MatIconButton, i6.MatMenu, i6.MatMenuItem, i6.MatMenuTrigger, i7.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}"] }); }
|
|
64
|
+
} }, dependencies: [i1.DefaultLayoutAlignDirective, i2.DefaultClassDirective, i3.NgForOf, i3.NgIf, i4.MatIcon, i5.MatIconButton, i6.MatMenu, i6.MatMenuItem, i6.MatMenuTrigger, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.menu-item[_ngcontent-%COMP%]:not(:hover) .sub-menu-btn[_ngcontent-%COMP%]{display:none}.menu-item[_ngcontent-%COMP%]:has(.open){background-color:var(--base-95)!important}.open[_ngcontent-%COMP%] .sub-menu-btn[_ngcontent-%COMP%]{display:block!important}.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}"] }); }
|
|
62
65
|
}
|
|
63
66
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemBtnComponent, [{
|
|
64
67
|
type: Component,
|
|
65
|
-
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
|
|
68
|
+
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 <div [class.open]=\"menuTrigger?.menuOpen\">\r\n <button\r\n class=\"sub-menu-btn\"\r\n mat-icon-button\r\n [matMenuTriggerFor]=\"menu\"\r\n #menuTrigger=\"matMenuTrigger\"\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 </div>\r\n </ng-container>\r\n</button>\r\n", styles: [":host{width:100%}.menu-item:not(:hover) .sub-menu-btn{display:none}.menu-item:has(.open){background-color:var(--base-95)!important}.open .sub-menu-btn{display:block!important}.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"] }]
|
|
66
69
|
}], null, { direction: [{
|
|
67
70
|
type: Input
|
|
68
71
|
}], activeItem: [{
|
|
@@ -71,4 +74,4 @@ export class MenuItemBtnComponent {
|
|
|
71
74
|
type: Input
|
|
72
75
|
}] }); })();
|
|
73
76
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuItemBtnComponent, { className: "MenuItemBtnComponent", filePath: "lib\\components\\menu-item-btn\\menu-item-btn.component.ts", lineNumber: 10 }); })();
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWJ0bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1pdGVtLWJ0bi9tZW51LWl0ZW0tYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tYnRuL21lbnUtaXRlbS1idG4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0lDdUIzQyxpQ0FJQztJQURDLHlMQUFTLHVCQUFvQixLQUFDO0lBRTlCLFlBQ0Y7O0lBQUEsaUJBQVM7OztJQURQLGNBQ0Y7SUFERSxvRUFDRjs7OztJQWxCSiw2QkFBK0M7SUFFM0MsQUFERiwyQkFBMEMsbUJBT3ZDO0lBREMsc0lBQVMsdUJBQXVCLHdCQUFFLGlDQUFpQyxLQUFDO0lBRXBFLGdDQUFVO0lBQUEseUJBQVM7SUFDckIsQUFEcUIsaUJBQVcsRUFDdkI7SUFDWCx5Q0FBMEI7SUFDeEIsMEZBSUM7SUFJSCxBQURBLGlCQUFXLEVBQ0w7Ozs7OztJQW5CRCxjQUFvQztJQUFwQywrRUFBb0M7SUFJckMsY0FBMEI7SUFBMUIsMkNBQTBCO0lBUVQsZUFBbUI7SUFBbkIsaURBQW1COztBRGY1QyxNQUFNLE9BQU8sb0JBQW9CO3FIQUFwQixvQkFBb0I7b0VBQXBCLG9CQUFvQjtZQ1RqQyxpQ0FPQztZQURDLDZIQUFpQywwQkFBc0IsSUFBQztZQUV4RCwrQkFBd0I7WUFDdEIsWUFDRjs7WUFBQSxpQkFBTztZQUNQLHVGQUErQztZQXNCakQsaUJBQVM7O1lBNUJQLGtKQUFxSDtZQUpySCx3Q0FBMEI7O1lBUXhCLGVBQ0Y7WUFERSx5RUFDRjtZQUNlLGVBQThCO1lBQTlCLHdGQUE4Qjs7O2lGREZsQyxvQkFBb0I7Y0FOaEMsU0FBUzsyQkFDRSxtQkFBbUIsY0FDakIsS0FBSztnQkFLUixTQUFTO2tCQUFqQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7O2tGQUhLLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3VzdG9tTWVudUl0ZW0sIE1lbnVMYXlvdXREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbWVudS1pdGVtLWJ0bicsXHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS1idG4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9tZW51LWl0ZW0tYnRuLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtQnRuQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBkaXJlY3Rpb24hOiBNZW51TGF5b3V0RGlyZWN0aW9uO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW0hOiBDdXN0b21NZW51SXRlbSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBtZW51SXRlbSE6IEN1c3RvbU1lbnVJdGVtO1xyXG59XHJcbiIsIjxidXR0b25cclxuICBbbmdDbGFzcy5sdC1tZF09XCInbW9iaWxlJ1wiXHJcbiAgW2F0dHIuaWRdPVwibWVudUl0ZW0uY3VzdG9tSWRcIlxyXG4gIGNsYXNzPVwibWVudS1pdGVtIHctZnVsbCBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiXHJcbiAgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RhcnRcIlxyXG4gIFtjbGFzcy5hY3RpdmUtbWVudS1pdGVtXT1cIm1lbnVJdGVtLmlzSXRlbUFjdGl2ZSA/IG1lbnVJdGVtLmlzSXRlbUFjdGl2ZShtZW51SXRlbS5jdXN0b21JZCkgOiBtZW51SXRlbSA9PT0gYWN0aXZlSXRlbVwiXHJcbiAgKGNsaWNrKT1cIm1lbnVJdGVtLmNsaWNrQWN0aW9uICYmIG1lbnVJdGVtLmNsaWNrQWN0aW9uKClcIlxyXG4+XHJcbiAgPHNwYW4gY2xhc3M9XCJidG4tbGFiZWxcIj5cclxuICAgIHt7IG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZW51SXRlbS5zdWJNZW51Py5sZW5ndGhcIj5cclxuICAgIDxkaXYgW2NsYXNzLm9wZW5dPVwibWVudVRyaWdnZXI/Lm1lbnVPcGVuXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cInN1Yi1tZW51LWJ0blwiXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG4gICAgICAgICNtZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbS5zdWJNZW51XCJcclxuICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgKGNsaWNrKT1cIml0ZW0ub25PcHRpb25DbGljaygpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1tZW51PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvYnV0dG9uPlxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtc2V0dGluZ3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYtbWVudS9tb2RlbHMvc2lkZS1uYXYtc2V0dGluZ3MubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJNZW51T3B0aW9uIH0gZnJvbSAnLi91c2VyLW1lbnUtb3B0aW9uLm1vZGVsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2lkZU5hdlNldHRpbmdzIHtcclxuICBleHBhbmRlZFdpZHRoPzogc3RyaW5nO1xyXG4gIGNvbGxhcHNlZFdpZHRoPzogc3RyaW5nO1xyXG4gIG1lbnVMb2dvOiBzdHJpbmc7XHJcbiAgbWVudUxvZ29Db2xsYXBzZWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRpc2FibGVTdHJhcGk/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtc2V0dGluZ3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYtbWVudS9tb2RlbHMvc2lkZS1uYXYtc2V0dGluZ3MubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJNZW51T3B0aW9uIH0gZnJvbSAnLi91c2VyLW1lbnUtb3B0aW9uLm1vZGVsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2lkZU5hdlNldHRpbmdzIHtcclxuICBleHBhbmRlZFdpZHRoPzogc3RyaW5nO1xyXG4gIGNvbGxhcHNlZFdpZHRoPzogc3RyaW5nO1xyXG4gIG1lbnVMb2dvOiBzdHJpbmc7XHJcbiAgbWVudUxvZ29Db2xsYXBzZWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRpc2FibGVTdHJhcGk/OiBib29sZWFuO1xyXG4gIHVzZXJPcHRpb25zPzogVXNlck1lbnVPcHRpb25bXTtcclxuICBkaXNhYmxlTG9nb05hdmlnYXRpb24/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
@@ -28,8 +28,9 @@ function SideNavMenuComponent_a_14_Template(rf, ctx) { if (rf & 1) {
|
|
|
28
28
|
i0.ɵɵelementEnd()();
|
|
29
29
|
} if (rf & 2) {
|
|
30
30
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
31
|
+
i0.ɵɵclassProp("no-click", ctx_r2.menuSettings == null ? null : ctx_r2.menuSettings.disableLogoNavigation);
|
|
31
32
|
i0.ɵɵproperty("libPlausibleEvent", ctx_r2.LOGOCLICK_PLAUSIBLE_EVENT)("href", ctx_r2.baseUrl, i0.ɵɵsanitizeUrl);
|
|
32
|
-
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1,
|
|
33
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 7, "MENU.ARIA_LABELS.LOGO"));
|
|
33
34
|
i0.ɵɵadvance(2);
|
|
34
35
|
i0.ɵɵproperty("src", ctx_r2.menuLogoImage, i0.ɵɵsanitizeUrl);
|
|
35
36
|
i0.ɵɵadvance(2);
|
|
@@ -201,7 +202,8 @@ export class SideNavMenuComponent extends NavBaseComponent {
|
|
|
201
202
|
collapsedWidth: '56px',
|
|
202
203
|
menuLogo: '',
|
|
203
204
|
menuLogoCollapsed: '',
|
|
204
|
-
disableStrapi: false
|
|
205
|
+
disableStrapi: false,
|
|
206
|
+
disableLogoNavigation: false
|
|
205
207
|
};
|
|
206
208
|
this.collapsed = false;
|
|
207
209
|
this.COLLAPSED_LOCAL_STORAGE_KEY = "TLD_MENU_SIDE_NAV_COLLAPSED";
|
|
@@ -267,7 +269,7 @@ export class SideNavMenuComponent extends NavBaseComponent {
|
|
|
267
269
|
this.userInitials = splittedUsername[0][0] + splittedUsername[1][0];
|
|
268
270
|
}
|
|
269
271
|
static { this.ɵfac = function SideNavMenuComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SideNavMenuComponent)(i0.ɵɵdirectiveInject(i1.StrapiLinkService), i0.ɵɵdirectiveInject(i2.DOMService), i0.ɵɵdirectiveInject(i3.MenuItemsService)); }; }
|
|
270
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SideNavMenuComponent, selectors: [["lib-side-nav-menu"]], inputs: { username: "username", menuSettings: "menuSettings", productName: "productName" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 37, vars:
|
|
272
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SideNavMenuComponent, selectors: [["lib-side-nav-menu"]], inputs: { username: "username", menuSettings: "menuSettings", productName: "productName" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 37, vars: 35, consts: [["state", "matMenuTrigger"], ["menu", "matMenu"], ["profileMenuItem", ""], ["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", "no-click", "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"], [1, "profile-wrapper", 3, "matMenuTriggerFor"], [1, "profile-icon"], [4, "ngIf"], [1, "profile-menu"], [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) {
|
|
271
273
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
272
274
|
i0.ɵɵelementStart(0, "div", 4)(1, "div", 5)(2, "a", 6);
|
|
273
275
|
i0.ɵɵpipe(3, "translate");
|
|
@@ -283,7 +285,7 @@ export class SideNavMenuComponent extends NavBaseComponent {
|
|
|
283
285
|
i0.ɵɵtext(10, "menu");
|
|
284
286
|
i0.ɵɵelementEnd()()()();
|
|
285
287
|
i0.ɵɵelementStart(11, "div", 10)(12, "div", 11)(13, "div", 12);
|
|
286
|
-
i0.ɵɵtemplate(14, SideNavMenuComponent_a_14_Template, 5,
|
|
288
|
+
i0.ɵɵtemplate(14, SideNavMenuComponent_a_14_Template, 5, 9, "a", 13);
|
|
287
289
|
i0.ɵɵelementStart(15, "button", 14);
|
|
288
290
|
i0.ɵɵpipe(16, "translate");
|
|
289
291
|
i0.ɵɵpipe(17, "translate");
|
|
@@ -312,15 +314,16 @@ export class SideNavMenuComponent extends NavBaseComponent {
|
|
|
312
314
|
i0.ɵɵadvance();
|
|
313
315
|
i0.ɵɵproperty("fxHide", !ctx.collapsed);
|
|
314
316
|
i0.ɵɵadvance();
|
|
317
|
+
i0.ɵɵclassProp("no-click", ctx.menuSettings == null ? null : ctx.menuSettings.disableLogoNavigation);
|
|
315
318
|
i0.ɵɵproperty("libPlausibleEvent", ctx.LOGOCLICK_PLAUSIBLE_EVENT)("href", ctx.baseUrl, i0.ɵɵsanitizeUrl);
|
|
316
|
-
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(3,
|
|
319
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(3, 27, "MENU.ARIA_LABELS.LOGO"));
|
|
317
320
|
i0.ɵɵadvance(2);
|
|
318
321
|
i0.ɵɵproperty("src", ctx.menuLogoImage, i0.ɵɵsanitizeUrl);
|
|
319
322
|
i0.ɵɵadvance(2);
|
|
320
323
|
i0.ɵɵtextInterpolate1(" ", ctx.productName, " ");
|
|
321
324
|
i0.ɵɵadvance();
|
|
322
325
|
i0.ɵɵproperty("libPlausibleEvent", ctx.collapsed ? ctx.EXPAND_PLAUSIBLE_EVENT : ctx.COLLAPSE_PLAUSIBLE_EVENT);
|
|
323
|
-
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(8,
|
|
326
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(8, 29, "ARIA_LABELS.MENU_TOGGLER"));
|
|
324
327
|
i0.ɵɵadvance(4);
|
|
325
328
|
i0.ɵɵstyleProp("width", ctx.sideNavWidth);
|
|
326
329
|
i0.ɵɵclassProp("collapsed", ctx.collapsed);
|
|
@@ -330,8 +333,8 @@ export class SideNavMenuComponent extends NavBaseComponent {
|
|
|
330
333
|
i0.ɵɵadvance();
|
|
331
334
|
i0.ɵɵproperty("ngIf", !ctx.collapsed);
|
|
332
335
|
i0.ɵɵadvance();
|
|
333
|
-
i0.ɵɵproperty("libPlausibleEvent", ctx.collapsed ? ctx.EXPAND_PLAUSIBLE_EVENT : ctx.COLLAPSE_PLAUSIBLE_EVENT)("matTooltip", i0.ɵɵpipeBind1(16,
|
|
334
|
-
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(17,
|
|
336
|
+
i0.ɵɵproperty("libPlausibleEvent", ctx.collapsed ? ctx.EXPAND_PLAUSIBLE_EVENT : ctx.COLLAPSE_PLAUSIBLE_EVENT)("matTooltip", i0.ɵɵpipeBind1(16, 31, ctx.collapsed ? "MENU.EXPAND" : "MENU.COLLAPSE"));
|
|
337
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(17, 33, "ARIA_LABELS.MENU_TOGGLER"));
|
|
335
338
|
i0.ɵɵadvance(6);
|
|
336
339
|
i0.ɵɵtextInterpolate(ctx.collapsed ? "keyboard_double_arrow_right" : "keyboard_double_arrow_left");
|
|
337
340
|
i0.ɵɵadvance(2);
|
|
@@ -344,11 +347,11 @@ export class SideNavMenuComponent extends NavBaseComponent {
|
|
|
344
347
|
i0.ɵɵproperty("ngIf", !ctx.collapsed);
|
|
345
348
|
i0.ɵɵadvance(3);
|
|
346
349
|
i0.ɵɵrepeater(ctx.menuSettings.userOptions);
|
|
347
|
-
} }, dependencies: [i4.DefaultLayoutDirective, i4.DefaultLayoutAlignDirective, i4.FlexFillDirective, i4.DefaultFlexDirective, i5.DefaultShowHideDirective, i5.DefaultClassDirective, i6.RouterLink, i7.NgIf, i7.NgTemplateOutlet, i8.MatTooltip, i9.MatIcon, i10.MatIconButton, i11.MatMenu, i11.MatMenuItem, i11.MatMenuTrigger, i2.PlausibleEventDirective, i12.MenuColumnsComponent, i13.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(--base-10)}.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)}}"] }); }
|
|
350
|
+
} }, dependencies: [i4.DefaultLayoutDirective, i4.DefaultLayoutAlignDirective, i4.FlexFillDirective, i4.DefaultFlexDirective, i5.DefaultShowHideDirective, i5.DefaultClassDirective, i6.RouterLink, i7.NgIf, i7.NgTemplateOutlet, i8.MatTooltip, i9.MatIcon, i10.MatIconButton, i11.MatMenu, i11.MatMenuItem, i11.MatMenuTrigger, i2.PlausibleEventDirective, i12.MenuColumnsComponent, i13.TranslatePipe], styles: ["a[_ngcontent-%COMP%]{text-decoration:none}.no-click[_ngcontent-%COMP%]{pointer-events:none!important}.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(--base-10)}.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)}}"] }); }
|
|
348
351
|
}
|
|
349
352
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SideNavMenuComponent, [{
|
|
350
353
|
type: Component,
|
|
351
|
-
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 #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"profile-wrapper\">\r\n <div class=\"profile-icon\">\r\n @if (userInitials) {\r\n {{userInitials}}\r\n } @else {\r\n <mat-icon>person</mat-icon>\r\n }\r\n </div>\r\n\r\n <ng-container *ngIf=\"!collapsed\">\r\n <span class=\"profile-name\">\r\n {{ username ?? 'MENU.ANONYMOUS' | translate }}\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(--base-10)}.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"] }]
|
|
354
|
+
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\" [class.no-click]=\"menuSettings?.disableLogoNavigation\"\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\" [class.no-click]=\"menuSettings?.disableLogoNavigation\" [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 #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"profile-wrapper\">\r\n <div class=\"profile-icon\">\r\n @if (userInitials) {\r\n {{userInitials}}\r\n } @else {\r\n <mat-icon>person</mat-icon>\r\n }\r\n </div>\r\n\r\n <ng-container *ngIf=\"!collapsed\">\r\n <span class=\"profile-name\">\r\n {{ username ?? 'MENU.ANONYMOUS' | translate }}\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}.no-click{pointer-events:none!important}.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(--base-10)}.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"] }]
|
|
352
355
|
}], () => [{ type: i1.StrapiLinkService }, { type: i2.DOMService }, { type: i3.MenuItemsService }], { username: [{
|
|
353
356
|
type: Input
|
|
354
357
|
}], menuSettings: [{
|
|
@@ -357,4 +360,4 @@ export class SideNavMenuComponent extends NavBaseComponent {
|
|
|
357
360
|
type: Input
|
|
358
361
|
}] }); })();
|
|
359
362
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SideNavMenuComponent, { className: "SideNavMenuComponent", filePath: "lib\\components\\side-nav-menu\\side-nav-menu.component.ts", lineNumber: 15 }); })();
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYtbWVudS9zaWRlLW5hdi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9zaWRlLW5hdi1tZW51L3NpZGUtbmF2LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBOEIsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ3VCNUQsNEJBRUM7O0lBRHlELGdMQUFTLHdCQUFpQixLQUFDO0lBRW5GLHlCQUFpRjtJQUNqRiwrQkFBZ0M7SUFDOUIsWUFDRjtJQUNGLEFBREUsaUJBQU8sRUFDTDs7O0lBUG1GLEFBQWpFLG9FQUErQywwQ0FBa0M7O0lBR3ZELGVBQXFCO0lBQXJCLDREQUFxQjtJQUVqRSxlQUNGO0lBREUsbURBQ0Y7OztJQXlCRSxZQUNGOzs7SUFERSxvREFDRjs7O0lBQ0UsZ0NBQVU7SUFBQSxzQkFBTTtJQUFBLGlCQUFXOzs7SUFTN0Isb0NBQTJFO0lBQUEsWUFBeUI7SUFBQSxpQkFBVzs7SUFBcEMsY0FBeUI7SUFBekIsMkNBQXlCOzs7SUFHbEcsb0NBQXFDO0lBQUEsWUFBd0I7SUFBQSxpQkFBVzs7SUFBbkMsY0FBd0I7SUFBeEIseUNBQXdCOzs7SUFSakUsNkJBQWlDO0lBQy9CLGdDQUEyQjtJQUN6QixZQUNGOztJQUFBLGlCQUFPO0lBSVAsQUFGQSxnR0FBMkUseUhBRXBEOzs7Ozs7O0lB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QTBCO1lBQTFCLDRDQUEwQjtZQUV0RCxlQUlDO1lBSkQsNENBSUM7WUFHWSxlQUFnQjtZQUFoQixxQ0FBZ0I7WUFjL0IsZUEwQkM7WUExQkQsMkNBMEJDOzs7aUZEekZNLG9CQUFvQjtjQUxoQyxTQUFTOzJCQUNFLG1CQUFtQjswR0FPaEIsUUFBUTtrQkFBcEIsS0FBSztZQU1HLFlBQVk7a0JBQXBCLEtBQUs7WUFRRyxXQUFXO2tCQUFuQixLQUFLOztrRkFqQkssb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9NU2VydmljZSwgUGxhdXNpYmxlRXZlbnQsIFJlc29sdXRpb25IZWxwZXIgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBTdHJhcGlMaW5rU2VydmljZSB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LXN0cmFwaSc7XHJcbmltcG9ydCB7IE5hdkJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9uYXYtYmFzZS9uYXYtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWRlTmF2U2V0dGluZ3MgfSBmcm9tICcuL21vZGVscy9zaWRlLW5hdi1zZXR0aW5ncy5tb2RlbCc7XHJcbmltcG9ydCB7IE1lbnVJdGVtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZW51LWl0ZW1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyTWVudU9wdGlvbkxpbmsgfSBmcm9tICcuL21vZGVscy91c2VyLW1lbnUtb3B0aW9uLWxpbmsubW9kZWwnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNpZGUtbmF2LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLW5hdi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaWRlLW5hdi1tZW51LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZGVOYXZNZW51Q29tcG9uZW50IGV4dGVuZHMgTmF2QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAjdXNlcm5hbWUhOiBzdHJpbmc7XHJcbiAgZ2V0IHVzZXJuYW1lKCkgeyByZXR1cm4gdGhpcy4jdXNlcm5hbWU7IH1cclxuICBASW5wdXQoKSBzZXQgdXNlcm5hbWUodmFsdWUpIHtcclxuICAgIC8vIGlmIHVzZXJuYW1lIGlzIHBhc3NlZCB3aGl0aCB3aGl0ZXNwYWNlIGluIGJlZ2dpbmluaW5nLCBpdCBicmVha3MgVUksIHNvIHRyaW0gaXQgZm9yIHNhZmV0eS5cclxuICAgIHRoaXMuI3VzZXJuYW1lID0gdmFsdWUudHJpbSgpO1xyXG4gICAgdGhpcy5zZXRVc2VySW5pdGlhbHMoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIG1lbnVTZXR0aW5nczogU2lkZU5hdlNldHRpbmdzID0ge1xyXG4gICAgZXhwYW5kZWRXaWR0aDogJzI0MXB4JyxcclxuICAgIGNvbGxhcHNlZFdpZHRoOiAnNTZweCcsXHJcbiAgICBtZW51TG9nbzogJycsXHJcbiAgICBtZW51TG9nb0NvbGxhcHNlZDogJycsXHJcbiAgICBkaXNhYmxlU3RyYXBpOiBmYWxzZVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcHJvZHVjdE5hbWUhOiBzdHJpbmc7XHJcblxyXG4gIHVzZXJJbml0aWFscyE6IHN0cmluZztcclxuICBjb2xsYXBzZWQgPSBmYWxzZTtcclxuXHJcbiAgcmVhZG9ubHkgQ09MTEFQU0VEX0xPQ0FMX1NUT1JBR0VfS0VZID0gXCJUTERfTUVOVV9TSURFX05BVl9DT0xMQVBTRURcIjtcclxuXHJcbiAgLy8jcmVnaW9uIFBsYXVzaWJsZSBldmVudCB2YXJpYWJsZXMgZm9yIGNvbGxhcHNlIGJ1dHRvblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgQ09MTEFQU0VfUExBVVNJQkxFX0VWRU5UX0lEID0gXCJjb2xsYXBzZU1lbnVcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IENPTExBUFNFX1BMQVVTSUJMRV9BQ1RJT05fS0VZID0gXCJhY3Rpb25cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IExPR09DTElDS19QTEFVU0lCTEVfQUNUSU9OX0lEID0gXCJ0aWxkZV9sb2dvX2NsaWNrXCJcclxuXHJcbiAgcmVhZG9ubHkgTE9HT0NMSUNLX1BMQVVTSUJMRV9FVkVOVDogUGxhdXNpYmxlRXZlbnQgPSB7XHJcbiAgICBldmVudElkOiB0aGlzLkxPR09DTElDS19QTEFVU0lCTEVfQUNUSU9OX0lELFxyXG4gICAgcHJvcGVydGllczogW11cclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IEVYUEFORF9QTEFVU0lCTEVfRVZFTlQ6IFBsYXVzaWJsZUV2ZW50ID0ge1xyXG4gICAgZXZlbnRJZDogdGhpcy5DT0xMQVBTRV9QTEFVU0lCTEVfRVZFTlRfSUQsXHJcbiAgICBwcm9wZXJ0aWVzOiBbeyBrZXk6IHRoaXMuQ09MTEFQU0VfUExBVVNJQkxFX0FDVElPTl9LRVksIHZhbHVlOiBcImV4cGFuZFwiIH1dXHJcbiAgfVxyXG5cclxuICByZWFkb25seSBDT0xMQVBTRV9QTEFVU0lCTEVfRVZFTlQ6IFBsYXVzaWJsZUV2ZW50ID0ge1xyXG4gICAgZXZlbnRJZDogdGhpcy5DT0xMQVBTRV9QTEFVU0lCTEVfRVZFTlRfSUQsXHJcbiAgICBwcm9wZXJ0aWVzOiBbeyBrZXk6IHRoaXMuQ09MTEFQU0VfUExBVVNJQkxFX0FDVElPTl9LRVksIHZhbHVlOiBcImNvbGxhcHNlXCIgfV1cclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgZ2V0IG1lbnVMb2dvSW1hZ2UoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNvbGxhcHNlZFxyXG4gICAgICA/IHRoaXMubWVudVNldHRpbmdzLm1lbnVMb2dvQ29sbGFwc2VkID8/IHRoaXMubWVudVNldHRpbmdzLm1lbnVMb2dvXHJcbiAgICAgIDogdGhpcy5tZW51U2V0dGluZ3MubWVudUxvZ287XHJcbiAgfVxyXG5cclxuICBnZXQgc2lkZU5hdldpZHRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2xsYXBzZWQgPyB0aGlzLm1lbnVTZXR0aW5ncy5jb2xsYXBzZWRXaWR0aCA6IHRoaXMubWVudVNldHRpbmdzLmV4cGFuZGVkV2lkdGg7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzdHJhcGlMaW5rU2VydmljZTogU3RyYXBpTGlua1NlcnZpY2UsXHJcbiAgICByZWFkb25seSBkb21TZXJ2aWNlOiBET01TZXJ2aWNlLFxyXG4gICAgcmVhZG9ubHkgbWVudUl0ZW1zOiBNZW51SXRlbXNTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIobWVudUl0ZW1zKTtcclxuICAgIHRoaXMuYmFzZVVybCA9IG1lbnVJdGVtcy5tZW51U2hhcmVkQ29uZmlnLmJhc2VVcmwgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLmdldENvbGFwc2VkRnJvbUxvY2FsU3RvcmFnZSgpO1xyXG4gICAgdGhpcy5zZXRVc2VySW5pdGlhbHMoKTtcclxuICB9XHJcblxyXG4gIGxvZ29DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdHJhcGlMaW5rU2VydmljZS5zdHJhcGlMaW5rQ2xpY2soZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ29sbGFwc2UoKSB7XHJcbiAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICAgIHRoaXMuc2V0Q29sYXBzZWRGcm9tTG9jYWxTdG9yYWdlKCk7XHJcbiAgfVxyXG5cclxuICBsaW5rQ2FsbGJhY2sobGluazogVXNlck1lbnVPcHRpb25MaW5rKSB7XHJcbiAgICBpZiAobGluay5jYWxsYmFjaykge1xyXG4gICAgICBsaW5rLmNhbGxiYWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbGFwc2VkRnJvbUxvY2FsU3RvcmFnZSgpIHtcclxuICAgIGlmICghdGhpcy5kb21TZXJ2aWNlLmxvY2FsU3RvcmFnZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2xsYXBzZWQgPSAodGhpcy5kb21TZXJ2aWNlLmxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuQ09MTEFQU0VEX0xPQ0FMX1NUT1JBR0VfS0VZKSA9PSAndHJ1ZScgfHwgUmVzb2x1dGlvbkhlbHBlci5pc01vYmlsZVJlcygpKSA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sYXBzZWRGcm9tTG9jYWxTdG9yYWdlKCkge1xyXG4gICAgaWYgKCF0aGlzLmRvbVNlcnZpY2UubG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkNPTExBUFNFRF9MT0NBTF9TVE9SQUdFX0tFWSwgdGhpcy5jb2xsYXBzZWQudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFVzZXJJbml0aWFscygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy51c2VybmFtZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZGlzcGxheWluZyBmaXJzdCBsZXR0ZXJzIG9mIG5hbWUgYW5kIHN1cm5hbWVcclxuICAgIGNvbnN0IHNwbGl0dGVkVXNlcm5hbWUgPSB0aGlzLnVzZXJuYW1lLnNwbGl0KCcgJyk7XHJcbiAgICBpZiAoc3BsaXR0ZWRVc2VybmFtZS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgLy8gSWYgdGhlcmUncyBvbmx5IG9uZSB3b3JkLCB1c2UgdGhlIGZpcnN0IGxldHRlclxyXG4gICAgICB0aGlzLnVzZXJJbml0aWFscyA9IHNwbGl0dGVkVXNlcm5hbWVbMF1bMF07XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIHdvcmQsIHVzZSB0aGUgZmlyc3QgbGV0dGVyIG9mIHRoZSBmaXJzdCB0d28gbmFtZXNcclxuICAgIHRoaXMudXNlckluaXRpYWxzID0gc3BsaXR0ZWRVc2VybmFtZVswXVswXSArIHNwbGl0dGVkVXNlcm5hbWVbMV1bMF07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgZnhIaWRlLmd0LXhzPlxyXG4gIDxkaXYgW2Z4SGlkZV09XCIhY29sbGFwc2VkXCIgY2xhc3M9XCJtb2JpbGUtaGVhZGVyXCI+XHJcbiAgICA8YSBbbGliUGxhdXNpYmxlRXZlbnRdPVwiTE9HT0NMSUNLX1BMQVVTSUJMRV9FVkVOVFwiIGZ4RmxleD1cIjMuMTI1ZW1cIiBbaHJlZl09XCJiYXNlVXJsXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTUVOVS5BUklBX0xBQkVMUy5MT0dPJyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJsb2dvQ2xpY2soJGV2ZW50KVwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIlxyXG4gICAgPlxyXG4gICAgICA8aW1nIGhlaWdodD1cIjQwXCIgd2lkdGg9XCI0MFwiIGNsYXNzPVwibWVudS1sb2dvXCIgW3NyY109XCJtZW51TG9nb0ltYWdlXCIgYWx0PVwibG9nb1wiIC8+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1wcm9kdWN0LW5hbWVcIj5cclxuICAgICAgICB7eyBwcm9kdWN0TmFtZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2E+XHJcblxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgY2xhc3M9XCJ0b2dnbGVyXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuTUVOVV9UT0dHTEVSJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgIFtsaWJQbGF1c2libGVFdmVudF09XCJjb2xsYXBzZWQgPyBFWFBBTkRfUExBVVNJQkxFX0VWRU5UIDogQ09MTEFQU0VfUExBVVNJQkxFX0VWRU5UXCJcclxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUNvbGxhcHNlKClcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IFtuZ0NsYXNzLmx0LXNtXT1cIidtb2JpbGUnXCIgY2xhc3M9XCJtZW51LWNvbnRhaW5lclwiIFtzdHlsZS53aWR0aF09XCJzaWRlTmF2V2lkdGhcIiBmeExheW91dD1cImNvbHVtblwiIFtjbGFzcy5jb2xsYXBzZWRdPVwiY29sbGFwc2VkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleEZpbGw+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWVudS1jb250YWluZXItaGVhZGVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBbZnhMYXlvdXRBbGlnbl09XCJjb2xsYXBzZWQgPyAnY2VudGVyIGNlbnRlcicgOiAnc3BhY2UtYmV0d2VlbiBjZW50ZXInXCI+XHJcbiAgICAgIDxhICpuZ0lmPVwiIWNvbGxhcHNlZFwiIFtsaWJQbGF1c2libGVFdmVudF09XCJMT0dPQ0xJQ0tfUExBVVNJQkxFX0VWRU5UXCIgZnhGbGV4PVwiMy4xMjVlbVwiIFtocmVmXT1cImJhc2VVcmxcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01FTlUuQVJJQV9MQUJFTFMuTE9HTycgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwibG9nb0NsaWNrKCRldmVudClcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbWcgaGVpZ2h0PVwiNDBcIiB3aWR0aD1cIjQwXCIgY2xhc3M9XCJtZW51LWxvZ29cIiBbc3JjXT1cIm1lbnVMb2dvSW1hZ2VcIiBhbHQ9XCJsb2dvXCIgLz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtcHJvZHVjdC1uYW1lXCI+XHJcbiAgICAgICAgICB7eyBwcm9kdWN0TmFtZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9hPlxyXG5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwidG9nZ2xlclwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuTUVOVV9UT0dHTEVSJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW2xpYlBsYXVzaWJsZUV2ZW50XT1cImNvbGxhcHNlZCA/IEVYUEFORF9QTEFVU0lCTEVfRVZFTlQgOiBDT0xMQVBTRV9QTEFVU0lCTEVfRVZFTlRcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIihjb2xsYXBzZWQgPyAnTUVOVS5FWFBBTkQnIDogJ01FTlUuQ09MTEFQU0UnKSB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNvbGxhcHNlKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uIGZ4SGlkZS5ndC14cz5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgPG1hdC1pY29uIGZ4SGlkZS5sdC1zbT57eyBjb2xsYXBzZWQgPyAna2V5Ym9hcmRfZG91YmxlX2Fycm93X3JpZ2h0JyA6ICdrZXlib2FyZF9kb3VibGVfYXJyb3dfbGVmdCcgfX08L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJtZW51LXdyYXBwZXJcIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICA8bWVudS1jb2x1bW5zICh0b2dnbGVDb2xsYXBzZUV2ZW50KT1cInRvZ2dsZUNvbGxhcHNlKClcIiBbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiIHJvbGU9XCJuYXZpZ2F0aW9uXCIgW2lzT3Blbl09XCIhY29sbGFwc2VkXCJcclxuICAgICAgICBbYWN0aXZlXT1cImFjdGl2ZVwiPjwvbWVudS1jb2x1bW5zPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJwcm9maWxlXCI+XHJcbiAgICA8YnV0dG9uICNzdGF0ZT1cIm1hdE1lbnVUcmlnZ2VyXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cInByb2ZpbGUtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1pY29uXCI+XHJcbiAgICAgICAgQGlmICh1c2VySW5pdGlhbHMpIHtcclxuICAgICAgICAgIHt7dXNlckluaXRpYWxzfX1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2xsYXBzZWRcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbmFtZVwiPlxyXG4gICAgICAgICAge3sgdXNlcm5hbWUgPz8gJ01FTlUuQU5PTllNT1VTJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic3RhdGUubWVudU9wZW47IGVsc2UgaWNvbkRvd25cIiBjbGFzcz1cInByb2ZpbGUtYXJyb3cgc3BpblwiPnt7XCJrZXlib2FyZF9hcnJvd19kb3duXCJ9fTwvbWF0LWljb24+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvbkRvd24+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJwcm9maWxlLWFycm93IHNwaW5cIj57e1wia2V5Ym9hcmRfYXJyb3dfdXBcIiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJwcm9maWxlLW1lbnVcIj5cclxuICAgICAgQGZvciAoaXRlbSBvZiBtZW51U2V0dGluZ3MudXNlck9wdGlvbnM7IHRyYWNrIGl0ZW0ubGFiZWwpIHtcclxuICAgICAgICBAaWYgKGl0ZW0ubGluaykge1xyXG4gICAgICAgICAgQGlmIChpdGVtLmxpbmsuaXNFeHRlcm5hbCkge1xyXG4gICAgICAgICAgICA8YSBjbGFzcz1cIm1hdC1tZGMtbWVudS1pdGVtXCIgW2hyZWZdPVwiaXRlbS5saW5rLmhyZWZcIiB0YXJnZXQ9XCJfYmxhbmtcIiAoY2xpY2spPVwibGlua0NhbGxiYWNrKGl0ZW0ubGluaylcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInByb2ZpbGVNZW51SXRlbTsgY29udGV4dDogeyBpY29uOiBpdGVtLmljb24sIGxhYmVsOiBpdGVtLmxhYmVsIH1cIj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwibWF0LW1kYy1tZW51LWl0ZW1cIiBbcm91dGVyTGlua109XCJpdGVtLmxpbmsuaHJlZlwiIChjbGljayk9XCJsaW5rQ2FsbGJhY2soaXRlbS5saW5rKVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJvZmlsZU1lbnVJdGVtOyBjb250ZXh0OiB7IGljb246IGl0ZW0uaWNvbiwgbGFiZWw6IGl0ZW0ubGFiZWwgfVwiPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgY2xhc3M9XCJwcm9maWxlLW9wdGlvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJpdGVtLmJ1dHRvbj8uY2FsbGJhY2soKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInByb2ZpbGVNZW51SXRlbTsgY29udGV4dDogeyBpY29uOiBpdGVtLmljb24sIGxhYmVsOiBpdGVtLmxhYmVsIH1cIj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgPC9tYXQtbWVudT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNwcm9maWxlTWVudUl0ZW0gbGV0LWljb249XCJpY29uXCIgbGV0LWxhYmVsPVwibGFiZWxcIj5cclxuICAgIEBpZiAoaWNvbikge1xyXG4gICAgICBAaWYgKCFpY29uPy5pc0N1c3RvbSkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgcHJvZmlsZS1vcHRpb24taWNvblwiIFtjbGFzcy5tYXRlcmlhbC1pY29ucy1vdXRsaW5lZF09XCJpY29uPy5pc091dGxpbmVkXCI+XHJcbiAgICAgICAgICB7e2ljb24/Lm5hbWV9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwicHJvZmlsZS1vcHRpb24taWNvblwiIFtzdmdJY29uXT1cImljb24/Lm5hbWVcIj48L21hdC1pY29uPlxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYtbWVudS9zaWRlLW5hdi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9zaWRlLW5hdi1tZW51L3NpZGUtbmF2LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBOEIsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ3VCNUQsNEJBRUM7O0lBRHlELGdMQUFTLHdCQUFpQixLQUFDO0lBRW5GLHlCQUFpRjtJQUNqRiwrQkFBZ0M7SUFDOUIsWUFDRjtJQUNGLEFBREUsaUJBQU8sRUFDTDs7O0lBUG1GLDBHQUFzRDtJQUFDLEFBQXhILG9FQUErQywwQ0FBeUY7O0lBRzlHLGVBQXFCO0lBQXJCLDREQUFxQjtJQUVqRSxlQUNGO0lBREUsbURBQ0Y7OztJQXlCRSxZQUNGOzs7SUFERSxvREFDRjs7O0lBQ0UsZ0NBQVU7SUFBQSxzQkFBTTtJQUFBLGlCQUFXOzs7SUFTN0Isb0NBQTJFO0lBQUEsWUFBeUI7SUFBQSxpQkFBVzs7SUFBcEMsY0FBeUI7SUFBekIsMkNBQXlCOzs7SUFHbEcsb0NBQXFDO0lBQUEsWUFBd0I7SUFBQSxpQkFBVzs7SUFBbkMsY0FBd0I7SUFBeEIseUNBQXdCOzs7SUFSakUsNkJBQWlDO0lBQy9CLGdDQUEyQjtJQUN6QixZQUNGOztJQUFBLGlCQUFPO0lBSVAsQUFGQSxnR0FBMkUseUhBRXBEOzs7Ozs7O0lBTHJCLGVBQ0Y7SUFERSxpSkFDRjtJQUVXLGVBQXNCO0lBQUEsQUFBdEIsd0NBQXNCLHlCQUFhOzs7SUFheEMsd0JBRWU7Ozs7SUFIakIsNkJBQXVHO0lBQWxDLHVQQUFTLGlDQUF1QixLQUFDO0lBQ3BHLDJIQUN1RjtJQUV6RixpQkFBSTs7Ozs7SUFKeUIsMERBQXVCO0lBRS9DLGNBQW1DO0lBQUEsQUFBbkMscURBQW1DLG9GQUErQzs7O0lBS3JGLHdCQUVlOzs7O0lBSGpCLDZCQUE2RjtJQUFsQyx1UEFBUyxpQ0FBdUIsS0FBQztJQUMxRiwySEFDdUY7SUFFekYsaUJBQUk7Ozs7O0lBSnlCLDhDQUE2QjtJQUVyRCxjQUFtQztJQUFBLEFBQW5DLHFEQUFtQyxvRkFBK0M7OztJQUh2RixBQU5GLGlHQUE0QixvRkFNbkI7OztJQU5ULGlEQVlDOzs7SUFPRCx3QkFFZTs7OztJQVBmLGtDQUlEO0lBREcseVFBQWlDO0lBRW5DLDZHQUN1RjtJQUV6RixpQkFBUzs7Ozs7SUFGSixjQUFtQztJQUFBLEFBQW5DLHFEQUFtQyxvRkFBK0M7OztJQVByRixBQWRGLDBFQUFpQiwyRUFjUjs7O0lBZFQsc0NBd0JDOzs7SUFRRCxnQ0FBb0c7SUFDbEcsWUFDRjtJQUFBLGlCQUFPOzs7SUFGMEMsd0ZBQWtEO0lBQ2pHLGNBQ0Y7SUFERSx3RUFDRjs7O0lBRUEsK0JBQXdFOzs7SUFBbEMsaUVBQXNCOzs7SUFENUQsQUFKRiw0R0FBdUIsbUdBSWQ7OztJQUpULHdFQU1DOzs7SUFQSCxrRkFBWTtJQVNaLFlBQ0Y7Ozs7O0lBVkUsbUNBUUM7SUFDRCxjQUNGO0lBREUsZ0VBQ0Y7O0FEeEdGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFDeEQsU0FBUyxDQUFVO0lBQ25CLElBQUksUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekMsSUFBYSxRQUFRLENBQUMsS0FBSztRQUN6Qiw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUF5Q0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUztZQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVE7WUFDbkUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztJQUM3RixDQUFDO0lBRUQsWUFDUyxpQkFBb0MsRUFDbEMsVUFBc0IsRUFDdEIsU0FBMkI7UUFFcEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBSlYsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBcEQ3QixpQkFBWSxHQUFvQjtZQUN2QyxhQUFhLEVBQUUsT0FBTztZQUN0QixjQUFjLEVBQUUsTUFBTTtZQUN0QixRQUFRLEVBQUUsRUFBRTtZQUNaLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsYUFBYSxFQUFFLEtBQUs7WUFDcEIscUJBQXFCLEVBQUUsS0FBSztTQUM3QixDQUFBO1FBS0QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVULGdDQUEyQixHQUFHLDZCQUE2QixDQUFDO1FBRXJFLHVEQUF1RDtRQUN0QyxnQ0FBMkIsR0FBRyxjQUFjLENBQUM7UUFDN0Msa0NBQTZCLEdBQUcsUUFBUSxDQUFDO1FBQ3pDLGtDQUE2QixHQUFHLGtCQUFrQixDQUFBO1FBRTFELDhCQUF5QixHQUFtQjtZQUNuRCxPQUFPLEVBQUUsSUFBSSxDQUFDLDZCQUE2QjtZQUMzQyxVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUE7UUFFUSwyQkFBc0IsR0FBbUI7WUFDaEQsT0FBTyxFQUFFLElBQUksQ0FBQywyQkFBMkI7WUFDekMsVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLDZCQUE2QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztTQUMzRSxDQUFBO1FBRVEsNkJBQXdCLEdBQW1CO1lBQ2xELE9BQU8sRUFBRSxJQUFJLENBQUMsMkJBQTJCO1lBQ3pDLFVBQVUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUM7U0FDN0UsQ0FBQTtRQXFCQyxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWlCO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQXdCO1FBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksTUFBTSxJQUFJLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZKLENBQUM7SUFFTywyQkFBMkI7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDVCxDQUFDO1FBRUQsK0NBQStDO1FBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsaURBQWlEO1lBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsT0FBTztRQUNULENBQUM7UUFDRCwrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO3FIQXJIVSxvQkFBb0I7b0VBQXBCLG9CQUFvQjs7WUNaN0IsQUFERixBQURGLDhCQUFrQixhQUNpQyxXQUc5Qzs7WUFEeUQsd0lBQVMscUJBQWlCLEtBQUM7WUFFbkYseUJBQWlGO1lBQ2pGLCtCQUFnQztZQUM5QixZQUNGO1lBQ0YsQUFERSxpQkFBTyxFQUNMO1lBRUosaUNBTUM7O1lBREMsdUlBQVMsb0JBQWdCLEtBQUM7WUFFMUIsZ0NBQVU7WUFBQSxxQkFBSTtZQUdwQixBQURFLEFBREUsQUFEZ0IsaUJBQVcsRUFDbEIsRUFDTCxFQUNGO1lBSUYsQUFERixBQURGLGdDQUFvSSxlQUNoRixlQUN5RTtZQUN2SCxvRUFFQztZQU9ELG1DQU9DOzs7WUFEQyx3SUFBUyxvQkFBZ0IsS0FBQztZQUUxQixvQ0FBdUI7WUFBQSxzQkFBSztZQUFBLGlCQUFXO1lBQ3ZDLHFDQUF1QjtZQUFBLGFBQThFO1lBRXpHLEFBREUsQUFEdUcsaUJBQVcsRUFDekcsRUFDTDtZQUdKLEFBREYsZ0NBQTRDLHdCQUV0QjtZQUROLDBLQUF1QixvQkFBZ0IsS0FBQztZQUV4RCxBQURzQixpQkFBZSxFQUMvQjtZQUlKLEFBREYsQUFERixnQ0FBcUIscUJBQ2dFLGVBQ3ZEO1lBR3RCLEFBRkYscUVBQW9CLG9FQUVYO1lBR2IsaUJBQU07WUFFSiwwRkFBaUM7WUFXbkMsaUJBQVM7WUFFVCx3Q0FBK0M7WUFDN0MsMkZBMEJDO1lBRUwsQUFERSxpQkFBVyxFQUNQO1lBRU4sd0hBQWdFO1lBWWxFLGlCQUFNLEVBaEc4SDs7O1lBdEI3SCxjQUFxQjtZQUFyQix1Q0FBcUI7WUFDNkQsY0FBc0Q7WUFBdEQsb0dBQXNEO1lBQXZFLEFBQWpFLGlFQUErQyx1Q0FBa0M7O1lBR3BDLGVBQXFCO1lBQXJCLHlEQUFxQjtZQUVqRSxlQUNGO1lBREUsZ0RBQ0Y7WUFPQSxjQUFtRjtZQUFuRiw2R0FBbUY7O1lBUWxDLGVBQTRCO1lBQTVCLHlDQUE0QjtZQUFtQiwwQ0FBNkI7WUFBOUgsd0NBQTBCO1lBRXVCLGVBQXNFO1lBQXRFLHdGQUFzRTtZQUNsSCxjQUFnQjtZQUFoQixxQ0FBZ0I7WUFhbEIsY0FBbUY7WUFDbkYsQUFEQSw2R0FBbUYsdUZBQ1g7O1lBSWpELGVBQThFO1lBQTlFLGtHQUE4RTtZQUtoRCxlQUF1QjtZQUM1RSxBQUQrRixBQUExQyx5Q0FBdUIsMEJBQXdDLHNCQUNuRztZQUlXLGVBQTBCO1lBQTFCLDRDQUEwQjtZQUV0RCxlQUlDO1lBSkQsNENBSUM7WUFHWSxlQUFnQjtZQUFoQixxQ0FBZ0I7WUFjL0IsZUEwQkM7WUExQkQsMkNBMEJDOzs7aUZEekZNLG9CQUFvQjtjQUxoQyxTQUFTOzJCQUNFLG1CQUFtQjswR0FPaEIsUUFBUTtrQkFBcEIsS0FBSztZQU1HLFlBQVk7a0JBQXBCLEtBQUs7WUFTRyxXQUFXO2tCQUFuQixLQUFLOztrRkFsQkssb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9NU2VydmljZSwgUGxhdXNpYmxlRXZlbnQsIFJlc29sdXRpb25IZWxwZXIgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBTdHJhcGlMaW5rU2VydmljZSB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LXN0cmFwaSc7XHJcbmltcG9ydCB7IE5hdkJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9uYXYtYmFzZS9uYXYtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWRlTmF2U2V0dGluZ3MgfSBmcm9tICcuL21vZGVscy9zaWRlLW5hdi1zZXR0aW5ncy5tb2RlbCc7XHJcbmltcG9ydCB7IE1lbnVJdGVtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZW51LWl0ZW1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyTWVudU9wdGlvbkxpbmsgfSBmcm9tICcuL21vZGVscy91c2VyLW1lbnUtb3B0aW9uLWxpbmsubW9kZWwnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNpZGUtbmF2LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLW5hdi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaWRlLW5hdi1tZW51LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZGVOYXZNZW51Q29tcG9uZW50IGV4dGVuZHMgTmF2QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAjdXNlcm5hbWUhOiBzdHJpbmc7XHJcbiAgZ2V0IHVzZXJuYW1lKCkgeyByZXR1cm4gdGhpcy4jdXNlcm5hbWU7IH1cclxuICBASW5wdXQoKSBzZXQgdXNlcm5hbWUodmFsdWUpIHtcclxuICAgIC8vIGlmIHVzZXJuYW1lIGlzIHBhc3NlZCB3aGl0aCB3aGl0ZXNwYWNlIGluIGJlZ2dpbmluaW5nLCBpdCBicmVha3MgVUksIHNvIHRyaW0gaXQgZm9yIHNhZmV0eS5cclxuICAgIHRoaXMuI3VzZXJuYW1lID0gdmFsdWUudHJpbSgpO1xyXG4gICAgdGhpcy5zZXRVc2VySW5pdGlhbHMoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIG1lbnVTZXR0aW5nczogU2lkZU5hdlNldHRpbmdzID0ge1xyXG4gICAgZXhwYW5kZWRXaWR0aDogJzI0MXB4JyxcclxuICAgIGNvbGxhcHNlZFdpZHRoOiAnNTZweCcsXHJcbiAgICBtZW51TG9nbzogJycsXHJcbiAgICBtZW51TG9nb0NvbGxhcHNlZDogJycsXHJcbiAgICBkaXNhYmxlU3RyYXBpOiBmYWxzZSxcclxuICAgIGRpc2FibGVMb2dvTmF2aWdhdGlvbjogZmFsc2VcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHByb2R1Y3ROYW1lITogc3RyaW5nO1xyXG5cclxuICB1c2VySW5pdGlhbHMhOiBzdHJpbmc7XHJcbiAgY29sbGFwc2VkID0gZmFsc2U7XHJcblxyXG4gIHJlYWRvbmx5IENPTExBUFNFRF9MT0NBTF9TVE9SQUdFX0tFWSA9IFwiVExEX01FTlVfU0lERV9OQVZfQ09MTEFQU0VEXCI7XHJcblxyXG4gIC8vI3JlZ2lvbiBQbGF1c2libGUgZXZlbnQgdmFyaWFibGVzIGZvciBjb2xsYXBzZSBidXR0b25cclxuICBwcml2YXRlIHJlYWRvbmx5IENPTExBUFNFX1BMQVVTSUJMRV9FVkVOVF9JRCA9IFwiY29sbGFwc2VNZW51XCI7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBDT0xMQVBTRV9QTEFVU0lCTEVfQUNUSU9OX0tFWSA9IFwiYWN0aW9uXCI7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBMT0dPQ0xJQ0tfUExBVVNJQkxFX0FDVElPTl9JRCA9IFwidGlsZGVfbG9nb19jbGlja1wiXHJcblxyXG4gIHJlYWRvbmx5IExPR09DTElDS19QTEFVU0lCTEVfRVZFTlQ6IFBsYXVzaWJsZUV2ZW50ID0ge1xyXG4gICAgZXZlbnRJZDogdGhpcy5MT0dPQ0xJQ0tfUExBVVNJQkxFX0FDVElPTl9JRCxcclxuICAgIHByb3BlcnRpZXM6IFtdXHJcbiAgfVxyXG5cclxuICByZWFkb25seSBFWFBBTkRfUExBVVNJQkxFX0VWRU5UOiBQbGF1c2libGVFdmVudCA9IHtcclxuICAgIGV2ZW50SWQ6IHRoaXMuQ09MTEFQU0VfUExBVVNJQkxFX0VWRU5UX0lELFxyXG4gICAgcHJvcGVydGllczogW3sga2V5OiB0aGlzLkNPTExBUFNFX1BMQVVTSUJMRV9BQ1RJT05fS0VZLCB2YWx1ZTogXCJleHBhbmRcIiB9XVxyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgQ09MTEFQU0VfUExBVVNJQkxFX0VWRU5UOiBQbGF1c2libGVFdmVudCA9IHtcclxuICAgIGV2ZW50SWQ6IHRoaXMuQ09MTEFQU0VfUExBVVNJQkxFX0VWRU5UX0lELFxyXG4gICAgcHJvcGVydGllczogW3sga2V5OiB0aGlzLkNPTExBUFNFX1BMQVVTSUJMRV9BQ1RJT05fS0VZLCB2YWx1ZTogXCJjb2xsYXBzZVwiIH1dXHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGdldCBtZW51TG9nb0ltYWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2xsYXBzZWRcclxuICAgICAgPyB0aGlzLm1lbnVTZXR0aW5ncy5tZW51TG9nb0NvbGxhcHNlZCA/PyB0aGlzLm1lbnVTZXR0aW5ncy5tZW51TG9nb1xyXG4gICAgICA6IHRoaXMubWVudVNldHRpbmdzLm1lbnVMb2dvO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNpZGVOYXZXaWR0aCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sbGFwc2VkID8gdGhpcy5tZW51U2V0dGluZ3MuY29sbGFwc2VkV2lkdGggOiB0aGlzLm1lbnVTZXR0aW5ncy5leHBhbmRlZFdpZHRoO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc3RyYXBpTGlua1NlcnZpY2U6IFN0cmFwaUxpbmtTZXJ2aWNlLFxyXG4gICAgcmVhZG9ubHkgZG9tU2VydmljZTogRE9NU2VydmljZSxcclxuICAgIHJlYWRvbmx5IG1lbnVJdGVtczogTWVudUl0ZW1zU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKG1lbnVJdGVtcyk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBtZW51SXRlbXMubWVudVNoYXJlZENvbmZpZy5iYXNlVXJsIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5nZXRDb2xhcHNlZEZyb21Mb2NhbFN0b3JhZ2UoKTtcclxuICAgIHRoaXMuc2V0VXNlckluaXRpYWxzKCk7XHJcbiAgfVxyXG5cclxuICBsb2dvQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RyYXBpTGlua1NlcnZpY2Uuc3RyYXBpTGlua0NsaWNrKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUNvbGxhcHNlKCkge1xyXG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XHJcbiAgICB0aGlzLnNldENvbGFwc2VkRnJvbUxvY2FsU3RvcmFnZSgpO1xyXG4gIH1cclxuXHJcbiAgbGlua0NhbGxiYWNrKGxpbms6IFVzZXJNZW51T3B0aW9uTGluaykge1xyXG4gICAgaWYgKGxpbmsuY2FsbGJhY2spIHtcclxuICAgICAgbGluay5jYWxsYmFjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDb2xhcHNlZEZyb21Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sbGFwc2VkID0gKHRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLkNPTExBUFNFRF9MT0NBTF9TVE9SQUdFX0tFWSkgPT0gJ3RydWUnIHx8IFJlc29sdXRpb25IZWxwZXIuaXNNb2JpbGVSZXMoKSkgPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbGFwc2VkRnJvbUxvY2FsU3RvcmFnZSgpIHtcclxuICAgIGlmICghdGhpcy5kb21TZXJ2aWNlLmxvY2FsU3RvcmFnZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmRvbVNlcnZpY2UubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5DT0xMQVBTRURfTE9DQUxfU1RPUkFHRV9LRVksIHRoaXMuY29sbGFwc2VkLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVc2VySW5pdGlhbHMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudXNlcm5hbWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGRpc3BsYXlpbmcgZmlyc3QgbGV0dGVycyBvZiBuYW1lIGFuZCBzdXJuYW1lXHJcbiAgICBjb25zdCBzcGxpdHRlZFVzZXJuYW1lID0gdGhpcy51c2VybmFtZS5zcGxpdCgnICcpO1xyXG4gICAgaWYgKHNwbGl0dGVkVXNlcm5hbWUubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIC8vIElmIHRoZXJlJ3Mgb25seSBvbmUgd29yZCwgdXNlIHRoZSBmaXJzdCBsZXR0ZXJcclxuICAgICAgdGhpcy51c2VySW5pdGlhbHMgPSBzcGxpdHRlZFVzZXJuYW1lWzBdWzBdO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvLyBJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSB3b3JkLCB1c2UgdGhlIGZpcnN0IGxldHRlciBvZiB0aGUgZmlyc3QgdHdvIG5hbWVzXHJcbiAgICB0aGlzLnVzZXJJbml0aWFscyA9IHNwbGl0dGVkVXNlcm5hbWVbMF1bMF0gKyBzcGxpdHRlZFVzZXJuYW1lWzFdWzBdO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGZ4SGlkZS5ndC14cz5cclxuICA8ZGl2IFtmeEhpZGVdPVwiIWNvbGxhcHNlZFwiIGNsYXNzPVwibW9iaWxlLWhlYWRlclwiPlxyXG4gICAgPGEgW2xpYlBsYXVzaWJsZUV2ZW50XT1cIkxPR09DTElDS19QTEFVU0lCTEVfRVZFTlRcIiBmeEZsZXg9XCIzLjEyNWVtXCIgW2hyZWZdPVwiYmFzZVVybFwiIFtjbGFzcy5uby1jbGlja109XCJtZW51U2V0dGluZ3M/LmRpc2FibGVMb2dvTmF2aWdhdGlvblwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01FTlUuQVJJQV9MQUJFTFMuTE9HTycgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwibG9nb0NsaWNrKCRldmVudClcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCJcclxuICAgID5cclxuICAgICAgPGltZyBoZWlnaHQ9XCI0MFwiIHdpZHRoPVwiNDBcIiBjbGFzcz1cIm1lbnUtbG9nb1wiIFtzcmNdPVwibWVudUxvZ29JbWFnZVwiIGFsdD1cImxvZ29cIiAvPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtcHJvZHVjdC1uYW1lXCI+XHJcbiAgICAgICAge3sgcHJvZHVjdE5hbWUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9hPlxyXG5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIGNsYXNzPVwidG9nZ2xlclwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FSSUFfTEFCRUxTLk1FTlVfVE9HR0xFUicgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBbbGliUGxhdXNpYmxlRXZlbnRdPVwiY29sbGFwc2VkID8gRVhQQU5EX1BMQVVTSUJMRV9FVkVOVCA6IENPTExBUFNFX1BMQVVTSUJMRV9FVkVOVFwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZSgpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBbbmdDbGFzcy5sdC1zbV09XCInbW9iaWxlJ1wiIGNsYXNzPVwibWVudS1jb250YWluZXJcIiBbc3R5bGUud2lkdGhdPVwic2lkZU5hdldpZHRoXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBbY2xhc3MuY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXhGaWxsPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtY29udGFpbmVyLWhlYWRlclwiIGZ4TGF5b3V0PVwicm93XCIgW2Z4TGF5b3V0QWxpZ25dPVwiY29sbGFwc2VkID8gJ2NlbnRlciBjZW50ZXInIDogJ3NwYWNlLWJldHdlZW4gY2VudGVyJ1wiPlxyXG4gICAgICA8YSAqbmdJZj1cIiFjb2xsYXBzZWRcIiBbbGliUGxhdXNpYmxlRXZlbnRdPVwiTE9HT0NMSUNLX1BMQVVTSUJMRV9FVkVOVFwiIGZ4RmxleD1cIjMuMTI1ZW1cIiBbY2xhc3Mubm8tY2xpY2tdPVwibWVudVNldHRpbmdzPy5kaXNhYmxlTG9nb05hdmlnYXRpb25cIiBbaHJlZl09XCJiYXNlVXJsXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNRU5VLkFSSUFfTEFCRUxTLkxPR08nIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cImxvZ29DbGljaygkZXZlbnQpXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXHJcbiAgICAgID5cclxuICAgICAgICA8aW1nIGhlaWdodD1cIjQwXCIgd2lkdGg9XCI0MFwiIGNsYXNzPVwibWVudS1sb2dvXCIgW3NyY109XCJtZW51TG9nb0ltYWdlXCIgYWx0PVwibG9nb1wiIC8+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LXByb2R1Y3QtbmFtZVwiPlxyXG4gICAgICAgICAge3sgcHJvZHVjdE5hbWUgfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvYT5cclxuXHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICBjbGFzcz1cInRvZ2dsZXJcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FSSUFfTEFCRUxTLk1FTlVfVE9HR0xFUicgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtsaWJQbGF1c2libGVFdmVudF09XCJjb2xsYXBzZWQgPyBFWFBBTkRfUExBVVNJQkxFX0VWRU5UIDogQ09MTEFQU0VfUExBVVNJQkxFX0VWRU5UXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCIoY29sbGFwc2VkID8gJ01FTlUuRVhQQU5EJyA6ICdNRU5VLkNPTExBUFNFJykgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZSgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtaWNvbiBmeEhpZGUuZ3QteHM+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtaWNvbiBmeEhpZGUubHQtc20+e3sgY29sbGFwc2VkID8gJ2tleWJvYXJkX2RvdWJsZV9hcnJvd19yaWdodCcgOiAna2V5Ym9hcmRfZG91YmxlX2Fycm93X2xlZnQnIH19PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibWVudS13cmFwcGVyXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgICAgPG1lbnUtY29sdW1ucyAodG9nZ2xlQ29sbGFwc2VFdmVudCk9XCJ0b2dnbGVDb2xsYXBzZSgpXCIgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIiByb2xlPVwibmF2aWdhdGlvblwiIFtpc09wZW5dPVwiIWNvbGxhcHNlZFwiXHJcbiAgICAgICAgW2FjdGl2ZV09XCJhY3RpdmVcIj48L21lbnUtY29sdW1ucz5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicHJvZmlsZVwiPlxyXG4gICAgPGJ1dHRvbiAjc3RhdGU9XCJtYXRNZW51VHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJwcm9maWxlLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtaWNvblwiPlxyXG4gICAgICAgIEBpZiAodXNlckluaXRpYWxzKSB7XHJcbiAgICAgICAgICB7e3VzZXJJbml0aWFsc319XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8bWF0LWljb24+cGVyc29uPC9tYXQtaWNvbj5cclxuICAgICAgICB9XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sbGFwc2VkXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9maWxlLW5hbWVcIj5cclxuICAgICAgICAgIHt7IHVzZXJuYW1lID8/ICdNRU5VLkFOT05ZTU9VUycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInN0YXRlLm1lbnVPcGVuOyBlbHNlIGljb25Eb3duXCIgY2xhc3M9XCJwcm9maWxlLWFycm93IHNwaW5cIj57e1wia2V5Ym9hcmRfYXJyb3dfZG93blwifX08L21hdC1pY29uPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2ljb25Eb3duPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwicHJvZmlsZS1hcnJvdyBzcGluXCI+e3tcImtleWJvYXJkX2Fycm93X3VwXCIgfX08L21hdC1pY29uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwicHJvZmlsZS1tZW51XCI+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudVNldHRpbmdzLnVzZXJPcHRpb25zOyB0cmFjayBpdGVtLmxhYmVsKSB7XHJcbiAgICAgICAgQGlmIChpdGVtLmxpbmspIHtcclxuICAgICAgICAgIEBpZiAoaXRlbS5saW5rLmlzRXh0ZXJuYWwpIHtcclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJtYXQtbWRjLW1lbnUtaXRlbVwiIFtocmVmXT1cIml0ZW0ubGluay5ocmVmXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cImxpbmtDYWxsYmFjayhpdGVtLmxpbmspXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcm9maWxlTWVudUl0ZW07IGNvbnRleHQ6IHsgaWNvbjogaXRlbS5pY29uLCBsYWJlbDogaXRlbS5sYWJlbCB9XCI+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8YSBjbGFzcz1cIm1hdC1tZGMtbWVudS1pdGVtXCIgW3JvdXRlckxpbmtdPVwiaXRlbS5saW5rLmhyZWZcIiAoY2xpY2spPVwibGlua0NhbGxiYWNrKGl0ZW0ubGluaylcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInByb2ZpbGVNZW51SXRlbTsgY29udGV4dDogeyBpY29uOiBpdGVtLmljb24sIGxhYmVsOiBpdGVtLmxhYmVsIH1cIj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgICAgIGNsYXNzPVwicHJvZmlsZS1vcHRpb25cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaXRlbS5idXR0b24/LmNhbGxiYWNrKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcm9maWxlTWVudUl0ZW07IGNvbnRleHQ6IHsgaWNvbjogaXRlbS5pY29uLCBsYWJlbDogaXRlbS5sYWJlbCB9XCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvbWF0LW1lbnU+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjcHJvZmlsZU1lbnVJdGVtIGxldC1pY29uPVwiaWNvblwiIGxldC1sYWJlbD1cImxhYmVsXCI+XHJcbiAgICBAaWYgKGljb24pIHtcclxuICAgICAgQGlmICghaWNvbj8uaXNDdXN0b20pIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIHByb2ZpbGUtb3B0aW9uLWljb25cIiBbY2xhc3MubWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRdPVwiaWNvbj8uaXNPdXRsaW5lZFwiPlxyXG4gICAgICAgICAge3tpY29uPy5uYW1lfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInByb2ZpbGUtb3B0aW9uLWljb25cIiBbc3ZnSWNvbl09XCJpY29uPy5uYW1lXCI+PC9tYXQtaWNvbj5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,52 +1,56 @@
|
|
|
1
|
-
import { SelectLanguageDialogComponent } from
|
|
1
|
+
import { SelectLanguageDialogComponent } from '@tilde-nlp/ngx-common';
|
|
2
2
|
/**
|
|
3
3
|
* Prefefined user menu options, so that same style of items are used across all products. Use this by passing necessary configuration.
|
|
4
4
|
*/
|
|
5
5
|
export const USER_MENU_OPTIONS = {
|
|
6
6
|
subscription: (href, callback) => ({
|
|
7
|
-
icon: { name:
|
|
7
|
+
icon: { name: 'credit_card' },
|
|
8
8
|
label: 'MENU.SUBSCRIPTION',
|
|
9
|
-
link: { href: href, callback }
|
|
9
|
+
link: { href: href, callback },
|
|
10
10
|
}),
|
|
11
11
|
termsOfUse: (href, callback) => ({
|
|
12
|
-
icon: { name:
|
|
12
|
+
icon: { name: 'text_snippet' },
|
|
13
13
|
label: 'MENU.TERMS_OF_USE',
|
|
14
|
-
link: { href, isExternal: true, callback }
|
|
14
|
+
link: { href, isExternal: true, callback },
|
|
15
15
|
}),
|
|
16
16
|
privacy: (href, callback) => ({
|
|
17
|
-
icon: { name:
|
|
17
|
+
icon: { name: 'gpp_maybe' },
|
|
18
18
|
label: 'MENU.PRIVACY',
|
|
19
19
|
link: { href, isExternal: true, callback },
|
|
20
20
|
}),
|
|
21
|
-
help: (href, callback) => ({
|
|
21
|
+
help: (href, icon, callback) => ({
|
|
22
22
|
label: 'MENU.HELP_CENTER',
|
|
23
|
-
icon: { name: `help
|
|
24
|
-
link: { href, isExternal: true, callback }
|
|
23
|
+
icon: { name: icon ? icon.name : `help`, isCustom: icon ? icon.isCustom : false },
|
|
24
|
+
link: { href, isExternal: true, callback },
|
|
25
25
|
}),
|
|
26
26
|
contactUs: (href, callback) => ({
|
|
27
27
|
label: 'MENU.CONTACT_US',
|
|
28
28
|
icon: { name: `mail` },
|
|
29
|
-
link: { href, isExternal: true, callback }
|
|
29
|
+
link: { href, isExternal: true, callback },
|
|
30
30
|
}),
|
|
31
31
|
/** use language update callback to save in localstorage */
|
|
32
32
|
changeLanguage: (dialog, languages, languageChangeCallback) => ({
|
|
33
33
|
label: 'MENU.CHANGE_LANGUAGE',
|
|
34
|
-
icon: { name:
|
|
34
|
+
icon: { name: 'language' },
|
|
35
35
|
button: {
|
|
36
36
|
callback: () => {
|
|
37
|
-
dialog
|
|
38
|
-
.
|
|
37
|
+
dialog
|
|
38
|
+
.open(SelectLanguageDialogComponent, {
|
|
39
|
+
data: { languages: languages },
|
|
40
|
+
})
|
|
41
|
+
.afterClosed()
|
|
42
|
+
.subscribe((language) => {
|
|
39
43
|
if (language && languageChangeCallback) {
|
|
40
44
|
languageChangeCallback(language);
|
|
41
45
|
}
|
|
42
46
|
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
47
|
+
},
|
|
48
|
+
},
|
|
45
49
|
}),
|
|
46
50
|
logout: (callback) => ({
|
|
47
|
-
icon: { name:
|
|
51
|
+
icon: { name: 'logout' },
|
|
48
52
|
label: 'MENU.LOG_OUT',
|
|
49
|
-
button: { callback: () => callback() }
|
|
50
|
-
})
|
|
53
|
+
button: { callback: () => callback() },
|
|
54
|
+
}),
|
|
51
55
|
};
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LW9wdGlvbnMuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbnN0YW50cy91c2VyLW1lbnUtb3B0aW9ucy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLFlBQVksRUFBRSxDQUFDLElBQVksRUFBRSxRQUFxQixFQUFrQixFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1FBQzdCLEtBQUssRUFBRSxtQkFBbUI7UUFDMUIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7S0FDL0IsQ0FBQztJQUNGLFVBQVUsRUFBRSxDQUFDLElBQVksRUFBRSxRQUFxQixFQUFrQixFQUFFLENBQUMsQ0FBQztRQUNwRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFO1FBQzlCLEtBQUssRUFBRSxtQkFBbUI7UUFDMUIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0tBQzNDLENBQUM7SUFDRixPQUFPLEVBQUUsQ0FBQyxJQUFZLEVBQUUsUUFBcUIsRUFBa0IsRUFBRSxDQUFDLENBQUM7UUFDakUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtRQUMzQixLQUFLLEVBQUUsY0FBYztRQUNyQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7S0FDM0MsQ0FBQztJQUNGLElBQUksRUFBRSxDQUFDLElBQVksRUFBRSxJQUEwQyxFQUFFLFFBQXFCLEVBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLEtBQUssRUFBRSxrQkFBa0I7UUFDekIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtRQUNqRixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7S0FDM0MsQ0FBQztJQUNGLFNBQVMsRUFBRSxDQUFDLElBQVksRUFBRSxRQUFxQixFQUFrQixFQUFFLENBQUMsQ0FBQztRQUNuRSxLQUFLLEVBQUUsaUJBQWlCO1FBQ3hCLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7UUFDdEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0tBQzNDLENBQUM7SUFDRiwyREFBMkQ7SUFDM0QsY0FBYyxFQUFFLENBQ2QsTUFBaUIsRUFDakIsU0FBbUIsRUFDbkIsc0JBQW1ELEVBQ25DLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssRUFBRSxzQkFBc0I7UUFDN0IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtRQUMxQixNQUFNLEVBQUU7WUFDTixRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUNiLE1BQU07cUJBQ0gsSUFBSSxDQUFDLDZCQUE2QixFQUFFO29CQUNuQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFO2lCQUMvQixDQUFDO3FCQUNELFdBQVcsRUFBRTtxQkFDYixTQUFTLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7b0JBQzlCLElBQUksUUFBUSxJQUFJLHNCQUFzQixFQUFFLENBQUM7d0JBQ3ZDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNuQyxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztTQUNGO0tBQ0YsQ0FBQztJQUNGLE1BQU0sRUFBRSxDQUFDLFFBQW9CLEVBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7UUFDeEIsS0FBSyxFQUFFLGNBQWM7UUFDckIsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO0tBQ3ZDLENBQUM7Q0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlck1lbnVPcHRpb24gfSBmcm9tICcuLi9jb21wb25lbnRzL3NpZGUtbmF2LW1lbnUvbW9kZWxzL3VzZXItbWVudS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTZWxlY3RMYW5ndWFnZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcblxyXG4vKipcclxuICogUHJlZmVmaW5lZCB1c2VyIG1lbnUgb3B0aW9ucywgc28gdGhhdCBzYW1lIHN0eWxlIG9mIGl0ZW1zIGFyZSB1c2VkIGFjcm9zcyBhbGwgcHJvZHVjdHMuIFVzZSB0aGlzIGJ5IHBhc3NpbmcgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb24uXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgVVNFUl9NRU5VX09QVElPTlMgPSB7XHJcbiAgc3Vic2NyaXB0aW9uOiAoaHJlZjogc3RyaW5nLCBjYWxsYmFjaz86ICgpID0+IHZvaWQpOiBVc2VyTWVudU9wdGlvbiA9PiAoe1xyXG4gICAgaWNvbjogeyBuYW1lOiAnY3JlZGl0X2NhcmQnIH0sXHJcbiAgICBsYWJlbDogJ01FTlUuU1VCU0NSSVBUSU9OJyxcclxuICAgIGxpbms6IHsgaHJlZjogaHJlZiwgY2FsbGJhY2sgfSxcclxuICB9KSxcclxuICB0ZXJtc09mVXNlOiAoaHJlZjogc3RyaW5nLCBjYWxsYmFjaz86ICgpID0+IHZvaWQpOiBVc2VyTWVudU9wdGlvbiA9PiAoe1xyXG4gICAgaWNvbjogeyBuYW1lOiAndGV4dF9zbmlwcGV0JyB9LFxyXG4gICAgbGFiZWw6ICdNRU5VLlRFUk1TX09GX1VTRScsXHJcbiAgICBsaW5rOiB7IGhyZWYsIGlzRXh0ZXJuYWw6IHRydWUsIGNhbGxiYWNrIH0sXHJcbiAgfSksXHJcbiAgcHJpdmFjeTogKGhyZWY6IHN0cmluZywgY2FsbGJhY2s/OiAoKSA9PiB2b2lkKTogVXNlck1lbnVPcHRpb24gPT4gKHtcclxuICAgIGljb246IHsgbmFtZTogJ2dwcF9tYXliZScgfSxcclxuICAgIGxhYmVsOiAnTUVOVS5QUklWQUNZJyxcclxuICAgIGxpbms6IHsgaHJlZiwgaXNFeHRlcm5hbDogdHJ1ZSwgY2FsbGJhY2sgfSxcclxuICB9KSxcclxuICBoZWxwOiAoaHJlZjogc3RyaW5nLCBpY29uPzogeyBuYW1lOiBzdHJpbmcsIGlzQ3VzdG9tOiBib29sZWFuIH0sIGNhbGxiYWNrPzogKCkgPT4gdm9pZCk6IFVzZXJNZW51T3B0aW9uID0+ICh7XHJcbiAgICBsYWJlbDogJ01FTlUuSEVMUF9DRU5URVInLFxyXG4gICAgaWNvbjogeyBuYW1lOiBpY29uID8gaWNvbi5uYW1lIDogYGhlbHBgLCBpc0N1c3RvbTogaWNvbiA/IGljb24uaXNDdXN0b20gOiBmYWxzZSB9LFxyXG4gICAgbGluazogeyBocmVmLCBpc0V4dGVybmFsOiB0cnVlLCBjYWxsYmFjayB9LFxyXG4gIH0pLFxyXG4gIGNvbnRhY3RVczogKGhyZWY6IHN0cmluZywgY2FsbGJhY2s/OiAoKSA9PiB2b2lkKTogVXNlck1lbnVPcHRpb24gPT4gKHtcclxuICAgIGxhYmVsOiAnTUVOVS5DT05UQUNUX1VTJyxcclxuICAgIGljb246IHsgbmFtZTogYG1haWxgIH0sXHJcbiAgICBsaW5rOiB7IGhyZWYsIGlzRXh0ZXJuYWw6IHRydWUsIGNhbGxiYWNrIH0sXHJcbiAgfSksXHJcbiAgLyoqIHVzZSBsYW5ndWFnZSB1cGRhdGUgY2FsbGJhY2sgdG8gc2F2ZSBpbiBsb2NhbHN0b3JhZ2UgKi9cclxuICBjaGFuZ2VMYW5ndWFnZTogKFxyXG4gICAgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBsYW5ndWFnZXM6IHN0cmluZ1tdLFxyXG4gICAgbGFuZ3VhZ2VDaGFuZ2VDYWxsYmFjaz86IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkXHJcbiAgKTogVXNlck1lbnVPcHRpb24gPT4gKHtcclxuICAgIGxhYmVsOiAnTUVOVS5DSEFOR0VfTEFOR1VBR0UnLFxyXG4gICAgaWNvbjogeyBuYW1lOiAnbGFuZ3VhZ2UnIH0sXHJcbiAgICBidXR0b246IHtcclxuICAgICAgY2FsbGJhY2s6ICgpID0+IHtcclxuICAgICAgICBkaWFsb2dcclxuICAgICAgICAgIC5vcGVuKFNlbGVjdExhbmd1YWdlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGRhdGE6IHsgbGFuZ3VhZ2VzOiBsYW5ndWFnZXMgfSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgobGFuZ3VhZ2U6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBpZiAobGFuZ3VhZ2UgJiYgbGFuZ3VhZ2VDaGFuZ2VDYWxsYmFjaykge1xyXG4gICAgICAgICAgICAgIGxhbmd1YWdlQ2hhbmdlQ2FsbGJhY2sobGFuZ3VhZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSksXHJcbiAgbG9nb3V0OiAoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiBVc2VyTWVudU9wdGlvbiA9PiAoe1xyXG4gICAgaWNvbjogeyBuYW1lOiAnbG9nb3V0JyB9LFxyXG4gICAgbGFiZWw6ICdNRU5VLkxPR19PVVQnLFxyXG4gICAgYnV0dG9uOiB7IGNhbGxiYWNrOiAoKSA9PiBjYWxsYmFjaygpIH0sXHJcbiAgfSksXHJcbn07XHJcbiJdfQ==
|