@tilde-nlp/ngx-menu 8.1.16 → 8.1.18
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.
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Optional, Inject, Component, Input, EventEmitter, Output, inject, input, output, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@tilde-nlp/ngx-common';
|
|
4
|
-
import { ResolutionHelper, PlausibleModule, SelectLanguageDialogComponent } from '@tilde-nlp/ngx-common';
|
|
4
|
+
import { ResolutionHelper, AccessibilityContrasts, AccessibilityService, AccessibilityDialogComponent, PlausibleModule, SelectLanguageDialogComponent } from '@tilde-nlp/ngx-common';
|
|
5
5
|
import * as i1$1 from '@angular/router';
|
|
6
6
|
import { NavigationEnd, RouterModule } from '@angular/router';
|
|
7
|
-
import { map, BehaviorSubject, filter
|
|
7
|
+
import { map, BehaviorSubject, filter } from 'rxjs';
|
|
8
8
|
import * as i1 from '@tilde-nlp/ngx-strapi';
|
|
9
9
|
import { STRAPI_API_CONFIG_TOKEN } from '@tilde-nlp/ngx-strapi';
|
|
10
10
|
import { SingleTypes } from '@tilde-nlp/strapi-models';
|
|
@@ -13,8 +13,7 @@ import { CommonModule } from '@angular/common';
|
|
|
13
13
|
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
|
|
14
14
|
import * as i4 from '@angular/material/tooltip';
|
|
15
15
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
16
|
-
import
|
|
17
|
-
import { MatDialogModule, MatDialog } from '@angular/material/dialog';
|
|
16
|
+
import { MatDialog, MatDialogModule } from '@angular/material/dialog';
|
|
18
17
|
import * as i7 from '@angular/material/button';
|
|
19
18
|
import { MatButtonModule } from '@angular/material/button';
|
|
20
19
|
import * as i4$1 from '@angular/material/list';
|
|
@@ -30,8 +29,6 @@ import * as i1$2 from '@ngbracket/ngx-layout/flex';
|
|
|
30
29
|
import * as i2$2 from '@ngbracket/ngx-layout/extended';
|
|
31
30
|
import * as i5$1 from '@angular/material/progress-spinner';
|
|
32
31
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
33
|
-
import * as i3$1 from '@angular/material/tabs';
|
|
34
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
35
32
|
|
|
36
33
|
var MENU_VERSION;
|
|
37
34
|
(function (MENU_VERSION) {
|
|
@@ -328,50 +325,6 @@ class NavBaseComponent {
|
|
|
328
325
|
}] }); })();
|
|
329
326
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NavBaseComponent, { className: "NavBaseComponent", filePath: "lib/components/nav-base/nav-base.component.ts", lineNumber: 14 }); })();
|
|
330
327
|
|
|
331
|
-
class MenuAccessibilityService {
|
|
332
|
-
constructor() {
|
|
333
|
-
this.fontSizeLocalStorageKey = 'ACCESSIBILITY_FONT_SIZE_IX';
|
|
334
|
-
this.contrastLocalStorageKey = 'ACCESSIBILITY_CONTRAST';
|
|
335
|
-
this.sizeIncreaseSubject = new Subject();
|
|
336
|
-
this.contrastSubject = new Subject();
|
|
337
|
-
}
|
|
338
|
-
saveContrast(contrast) {
|
|
339
|
-
localStorage.setItem(this.contrastLocalStorageKey, contrast);
|
|
340
|
-
}
|
|
341
|
-
getSavedContrast() {
|
|
342
|
-
const savedContrast = localStorage.getItem(this.contrastLocalStorageKey);
|
|
343
|
-
return savedContrast ?? 'base';
|
|
344
|
-
}
|
|
345
|
-
getSavedFontSize() {
|
|
346
|
-
const savedFontSizeIx = localStorage.getItem(this.fontSizeLocalStorageKey);
|
|
347
|
-
return JSON.parse(savedFontSizeIx ?? '0');
|
|
348
|
-
}
|
|
349
|
-
saveFontSize(ix) {
|
|
350
|
-
localStorage.setItem(this.fontSizeLocalStorageKey, ix.toString());
|
|
351
|
-
}
|
|
352
|
-
setFontSize(fontSizeIx) {
|
|
353
|
-
const sizes = ['1rem', '1.25rem', '1.5rem'];
|
|
354
|
-
if (fontSizeIx > 0) {
|
|
355
|
-
this.sizeIncreaseSubject.next(true);
|
|
356
|
-
}
|
|
357
|
-
else {
|
|
358
|
-
this.sizeIncreaseSubject.next(false);
|
|
359
|
-
}
|
|
360
|
-
document.querySelector('html').style.fontSize = sizes[fontSizeIx];
|
|
361
|
-
}
|
|
362
|
-
setContrast(contrast) {
|
|
363
|
-
document.querySelector('html').className = contrast;
|
|
364
|
-
}
|
|
365
|
-
static { this.ɵfac = function MenuAccessibilityService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuAccessibilityService)(); }; }
|
|
366
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MenuAccessibilityService, factory: MenuAccessibilityService.ɵfac, providedIn: 'root' }); }
|
|
367
|
-
}
|
|
368
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuAccessibilityService, [{
|
|
369
|
-
type: Injectable,
|
|
370
|
-
args: [{
|
|
371
|
-
providedIn: 'root',
|
|
372
|
-
}]
|
|
373
|
-
}], null, null); })();
|
|
374
|
-
|
|
375
328
|
const _c0$3 = ["*"];
|
|
376
329
|
function SideNavMenuComponent_a_13_Template(rf, ctx) { if (rf & 1) {
|
|
377
330
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -388,7 +341,7 @@ function SideNavMenuComponent_a_13_Template(rf, ctx) { if (rf & 1) {
|
|
|
388
341
|
i0.ɵɵproperty("libPlausibleEvent", ctx_r1.LOGOCLICK_PLAUSIBLE_EVENT)("href", ctx_r1.baseUrl, i0.ɵɵsanitizeUrl);
|
|
389
342
|
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 7, "MENU.ARIA_LABELS.LOGO"));
|
|
390
343
|
i0.ɵɵadvance(2);
|
|
391
|
-
i0.ɵɵproperty("src", ctx_r1.
|
|
344
|
+
i0.ɵɵproperty("src", ctx_r1.logoImageSource, i0.ɵɵsanitizeUrl);
|
|
392
345
|
i0.ɵɵadvance(2);
|
|
393
346
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.productName, " ");
|
|
394
347
|
} }
|
|
@@ -441,11 +394,6 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
441
394
|
// if username is passed whith whitespace in begginining, it breaks UI, so trim it for safety.
|
|
442
395
|
this.#username = value?.trim();
|
|
443
396
|
}
|
|
444
|
-
get menuLogoImage() {
|
|
445
|
-
return this.collapsed
|
|
446
|
-
? this.menuSettings.menuLogoCollapsed ?? this.menuSettings.menuLogo
|
|
447
|
-
: this.menuSettings.menuLogo;
|
|
448
|
-
}
|
|
449
397
|
get sideNavWidth() {
|
|
450
398
|
return this.collapsed ? this.menuSettings.collapsedWidth : this.menuSettings.expandedWidth;
|
|
451
399
|
}
|
|
@@ -498,6 +446,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
498
446
|
super.ngOnInit();
|
|
499
447
|
this.getColapsedFromLocalStorage();
|
|
500
448
|
this.watchAccessibilityChanges();
|
|
449
|
+
this.setDefaultLogo();
|
|
501
450
|
}
|
|
502
451
|
login() {
|
|
503
452
|
this.loginEvent.emit();
|
|
@@ -526,6 +475,21 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
526
475
|
}
|
|
527
476
|
}
|
|
528
477
|
});
|
|
478
|
+
this.accessibility.contrastSubject.subscribe({
|
|
479
|
+
next: (contrast) => {
|
|
480
|
+
if (contrast !== AccessibilityContrasts.BASE) {
|
|
481
|
+
this.logoImageSource = this.menuSettings.menuLogo.replace('logo', `logo-${contrast}`);
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
this.setDefaultLogo();
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
});
|
|
488
|
+
}
|
|
489
|
+
setDefaultLogo() {
|
|
490
|
+
this.logoImageSource = this.collapsed
|
|
491
|
+
? this.menuSettings.menuLogoCollapsed ?? this.menuSettings.menuLogo
|
|
492
|
+
: this.menuSettings.menuLogo;
|
|
529
493
|
}
|
|
530
494
|
getColapsedFromLocalStorage() {
|
|
531
495
|
if (!this.domService.localStorage) {
|
|
@@ -539,7 +503,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
539
503
|
}
|
|
540
504
|
this.domService.localStorage.setItem(this.COLLAPSED_LOCAL_STORAGE_KEY, this.collapsed.toString());
|
|
541
505
|
}
|
|
542
|
-
static { this.ɵfac = function SideNavMenuComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SideNavMenuComponent)(i0.ɵɵdirectiveInject(i1.StrapiLinkService), i0.ɵɵdirectiveInject(i2.DOMService), i0.ɵɵdirectiveInject(MenuItemsService), i0.ɵɵdirectiveInject(
|
|
506
|
+
static { this.ɵfac = function SideNavMenuComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SideNavMenuComponent)(i0.ɵɵdirectiveInject(i1.StrapiLinkService), i0.ɵɵdirectiveInject(i2.DOMService), i0.ɵɵdirectiveInject(MenuItemsService), i0.ɵɵdirectiveInject(i2.AccessibilityService)); }; }
|
|
543
507
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SideNavMenuComponent, selectors: [["lib-side-nav-menu"]], inputs: { username: "username", menuSettings: "menuSettings", productName: "productName", supportedLanguages: "supportedLanguages", useDefaultLanguageSwitcher: "useDefaultLanguageSwitcher" }, outputs: { changeLanguageEvent: "changeLanguageEvent", loginEvent: "loginEvent" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0$3, decls: 29, vars: 46, consts: [[1, "mobile-header", 3, "fxHide", "ngClass"], ["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", "ngClass"], ["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.gt-xs", "", 3, "ngClass.lt-sm"], ["fxHide.lt-sm", ""], ["fxLayout", "column", 1, "menu-wrapper"], ["role", "navigation", 3, "toggleCollapseEvent", "direction", "isOpen", "active", "expandableMenuChildren", "openExternalLinksInSameTab"], [3, "isCollapsed"], [3, "isCollapsed", "languages"], ["fxFlex", "", "fxLayout", "column"], [3, "linkCallbackEvent", "loginEvent", "userOptions", "username", "collapsed", "useLargeLoginButton"], [1, "menu-footer"], [3, "changeLanguageEvent", "isCollapsed", "languages"], ["target", "_blank", 3, "href"]], template: function SideNavMenuComponent_Template(rf, ctx) { if (rf & 1) {
|
|
544
508
|
i0.ɵɵprojectionDef();
|
|
545
509
|
i0.ɵɵelementStart(0, "div", 0)(1, "a", 1);
|
|
@@ -588,7 +552,7 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
588
552
|
i0.ɵɵproperty("libPlausibleEvent", ctx.LOGOCLICK_PLAUSIBLE_EVENT)("href", ctx.baseUrl, i0.ɵɵsanitizeUrl);
|
|
589
553
|
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(2, 38, "MENU.ARIA_LABELS.LOGO"));
|
|
590
554
|
i0.ɵɵadvance(2);
|
|
591
|
-
i0.ɵɵproperty("src", ctx.
|
|
555
|
+
i0.ɵɵproperty("src", ctx.logoImageSource, i0.ɵɵsanitizeUrl);
|
|
592
556
|
i0.ɵɵadvance(2);
|
|
593
557
|
i0.ɵɵtextInterpolate1(" ", ctx.productName, " ");
|
|
594
558
|
i0.ɵɵadvance();
|
|
@@ -623,8 +587,8 @@ class SideNavMenuComponent extends NavBaseComponent {
|
|
|
623
587
|
}
|
|
624
588
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SideNavMenuComponent, [{
|
|
625
589
|
type: Component,
|
|
626
|
-
args: [{ selector: 'lib-side-nav-menu', standalone: false, template: "\t<div [fxHide]=\"!collapsed || collapsed && !isMobileRes && !isViewIncreased\" class=\"mobile-header\" [ngClass]=\"menuSettings.menuVersion\">\r\n\t\t<a\r\n\t\t\t[libPlausibleEvent]=\"LOGOCLICK_PLAUSIBLE_EVENT\"\r\n\t\t\tfxFlex=\"3.125em\"\r\n\t\t\t[href]=\"baseUrl\"\r\n\t\t\t[class.no-click]=\"menuSettings?.disableLogoNavigation\"\r\n\t\t\t[attr.aria-label]=\"'MENU.ARIA_LABELS.LOGO' | translate\"\r\n\t\t\t(click)=\"logoClick($event)\"\r\n\t\t\tfxLayoutAlign=\"start center\"\r\n\t\t>\r\n\t\t\t<img height=\"40\" width=\"40\" class=\"menu-logo\" [src]=\"
|
|
627
|
-
}], () => [{ type: i1.StrapiLinkService }, { type: i2.DOMService }, { type: MenuItemsService }, { type:
|
|
590
|
+
args: [{ selector: 'lib-side-nav-menu', standalone: false, template: "\t<div [fxHide]=\"!collapsed || collapsed && !isMobileRes && !isViewIncreased\" class=\"mobile-header\" [ngClass]=\"menuSettings.menuVersion\">\r\n\t\t<a\r\n\t\t\t[libPlausibleEvent]=\"LOGOCLICK_PLAUSIBLE_EVENT\"\r\n\t\t\tfxFlex=\"3.125em\"\r\n\t\t\t[href]=\"baseUrl\"\r\n\t\t\t[class.no-click]=\"menuSettings?.disableLogoNavigation\"\r\n\t\t\t[attr.aria-label]=\"'MENU.ARIA_LABELS.LOGO' | translate\"\r\n\t\t\t(click)=\"logoClick($event)\"\r\n\t\t\tfxLayoutAlign=\"start center\"\r\n\t\t>\r\n\t\t\t<img height=\"40\" width=\"40\" class=\"menu-logo\" [src]=\"logoImageSource\" alt=\"logo\" />\r\n\t\t\t<span class=\"menu-product-name\">\r\n\t\t\t\t{{ productName }}\r\n\t\t\t</span>\r\n\t\t</a>\r\n\r\n\t\t<button\r\n\t\t\tmat-icon-button\r\n\t\t\tclass=\"toggler\"\r\n\t\t\t[attr.aria-label]=\"'ARIA_LABELS.MENU_TOGGLER' | translate\"\r\n\t\t\t[libPlausibleEvent]=\"collapsed ? EXPAND_PLAUSIBLE_EVENT : COLLAPSE_PLAUSIBLE_EVENT\"\r\n\t\t\t(click)=\"toggleCollapse()\"\r\n\t\t>\r\n\t\t\t<mat-icon>menu</mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\r\n<div \r\n\tclass=\"menu-container\"\r\n\tfxLayout=\"column\" \r\n\t[ngClass.lt-sm]=\"'mobile'\"\r\n\t[class.accessibility-view]=\"isViewIncreased\"\r\n\t[style.width]=\"sideNavWidth\" \r\n\t[class.collapsed]=\"collapsed\" \r\n\t[ngClass]=\"menuSettings.menuVersion\"\r\n>\r\n\t<div class=\"content\" fxLayout=\"column\" fxFlexFill>\r\n\t\t<div class=\"menu-container-header\" fxLayout=\"row\" [fxLayoutAlign]=\"collapsed ? 'center center' : 'space-between center'\">\r\n\t\t\t<a\r\n\t\t\t\t*ngIf=\"!collapsed\"\r\n\t\t\t\t[libPlausibleEvent]=\"LOGOCLICK_PLAUSIBLE_EVENT\"\r\n\t\t\t\tfxFlex=\"3.125em\"\r\n\t\t\t\t[class.no-click]=\"menuSettings?.disableLogoNavigation\"\r\n\t\t\t\t[href]=\"baseUrl\"\r\n\t\t\t\t[attr.aria-label]=\"'MENU.ARIA_LABELS.LOGO' | translate\"\r\n\t\t\t\t(click)=\"logoClick($event)\"\r\n\t\t\t\tfxLayoutAlign=\"start center\"\r\n\t\t\t>\r\n\t\t\t\t<img height=\"40\" width=\"40\" class=\"menu-logo\" [src]=\"logoImageSource\" alt=\"logo\" />\r\n\t\t\t\t<span class=\"menu-product-name\">\r\n\t\t\t\t\t{{ productName }}\r\n\t\t\t\t</span>\r\n\t\t\t</a>\r\n\r\n\t\t\t<button\r\n\t\t\t\tmat-icon-button\r\n\t\t\t\tclass=\"toggler\"\r\n\t\t\t\t[attr.aria-label]=\"'ARIA_LABELS.MENU_TOGGLER' | translate\"\r\n\t\t\t\t[libPlausibleEvent]=\"collapsed ? EXPAND_PLAUSIBLE_EVENT : COLLAPSE_PLAUSIBLE_EVENT\"\r\n\t\t\t\t[matTooltip]=\"(collapsed ? 'MENU.EXPAND' : 'MENU.COLLAPSE') | translate\"\r\n\t\t\t\t(click)=\"toggleCollapse()\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon fxHide.gt-xs [ngClass.lt-sm]=\"'mob-close-icon'\">close</mat-icon>\r\n\t\t\t\t<mat-icon fxHide.lt-sm>{{ collapsed ? \"keyboard_double_arrow_right\" : \"keyboard_double_arrow_left\" }}</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"menu-wrapper\" fxLayout=\"column\">\r\n\t\t\t<menu-columns\r\n\t\t\t\t(toggleCollapseEvent)=\"toggleCollapse()\"\r\n\t\t\t\t[direction]=\"direction\"\r\n\t\t\t\trole=\"navigation\"\r\n\t\t\t\t[isOpen]=\"!collapsed\"\r\n\t\t\t\t[active]=\"active\"\r\n\t\t\t\t[expandableMenuChildren]=\"menuSettings?.expandableMenuChildren\"\r\n\t\t\t\t[openExternalLinksInSameTab]=\"menuSettings?.openExternalLinksInSameTab\"\r\n\t\t\t></menu-columns>\r\n\r\n\t\t\t<lib-menu-accessibility [isCollapsed]=\"collapsed\"></lib-menu-accessibility>\r\n\r\n\t\t\t@if (useDefaultLanguageSwitcher && supportedLanguages.length > 1) {\r\n\t\t\t<lib-menu-lang-switcher [isCollapsed]=\"collapsed\" [languages]=\"supportedLanguages\" (changeLanguageEvent)=\"changeLanguage($event)\"></lib-menu-lang-switcher>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t<div fxFlex fxLayout=\"column\">\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\r\n\t\t<lib-menu-profile \r\n\t\t\t[userOptions]=\"menuSettings.userOptions\" \r\n\t\t\t[username]=\"username\" \r\n\t\t\t[collapsed]=\"collapsed\" \r\n\t\t\t[useLargeLoginButton]=\"menuSettings?.useLargeLoginButton\"\r\n\t\t\t(linkCallbackEvent)=\"linkCallback($event)\"\r\n\t\t\t(loginEvent)=\"login()\"\t\r\n\t\t>\r\n\t\t</lib-menu-profile>\r\n\r\n @if (footerItems.length) {\r\n <div class=\"menu-footer\">\r\n @if (!collapsed) {\r\n @for (item of footerItems; let i = $index; track i) {\r\n <a [href]=\"item.link\" target=\"_blank\">{{ item.title }}</a>\r\n \r\n @if (i !== footerItems.length - 1) { \r\n | \r\n } \r\n }\r\n }\r\n </div>\r\n }\r\n\t</div>\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:var(--base-100);border:1px solid var(--base-70)}.accessibility-view.menu-container:not(.collapsed),.mobile.menu-container:not(.collapsed){display:block!important;position:fixed;min-width:100vw;min-height:100dvh;z-index:1000}::ng-deep .mobile.menu-container.collapsed,::ng-deep .accessibility-view.menu-container.collapsed{display:none!important}button:has(.mob-close-icon){margin-right:14px}.menu-container ::-webkit-scrollbar{width:5px}.menu-container ::-webkit-scrollbar-thumb{background:var(--base-95);background-clip:padding-box}.menu-container ::-webkit-scrollbar-track{background:var(--base-100)}.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%}:host ::ng-deep .collapsed .profile-wrapper{margin:36px 0!important}:host ::ng-deep .mobile .profile-name{max-width:60vw}:host ::ng-deep .menu-item{display:flex;padding:16px!important;border-radius:4px!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}:host::ng-deep button.collapse-btn .mat-mdc-button-persistent-ripple,:host::ng-deep button.toggler .mat-mdc-button-persistent-ripple{display:none}::ng-deep .cdk-overlay-container .child-menu,::ng-deep .cdk-overlay-container .profile-menu,::ng-deep .cdk-overlay-container .lang-menu{min-width:250px;margin:10px 0}::ng-deep .mat-mdc-menu-item .mat-icon{margin-right:5px!important}::ng-deep .collapsed .profile-wrapper{justify-content:center!important}.menu-footer{display:flex;justify-content:center;margin-bottom:20px;color:var(--base-40);font-size:.8125rem}\n", "::ng-deep .compact-menu menu-columns{margin-bottom:86px}::ng-deep .compact-menu .profile{margin-top:80px!important}::ng-deep .compact-menu .profile-icon{margin-left:10px!important;min-width:28px!important;height:28px!important;font-size:12px!important}::ng-deep .compact-menu .profile-arrow{margin-right:5px!important}::ng-deep .compact-menu .profile-name{margin-left:10px!important;font-size:.875rem!important;font-weight:600!important}::ng-deep .compact-menu .profile-wrapper{padding:6px 0!important;border-radius:16px!important;border:2px solid var(--base-70)}::ng-deep .compact-menu .menu-wrapper{position:relative;height:100%}::ng-deep .compact-menu .lang-switcher{position:absolute;bottom:0}::ng-deep .compact-menu .accessibility-btn{position:absolute;bottom:46px}::ng-deep .compact-menu .menu-item,::ng-deep .compact-menu .lang-switcher,::ng-deep .compact-menu .accessibility-btn{padding:8px 12px!important;border-radius:16px!important}::ng-deep .compact-menu .lang-switcher .menu-arrow{margin-right:-8px}::ng-deep .compact-menu .child-list{margin-left:24px;padding:3px 0}::ng-deep .compact-menu.collapsed .child-list{margin-left:0}::ng-deep .compact-menu.collapsed .accessibility-btn,::ng-deep .compact-menu.collapsed .lang-switcher{padding:0!important;border-radius:50%!important}::ng-deep .compact-menu tld-menu-item-link:not(:first-child){margin-top:0!important;margin-bottom:5px}::ng-deep .compact-menu tld-menu-item-link .title-content{font-weight:400!important}\n"] }]
|
|
591
|
+
}], () => [{ type: i1.StrapiLinkService }, { type: i2.DOMService }, { type: MenuItemsService }, { type: i2.AccessibilityService }], { username: [{
|
|
628
592
|
type: Input
|
|
629
593
|
}], menuSettings: [{
|
|
630
594
|
type: Input
|
|
@@ -1808,98 +1772,6 @@ class MenuLangSwitcherComponent {
|
|
|
1808
1772
|
}] }); })();
|
|
1809
1773
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuLangSwitcherComponent, { className: "MenuLangSwitcherComponent", filePath: "lib/components/menu-lang-switcher/menu-lang-switcher.component.ts", lineNumber: 11 }); })();
|
|
1810
1774
|
|
|
1811
|
-
function MenuAccessibilitySettingsComponent_For_18_Template(rf, ctx) { if (rf & 1) {
|
|
1812
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
1813
|
-
i0.ɵɵelementStart(0, "button", 12);
|
|
1814
|
-
i0.ɵɵlistener("click", function MenuAccessibilitySettingsComponent_For_18_Template_button_click_0_listener() { const contrast_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.changeContrast(contrast_r2)); });
|
|
1815
|
-
i0.ɵɵelementStart(1, "mat-icon", 13);
|
|
1816
|
-
i0.ɵɵtext(2, "visibility");
|
|
1817
|
-
i0.ɵɵelementEnd()();
|
|
1818
|
-
} if (rf & 2) {
|
|
1819
|
-
const contrast_r2 = ctx.$implicit;
|
|
1820
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
1821
|
-
i0.ɵɵclassMap(contrast_r2);
|
|
1822
|
-
i0.ɵɵclassProp("active", contrast_r2 === ctx_r2.currentContrast);
|
|
1823
|
-
} }
|
|
1824
|
-
class MenuAccessibilitySettingsComponent {
|
|
1825
|
-
constructor() {
|
|
1826
|
-
this.currentContrast = 'base';
|
|
1827
|
-
this.#accessibility = inject(MenuAccessibilityService);
|
|
1828
|
-
this.contrasts = ['base', 'black-white', 'yellow-black', 'black-yellow'];
|
|
1829
|
-
}
|
|
1830
|
-
#accessibility;
|
|
1831
|
-
ngOnInit() {
|
|
1832
|
-
this.selectedFontSizeIndex = this.#accessibility.getSavedFontSize();
|
|
1833
|
-
this.currentContrast = this.#accessibility.getSavedContrast();
|
|
1834
|
-
}
|
|
1835
|
-
changeContrast(contrast) {
|
|
1836
|
-
this.currentContrast = contrast;
|
|
1837
|
-
this.#accessibility.saveContrast(contrast);
|
|
1838
|
-
this.#accessibility.setContrast(contrast);
|
|
1839
|
-
}
|
|
1840
|
-
selectedFontSizeChanged(e) {
|
|
1841
|
-
this.selectedFontSizeIndex = e.index;
|
|
1842
|
-
this.#accessibility.saveFontSize(this.selectedFontSizeIndex);
|
|
1843
|
-
this.#accessibility.setFontSize(this.selectedFontSizeIndex);
|
|
1844
|
-
}
|
|
1845
|
-
static { this.ɵfac = function MenuAccessibilitySettingsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuAccessibilitySettingsComponent)(); }; }
|
|
1846
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuAccessibilitySettingsComponent, selectors: [["lib-menu-accessibility-settings"]], decls: 26, vars: 19, consts: [["mat-dialog-title", "", 1, "text-2-xl"], ["mat-dialog-content", ""], [1, "font-size-wrapper"], [1, "settings-title"], ["animationDuration", "0ms", 3, "selectedTabChange", "selectedIndex"], [3, "label"], [1, "contrast-wrapper"], [1, "contrast-option-wrapper"], [1, "contrast-option", 3, "class", "active"], ["mat-dialog-actions", ""], ["mat-stroked-button", ""], ["mat-flat-button", "", "mat-dialog-close", ""], [1, "contrast-option", 3, "click"], [1, "material-icons-outlined"]], template: function MenuAccessibilitySettingsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1847
|
-
i0.ɵɵelementStart(0, "h1", 0);
|
|
1848
|
-
i0.ɵɵtext(1);
|
|
1849
|
-
i0.ɵɵpipe(2, "translate");
|
|
1850
|
-
i0.ɵɵelementEnd();
|
|
1851
|
-
i0.ɵɵelementStart(3, "div", 1)(4, "div", 2)(5, "p", 3);
|
|
1852
|
-
i0.ɵɵtext(6);
|
|
1853
|
-
i0.ɵɵpipe(7, "translate");
|
|
1854
|
-
i0.ɵɵelementEnd();
|
|
1855
|
-
i0.ɵɵelementStart(8, "mat-tab-group", 4);
|
|
1856
|
-
i0.ɵɵlistener("selectedTabChange", function MenuAccessibilitySettingsComponent_Template_mat_tab_group_selectedTabChange_8_listener($event) { return ctx.selectedFontSizeChanged($event); });
|
|
1857
|
-
i0.ɵɵelement(9, "mat-tab", 5)(10, "mat-tab", 5)(11, "mat-tab", 5);
|
|
1858
|
-
i0.ɵɵelementEnd()();
|
|
1859
|
-
i0.ɵɵelementStart(12, "div", 6)(13, "p", 3);
|
|
1860
|
-
i0.ɵɵtext(14);
|
|
1861
|
-
i0.ɵɵpipe(15, "translate");
|
|
1862
|
-
i0.ɵɵelementEnd();
|
|
1863
|
-
i0.ɵɵelementStart(16, "div", 7);
|
|
1864
|
-
i0.ɵɵrepeaterCreate(17, MenuAccessibilitySettingsComponent_For_18_Template, 3, 4, "button", 8, i0.ɵɵrepeaterTrackByIdentity);
|
|
1865
|
-
i0.ɵɵelementEnd()()();
|
|
1866
|
-
i0.ɵɵelementStart(19, "div", 9)(20, "button", 10);
|
|
1867
|
-
i0.ɵɵtext(21);
|
|
1868
|
-
i0.ɵɵpipe(22, "translate");
|
|
1869
|
-
i0.ɵɵelementEnd();
|
|
1870
|
-
i0.ɵɵelementStart(23, "button", 11);
|
|
1871
|
-
i0.ɵɵtext(24);
|
|
1872
|
-
i0.ɵɵpipe(25, "translate");
|
|
1873
|
-
i0.ɵɵelementEnd()();
|
|
1874
|
-
} if (rf & 2) {
|
|
1875
|
-
i0.ɵɵadvance();
|
|
1876
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 9, "ACCESSIBILITY.TITLE"));
|
|
1877
|
-
i0.ɵɵadvance(5);
|
|
1878
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 11, "ACCESSIBILITY.FONT_SIZE_LABEL"), " ");
|
|
1879
|
-
i0.ɵɵadvance(2);
|
|
1880
|
-
i0.ɵɵproperty("selectedIndex", ctx.selectedFontSizeIndex);
|
|
1881
|
-
i0.ɵɵadvance();
|
|
1882
|
-
i0.ɵɵproperty("label", "100%");
|
|
1883
|
-
i0.ɵɵadvance();
|
|
1884
|
-
i0.ɵɵproperty("label", "150%");
|
|
1885
|
-
i0.ɵɵadvance();
|
|
1886
|
-
i0.ɵɵproperty("label", "200%");
|
|
1887
|
-
i0.ɵɵadvance(3);
|
|
1888
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 13, "ACCESSIBILITY.CONTRAST_LABEL"), " ");
|
|
1889
|
-
i0.ɵɵadvance(3);
|
|
1890
|
-
i0.ɵɵrepeater(ctx.contrasts);
|
|
1891
|
-
i0.ɵɵadvance(4);
|
|
1892
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22, 15, "ACCESSIBILITY.RESET"));
|
|
1893
|
-
i0.ɵɵadvance(3);
|
|
1894
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(25, 17, "ACCESSIBILITY.CLOSE"));
|
|
1895
|
-
} }, dependencies: [MatDialogModule, i1$3.MatDialogClose, i1$3.MatDialogTitle, i1$3.MatDialogActions, i1$3.MatDialogContent, TranslateModule, MatButtonModule, i7.MatButton, MatTabsModule, i3$1.MatTab, i3$1.MatTabGroup, MatIconModule, i2$1.MatIcon, i9.TranslatePipe], styles: [".settings-title[_ngcontent-%COMP%]{color:var(--base-30);font-weight:600;font-size:.8125rem;margin-bottom:12px}.contrast-wrapper[_ngcontent-%COMP%]{margin-top:24px}.contrast-wrapper[_ngcontent-%COMP%] .contrast-option-wrapper[_ngcontent-%COMP%]{display:flex;gap:12px}.contrast-wrapper[_ngcontent-%COMP%] .contrast-option-wrapper[_ngcontent-%COMP%] .contrast-option[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;padding:8px 24px;color:#000!important;background-color:#fff!important;border-radius:8px;width:100%;border:2px solid transparent}.contrast-wrapper[_ngcontent-%COMP%] .contrast-option-wrapper[_ngcontent-%COMP%] .contrast-option.black-white[_ngcontent-%COMP%]{background-color:#000!important;color:#fff!important}.contrast-wrapper[_ngcontent-%COMP%] .contrast-option-wrapper[_ngcontent-%COMP%] .contrast-option.yellow-black[_ngcontent-%COMP%]{background-color:gold!important;color:#000!important}.contrast-wrapper[_ngcontent-%COMP%] .contrast-option-wrapper[_ngcontent-%COMP%] .contrast-option.black-yellow[_ngcontent-%COMP%]{background-color:#000!important;color:gold!important}.contrast-wrapper[_ngcontent-%COMP%] .contrast-option-wrapper[_ngcontent-%COMP%] .contrast-option.active[_ngcontent-%COMP%]{border:2px solid;border-color:var(--base-0)}[_nghost-%COMP%] .mdc-tab--active{background-color:var(--mat-sys-primary-container)!important}[_nghost-%COMP%] .mdc-tab--active .mdc-tab__text-label{color:var(--primary-accent)!important}[_nghost-%COMP%] .mat-mdc-tab{width:50px;border:1px solid var(--base-70)}[_nghost-%COMP%] .mat-mdc-tab:first-child{border-bottom-left-radius:16px;border-top-left-radius:16px}[_nghost-%COMP%] .mat-mdc-tab:last-child{border-bottom-right-radius:16px;border-top-right-radius:16px}[_nghost-%COMP%] .mdc-tab-indicator__content--underline{display:none}[_nghost-%COMP%] .mat-mdc-tab-label-container{border-bottom-width:0!important}"] }); }
|
|
1896
|
-
}
|
|
1897
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuAccessibilitySettingsComponent, [{
|
|
1898
|
-
type: Component,
|
|
1899
|
-
args: [{ selector: 'lib-menu-accessibility-settings', imports: [MatDialogModule, TranslateModule, MatButtonModule, MatTabsModule, MatIconModule], template: "<h1 mat-dialog-title class=\"text-2-xl\">{{ \"ACCESSIBILITY.TITLE\" | translate }}</h1>\r\n\r\n<div mat-dialog-content>\r\n\t<div class=\"font-size-wrapper\">\r\n\t\t<p class=\"settings-title\">\r\n\t\t\t{{ \"ACCESSIBILITY.FONT_SIZE_LABEL\" | translate }}\r\n\t\t</p>\r\n\r\n\t\t<mat-tab-group [selectedIndex]=\"selectedFontSizeIndex\" (selectedTabChange)=\"selectedFontSizeChanged($event)\" animationDuration=\"0ms\">\r\n\t\t\t<mat-tab [label]=\"'100%'\"></mat-tab>\r\n\t\t\t<mat-tab [label]=\"'150%'\"></mat-tab>\r\n\t\t\t<mat-tab [label]=\"'200%'\"></mat-tab>\r\n\t\t</mat-tab-group>\r\n\t</div>\r\n\r\n\t<div class=\"contrast-wrapper\">\r\n\t\t<p class=\"settings-title\">\r\n\t\t\t{{ \"ACCESSIBILITY.CONTRAST_LABEL\" | translate }}\r\n\t\t</p>\r\n\r\n\t\t<div class=\"contrast-option-wrapper\">\r\n\t\t\t@for (contrast of contrasts; track contrast) {\r\n\t\t\t\t<button (click)=\"changeContrast(contrast)\" [class]=\"contrast\" [class.active]=\"contrast === currentContrast\" class=\"contrast-option\">\r\n\t\t\t\t\t<mat-icon class=\"material-icons-outlined\">visibility</mat-icon>\r\n\t\t\t\t</button>\r\n\t\t\t}\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<div mat-dialog-actions>\r\n\t<button mat-stroked-button>{{ \"ACCESSIBILITY.RESET\" | translate }}</button>\r\n\t<button mat-flat-button mat-dialog-close>{{ \"ACCESSIBILITY.CLOSE\" | translate }}</button>\r\n</div>\r\n", styles: [".settings-title{color:var(--base-30);font-weight:600;font-size:.8125rem;margin-bottom:12px}.contrast-wrapper{margin-top:24px}.contrast-wrapper .contrast-option-wrapper{display:flex;gap:12px}.contrast-wrapper .contrast-option-wrapper .contrast-option{display:flex;justify-content:center;align-items:center;padding:8px 24px;color:#000!important;background-color:#fff!important;border-radius:8px;width:100%;border:2px solid transparent}.contrast-wrapper .contrast-option-wrapper .contrast-option.black-white{background-color:#000!important;color:#fff!important}.contrast-wrapper .contrast-option-wrapper .contrast-option.yellow-black{background-color:gold!important;color:#000!important}.contrast-wrapper .contrast-option-wrapper .contrast-option.black-yellow{background-color:#000!important;color:gold!important}.contrast-wrapper .contrast-option-wrapper .contrast-option.active{border:2px solid;border-color:var(--base-0)}:host ::ng-deep .mdc-tab--active{background-color:var(--mat-sys-primary-container)!important}:host ::ng-deep .mdc-tab--active .mdc-tab__text-label{color:var(--primary-accent)!important}:host ::ng-deep .mat-mdc-tab{width:50px;border:1px solid var(--base-70)}:host ::ng-deep .mat-mdc-tab:first-child{border-bottom-left-radius:16px;border-top-left-radius:16px}:host ::ng-deep .mat-mdc-tab:last-child{border-bottom-right-radius:16px;border-top-right-radius:16px}:host ::ng-deep .mdc-tab-indicator__content--underline{display:none}:host ::ng-deep .mat-mdc-tab-label-container{border-bottom-width:0!important}\n"] }]
|
|
1900
|
-
}], null, null); })();
|
|
1901
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuAccessibilitySettingsComponent, { className: "MenuAccessibilitySettingsComponent", filePath: "lib/components/menu-accessibility/menu-accessibility-settings/menu-accessibility-settings.component.ts", lineNumber: 15 }); })();
|
|
1902
|
-
|
|
1903
1775
|
function MenuAccessibilityComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
1904
1776
|
i0.ɵɵelementStart(0, "span");
|
|
1905
1777
|
i0.ɵɵtext(1);
|
|
@@ -1911,13 +1783,14 @@ function MenuAccessibilityComponent_Conditional_5_Template(rf, ctx) { if (rf & 1
|
|
|
1911
1783
|
} }
|
|
1912
1784
|
class MenuAccessibilityComponent {
|
|
1913
1785
|
#dialog = inject(MatDialog);
|
|
1914
|
-
#accessbility = inject(
|
|
1786
|
+
#accessbility = inject(AccessibilityService);
|
|
1915
1787
|
ngOnInit() {
|
|
1916
1788
|
this.#accessbility.setFontSize(this.#accessbility.getSavedFontSize());
|
|
1917
1789
|
this.#accessbility.setContrast(this.#accessbility.getSavedContrast());
|
|
1790
|
+
this.#accessbility.setSavedTextMagnifierStatus();
|
|
1918
1791
|
}
|
|
1919
1792
|
openAccessibilitySettings() {
|
|
1920
|
-
this.#dialog.open(
|
|
1793
|
+
this.#dialog.open(AccessibilityDialogComponent);
|
|
1921
1794
|
}
|
|
1922
1795
|
static { this.ɵfac = function MenuAccessibilityComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuAccessibilityComponent)(); }; }
|
|
1923
1796
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuAccessibilityComponent, selectors: [["lib-menu-accessibility"]], inputs: { isCollapsed: "isCollapsed" }, decls: 6, vars: 6, consts: [["matTooltipPosition", "after", "matTooltipClass", "menu-tooltip", 1, "accessibility-btn", 3, "click", "matTooltip"], [1, "accessibility-btn-content"]], template: function MenuAccessibilityComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -1938,11 +1811,11 @@ class MenuAccessibilityComponent {
|
|
|
1938
1811
|
}
|
|
1939
1812
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuAccessibilityComponent, [{
|
|
1940
1813
|
type: Component,
|
|
1941
|
-
args: [{ selector: 'lib-menu-accessibility', imports: [TranslateModule, MatIconModule, MatTooltipModule, MatDialogModule
|
|
1814
|
+
args: [{ selector: 'lib-menu-accessibility', imports: [TranslateModule, MatIconModule, MatTooltipModule, MatDialogModule], template: "<button\r\n\t[class.collapsed]=\"isCollapsed\"\r\n\t[matTooltip]=\"isCollapsed ? ('MENU.ACCESSIBILITY' | translate) : ''\"\r\n\tmatTooltipPosition=\"after\"\r\n\tmatTooltipClass=\"menu-tooltip\"\r\n\tclass=\"accessibility-btn\"\r\n\t(click)=\"openAccessibilitySettings()\"\r\n>\r\n\t<div class=\"accessibility-btn-content\">\r\n\t\t<mat-icon>accessibility</mat-icon>\r\n\r\n\t\t@if (!isCollapsed) {\r\n\t\t<span>{{ \"MENU.ACCESSIBILITY\" | translate }}</span>\r\n\t\t}\r\n\t</div>\r\n</button>\r\n", styles: ["span{font-size:.875rem}.accessibility-btn{white-space:nowrap;overflow:hidden;display:flex;align-items:center;color:var(--base-30);background:none;width:100%;padding:16px 8px 16px 18px;border-radius:5px}.accessibility-btn.active,.accessibility-btn:hover{background-color:var(--base-70)}.collapsed{padding:0;min-width:40px;height:40px;border-radius:50%;margin-top:10px;justify-content:center;width:100%;margin-left:-6px}.accessibility-btn-content{display:flex;align-items:center;width:100%;gap:12px}.collapsed .accessibility-btn-content{justify-content:center;width:100%}\n"] }]
|
|
1942
1815
|
}], null, { isCollapsed: [{
|
|
1943
1816
|
type: Input
|
|
1944
1817
|
}] }); })();
|
|
1945
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuAccessibilityComponent, { className: "MenuAccessibilityComponent", filePath: "lib/components/menu-accessibility/menu-accessibility.component.ts", lineNumber:
|
|
1818
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuAccessibilityComponent, { className: "MenuAccessibilityComponent", filePath: "lib/components/menu-accessibility/menu-accessibility.component.ts", lineNumber: 14 }); })();
|
|
1946
1819
|
|
|
1947
1820
|
class MenuModule {
|
|
1948
1821
|
static forRoot(config) {
|
|
@@ -2102,5 +1975,5 @@ const USER_MENU_OPTIONS = {
|
|
|
2102
1975
|
* Generated bundle index. Do not edit.
|
|
2103
1976
|
*/
|
|
2104
1977
|
|
|
2105
|
-
export { MENU_ICON_STRAPI_EXTENSION, MENU_SHARED_CONFIG, MENU_VERSION,
|
|
1978
|
+
export { MENU_ICON_STRAPI_EXTENSION, MENU_SHARED_CONFIG, MENU_VERSION, MenuColumnsComponent, MenuItemsService, MenuLayoutDirection, MenuModule, NavBaseComponent, SideNavMenuComponent, StarpiMenuService, StrapiDataLocation, USER_MENU_OPTIONS };
|
|
2106
1979
|
//# sourceMappingURL=tilde-nlp-ngx-menu.mjs.map
|