@onemrvapublic/design-system 20.11.3 → 21.0.0-develop.2
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/README.md +5 -9
- package/fesm2022/onemrvapublic-design-system-flag-icon.mjs +14 -20
- package/fesm2022/onemrvapublic-design-system-flag-icon.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-layout.mjs +207 -290
- package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-address.mjs +19 -25
- package/fesm2022/onemrvapublic-design-system-mat-address.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs +58 -223
- package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs +47 -53
- package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +50 -71
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs +27 -29
- package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +24 -42
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs +8 -12
- package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +4 -4
- package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +10 -18
- package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +98 -173
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs +32 -52
- package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +10 -13
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +10 -13
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +24 -44
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +22 -40
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +26 -39
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +45 -180
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +38 -63
- package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs +40 -65
- package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +19 -59
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +23 -49
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +61 -101
- package/fesm2022/onemrvapublic-design-system-mat-panel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +30 -50
- package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +26 -38
- package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +66 -105
- package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs +23 -43
- package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +15 -26
- package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +62 -177
- package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs +17 -21
- package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +14 -22
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +8 -8
- package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +79 -93
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +59 -94
- package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs +178 -245
- package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-toast.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +33 -43
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-page-error.mjs +33 -39
- package/fesm2022/onemrvapublic-design-system-page-error.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +38 -42
- package/fesm2022/onemrvapublic-design-system-page-not-found.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-shared.mjs +188 -312
- package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-utils.mjs.map +1 -1
- package/mat-choice-chip/src/onemrva-mat-choice-chip.component.scss +13 -3
- package/mat-empty-row/src/onemrva-mat-empty-row.component.scss +2 -2
- package/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.scss +1 -1
- package/mat-input-phone/src/onemrva-mat-input-phone.component.scss +1 -1
- package/mat-panel/src/onemrva-mat-panel-content.scss +1 -1
- package/mat-skeleton/src/onemrva-mat-skeleton.component.scss +1 -1
- package/mat-table-of-content/src/onemrva-mat-table-of-content.component.scss +10 -2
- package/package.json +72 -62
- package/theme/index.scss +230 -0
- package/theme/overrides/_autocomplete.scss +9 -0
- package/theme/overrides/_button-toggle.scss +14 -0
- package/theme/overrides/_button.scss +140 -0
- package/theme/overrides/_card.scss +34 -0
- package/theme/overrides/_carousel.scss +13 -0
- package/theme/overrides/_checkbox.scss +49 -0
- package/theme/overrides/_chips.scss +42 -0
- package/theme/overrides/_datepicker.scss +10 -0
- package/theme/overrides/_dialogs.scss +118 -0
- package/theme/overrides/_divider.scss +9 -0
- package/theme/overrides/_drag-and-drop.scss +74 -0
- package/theme/overrides/_expansion.scss +51 -0
- package/theme/overrides/_fab.scss +45 -0
- package/theme/overrides/_form-field.scss +223 -0
- package/theme/overrides/_icon-button.scss +24 -0
- package/theme/overrides/_icon.scss +97 -0
- package/theme/overrides/_input.scss +18 -0
- package/theme/overrides/_layout.scss +35 -0
- package/theme/overrides/_menu.scss +45 -0
- package/theme/overrides/_option.scss +15 -0
- package/theme/overrides/_panel.scss +59 -0
- package/theme/overrides/_progress-bar.scss +29 -0
- package/theme/overrides/_radio.scss +16 -0
- package/theme/overrides/_select.scss +124 -0
- package/theme/overrides/_sidenav.scss +13 -0
- package/theme/overrides/_slide-toggle.scss +53 -0
- package/theme/overrides/_stepper.scss +196 -0
- package/theme/overrides/_stickers.scss +13 -0
- package/theme/overrides/_table.scss +115 -0
- package/theme/overrides/_tabs.scss +20 -0
- package/theme/overrides/_toast.scss +16 -0
- package/theme/overrides/_toc.scss +26 -0
- package/theme/overrides/_toolbar.scss +26 -0
- package/theme/overrides/_tooltip.scss +19 -0
- package/theme/palettes/_palette.scss +189 -0
- package/theme/utilities/_animations.scss +54 -0
- package/theme/utilities/_container.scss +14 -0
- package/theme/utilities/_fonts.scss +170 -0
- package/theme/utilities/_grid.scss +75 -0
- package/theme/utilities/_media.scss +33 -0
- package/theme/utilities/_palettes.scss +120 -0
- package/theme/utilities/_spacing.scss +86 -0
- package/theme/utilities/_tokens.scss +123 -0
- package/theme/utilities/_utilities.scss +351 -0
- package/theme/utilities/_variables.scss +42 -0
- package/types/onemrvapublic-design-system-flag-icon.d.ts +18 -0
- package/types/onemrvapublic-design-system-layout.d.ts +305 -0
- package/{mat-address/index.d.ts → types/onemrvapublic-design-system-mat-address.d.ts} +8 -8
- package/types/onemrvapublic-design-system-mat-avatar.d.ts +67 -0
- package/{mat-breadcrumb/index.d.ts → types/onemrvapublic-design-system-mat-breadcrumb.d.ts} +8 -6
- package/types/onemrvapublic-design-system-mat-carousel.d.ts +52 -0
- package/types/onemrvapublic-design-system-mat-choice-chip.d.ts +23 -0
- package/types/onemrvapublic-design-system-mat-copy-to-clipboard.d.ts +25 -0
- package/types/onemrvapublic-design-system-mat-country-item.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-empty-row.d.ts +18 -0
- package/{mat-file-upload/index.d.ts → types/onemrvapublic-design-system-mat-file-upload.d.ts} +53 -51
- package/types/onemrvapublic-design-system-mat-input-address.d.ts +32 -0
- package/{mat-input-birthplace/index.d.ts → types/onemrvapublic-design-system-mat-input-birthplace.d.ts} +10 -10
- package/{mat-input-country/index.d.ts → types/onemrvapublic-design-system-mat-input-country.d.ts} +2 -2
- package/types/onemrvapublic-design-system-mat-input-enterprise-number.d.ts +37 -0
- package/{mat-input-iban/index.d.ts → types/onemrvapublic-design-system-mat-input-iban.d.ts} +12 -13
- package/{mat-input-phone/index.d.ts → types/onemrvapublic-design-system-mat-input-phone.d.ts} +12 -12
- package/types/onemrvapublic-design-system-mat-message-box.d.ts +29 -0
- package/types/onemrvapublic-design-system-mat-multi-select.d.ts +57 -0
- package/types/onemrvapublic-design-system-mat-navigation.d.ts +55 -0
- package/types/onemrvapublic-design-system-mat-notification.d.ts +23 -0
- package/types/onemrvapublic-design-system-mat-paginator.d.ts +58 -0
- package/types/onemrvapublic-design-system-mat-panel.d.ts +66 -0
- package/types/onemrvapublic-design-system-mat-pop-over.d.ts +40 -0
- package/types/onemrvapublic-design-system-mat-progress-bar.d.ts +16 -0
- package/{mat-select-search/index.d.ts → types/onemrvapublic-design-system-mat-select-search.d.ts} +35 -35
- package/types/onemrvapublic-design-system-mat-selectable-box.d.ts +26 -0
- package/{mat-side-menu/index.d.ts → types/onemrvapublic-design-system-mat-side-menu.d.ts} +6 -6
- package/types/onemrvapublic-design-system-mat-skeleton.d.ts +82 -0
- package/{mat-spinner/index.d.ts → types/onemrvapublic-design-system-mat-spinner.d.ts} +3 -4
- package/{mat-stepper/index.d.ts → types/onemrvapublic-design-system-mat-stepper.d.ts} +3 -6
- package/types/onemrvapublic-design-system-mat-table-of-content.d.ts +85 -0
- package/types/onemrvapublic-design-system-mat-task-list.d.ts +56 -0
- package/{mat-timepicker/index.d.ts → types/onemrvapublic-design-system-mat-timepicker.d.ts} +50 -66
- package/types/onemrvapublic-design-system-mat-tooltip.d.ts +40 -0
- package/types/onemrvapublic-design-system-page-error.d.ts +29 -0
- package/{page-not-found/index.d.ts → types/onemrvapublic-design-system-page-not-found.d.ts} +6 -6
- package/{shared/index.d.ts → types/onemrvapublic-design-system-shared.d.ts} +47 -71
- package/flag-icon/index.d.ts +0 -18
- package/layout/index.d.ts +0 -295
- package/mat-avatar/index.d.ts +0 -187
- package/mat-carousel/index.d.ts +0 -52
- package/mat-choice-chip/index.d.ts +0 -21
- package/mat-copy-to-clipboard/index.d.ts +0 -25
- package/mat-country-item/index.d.ts +0 -10
- package/mat-empty-row/index.d.ts +0 -19
- package/mat-input-address/index.d.ts +0 -32
- package/mat-input-enterprise-number/index.d.ts +0 -37
- package/mat-message-box/index.d.ts +0 -101
- package/mat-multi-select/index.d.ts +0 -57
- package/mat-navigation/index.d.ts +0 -54
- package/mat-notification/index.d.ts +0 -43
- package/mat-paginator/index.d.ts +0 -58
- package/mat-panel/index.d.ts +0 -66
- package/mat-pop-over/index.d.ts +0 -40
- package/mat-progress-bar/index.d.ts +0 -18
- package/mat-selectable-box/index.d.ts +0 -29
- package/mat-skeleton/index.d.ts +0 -100
- package/mat-table-of-content/index.d.ts +0 -84
- package/mat-task-list/index.d.ts +0 -57
- package/mat-tooltip/index.d.ts +0 -40
- package/page-error/index.d.ts +0 -34
- /package/{mat-datepicker-header/index.d.ts → types/onemrvapublic-design-system-mat-datepicker-header.d.ts} +0 -0
- /package/{mat-sticker/index.d.ts → types/onemrvapublic-design-system-mat-sticker.d.ts} +0 -0
- /package/{mat-toast/index.d.ts → types/onemrvapublic-design-system-mat-toast.d.ts} +0 -0
- /package/{utils/index.d.ts → types/onemrvapublic-design-system-utils.d.ts} +0 -0
- /package/{index.d.ts → types/onemrvapublic-design-system.d.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, Injectable,
|
|
3
|
-
import { Subject, takeUntil,
|
|
2
|
+
import { signal, Injectable, model, inject, computed, effect, Component, ChangeDetectorRef, input, viewChild, TemplateRef, contentChildren, Pipe, DestroyRef, ViewContainerRef, DOCUMENT, Directive, contentChild, output, isDevMode, NgModule } from '@angular/core';
|
|
3
|
+
import { Subject, takeUntil, BehaviorSubject } from 'rxjs';
|
|
4
4
|
import { BreakpointObserver, Breakpoints, LayoutModule } from '@angular/cdk/layout';
|
|
5
|
-
import { NgTemplateOutlet,
|
|
5
|
+
import { NgTemplateOutlet, DOCUMENT as DOCUMENT$1, CommonModule } from '@angular/common';
|
|
6
6
|
import * as i2$1 from '@angular/material/sidenav';
|
|
7
7
|
import { MatDrawer, MatDrawerContainer, MatSidenavModule } from '@angular/material/sidenav';
|
|
8
8
|
import { ONEMRVA_THEME_CLASS, OnemRvaCDNService, OnemRvaSizeDirective, OnemRvaColorDirective } from '@onemrvapublic/design-system/shared';
|
|
@@ -48,10 +48,10 @@ class OnemrvaLeftSidenavService {
|
|
|
48
48
|
reset() {
|
|
49
49
|
this.items.set(this.originalItems);
|
|
50
50
|
}
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
52
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaLeftSidenavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
52
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaLeftSidenavService, providedIn: 'root' }); }
|
|
53
53
|
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaLeftSidenavService, decorators: [{
|
|
55
55
|
type: Injectable,
|
|
56
56
|
args: [{
|
|
57
57
|
providedIn: 'root',
|
|
@@ -59,56 +59,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
59
59
|
}] });
|
|
60
60
|
|
|
61
61
|
class LayoutLeftSidenavComponent {
|
|
62
|
-
set items(value) {
|
|
63
|
-
this._items = value ?? [];
|
|
64
|
-
this.leftSidenavService.setOriginal(this._items);
|
|
65
|
-
}
|
|
66
|
-
get items() {
|
|
67
|
-
return this._items;
|
|
68
|
-
}
|
|
69
62
|
constructor() {
|
|
70
|
-
this.
|
|
71
|
-
this._isHidden = false;
|
|
63
|
+
this.items = model([], ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
72
64
|
this.leftSidenavService = inject(OnemrvaLeftSidenavService);
|
|
65
|
+
this.isHidden = computed(() => this.leftSidenavService.items().length === 0, ...(ngDevMode ? [{ debugName: "isHidden" }] : []));
|
|
73
66
|
effect(() => {
|
|
74
|
-
this.
|
|
67
|
+
this.leftSidenavService.setOriginal(this.items());
|
|
75
68
|
});
|
|
76
69
|
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutLeftSidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: LayoutLeftSidenavComponent, isStandalone: true, selector: "onemrva-layout-left-sidenav", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange" }, host: { properties: { "class.hidden": "isHidden()" } }, ngImport: i0, template: "@if (leftSidenavService.items().length > 0) {\n <onemrva-mat-navigation [items]=\"leftSidenavService.items()\" />\n} @else {\n <ng-content />\n}\n", styles: [":host{display:flex;overflow-y:hidden;max-height:calc(100vh - var(--layout-header-height))}\n"], dependencies: [{ kind: "component", type: OnemrvaMatNavigationComponent, selector: "onemrva-mat-navigation", inputs: ["items", "level", "translate"] }] }); }
|
|
79
72
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutLeftSidenavComponent, decorators: [{
|
|
81
74
|
type: Component,
|
|
82
|
-
args: [{ selector: 'onemrva-layout-left-sidenav', imports: [OnemrvaMatNavigationComponent], standalone: true,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
type: HostBinding,
|
|
87
|
-
args: ['class.hidden']
|
|
88
|
-
}] } });
|
|
75
|
+
args: [{ selector: 'onemrva-layout-left-sidenav', imports: [OnemrvaMatNavigationComponent], standalone: true, host: {
|
|
76
|
+
'[class.hidden]': 'isHidden()',
|
|
77
|
+
}, template: "@if (leftSidenavService.items().length > 0) {\n <onemrva-mat-navigation [items]=\"leftSidenavService.items()\" />\n} @else {\n <ng-content />\n}\n", styles: [":host{display:flex;overflow-y:hidden;max-height:calc(100vh - var(--layout-header-height))}\n"] }]
|
|
78
|
+
}], ctorParameters: () => [], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }, { type: i0.Output, args: ["itemsChange"] }] } });
|
|
89
79
|
|
|
90
80
|
class LayoutSubrouteComponent {
|
|
91
81
|
constructor() {
|
|
92
82
|
this.cd = inject(ChangeDetectorRef);
|
|
93
83
|
this.router = inject(Router);
|
|
84
|
+
this.customNgClass = input(...(ngDevMode ? [undefined, { debugName: "customNgClass" }] : []));
|
|
85
|
+
this.template = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
86
|
+
this.routerLink = input(...(ngDevMode ? [undefined, { debugName: "routerLink" }] : []));
|
|
87
|
+
this.routerLinkActiveOptions = input(...(ngDevMode ? [undefined, { debugName: "routerLinkActiveOptions" }] : []));
|
|
88
|
+
this.dataCy = input(...(ngDevMode ? [undefined, { debugName: "dataCy" }] : []));
|
|
89
|
+
this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
|
|
90
|
+
this.icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
|
|
91
|
+
this.subroutes = contentChildren(LayoutSubrouteComponent, ...(ngDevMode ? [{ debugName: "subroutes" }] : []));
|
|
94
92
|
}
|
|
95
93
|
ngAfterViewInit() {
|
|
96
|
-
if (this.label === undefined) {
|
|
97
|
-
console.error('ONEM/RVA DESIGN SYSTEM ERROR : Since 20.1.0 , you must add a label attribute to the onemrva-layout-route', this.routerLink);
|
|
94
|
+
if (this.label() === undefined) {
|
|
95
|
+
console.error('ONEM/RVA DESIGN SYSTEM ERROR : Since 20.1.0 , you must add a label attribute to the onemrva-layout-route', this.routerLink());
|
|
98
96
|
}
|
|
99
97
|
this.cd.detectChanges();
|
|
100
98
|
}
|
|
101
99
|
hasSubroutes() {
|
|
102
|
-
|
|
100
|
+
const subroutes = this.subroutes();
|
|
101
|
+
return subroutes !== undefined && subroutes.length > 0;
|
|
103
102
|
}
|
|
104
103
|
hasActiveSubroute() {
|
|
105
|
-
return this.subroutes?.some(x => this.isActiveRoute(x)) ?? false;
|
|
104
|
+
return this.subroutes()?.some(x => this.isActiveRoute(x)) ?? false;
|
|
106
105
|
}
|
|
107
106
|
isActiveRoute(subroute) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
const routerLinkValue = subroute.routerLink();
|
|
108
|
+
if (routerLinkValue) {
|
|
109
|
+
const routerLink = Array.isArray(routerLinkValue)
|
|
110
|
+
? this.router.createUrlTree(routerLinkValue)
|
|
111
|
+
: this.router.createUrlTree([routerLinkValue]);
|
|
112
112
|
return this.router.isActive(routerLink, {
|
|
113
113
|
paths: 'exact',
|
|
114
114
|
queryParams: 'exact',
|
|
@@ -120,62 +120,55 @@ class LayoutSubrouteComponent {
|
|
|
120
120
|
return false;
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutSubrouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: LayoutSubrouteComponent, isStandalone: true, selector: "onemrva-layout-subroute", inputs: { customNgClass: { classPropertyName: "customNgClass", publicName: "customNgClass", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActiveOptions: { classPropertyName: "routerLinkActiveOptions", publicName: "routerLinkActiveOptions", isSignal: true, isRequired: false, transformFunction: null }, dataCy: { classPropertyName: "dataCy", publicName: "dataCy", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "subroutes", predicate: LayoutSubrouteComponent, isSignal: true }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template>\n {{ label() }}\n</ng-template>\n" }); }
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutSubrouteComponent, decorators: [{
|
|
127
127
|
type: Component,
|
|
128
|
-
args: [{ selector: 'onemrva-layout-subroute', standalone: true, template: "<ng-template>\n {{ label }}\n</ng-template>\n" }]
|
|
129
|
-
}], propDecorators: { customNgClass: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], template: [{
|
|
132
|
-
type: ViewChild,
|
|
133
|
-
args: [TemplateRef]
|
|
134
|
-
}], routerLink: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}], routerLinkActiveOptions: [{
|
|
137
|
-
type: Input
|
|
138
|
-
}], dataCy: [{
|
|
139
|
-
type: Input
|
|
140
|
-
}], label: [{
|
|
141
|
-
type: Input
|
|
142
|
-
}], icon: [{
|
|
143
|
-
type: Input
|
|
144
|
-
}], subroutes: [{
|
|
145
|
-
type: ContentChildren,
|
|
146
|
-
args: [LayoutSubrouteComponent]
|
|
147
|
-
}] } });
|
|
128
|
+
args: [{ selector: 'onemrva-layout-subroute', standalone: true, template: "<ng-template>\n {{ label() }}\n</ng-template>\n" }]
|
|
129
|
+
}], propDecorators: { customNgClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "customNgClass", required: false }] }], template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }], routerLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLink", required: false }] }], routerLinkActiveOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLinkActiveOptions", required: false }] }], dataCy: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataCy", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], subroutes: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => LayoutSubrouteComponent), { isSignal: true }] }] } });
|
|
148
130
|
|
|
149
131
|
class LayoutRouteComponent {
|
|
150
132
|
constructor() {
|
|
151
|
-
this.
|
|
133
|
+
this.customNgClass = input(...(ngDevMode ? [undefined, { debugName: "customNgClass" }] : []));
|
|
134
|
+
this.template = viewChild('navTpl', ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
135
|
+
this.routerLink = input(...(ngDevMode ? [undefined, { debugName: "routerLink" }] : []));
|
|
136
|
+
this.routerLinkActiveOptions = input(...(ngDevMode ? [undefined, { debugName: "routerLinkActiveOptions" }] : []));
|
|
137
|
+
this.dataCy = input(...(ngDevMode ? [undefined, { debugName: "dataCy" }] : []));
|
|
138
|
+
this.baseRouteForActiveMenu = input(...(ngDevMode ? [undefined, { debugName: "baseRouteForActiveMenu" }] : []));
|
|
139
|
+
this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
|
|
140
|
+
this.icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
|
|
141
|
+
this.subroutes = contentChildren(LayoutSubrouteComponent, ...(ngDevMode ? [{ debugName: "subroutes" }] : []));
|
|
152
142
|
this.cd = inject(ChangeDetectorRef);
|
|
153
143
|
this.router = inject(Router);
|
|
154
144
|
}
|
|
155
145
|
hasSubroutes() {
|
|
156
|
-
|
|
146
|
+
const subroutes = this.subroutes();
|
|
147
|
+
return subroutes !== undefined && subroutes.length > 0;
|
|
157
148
|
}
|
|
158
149
|
ngAfterViewInit() {
|
|
159
150
|
this.cd.detectChanges();
|
|
160
|
-
if (this.label === undefined) {
|
|
161
|
-
console.error('ONEM/RVA DESIGN SYSTEM ERROR : Since 20.1.0 , you must add a label attribute to the onemrva-layout-route', this.routerLink);
|
|
151
|
+
if (this.label() === undefined) {
|
|
152
|
+
console.error('ONEM/RVA DESIGN SYSTEM ERROR : Since 20.1.0 , you must add a label attribute to the onemrva-layout-route', this.routerLink());
|
|
162
153
|
}
|
|
163
154
|
}
|
|
164
155
|
isRouteActive() {
|
|
165
|
-
|
|
166
|
-
|
|
156
|
+
const routerLink = this.routerLink();
|
|
157
|
+
if (routerLink === null || routerLink === undefined) {
|
|
158
|
+
const baseRouteForActiveMenu = this.baseRouteForActiveMenu();
|
|
159
|
+
if (baseRouteForActiveMenu) {
|
|
167
160
|
const currentRoute = this.router.url;
|
|
168
|
-
const isParentRoutePresent = new RegExp(
|
|
169
|
-
const isExactRoutePresent = new RegExp(
|
|
161
|
+
const isParentRoutePresent = new RegExp(baseRouteForActiveMenu + '/').test(currentRoute);
|
|
162
|
+
const isExactRoutePresent = new RegExp(baseRouteForActiveMenu + '$').test(currentRoute);
|
|
170
163
|
return isParentRoutePresent || isExactRoutePresent;
|
|
171
164
|
}
|
|
172
165
|
}
|
|
173
166
|
return false;
|
|
174
167
|
}
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
176
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
169
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: LayoutRouteComponent, isStandalone: true, selector: "onemrva-layout-route", inputs: { customNgClass: { classPropertyName: "customNgClass", publicName: "customNgClass", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActiveOptions: { classPropertyName: "routerLinkActiveOptions", publicName: "routerLinkActiveOptions", isSignal: true, isRequired: false, transformFunction: null }, dataCy: { classPropertyName: "dataCy", publicName: "dataCy", isSignal: true, isRequired: false, transformFunction: null }, baseRouteForActiveMenu: { classPropertyName: "baseRouteForActiveMenu", publicName: "baseRouteForActiveMenu", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "subroutes", predicate: LayoutSubrouteComponent, isSignal: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["navTpl"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #navTpl>\n @if (!hasSubroutes()) {\n {{ label() }}\n } @else if (hasSubroutes()) {\n <span\n class=\"subroutes-menu-trigger\"\n [matMenuTriggerFor]=\"menu\"\n role=\"button\"\n >\n <span>\n {{ label() }}\n </span>\n <mat-icon>expand_more</mat-icon>\n </span>\n <mat-menu #menu class=\"layout-menu-offset\">\n @for (e of subroutes(); track e.routerLink()) {\n @if (!e.hasSubroutes()) {\n <button\n mat-menu-item\n [routerLink]=\"e.routerLink()\"\n routerLinkActive=\"active\"\n [attr.data-cy]=\"e.dataCy()\"\n >\n @if (e.template(); as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\" />\n }\n </button>\n }\n @if (e.hasSubroutes()) {\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"submenu\"\n [class.active]=\"e.hasActiveSubroute()\"\n [attr.data-cy]=\"e.dataCy()\"\n aria-haspopup=\"true\"\n >\n @if (e.template(); as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\" />\n }\n </button>\n <mat-menu #submenu>\n @for (es of e.subroutes(); track es.routerLink()) {\n <button\n mat-menu-item\n [routerLink]=\"es.routerLink()\"\n routerLinkActive=\"active\"\n >\n @if (es.template(); as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\" />\n }\n </button>\n }\n </mat-menu>\n }\n }\n </mat-menu>\n }\n</ng-template>\n", styles: [".subroutes-menu-trigger{display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
177
170
|
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutRouteComponent, decorators: [{
|
|
179
172
|
type: Component,
|
|
180
173
|
args: [{ selector: 'onemrva-layout-route', standalone: true, imports: [
|
|
181
174
|
MatIcon,
|
|
@@ -185,77 +178,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
185
178
|
MatMenuItem,
|
|
186
179
|
RouterLinkActive,
|
|
187
180
|
NgTemplateOutlet,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}], propDecorators: { customNgClass: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], template: [{
|
|
193
|
-
type: ViewChild,
|
|
194
|
-
args: ['navTpl']
|
|
195
|
-
}], routerLink: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], routerLinkActiveOptions: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], dataCy: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], baseRouteForActiveMenu: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], label: [{
|
|
204
|
-
type: Input
|
|
205
|
-
}], icon: [{
|
|
206
|
-
type: Input
|
|
207
|
-
}], subroutes: [{
|
|
208
|
-
type: ContentChildren,
|
|
209
|
-
args: [LayoutSubrouteComponent]
|
|
210
|
-
}] } });
|
|
181
|
+
], template: "<ng-template #navTpl>\n @if (!hasSubroutes()) {\n {{ label() }}\n } @else if (hasSubroutes()) {\n <span\n class=\"subroutes-menu-trigger\"\n [matMenuTriggerFor]=\"menu\"\n role=\"button\"\n >\n <span>\n {{ label() }}\n </span>\n <mat-icon>expand_more</mat-icon>\n </span>\n <mat-menu #menu class=\"layout-menu-offset\">\n @for (e of subroutes(); track e.routerLink()) {\n @if (!e.hasSubroutes()) {\n <button\n mat-menu-item\n [routerLink]=\"e.routerLink()\"\n routerLinkActive=\"active\"\n [attr.data-cy]=\"e.dataCy()\"\n >\n @if (e.template(); as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\" />\n }\n </button>\n }\n @if (e.hasSubroutes()) {\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"submenu\"\n [class.active]=\"e.hasActiveSubroute()\"\n [attr.data-cy]=\"e.dataCy()\"\n aria-haspopup=\"true\"\n >\n @if (e.template(); as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\" />\n }\n </button>\n <mat-menu #submenu>\n @for (es of e.subroutes(); track es.routerLink()) {\n <button\n mat-menu-item\n [routerLink]=\"es.routerLink()\"\n routerLinkActive=\"active\"\n >\n @if (es.template(); as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\" />\n }\n </button>\n }\n </mat-menu>\n }\n }\n </mat-menu>\n }\n</ng-template>\n", styles: [".subroutes-menu-trigger{display:flex;align-items:center}\n"] }]
|
|
182
|
+
}], propDecorators: { customNgClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "customNgClass", required: false }] }], template: [{ type: i0.ViewChild, args: ['navTpl', { isSignal: true }] }], routerLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLink", required: false }] }], routerLinkActiveOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLinkActiveOptions", required: false }] }], dataCy: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataCy", required: false }] }], baseRouteForActiveMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseRouteForActiveMenu", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], subroutes: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => LayoutSubrouteComponent), { isSignal: true }] }] } });
|
|
211
183
|
|
|
212
184
|
class LayoutContentComponent {
|
|
213
185
|
constructor() {
|
|
186
|
+
this.customNgClass = input(...(ngDevMode ? [undefined, { debugName: "customNgClass" }] : []));
|
|
187
|
+
this.template = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
214
188
|
this.cd = inject(ChangeDetectorRef);
|
|
215
189
|
}
|
|
216
190
|
ngAfterViewInit() {
|
|
217
191
|
this.cd.detectChanges();
|
|
218
192
|
}
|
|
219
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
220
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
193
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
194
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: LayoutContentComponent, isStandalone: true, selector: "onemrva-layout-content", inputs: { customNgClass: { classPropertyName: "customNgClass", publicName: "customNgClass", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true }); }
|
|
221
195
|
}
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutContentComponent, decorators: [{
|
|
223
197
|
type: Component,
|
|
224
198
|
args: [{
|
|
225
199
|
selector: 'onemrva-layout-content',
|
|
226
|
-
template: '<ng-template><ng-content
|
|
200
|
+
template: '<ng-template><ng-content /></ng-template>',
|
|
227
201
|
standalone: true,
|
|
228
202
|
}]
|
|
229
|
-
}], propDecorators: { customNgClass: [{
|
|
230
|
-
type: Input
|
|
231
|
-
}], template: [{
|
|
232
|
-
type: ViewChild,
|
|
233
|
-
args: [TemplateRef]
|
|
234
|
-
}] } });
|
|
203
|
+
}], propDecorators: { customNgClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "customNgClass", required: false }] }], template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
235
204
|
|
|
236
205
|
class LayoutTitleComponent {
|
|
237
206
|
constructor() {
|
|
238
207
|
this.cd = inject(ChangeDetectorRef);
|
|
208
|
+
this.customNgClass = input(...(ngDevMode ? [undefined, { debugName: "customNgClass" }] : []));
|
|
209
|
+
this.template = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
239
210
|
}
|
|
240
211
|
ngAfterViewInit() {
|
|
241
212
|
this.cd.detectChanges();
|
|
242
213
|
}
|
|
243
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
244
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
215
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: LayoutTitleComponent, isStandalone: true, selector: "onemrva-layout-title", inputs: { customNgClass: { classPropertyName: "customNgClass", publicName: "customNgClass", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true }); }
|
|
245
216
|
}
|
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutTitleComponent, decorators: [{
|
|
247
218
|
type: Component,
|
|
248
219
|
args: [{
|
|
249
220
|
selector: 'onemrva-layout-title',
|
|
250
|
-
template: '<ng-template><ng-content
|
|
221
|
+
template: '<ng-template><ng-content /></ng-template>',
|
|
251
222
|
standalone: true,
|
|
252
223
|
}]
|
|
253
|
-
}], propDecorators: { customNgClass: [{
|
|
254
|
-
type: Input
|
|
255
|
-
}], template: [{
|
|
256
|
-
type: ViewChild,
|
|
257
|
-
args: [TemplateRef]
|
|
258
|
-
}] } });
|
|
224
|
+
}], propDecorators: { customNgClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "customNgClass", required: false }] }], template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
259
225
|
|
|
260
226
|
var Environment;
|
|
261
227
|
(function (Environment) {
|
|
@@ -266,53 +232,50 @@ var Environment;
|
|
|
266
232
|
})(Environment || (Environment = {}));
|
|
267
233
|
|
|
268
234
|
class LayoutFooterComponent {
|
|
269
|
-
|
|
270
|
-
|
|
235
|
+
constructor() {
|
|
236
|
+
this.template = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
237
|
+
}
|
|
238
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
239
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: LayoutFooterComponent, isStandalone: true, selector: "onemrva-layout-footer", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true }); }
|
|
271
240
|
}
|
|
272
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutFooterComponent, decorators: [{
|
|
273
242
|
type: Component,
|
|
274
243
|
args: [{
|
|
275
244
|
selector: 'onemrva-layout-footer',
|
|
276
|
-
template: '<ng-template><ng-content
|
|
245
|
+
template: '<ng-template><ng-content /></ng-template>',
|
|
277
246
|
standalone: true,
|
|
278
247
|
}]
|
|
279
|
-
}], propDecorators: { template: [{
|
|
280
|
-
type: ViewChild,
|
|
281
|
-
args: [TemplateRef]
|
|
282
|
-
}] } });
|
|
248
|
+
}], propDecorators: { template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
283
249
|
|
|
284
250
|
class LayoutLoginMenuComponent {
|
|
285
251
|
constructor() {
|
|
286
252
|
this.cd = inject(ChangeDetectorRef);
|
|
253
|
+
this.customNgClass = input(...(ngDevMode ? [undefined, { debugName: "customNgClass" }] : []));
|
|
254
|
+
this.template = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
287
255
|
}
|
|
288
256
|
ngAfterViewInit() {
|
|
289
257
|
this.cd.detectChanges();
|
|
290
258
|
}
|
|
291
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
292
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
259
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutLoginMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
260
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: LayoutLoginMenuComponent, isStandalone: true, selector: "onemrva-layout-login-menu", inputs: { customNgClass: { classPropertyName: "customNgClass", publicName: "customNgClass", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true }); }
|
|
293
261
|
}
|
|
294
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
262
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutLoginMenuComponent, decorators: [{
|
|
295
263
|
type: Component,
|
|
296
264
|
args: [{
|
|
297
265
|
selector: 'onemrva-layout-login-menu',
|
|
298
|
-
template: '<ng-template><ng-content
|
|
266
|
+
template: '<ng-template><ng-content /></ng-template>',
|
|
299
267
|
standalone: true,
|
|
300
268
|
}]
|
|
301
|
-
}], propDecorators: { customNgClass: [{
|
|
302
|
-
type: Input
|
|
303
|
-
}], template: [{
|
|
304
|
-
type: ViewChild,
|
|
305
|
-
args: [TemplateRef]
|
|
306
|
-
}] } });
|
|
269
|
+
}], propDecorators: { customNgClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "customNgClass", required: false }] }], template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
307
270
|
|
|
308
271
|
class StripHtmlPipe {
|
|
309
272
|
transform(value) {
|
|
310
273
|
return value.replace(/<.*?>/g, ''); // replace tags
|
|
311
274
|
}
|
|
312
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
313
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
275
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: StripHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
276
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: StripHtmlPipe, isStandalone: true, name: "striphtml" }); }
|
|
314
277
|
}
|
|
315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: StripHtmlPipe, decorators: [{
|
|
316
279
|
type: Pipe,
|
|
317
280
|
args: [{
|
|
318
281
|
name: 'striphtml',
|
|
@@ -347,10 +310,10 @@ class DrawerHostDirective {
|
|
|
347
310
|
this.bodyClass();
|
|
348
311
|
});
|
|
349
312
|
}
|
|
350
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
351
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
313
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DrawerHostDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
314
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: DrawerHostDirective, isStandalone: true, selector: "[drawerhost]", ngImport: i0 }); }
|
|
352
315
|
}
|
|
353
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DrawerHostDirective, decorators: [{
|
|
354
317
|
type: Directive,
|
|
355
318
|
args: [{
|
|
356
319
|
selector: '[drawerhost]',
|
|
@@ -390,10 +353,10 @@ class OnemrvaDrawerService {
|
|
|
390
353
|
setDrawer(drawer) {
|
|
391
354
|
this.drawer = drawer;
|
|
392
355
|
}
|
|
393
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
394
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
356
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
357
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaDrawerService, providedIn: 'root' }); }
|
|
395
358
|
}
|
|
396
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaDrawerService, decorators: [{
|
|
397
360
|
type: Injectable,
|
|
398
361
|
args: [{
|
|
399
362
|
providedIn: 'root',
|
|
@@ -402,20 +365,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
402
365
|
|
|
403
366
|
class LayoutSidenavComponent {
|
|
404
367
|
constructor() {
|
|
405
|
-
this.
|
|
368
|
+
this.isSmall = input.required(...(ngDevMode ? [{ debugName: "isSmall" }] : []));
|
|
369
|
+
this.routes = input(...(ngDevMode ? [undefined, { debugName: "routes" }] : []));
|
|
370
|
+
this.languages = input([], ...(ngDevMode ? [{ debugName: "languages" }] : []));
|
|
406
371
|
this.items = [];
|
|
407
372
|
this.translateService = inject(TranslateService);
|
|
408
373
|
this.document = inject(DOCUMENT$1);
|
|
409
374
|
this.drawerService = inject(OnemrvaDrawerService);
|
|
410
375
|
}
|
|
411
376
|
ngOnInit() {
|
|
412
|
-
this.currentLanguage = this.languages.filter(l => l.code == this.translateService.currentLang)[0];
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
377
|
+
this.currentLanguage = this.languages().filter(l => l.code == this.translateService.currentLang)[0];
|
|
378
|
+
const routes = this.routes();
|
|
379
|
+
if (routes)
|
|
380
|
+
this.helpMenuOpen = routes.map(route => route.hasSubroutes()
|
|
381
|
+
? ['out', ...route.subroutes().map(() => 'out')]
|
|
416
382
|
: ['in']);
|
|
417
383
|
// Replace your existing items population with:
|
|
418
|
-
this.items = this.populateItemsRecursively(
|
|
384
|
+
this.items = this.populateItemsRecursively(routes);
|
|
419
385
|
}
|
|
420
386
|
changeLanguage(event) {
|
|
421
387
|
this.translateService.use(event.value.code);
|
|
@@ -431,14 +397,16 @@ class LayoutSidenavComponent {
|
|
|
431
397
|
const routeArray = Array.isArray(routes) ? routes : routes.toArray();
|
|
432
398
|
for (const route of routeArray) {
|
|
433
399
|
const navItem = {
|
|
434
|
-
routerLink: typeof route.routerLink === 'string'
|
|
400
|
+
routerLink: typeof route.routerLink() === 'string'
|
|
401
|
+
? route.routerLink()
|
|
402
|
+
: undefined,
|
|
435
403
|
label: this.getRouteLabel(route),
|
|
436
404
|
icon: route.icon, // LayoutSubrouteComponent doesn't have icon, so cast to any
|
|
437
|
-
dataCy: route.dataCy,
|
|
405
|
+
dataCy: route.dataCy(),
|
|
438
406
|
};
|
|
439
407
|
// Recursively populate children if subroutes exist
|
|
440
|
-
if (route.hasSubroutes() && route.subroutes) {
|
|
441
|
-
navItem.children = this.populateItemsRecursively(route.subroutes);
|
|
408
|
+
if (route.hasSubroutes() && route.subroutes()) {
|
|
409
|
+
navItem.children = this.populateItemsRecursively(route.subroutes());
|
|
442
410
|
}
|
|
443
411
|
items.push(navItem);
|
|
444
412
|
}
|
|
@@ -446,13 +414,13 @@ class LayoutSidenavComponent {
|
|
|
446
414
|
}
|
|
447
415
|
getRouteLabel(route) {
|
|
448
416
|
// Check if it's a LayoutRouteComponent with label property
|
|
449
|
-
if ('label' in route && route.label) {
|
|
450
|
-
return route.label;
|
|
417
|
+
if ('label' in route && route.label()) {
|
|
418
|
+
return route.label() || 'Unnamed Route';
|
|
451
419
|
}
|
|
452
420
|
return 'Unnamed Route';
|
|
453
421
|
}
|
|
454
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
455
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
422
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutSidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
423
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: LayoutSidenavComponent, isStandalone: true, selector: "onemrva-layout-sidenav", inputs: { isSmall: { classPropertyName: "isSmall", publicName: "isSmall", isSignal: true, isRequired: true, transformFunction: null }, routes: { classPropertyName: "routes", publicName: "routes", isSignal: true, isRequired: false, transformFunction: null }, languages: { classPropertyName: "languages", publicName: "languages", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (\n isSmall() &&\n (routes()?.toArray()?.length || (languages() && languages().length > 1))\n) {\n <div class=\"sidebar\">\n @if (isSmall() && routes()?.toArray()?.length) {\n <div class=\"navigation\">\n <div class=\"close-button\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"close()\"\n data-cy=\"smallDeviceMenu\"\n attr.aria-label=\"{{ 'layout.menu' | translate }}\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <onemrva-mat-navigation [items]=\"items\" />\n </div>\n @if (languages() && languages().length > 1) {\n <div class=\"language-selector\">\n <mat-form-field>\n <mat-select\n [ngModel]=\"currentLanguage\"\n (selectionChange)=\"changeLanguage($event)\"\n >\n @for (lang of languages(); track lang.code) {\n <mat-option\n [value]=\"lang\"\n [attr.data-cy]=\"'language_' + lang.code\"\n >\n {{ lang.label }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n }\n </div>\n}\n", styles: [":host .close-button{display:flex;justify-content:flex-end;padding:var(--spacer)}:host .mobile-menu-item{display:flex;width:100%;background:var(--mat-sys-background);padding:var(--spacer);border:none;box-shadow:none;font-size:1.2rem;align-items:center;text-align:left}:host .mobile-menu-item:active,:host .mobile-menu-item.active{border-right:4px solid var(--mat-sys-secondary);font-weight:700!important}:host .mobile-menu-item mat-icon{margin-left:4px}:host .sidebar{overflow:scroll;display:flex;flex-direction:column;justify-content:space-between;height:100vh}:host .sidebar .language-selector mat-form-field{width:100%}:host .sidebar .language-selector{margin:var(--double-spacer);bottom:0}\n"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: OnemrvaMatNavigationComponent, selector: "onemrva-mat-navigation", inputs: ["items", "level", "translate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [
|
|
456
424
|
trigger('slideInOut', [
|
|
457
425
|
state('in', style({
|
|
458
426
|
overflow: 'hidden',
|
|
@@ -468,7 +436,7 @@ class LayoutSidenavComponent {
|
|
|
468
436
|
]),
|
|
469
437
|
] }); }
|
|
470
438
|
}
|
|
471
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
439
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutSidenavComponent, decorators: [{
|
|
472
440
|
type: Component,
|
|
473
441
|
args: [{ selector: 'onemrva-layout-sidenav', animations: [
|
|
474
442
|
trigger('slideInOut', [
|
|
@@ -492,68 +460,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
492
460
|
MatFormFieldModule,
|
|
493
461
|
MatSelectModule,
|
|
494
462
|
FormsModule,
|
|
495
|
-
], template: "@if (\n isSmall
|
|
496
|
-
}], propDecorators: { isSmall: [{
|
|
497
|
-
type: Input
|
|
498
|
-
}], routes: [{
|
|
499
|
-
type: Input
|
|
500
|
-
}], languages: [{
|
|
501
|
-
type: Input
|
|
502
|
-
}] } });
|
|
463
|
+
], template: "@if (\n isSmall() &&\n (routes()?.toArray()?.length || (languages() && languages().length > 1))\n) {\n <div class=\"sidebar\">\n @if (isSmall() && routes()?.toArray()?.length) {\n <div class=\"navigation\">\n <div class=\"close-button\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"close()\"\n data-cy=\"smallDeviceMenu\"\n attr.aria-label=\"{{ 'layout.menu' | translate }}\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <onemrva-mat-navigation [items]=\"items\" />\n </div>\n @if (languages() && languages().length > 1) {\n <div class=\"language-selector\">\n <mat-form-field>\n <mat-select\n [ngModel]=\"currentLanguage\"\n (selectionChange)=\"changeLanguage($event)\"\n >\n @for (lang of languages(); track lang.code) {\n <mat-option\n [value]=\"lang\"\n [attr.data-cy]=\"'language_' + lang.code\"\n >\n {{ lang.label }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n }\n </div>\n}\n", styles: [":host .close-button{display:flex;justify-content:flex-end;padding:var(--spacer)}:host .mobile-menu-item{display:flex;width:100%;background:var(--mat-sys-background);padding:var(--spacer);border:none;box-shadow:none;font-size:1.2rem;align-items:center;text-align:left}:host .mobile-menu-item:active,:host .mobile-menu-item.active{border-right:4px solid var(--mat-sys-secondary);font-weight:700!important}:host .mobile-menu-item mat-icon{margin-left:4px}:host .sidebar{overflow:scroll;display:flex;flex-direction:column;justify-content:space-between;height:100vh}:host .sidebar .language-selector mat-form-field{width:100%}:host .sidebar .language-selector{margin:var(--double-spacer);bottom:0}\n"] }]
|
|
464
|
+
}], propDecorators: { isSmall: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSmall", required: true }] }], routes: [{ type: i0.Input, args: [{ isSignal: true, alias: "routes", required: false }] }], languages: [{ type: i0.Input, args: [{ isSignal: true, alias: "languages", required: false }] }] } });
|
|
503
465
|
|
|
504
466
|
class LayoutAfterNavComponent {
|
|
505
467
|
constructor() {
|
|
506
468
|
this.cd = inject(ChangeDetectorRef);
|
|
469
|
+
this.customNgClass = input(...(ngDevMode ? [undefined, { debugName: "customNgClass" }] : []));
|
|
470
|
+
this.template = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
507
471
|
}
|
|
508
472
|
ngAfterViewInit() {
|
|
509
473
|
this.cd.detectChanges();
|
|
510
474
|
}
|
|
511
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
512
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
475
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutAfterNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
476
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: LayoutAfterNavComponent, isStandalone: true, selector: "onemrva-layout-after-nav", inputs: { customNgClass: { classPropertyName: "customNgClass", publicName: "customNgClass", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true }); }
|
|
513
477
|
}
|
|
514
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
478
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutAfterNavComponent, decorators: [{
|
|
515
479
|
type: Component,
|
|
516
480
|
args: [{
|
|
517
481
|
selector: 'onemrva-layout-after-nav',
|
|
518
|
-
template: '<ng-template><ng-content
|
|
482
|
+
template: '<ng-template><ng-content /></ng-template>',
|
|
519
483
|
standalone: true,
|
|
520
484
|
}]
|
|
521
|
-
}], propDecorators: { customNgClass: [{
|
|
522
|
-
type: Input
|
|
523
|
-
}], template: [{
|
|
524
|
-
type: ViewChild,
|
|
525
|
-
args: [TemplateRef]
|
|
526
|
-
}] } });
|
|
485
|
+
}], propDecorators: { customNgClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "customNgClass", required: false }] }], template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
527
486
|
|
|
528
487
|
class LayoutComponent {
|
|
529
488
|
toggleTheme(newTheme) {
|
|
530
|
-
|
|
489
|
+
// Force light theme only - dark mode is disabled
|
|
490
|
+
this.activeTheme.set('light');
|
|
531
491
|
// Find all elements with onemrva-theme class
|
|
532
492
|
const overlayThemeDivs = document.querySelectorAll('.' + this.onemrvaClass);
|
|
533
493
|
overlayThemeDivs.forEach(div => {
|
|
534
494
|
// Remove existing theme classes
|
|
535
495
|
div.classList.remove('light-theme', 'dark-theme');
|
|
536
|
-
//
|
|
537
|
-
|
|
538
|
-
div.classList.add(`${newTheme}-theme`);
|
|
539
|
-
}
|
|
496
|
+
// Always apply light theme
|
|
497
|
+
div.classList.add('light-theme');
|
|
540
498
|
});
|
|
541
499
|
}
|
|
542
500
|
constructor() {
|
|
543
|
-
this.
|
|
544
|
-
this.
|
|
545
|
-
this.
|
|
501
|
+
this.routes = contentChildren(LayoutRouteComponent, ...(ngDevMode ? [{ debugName: "routes" }] : []));
|
|
502
|
+
this.title = contentChild(LayoutTitleComponent, ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
503
|
+
this.loginMenu = contentChild(LayoutLoginMenuComponent, ...(ngDevMode ? [{ debugName: "loginMenu" }] : []));
|
|
504
|
+
this.content = contentChild(LayoutContentComponent, ...(ngDevMode ? [{ debugName: "content" }] : []));
|
|
505
|
+
this.afterNav = contentChild(LayoutAfterNavComponent, ...(ngDevMode ? [{ debugName: "afterNav" }] : []));
|
|
506
|
+
this.footer = contentChild(LayoutFooterComponent, ...(ngDevMode ? [{ debugName: "footer" }] : []));
|
|
507
|
+
this.logo = input('', ...(ngDevMode ? [{ debugName: "logo" }] : [])); // custom logo, empty string will show default onem/rva/neo/lfa localised logo
|
|
508
|
+
this.logoFinal = computed(() => {
|
|
509
|
+
if (this.logo() === '') {
|
|
510
|
+
return this.cdn.getImg(`logo/logo_onem_rva.svg`);
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
return this.logo();
|
|
514
|
+
}
|
|
515
|
+
}, ...(ngDevMode ? [{ debugName: "logoFinal" }] : []));
|
|
516
|
+
this.languages = input([], ...(ngDevMode ? [{ debugName: "languages" }] : [])); // list of languages
|
|
517
|
+
this.environment = input(...(ngDevMode ? [undefined, { debugName: "environment" }] : [])); // possible environment to show on the frontend LOCAL, TEST, VAL, PROD
|
|
518
|
+
this.logoRedictionUrl = input('', ...(ngDevMode ? [{ debugName: "logoRedictionUrl" }] : [])); // value for routerLink from logo. "" by default. Deactivated when set to null
|
|
546
519
|
this.selectedIndex = 0;
|
|
547
520
|
this.destroyNotifier$ = new Subject();
|
|
548
|
-
this.profile = null; // To be defined for application with authentication
|
|
549
|
-
this.login =
|
|
550
|
-
this.logout =
|
|
521
|
+
this.profile = input(null, ...(ngDevMode ? [{ debugName: "profile" }] : [])); // To be defined for application with authentication
|
|
522
|
+
this.login = output();
|
|
523
|
+
this.logout = output();
|
|
551
524
|
// isLogoutUsed: boolean = false;
|
|
552
525
|
this.env = Environment;
|
|
553
526
|
this.isSmall = true;
|
|
554
|
-
this.
|
|
555
|
-
this.
|
|
556
|
-
this.
|
|
527
|
+
this.drawer = viewChild.required(MatDrawer);
|
|
528
|
+
this.drawerHost = viewChild.required(DrawerHostDirective);
|
|
529
|
+
this.id = input('main', ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
530
|
+
this.role = input('main', ...(ngDevMode ? [{ debugName: "role" }] : []));
|
|
531
|
+
this.showThemeSwitcher = input(false, ...(ngDevMode ? [{ debugName: "showThemeSwitcher" }] : []));
|
|
557
532
|
this.onemrvaClass = inject(ONEMRVA_THEME_CLASS);
|
|
558
533
|
this.map = {
|
|
559
534
|
NL: {
|
|
@@ -573,9 +548,9 @@ class LayoutComponent {
|
|
|
573
548
|
imgCode: 'gb-eng',
|
|
574
549
|
},
|
|
575
550
|
};
|
|
576
|
-
this.activeTheme = signal('
|
|
551
|
+
this.activeTheme = signal('light', ...(ngDevMode ? [{ debugName: "activeTheme" }] : []));
|
|
577
552
|
this.color = computed(() => {
|
|
578
|
-
switch (this.environment) {
|
|
553
|
+
switch (this.environment()) {
|
|
579
554
|
case Environment.LOCAL:
|
|
580
555
|
return OnemrvaMatColor.ACCENT;
|
|
581
556
|
case Environment.TEST:
|
|
@@ -586,6 +561,7 @@ class LayoutComponent {
|
|
|
586
561
|
return OnemrvaMatColor.PRIMARY;
|
|
587
562
|
}
|
|
588
563
|
}, ...(ngDevMode ? [{ debugName: "color" }] : []));
|
|
564
|
+
this.OnemrvaMatColor = OnemrvaMatColor;
|
|
589
565
|
this.translateService = inject(TranslateService);
|
|
590
566
|
this.cdn = inject(OnemRvaCDNService);
|
|
591
567
|
this.cd = inject(ChangeDetectorRef);
|
|
@@ -593,9 +569,9 @@ class LayoutComponent {
|
|
|
593
569
|
this.document = inject(DOCUMENT$1);
|
|
594
570
|
this.drawerService = inject(OnemrvaDrawerService);
|
|
595
571
|
this.leftSidenavService = inject(OnemrvaLeftSidenavService);
|
|
596
|
-
if (this.languages.length === 0) {
|
|
572
|
+
if (this.languages().length === 0) {
|
|
597
573
|
this.translateService.getLangs().forEach(value => {
|
|
598
|
-
this.languages.push({
|
|
574
|
+
this.languages().push({
|
|
599
575
|
code: value,
|
|
600
576
|
label: this.map[value.toUpperCase()].label || '',
|
|
601
577
|
imgCode: this.map[value.toUpperCase()].imgCode ||
|
|
@@ -605,7 +581,7 @@ class LayoutComponent {
|
|
|
605
581
|
}
|
|
606
582
|
}
|
|
607
583
|
ngOnInit() {
|
|
608
|
-
this.selectedIndex = this.languages.findIndex(l => l.code === this.translateService.currentLang);
|
|
584
|
+
this.selectedIndex = this.languages().findIndex(l => l.code === this.translateService.currentLang);
|
|
609
585
|
this.document.documentElement.lang = this.translateService.currentLang;
|
|
610
586
|
this.breakpointObserver
|
|
611
587
|
.observe([Breakpoints.XSmall, Breakpoints.Small])
|
|
@@ -619,20 +595,13 @@ class LayoutComponent {
|
|
|
619
595
|
this.isSmall = false;
|
|
620
596
|
}
|
|
621
597
|
});
|
|
622
|
-
if (this.logo === '') {
|
|
623
|
-
this.translateService.onLangChange
|
|
624
|
-
.pipe(startWith({ lang: this.translateService.currentLang }), takeUntil(this.destroyNotifier$))
|
|
625
|
-
.subscribe(lang => {
|
|
626
|
-
this.logo = this.cdn.getImg(`logo/logo_${lang.lang?.toLocaleLowerCase()}.svg`);
|
|
627
|
-
});
|
|
628
|
-
}
|
|
629
598
|
this.translateService.onLangChange
|
|
630
599
|
.pipe(takeUntil(this.destroyNotifier$))
|
|
631
600
|
.subscribe(event => {
|
|
632
|
-
this.selectedIndex = this.languages.findIndex(lang => lang.code === event.lang);
|
|
601
|
+
this.selectedIndex = this.languages().findIndex(lang => lang.code === event.lang);
|
|
633
602
|
});
|
|
634
|
-
this.drawerService.host = this.drawerHost;
|
|
635
|
-
this.drawerService.setDrawer(this.drawer);
|
|
603
|
+
this.drawerService.host = this.drawerHost();
|
|
604
|
+
this.drawerService.setDrawer(this.drawer());
|
|
636
605
|
}
|
|
637
606
|
get currentLanguage() {
|
|
638
607
|
return this.translateService.currentLang || '';
|
|
@@ -641,10 +610,6 @@ class LayoutComponent {
|
|
|
641
610
|
if (isDevMode()) {
|
|
642
611
|
this.cd.detectChanges();
|
|
643
612
|
}
|
|
644
|
-
// this.drawer.closedStart
|
|
645
|
-
// .pipe(takeUntil(this.destroyNotifier$))
|
|
646
|
-
// .subscribe(() => {
|
|
647
|
-
// });
|
|
648
613
|
}
|
|
649
614
|
languageImg(language) {
|
|
650
615
|
const lang = language?.code || this.translateService.getCurrentLang();
|
|
@@ -656,32 +621,30 @@ class LayoutComponent {
|
|
|
656
621
|
this.destroyNotifier$.complete();
|
|
657
622
|
}
|
|
658
623
|
doLogout() {
|
|
659
|
-
this.logout.
|
|
624
|
+
this.logout.emit();
|
|
660
625
|
}
|
|
661
626
|
doLogin() {
|
|
662
|
-
this.login.
|
|
627
|
+
this.login.emit();
|
|
663
628
|
}
|
|
664
629
|
changeLanguage(langCode) {
|
|
665
630
|
this.translateService.use(langCode);
|
|
666
631
|
this.document.documentElement.lang = langCode;
|
|
667
632
|
}
|
|
668
633
|
toggleSideNav() {
|
|
669
|
-
const componentRef = this.drawerHost.createComponent(LayoutSidenavComponent);
|
|
634
|
+
const componentRef = this.drawerHost().createComponent(LayoutSidenavComponent);
|
|
670
635
|
this.drawerService.size.set('');
|
|
671
|
-
componentRef.
|
|
672
|
-
componentRef.
|
|
673
|
-
componentRef.
|
|
636
|
+
componentRef.setInput('isSmall', this.isSmall);
|
|
637
|
+
componentRef.setInput('languages', this.languages());
|
|
638
|
+
componentRef.setInput('routes', this.routes());
|
|
674
639
|
this.drawerService.toggle(true);
|
|
675
640
|
}
|
|
676
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
677
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: LayoutComponent, isStandalone: true, selector: "onemrva-layout", inputs: { logo: "logo", languages: "languages", environment: "environment", logoRedictionUrl: "logoRedictionUrl", profile: "profile", id: "id", role: "role", showThemeSwitcher: "showThemeSwitcher" }, outputs: { login: "login", logout: "logout" }, queries: [{ propertyName: "title", first: true, predicate: LayoutTitleComponent, descendants: true }, { propertyName: "loginMenu", first: true, predicate: LayoutLoginMenuComponent, descendants: true }, { propertyName: "content", first: true, predicate: LayoutContentComponent, descendants: true }, { propertyName: "afterNav", first: true, predicate: LayoutAfterNavComponent, descendants: true }, { propertyName: "footer", first: true, predicate: LayoutFooterComponent, descendants: true }, { propertyName: "routes", predicate: LayoutRouteComponent }], viewQueries: [{ propertyName: "drawer", first: true, predicate: MatDrawer, descendants: true, static: true }, { propertyName: "drawerHost", first: true, predicate: DrawerHostDirective, descendants: true, static: true }], ngImport: i0, template: "<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default',\n }\"\n />\n <div\n class=\"application-title ml-m\"\n [ngClass]=\"{ 'small-screen': isSmall }\"\n >\n @if (title?.template; as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n }\n\n @if (\n environment &&\n (environment === env.LOCAL ||\n environment === env.TEST ||\n environment === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes?.toArray(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [attr.data-ci]=\"e.dataCy\"\n [attr.data-cy]=\"e.dataCy\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n @if (showThemeSwitcher) {\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav?.template; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n }\n\n @if (profile !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n ></mat-divider>\n }\n @if (profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n @if (!profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile.firstName }} {{ profile.lastName }}\n </div>\n <mat-divider\n class=\"mx-m\"\n style=\"align-self: stretch\"\n ></mat-divider>\n\n @if (loginMenu?.template; as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages && languages.length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages; track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav></onemrva-layout-left-sidenav>\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\"></ng-content>\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer?.template; as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment && (environment === env.LOCAL || environment === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [":host{position:relative}:host .onemrva-layout-container{width:100%;box-sizing:border-box}:host a:active{outline:none}:host header mat-toolbar{z-index:400;border-bottom:1px solid var(--mat-sys-outline-variant);--mat-toolbar-standard-height: var(--layout-header-height);--mat-tab-divider-color: transparent;--mat-tab-container-height: var(--layout-header-height);--mat-tab-label-text-font: var(--text-font);--mat-tab-label-text-weight: 400;--mat-tab-active-indicator-height: 8px;--mat-tab-active-hover-indicator-color: var(--mat-sys-tertiary);--mat-tab-active-focus-indicator-color: var(--mat-sys-tertiary);--mat-tab-inactive-ripple-color: var(--mat-sys-surface-container-low)}:host header mat-toolbar a[mat-tab-link]:hover{background:var(--mat-sys-surface-container-low)}:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-before,:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-after{display:none!important}:host header mat-toolbar .mdc-tab{padding:0 16px;min-width:unset}:host header mat-toolbar .logo{height:42px}:host header mat-toolbar .application-title{display:flex;align-items:center;font-size:1.3rem;font-weight:700;height:42px;line-height:42px;color:var(--mat-sys-tertiary)}:host header mat-toolbar .application-title onemrva-mat-sticker{text-transform:capitalize}:host header mat-toolbar .mat-mdc-tab-nav-bar{text-transform:uppercase}:host #accessibility_fab{position:fixed;bottom:16px;left:16px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:100vw;height:4px;font-weight:700;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0 0 no-repeat padding-box;display:block}:host .environment.TEST,:host .environment.VAL{background-color:var(--mat-sys-primary);display:block}:host mat-drawer-content{display:grid;grid-template-areas:\"header\" \"main\"}@media screen and (min-width:640px){:host mat-drawer-content{grid-template-columns:240px 1fr;grid-template-areas:\"header header\" \"left-sidenav main\"}}:host mat-drawer-content header{grid-area:header}:host mat-drawer-content onemrva-layout-left-sidenav{grid-area:left-sidenav;border-right:1px solid var(--mat-sys-outline-variant)}@media screen and (max-width:640px){:host mat-drawer-content onemrva-layout-left-sidenav{display:none}}:host mat-drawer-content #language-trigger{display:flex}:host mat-drawer-content #language-trigger__child{border:1px solid var(--mat-sys-outline-variant);border-radius:500px}:host mat-drawer-content #language-trigger:hover{background:transparent}:host mat-drawer-content #language-trigger img{width:22px;height:26px}:host mat-drawer-content main{display:block;grid-area:main;position:relative;width:100%;overflow-y:auto;max-height:calc(100vh - var(--layout-header-height));max-width:calc(100vw - 240px)}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{width:95%;max-width:1400px;margin-left:auto;margin-right:auto;min-height:calc(100vh - var(--layout-header-height))}:host mat-drawer-content.no-sidenav{grid-template-columns:1fr;grid-template-areas:\"header\" \"main\"}:host mat-drawer-content.no-sidenav main{max-width:100vw}:host mat-drawer{max-height:100vh;overflow:hidden}:host mat-drawer:not(.side-menu){padding:var(--double-spacer);background:var(--mat-sys-surface-container-high)}:host mat-drawer.xsmall{width:20%}:host mat-drawer.small{width:30%}:host mat-drawer.medium{width:50%}:host mat-drawer.large{width:60%}:host mat-drawer.xlarge{width:70%}:host mat-drawer.xxlarge{width:90%}@media screen and (max-width:640px){:host mat-drawer{width:99%!important}}nav a.disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: OnemrvaMatAvatarModule }, { kind: "component", type: i1$1.OnemrvaMatAvatarComponent, selector: "onemrva-mat-avatar", inputs: ["id", "roundShape", "initials", "text", "icon", "src"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "directive", type: DrawerHostDirective, selector: "[drawerhost]" }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: OnemRvaSizeDirective, selector: "mat-icon[size], onemrva-mat-skeleton[size], onemrva-mat-avatar[size], button[size]", inputs: ["size"] }, { kind: "directive", type: OnemRvaColorDirective, selector: "onemrva-mat-selectable-box[color],div[color],onemrva-mat-avatar[color],mat-card[color],mat-toolbar[color],onemrva-mat-spinner[color],onemrva-mat-notification[color],onemrva-mat-task-list[color],onemrva-mat-sticker[color],onemrva-mat-panel[color],onemrva-mat-task[color],onemrva-mat-choice-chip[color],mat-form-field[color],button[color],mat-icon[color],mat-chip[color],mat-chip-option[color]mat-hint[color],", inputs: ["color"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i2$1.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: LayoutLeftSidenavComponent, selector: "onemrva-layout-left-sidenav", inputs: ["items"] }, { kind: "component", type: OnemrvaMatStickerComponent, selector: "onemrva-mat-sticker" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
641
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
642
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: LayoutComponent, isStandalone: true, selector: "onemrva-layout", inputs: { logo: { classPropertyName: "logo", publicName: "logo", isSignal: true, isRequired: false, transformFunction: null }, languages: { classPropertyName: "languages", publicName: "languages", isSignal: true, isRequired: false, transformFunction: null }, environment: { classPropertyName: "environment", publicName: "environment", isSignal: true, isRequired: false, transformFunction: null }, logoRedictionUrl: { classPropertyName: "logoRedictionUrl", publicName: "logoRedictionUrl", isSignal: true, isRequired: false, transformFunction: null }, profile: { classPropertyName: "profile", publicName: "profile", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, showThemeSwitcher: { classPropertyName: "showThemeSwitcher", publicName: "showThemeSwitcher", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { login: "login", logout: "logout" }, queries: [{ propertyName: "routes", predicate: LayoutRouteComponent, isSignal: true }, { propertyName: "title", first: true, predicate: LayoutTitleComponent, descendants: true, isSignal: true }, { propertyName: "loginMenu", first: true, predicate: LayoutLoginMenuComponent, descendants: true, isSignal: true }, { propertyName: "content", first: true, predicate: LayoutContentComponent, descendants: true, isSignal: true }, { propertyName: "afterNav", first: true, predicate: LayoutAfterNavComponent, descendants: true, isSignal: true }, { propertyName: "footer", first: true, predicate: LayoutFooterComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "drawer", first: true, predicate: MatDrawer, descendants: true, isSignal: true }, { propertyName: "drawerHost", first: true, predicate: DrawerHostDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost />\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment()\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logoFinal()\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl() !== null ? logoRedictionUrl() : undefined\n \"\n [style.cursor]=\"logoRedictionUrl() !== null ? 'pointer' : 'default'\"\n />\n <div class=\"application-title ml-m\" [class.small-screen]=\"isSmall\">\n @if (title()?.template(); as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\" />\n }\n\n @if (\n environment() &&\n (environment() === env.LOCAL ||\n environment() === env.TEST ||\n environment() === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment()?.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink()\"\n [attr.data-ci]=\"e.dataCy()\"\n [attr.data-cy]=\"e.dataCy()\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template(); as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\" />\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel />\n\n @if (showThemeSwitcher()) {\n <button\n mat-icon-button\n data-cy=\"theme-toggle\"\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n data-cy=\"theme-toggle\"\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n data-cy=\"theme-toggle\"\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n data-cy=\"theme-toggle\"\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav()?.template(); as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\" />\n }\n\n @if (profile() !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n />\n }\n @if (profile()?.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile()?.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n />\n }\n @if (!profile()?.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n [color]=\"OnemrvaMatColor.PRIMARY\"\n size=\"xsmall\"\n class=\"clickable\"\n />\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile()?.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile()?.firstName }} {{ profile()?.lastName }}\n </div>\n <mat-divider class=\"mx-m\" style=\"align-self: stretch\" />\n\n @if (loginMenu()?.template(); as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\" />\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes().length || (languages() && languages().length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages() && languages().length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages(); track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav />\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\" />\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content()?.template()\" />\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer()?.template(); as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\" />\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment() &&\n (environment() === env.LOCAL || environment() === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [":host{position:relative}:host .onemrva-layout-container{width:100%;box-sizing:border-box}:host a:active{outline:none}:host header mat-toolbar{z-index:400;border-bottom:1px solid var(--mat-sys-outline-variant)}:host header mat-toolbar a[mat-tab-link]:hover{background:var(--mat-sys-surface-container-low)}:host header mat-toolbar{--mat-toolbar-standard-height: var(--layout-header-height);--mat-tab-divider-color: transparent;--mat-tab-container-height: var(--layout-header-height);--mat-tab-label-text-font: var(--text-font);--mat-tab-label-text-weight: 400;--mat-tab-active-indicator-height: 8px;--mat-tab-active-hover-indicator-color: var(--mat-sys-tertiary);--mat-tab-active-focus-indicator-color: var(--mat-sys-tertiary);--mat-tab-inactive-ripple-color: var(--mat-sys-surface-container-low)}:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-before,:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-after{display:none!important}:host header mat-toolbar .mdc-tab{padding:0 16px;min-width:unset}:host header mat-toolbar .logo{height:42px}:host header mat-toolbar .application-title{display:flex;align-items:center;font-size:1.3rem;font-weight:700;height:42px;line-height:42px;color:var(--mat-sys-tertiary)}:host header mat-toolbar .application-title onemrva-mat-sticker{text-transform:capitalize}:host header mat-toolbar .mat-mdc-tab-nav-bar{text-transform:uppercase}:host #accessibility_fab{position:fixed;bottom:16px;left:16px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:100vw;height:4px;font-weight:700;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0 0 no-repeat padding-box;display:block}:host .environment.TEST,:host .environment.VAL{background-color:var(--mat-sys-primary);display:block}:host mat-drawer-content{display:grid;grid-template-areas:\"header\" \"main\"}@media screen and (min-width:640px){:host mat-drawer-content{grid-template-columns:240px 1fr;grid-template-areas:\"header header\" \"left-sidenav main\"}}:host mat-drawer-content header{grid-area:header}:host mat-drawer-content onemrva-layout-left-sidenav{grid-area:left-sidenav;border-right:1px solid var(--mat-sys-outline-variant)}@media screen and (max-width:640px){:host mat-drawer-content onemrva-layout-left-sidenav{display:none}}:host mat-drawer-content #language-trigger{display:flex}:host mat-drawer-content #language-trigger__child{border:1px solid var(--mat-sys-outline-variant);border-radius:500px}:host mat-drawer-content #language-trigger:hover{background:transparent}:host mat-drawer-content #language-trigger img{width:22px;height:26px}:host mat-drawer-content main{display:block;grid-area:main;position:relative;width:100%;overflow-y:auto;max-height:calc(100vh - var(--layout-header-height));max-width:calc(100vw - 240px)}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{width:95%;max-width:1400px;margin-left:auto;margin-right:auto;min-height:calc(100vh - var(--layout-header-height))}:host mat-drawer-content.no-sidenav{grid-template-columns:1fr;grid-template-areas:\"header\" \"main\"}:host mat-drawer-content.no-sidenav main{max-width:100vw}:host mat-drawer{max-height:100vh;overflow:hidden}:host mat-drawer:not(.side-menu){padding:var(--double-spacer);background:var(--mat-sys-surface-container-high)}:host mat-drawer.xsmall{width:20%}:host mat-drawer.small{width:30%}:host mat-drawer.medium{width:50%}:host mat-drawer.large{width:60%}:host mat-drawer.xlarge{width:70%}:host mat-drawer.xxlarge{width:90%}@media screen and (max-width:640px){:host mat-drawer{width:99%!important}}nav a.disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: OnemrvaMatAvatarModule }, { kind: "component", type: i1$1.OnemrvaMatAvatarComponent, selector: "onemrva-mat-avatar", inputs: ["id", "roundShape", "initials", "text", "icon", "src"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "directive", type: DrawerHostDirective, selector: "[drawerhost]" }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: OnemRvaSizeDirective, selector: "mat-icon[size], onemrva-mat-skeleton[size], onemrva-mat-avatar[size], button[size]", inputs: ["size"] }, { kind: "directive", type: OnemRvaColorDirective, selector: "onemrva-mat-selectable-box[color],div[color],onemrva-mat-avatar[color],mat-card[color],mat-toolbar[color],onemrva-mat-spinner[color],onemrva-mat-notification[color],onemrva-mat-task-list[color],onemrva-mat-sticker[color],onemrva-mat-panel[color],onemrva-mat-task[color],onemrva-mat-choice-chip[color],mat-form-field[color],button[color],mat-icon[color],mat-chip[color],mat-chip-option[color]mat-hint[color],", inputs: ["color"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i2$1.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: LayoutLeftSidenavComponent, selector: "onemrva-layout-left-sidenav", inputs: ["items"], outputs: ["itemsChange"] }, { kind: "component", type: OnemrvaMatStickerComponent, selector: "onemrva-mat-sticker" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
678
643
|
}
|
|
679
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
644
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
680
645
|
type: Component,
|
|
681
646
|
args: [{ selector: 'onemrva-layout', standalone: true, imports: [
|
|
682
647
|
RouterLink,
|
|
683
|
-
NgStyle,
|
|
684
|
-
NgClass,
|
|
685
648
|
MatToolbar,
|
|
686
649
|
MatDrawerContainer,
|
|
687
650
|
MatTabNav,
|
|
@@ -707,115 +670,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
707
670
|
MatSidenavModule,
|
|
708
671
|
LayoutLeftSidenavComponent,
|
|
709
672
|
OnemrvaMatStickerComponent,
|
|
710
|
-
], template: "<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default',\n }\"\n />\n <div\n class=\"application-title ml-m\"\n [ngClass]=\"{ 'small-screen': isSmall }\"\n >\n @if (title?.template; as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n }\n\n @if (\n environment &&\n (environment === env.LOCAL ||\n environment === env.TEST ||\n environment === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes?.toArray(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [attr.data-ci]=\"e.dataCy\"\n [attr.data-cy]=\"e.dataCy\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n @if (showThemeSwitcher) {\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav?.template; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n }\n\n @if (profile !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n ></mat-divider>\n }\n @if (profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n @if (!profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile.firstName }} {{ profile.lastName }}\n </div>\n <mat-divider\n class=\"mx-m\"\n style=\"align-self: stretch\"\n ></mat-divider>\n\n @if (loginMenu?.template; as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages && languages.length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages; track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav></onemrva-layout-left-sidenav>\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\"></ng-content>\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer?.template; as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment && (environment === env.LOCAL || environment === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [":host{position:relative}:host .onemrva-layout-container{width:100%;box-sizing:border-box}:host a:active{outline:none}:host header mat-toolbar{z-index:400;border-bottom:1px solid var(--mat-sys-outline-variant);--mat-toolbar-standard-height: var(--layout-header-height);--mat-tab-divider-color: transparent;--mat-tab-container-height: var(--layout-header-height);--mat-tab-label-text-font: var(--text-font);--mat-tab-label-text-weight: 400;--mat-tab-active-indicator-height: 8px;--mat-tab-active-hover-indicator-color: var(--mat-sys-tertiary);--mat-tab-active-focus-indicator-color: var(--mat-sys-tertiary);--mat-tab-inactive-ripple-color: var(--mat-sys-surface-container-low)}:host header mat-toolbar a[mat-tab-link]:hover{background:var(--mat-sys-surface-container-low)}:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-before,:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-after{display:none!important}:host header mat-toolbar .mdc-tab{padding:0 16px;min-width:unset}:host header mat-toolbar .logo{height:42px}:host header mat-toolbar .application-title{display:flex;align-items:center;font-size:1.3rem;font-weight:700;height:42px;line-height:42px;color:var(--mat-sys-tertiary)}:host header mat-toolbar .application-title onemrva-mat-sticker{text-transform:capitalize}:host header mat-toolbar .mat-mdc-tab-nav-bar{text-transform:uppercase}:host #accessibility_fab{position:fixed;bottom:16px;left:16px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:100vw;height:4px;font-weight:700;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0 0 no-repeat padding-box;display:block}:host .environment.TEST,:host .environment.VAL{background-color:var(--mat-sys-primary);display:block}:host mat-drawer-content{display:grid;grid-template-areas:\"header\" \"main\"}@media screen and (min-width:640px){:host mat-drawer-content{grid-template-columns:240px 1fr;grid-template-areas:\"header header\" \"left-sidenav main\"}}:host mat-drawer-content header{grid-area:header}:host mat-drawer-content onemrva-layout-left-sidenav{grid-area:left-sidenav;border-right:1px solid var(--mat-sys-outline-variant)}@media screen and (max-width:640px){:host mat-drawer-content onemrva-layout-left-sidenav{display:none}}:host mat-drawer-content #language-trigger{display:flex}:host mat-drawer-content #language-trigger__child{border:1px solid var(--mat-sys-outline-variant);border-radius:500px}:host mat-drawer-content #language-trigger:hover{background:transparent}:host mat-drawer-content #language-trigger img{width:22px;height:26px}:host mat-drawer-content main{display:block;grid-area:main;position:relative;width:100%;overflow-y:auto;max-height:calc(100vh - var(--layout-header-height));max-width:calc(100vw - 240px)}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{width:95%;max-width:1400px;margin-left:auto;margin-right:auto;min-height:calc(100vh - var(--layout-header-height))}:host mat-drawer-content.no-sidenav{grid-template-columns:1fr;grid-template-areas:\"header\" \"main\"}:host mat-drawer-content.no-sidenav main{max-width:100vw}:host mat-drawer{max-height:100vh;overflow:hidden}:host mat-drawer:not(.side-menu){padding:var(--double-spacer);background:var(--mat-sys-surface-container-high)}:host mat-drawer.xsmall{width:20%}:host mat-drawer.small{width:30%}:host mat-drawer.medium{width:50%}:host mat-drawer.large{width:60%}:host mat-drawer.xlarge{width:70%}:host mat-drawer.xxlarge{width:90%}@media screen and (max-width:640px){:host mat-drawer{width:99%!important}}nav a.disabled{pointer-events:none}\n"] }]
|
|
711
|
-
}], ctorParameters: () => [], propDecorators: { routes: [{
|
|
712
|
-
type: ContentChildren,
|
|
713
|
-
args: [LayoutRouteComponent]
|
|
714
|
-
}], title: [{
|
|
715
|
-
type: ContentChild,
|
|
716
|
-
args: [LayoutTitleComponent]
|
|
717
|
-
}], loginMenu: [{
|
|
718
|
-
type: ContentChild,
|
|
719
|
-
args: [LayoutLoginMenuComponent]
|
|
720
|
-
}], content: [{
|
|
721
|
-
type: ContentChild,
|
|
722
|
-
args: [LayoutContentComponent]
|
|
723
|
-
}], afterNav: [{
|
|
724
|
-
type: ContentChild,
|
|
725
|
-
args: [LayoutAfterNavComponent]
|
|
726
|
-
}], footer: [{
|
|
727
|
-
type: ContentChild,
|
|
728
|
-
args: [LayoutFooterComponent]
|
|
729
|
-
}], logo: [{
|
|
730
|
-
type: Input
|
|
731
|
-
}], languages: [{
|
|
732
|
-
type: Input
|
|
733
|
-
}], environment: [{
|
|
734
|
-
type: Input
|
|
735
|
-
}], logoRedictionUrl: [{
|
|
736
|
-
type: Input
|
|
737
|
-
}], profile: [{
|
|
738
|
-
type: Input
|
|
739
|
-
}], login: [{
|
|
740
|
-
type: Output
|
|
741
|
-
}], logout: [{
|
|
742
|
-
type: Output
|
|
743
|
-
}], drawer: [{
|
|
744
|
-
type: ViewChild,
|
|
745
|
-
args: [MatDrawer, { static: true }]
|
|
746
|
-
}], drawerHost: [{
|
|
747
|
-
type: ViewChild,
|
|
748
|
-
args: [DrawerHostDirective, { static: true }]
|
|
749
|
-
}], id: [{
|
|
750
|
-
type: Input
|
|
751
|
-
}], role: [{
|
|
752
|
-
type: Input
|
|
753
|
-
}], showThemeSwitcher: [{
|
|
754
|
-
type: Input
|
|
755
|
-
}] } });
|
|
673
|
+
], template: "<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost />\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment()\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logoFinal()\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl() !== null ? logoRedictionUrl() : undefined\n \"\n [style.cursor]=\"logoRedictionUrl() !== null ? 'pointer' : 'default'\"\n />\n <div class=\"application-title ml-m\" [class.small-screen]=\"isSmall\">\n @if (title()?.template(); as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\" />\n }\n\n @if (\n environment() &&\n (environment() === env.LOCAL ||\n environment() === env.TEST ||\n environment() === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment()?.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink()\"\n [attr.data-ci]=\"e.dataCy()\"\n [attr.data-cy]=\"e.dataCy()\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template(); as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\" />\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel />\n\n @if (showThemeSwitcher()) {\n <button\n mat-icon-button\n data-cy=\"theme-toggle\"\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n data-cy=\"theme-toggle\"\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n data-cy=\"theme-toggle\"\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n data-cy=\"theme-toggle\"\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav()?.template(); as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\" />\n }\n\n @if (profile() !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n />\n }\n @if (profile()?.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile()?.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n />\n }\n @if (!profile()?.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n [color]=\"OnemrvaMatColor.PRIMARY\"\n size=\"xsmall\"\n class=\"clickable\"\n />\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile()?.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile()?.firstName }} {{ profile()?.lastName }}\n </div>\n <mat-divider class=\"mx-m\" style=\"align-self: stretch\" />\n\n @if (loginMenu()?.template(); as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\" />\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes().length || (languages() && languages().length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages() && languages().length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages(); track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav />\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\" />\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content()?.template()\" />\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer()?.template(); as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\" />\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment() &&\n (environment() === env.LOCAL || environment() === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [":host{position:relative}:host .onemrva-layout-container{width:100%;box-sizing:border-box}:host a:active{outline:none}:host header mat-toolbar{z-index:400;border-bottom:1px solid var(--mat-sys-outline-variant)}:host header mat-toolbar a[mat-tab-link]:hover{background:var(--mat-sys-surface-container-low)}:host header mat-toolbar{--mat-toolbar-standard-height: var(--layout-header-height);--mat-tab-divider-color: transparent;--mat-tab-container-height: var(--layout-header-height);--mat-tab-label-text-font: var(--text-font);--mat-tab-label-text-weight: 400;--mat-tab-active-indicator-height: 8px;--mat-tab-active-hover-indicator-color: var(--mat-sys-tertiary);--mat-tab-active-focus-indicator-color: var(--mat-sys-tertiary);--mat-tab-inactive-ripple-color: var(--mat-sys-surface-container-low)}:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-before,:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-after{display:none!important}:host header mat-toolbar .mdc-tab{padding:0 16px;min-width:unset}:host header mat-toolbar .logo{height:42px}:host header mat-toolbar .application-title{display:flex;align-items:center;font-size:1.3rem;font-weight:700;height:42px;line-height:42px;color:var(--mat-sys-tertiary)}:host header mat-toolbar .application-title onemrva-mat-sticker{text-transform:capitalize}:host header mat-toolbar .mat-mdc-tab-nav-bar{text-transform:uppercase}:host #accessibility_fab{position:fixed;bottom:16px;left:16px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:100vw;height:4px;font-weight:700;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0 0 no-repeat padding-box;display:block}:host .environment.TEST,:host .environment.VAL{background-color:var(--mat-sys-primary);display:block}:host mat-drawer-content{display:grid;grid-template-areas:\"header\" \"main\"}@media screen and (min-width:640px){:host mat-drawer-content{grid-template-columns:240px 1fr;grid-template-areas:\"header header\" \"left-sidenav main\"}}:host mat-drawer-content header{grid-area:header}:host mat-drawer-content onemrva-layout-left-sidenav{grid-area:left-sidenav;border-right:1px solid var(--mat-sys-outline-variant)}@media screen and (max-width:640px){:host mat-drawer-content onemrva-layout-left-sidenav{display:none}}:host mat-drawer-content #language-trigger{display:flex}:host mat-drawer-content #language-trigger__child{border:1px solid var(--mat-sys-outline-variant);border-radius:500px}:host mat-drawer-content #language-trigger:hover{background:transparent}:host mat-drawer-content #language-trigger img{width:22px;height:26px}:host mat-drawer-content main{display:block;grid-area:main;position:relative;width:100%;overflow-y:auto;max-height:calc(100vh - var(--layout-header-height));max-width:calc(100vw - 240px)}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{width:95%;max-width:1400px;margin-left:auto;margin-right:auto;min-height:calc(100vh - var(--layout-header-height))}:host mat-drawer-content.no-sidenav{grid-template-columns:1fr;grid-template-areas:\"header\" \"main\"}:host mat-drawer-content.no-sidenav main{max-width:100vw}:host mat-drawer{max-height:100vh;overflow:hidden}:host mat-drawer:not(.side-menu){padding:var(--double-spacer);background:var(--mat-sys-surface-container-high)}:host mat-drawer.xsmall{width:20%}:host mat-drawer.small{width:30%}:host mat-drawer.medium{width:50%}:host mat-drawer.large{width:60%}:host mat-drawer.xlarge{width:70%}:host mat-drawer.xxlarge{width:90%}@media screen and (max-width:640px){:host mat-drawer{width:99%!important}}nav a.disabled{pointer-events:none}\n"] }]
|
|
674
|
+
}], ctorParameters: () => [], propDecorators: { routes: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => LayoutRouteComponent), { isSignal: true }] }], title: [{ type: i0.ContentChild, args: [i0.forwardRef(() => LayoutTitleComponent), { isSignal: true }] }], loginMenu: [{ type: i0.ContentChild, args: [i0.forwardRef(() => LayoutLoginMenuComponent), { isSignal: true }] }], content: [{ type: i0.ContentChild, args: [i0.forwardRef(() => LayoutContentComponent), { isSignal: true }] }], afterNav: [{ type: i0.ContentChild, args: [i0.forwardRef(() => LayoutAfterNavComponent), { isSignal: true }] }], footer: [{ type: i0.ContentChild, args: [i0.forwardRef(() => LayoutFooterComponent), { isSignal: true }] }], logo: [{ type: i0.Input, args: [{ isSignal: true, alias: "logo", required: false }] }], languages: [{ type: i0.Input, args: [{ isSignal: true, alias: "languages", required: false }] }], environment: [{ type: i0.Input, args: [{ isSignal: true, alias: "environment", required: false }] }], logoRedictionUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "logoRedictionUrl", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], login: [{ type: i0.Output, args: ["login"] }], logout: [{ type: i0.Output, args: ["logout"] }], drawer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatDrawer), { isSignal: true }] }], drawerHost: [{ type: i0.ViewChild, args: [i0.forwardRef(() => DrawerHostDirective), { isSignal: true }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], showThemeSwitcher: [{ type: i0.Input, args: [{ isSignal: true, alias: "showThemeSwitcher", required: false }] }] } });
|
|
756
675
|
|
|
757
676
|
class LayoutSidenavTitleComponent {
|
|
758
|
-
|
|
759
|
-
|
|
677
|
+
constructor() {
|
|
678
|
+
this.template = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
679
|
+
}
|
|
680
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutSidenavTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
681
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: LayoutSidenavTitleComponent, isStandalone: true, selector: "onemrva-layout-sidenav-title", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
760
682
|
<ng-template>
|
|
761
|
-
<ng-content
|
|
683
|
+
<ng-content />
|
|
762
684
|
</ng-template>
|
|
763
685
|
`, isInline: true }); }
|
|
764
686
|
}
|
|
765
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
687
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutSidenavTitleComponent, decorators: [{
|
|
766
688
|
type: Component,
|
|
767
689
|
args: [{
|
|
768
690
|
selector: 'onemrva-layout-sidenav-title',
|
|
769
691
|
template: `
|
|
770
692
|
<ng-template>
|
|
771
|
-
<ng-content
|
|
693
|
+
<ng-content />
|
|
772
694
|
</ng-template>
|
|
773
695
|
`,
|
|
774
696
|
standalone: true,
|
|
775
697
|
}]
|
|
776
|
-
}], propDecorators: { template: [{
|
|
777
|
-
type: ViewChild,
|
|
778
|
-
args: [TemplateRef]
|
|
779
|
-
}] } });
|
|
698
|
+
}], propDecorators: { template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
780
699
|
|
|
781
700
|
class LayoutDrawerActionsComponent {
|
|
782
701
|
constructor() {
|
|
783
702
|
this.drawerService = inject(OnemrvaDrawerService);
|
|
784
703
|
}
|
|
785
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
786
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutDrawerActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
705
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: LayoutDrawerActionsComponent, isStandalone: true, selector: "onemrva-drawer-actions", ngImport: i0, template: "<ng-content />\n", styles: [":host{width:calc(100% - var(--double-spacer));display:block;padding:var(--spacer);text-align:right}\n"] }); }
|
|
787
706
|
}
|
|
788
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutDrawerActionsComponent, decorators: [{
|
|
789
708
|
type: Component,
|
|
790
|
-
args: [{ selector: 'onemrva-drawer-actions', standalone: true, template: "<ng-content
|
|
709
|
+
args: [{ selector: 'onemrva-drawer-actions', standalone: true, template: "<ng-content />\n", styles: [":host{width:calc(100% - var(--double-spacer));display:block;padding:var(--spacer);text-align:right}\n"] }]
|
|
791
710
|
}] });
|
|
792
711
|
|
|
793
712
|
class LayoutDrawerContentComponent {
|
|
794
713
|
constructor() {
|
|
795
714
|
this.drawerService = inject(OnemrvaDrawerService);
|
|
796
715
|
}
|
|
797
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
798
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
716
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutDrawerContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
717
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: LayoutDrawerContentComponent, isStandalone: true, selector: "onemrva-drawer-content", ngImport: i0, template: "<span><ng-content /></span>\n", styles: [":host{background-color:var(--mat-sys-surface);padding:23px 32px;margin:0 var(--spacer);border-radius:var(--border-radius);display:block;height:calc(100vh - 190px);overflow:auto}\n"] }); }
|
|
799
718
|
}
|
|
800
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
719
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutDrawerContentComponent, decorators: [{
|
|
801
720
|
type: Component,
|
|
802
|
-
args: [{ selector: 'onemrva-drawer-content', standalone: true, template: "<span><ng-content
|
|
721
|
+
args: [{ selector: 'onemrva-drawer-content', standalone: true, template: "<span><ng-content /></span>\n", styles: [":host{background-color:var(--mat-sys-surface);padding:23px 32px;margin:0 var(--spacer);border-radius:var(--border-radius);display:block;height:calc(100vh - 190px);overflow:auto}\n"] }]
|
|
803
722
|
}] });
|
|
804
723
|
|
|
805
724
|
class LayoutDrawerTitleComponent {
|
|
806
725
|
constructor() {
|
|
807
|
-
this.showClose = true;
|
|
726
|
+
this.showClose = input(true, ...(ngDevMode ? [{ debugName: "showClose" }] : []));
|
|
808
727
|
this.drawerService = inject(OnemrvaDrawerService);
|
|
809
728
|
}
|
|
810
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
811
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
729
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutDrawerTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
730
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: LayoutDrawerTitleComponent, isStandalone: true, selector: "onemrva-drawer-title", inputs: { showClose: { classPropertyName: "showClose", publicName: "showClose", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span><ng-content /></span>\n@if (showClose()) {\n <mat-icon\n class=\"close-drawer clickable large float-right\"\n (click)=\"drawerService.close()\"\n >close</mat-icon\n >\n}\n", styles: [":host{width:calc(100% - var(--double-spacer));display:block;padding:var(--spacer);margin:var(--spacer)}:host span:first-child{font:var(--mat-sys-title-large);color:var(--mat-sys-error)}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
812
731
|
}
|
|
813
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
732
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LayoutDrawerTitleComponent, decorators: [{
|
|
814
733
|
type: Component,
|
|
815
|
-
args: [{ selector: 'onemrva-drawer-title', standalone: true, imports: [MatIcon], template: "<span><ng-content
|
|
816
|
-
}], propDecorators: { showClose: [{
|
|
817
|
-
type: Input
|
|
818
|
-
}] } });
|
|
734
|
+
args: [{ selector: 'onemrva-drawer-title', standalone: true, imports: [MatIcon], template: "<span><ng-content /></span>\n@if (showClose()) {\n <mat-icon\n class=\"close-drawer clickable large float-right\"\n (click)=\"drawerService.close()\"\n >close</mat-icon\n >\n}\n", styles: [":host{width:calc(100% - var(--double-spacer));display:block;padding:var(--spacer);margin:var(--spacer)}:host span:first-child{font:var(--mat-sys-title-large);color:var(--mat-sys-error)}\n"] }]
|
|
735
|
+
}], propDecorators: { showClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClose", required: false }] }] } });
|
|
819
736
|
|
|
820
737
|
const layoutComponents = [
|
|
821
738
|
LayoutComponent,
|
|
@@ -906,8 +823,8 @@ class OnemRvaProfile {
|
|
|
906
823
|
}
|
|
907
824
|
|
|
908
825
|
class OnemrvaLayoutModule {
|
|
909
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
910
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
826
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
827
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaLayoutModule, imports: [LayoutComponent, LayoutContentComponent, LayoutFooterComponent, LayoutRouteComponent, LayoutSubrouteComponent, LayoutTitleComponent, LayoutSidenavTitleComponent, LayoutSidenavComponent, LayoutLoginMenuComponent, LayoutAfterNavComponent, LayoutLeftSidenavComponent, StripHtmlPipe,
|
|
911
828
|
DrawerHostDirective,
|
|
912
829
|
CommonModule,
|
|
913
830
|
RouterModule,
|
|
@@ -923,7 +840,7 @@ class OnemrvaLayoutModule {
|
|
|
923
840
|
MatTooltipModule,
|
|
924
841
|
TranslateModule,
|
|
925
842
|
MatRipple], exports: [LayoutComponent, LayoutContentComponent, LayoutFooterComponent, LayoutRouteComponent, LayoutSubrouteComponent, LayoutTitleComponent, LayoutSidenavTitleComponent, LayoutSidenavComponent, LayoutLoginMenuComponent, LayoutAfterNavComponent, LayoutLeftSidenavComponent, LayoutModule] }); }
|
|
926
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
843
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaLayoutModule, providers: [
|
|
927
844
|
{
|
|
928
845
|
provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,
|
|
929
846
|
useValue: { horizontalPosition: 'right' },
|
|
@@ -942,7 +859,7 @@ class OnemrvaLayoutModule {
|
|
|
942
859
|
MatTooltipModule,
|
|
943
860
|
TranslateModule, LayoutModule] }); }
|
|
944
861
|
}
|
|
945
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
862
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaLayoutModule, decorators: [{
|
|
946
863
|
type: NgModule,
|
|
947
864
|
args: [{
|
|
948
865
|
declarations: [],
|