@onemrvapublic/design-system 22.0.0-develop.1 → 22.0.0-develop.11
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 +4 -10
- package/assets/i18n/de.json +12 -0
- package/assets/i18n/en.json +12 -0
- package/assets/i18n/fr.json +12 -0
- package/assets/i18n/nl.json +12 -0
- package/fesm2022/onemrvapublic-design-system-layout.mjs +16 -44
- package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-address.mjs +3 -4
- package/fesm2022/onemrvapublic-design-system-mat-address.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +18 -43
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs +2 -3
- package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +3 -4
- package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +7 -51
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs +3 -4
- package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +3 -4
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +3 -4
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +3 -4
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +3 -4
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +1 -3
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +3 -4
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +2 -2
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +5 -32
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +3 -4
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +2 -2
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-page-error.mjs +5 -6
- package/fesm2022/onemrvapublic-design-system-page-error.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-shared.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-timeline.mjs +563 -0
- package/fesm2022/onemrvapublic-design-system-timeline.mjs.map +1 -0
- package/fesm2022/onemrvapublic-design-system.mjs +1 -1
- package/fesm2022/onemrvapublic-design-system.mjs.map +1 -1
- package/mat-carousel/src/onemrva-mat-carousel.component.scss +18 -0
- package/mat-paginator/src/onemrva-mat-paginator.component.scss +5 -31
- package/mat-tooltip/src/onemrva-mat-tooltip.component.scss +1 -0
- package/package.json +5 -1
- package/timeline/src/onemrva-timeline.component.scss +371 -0
- package/types/onemrvapublic-design-system-layout.d.ts +1 -1
- package/types/onemrvapublic-design-system-mat-carousel.d.ts +0 -3
- package/types/onemrvapublic-design-system-mat-file-upload.d.ts +1 -1
- package/types/onemrvapublic-design-system-page-error.d.ts +1 -1
- package/types/onemrvapublic-design-system-shared.d.ts +1 -1
- package/types/onemrvapublic-design-system-timeline.d.ts +195 -0
- package/types/onemrvapublic-design-system.d.ts +1 -1
package/README.md
CHANGED
|
@@ -33,18 +33,12 @@ If you need access to our design system board, send us a message.
|
|
|
33
33
|
@Bram Decuypere (NL / EN)
|
|
34
34
|
## Changelog
|
|
35
35
|
|
|
36
|
-
### 22.0.0-develop.
|
|
36
|
+
### 22.0.0-develop.11
|
|
37
37
|
|
|
38
|
-
# [22.0.0-develop.
|
|
38
|
+
# [22.0.0-develop.11](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/compare/v22.0.0-develop.10...v22.0.0-develop.11) (2026-06-24)
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
###
|
|
41
|
+
### Bug Fixes
|
|
42
42
|
|
|
43
|
-
* **
|
|
44
|
-
* upgrade to angular 22 ([7cebb60](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/commit/7cebb607231eea93a26edb980466fbc9925894ba))
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
### BREAKING CHANGES
|
|
48
|
-
|
|
49
|
-
* the complete set of angular 22 packages is now integrated
|
|
43
|
+
* **mat-paginator:** use label-medium text and hide page-size select arrow ([218ae25](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/commit/218ae253f8422ccba0a48bfe3bf5395c53e9834e))
|
|
50
44
|
|
package/assets/i18n/de.json
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
+
"timeline": {
|
|
3
|
+
"period": "Zeitraum",
|
|
4
|
+
"month": "Monat",
|
|
5
|
+
"year": "Jahr",
|
|
6
|
+
"years": "Jahre",
|
|
7
|
+
"goToMonth": "Zum Monat",
|
|
8
|
+
"previousYear": "Zum vorherigen Jahr",
|
|
9
|
+
"nextYear": "Zum nächsten Jahr",
|
|
10
|
+
"previousMonth": "Zum vorherigen Monat",
|
|
11
|
+
"nextMonth": "Zum nächsten Monat",
|
|
12
|
+
"goTo": "Gehe zu {{label}}"
|
|
13
|
+
},
|
|
2
14
|
"demo.title": "Design System",
|
|
3
15
|
"error": {
|
|
4
16
|
"500": {
|
package/assets/i18n/en.json
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
+
"timeline": {
|
|
3
|
+
"period": "Period",
|
|
4
|
+
"month": "Month",
|
|
5
|
+
"year": "Year",
|
|
6
|
+
"years": "Years",
|
|
7
|
+
"goToMonth": "Go to month",
|
|
8
|
+
"previousYear": "Go to previous year",
|
|
9
|
+
"nextYear": "Go to next year",
|
|
10
|
+
"previousMonth": "Go to previous month",
|
|
11
|
+
"nextMonth": "Go to next month",
|
|
12
|
+
"goTo": "Go to {{label}}"
|
|
13
|
+
},
|
|
2
14
|
"demo.title": "Design System",
|
|
3
15
|
"error": {
|
|
4
16
|
"500": {
|
package/assets/i18n/fr.json
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
+
"timeline": {
|
|
3
|
+
"period": "Période",
|
|
4
|
+
"month": "Mois",
|
|
5
|
+
"year": "An",
|
|
6
|
+
"years": "Ans",
|
|
7
|
+
"goToMonth": "Aller au mois",
|
|
8
|
+
"previousYear": "Aller à l'année précédente",
|
|
9
|
+
"nextYear": "Aller à l'année suivante",
|
|
10
|
+
"previousMonth": "Aller au mois précédent",
|
|
11
|
+
"nextMonth": "Aller au mois suivant",
|
|
12
|
+
"goTo": "Aller à {{label}}"
|
|
13
|
+
},
|
|
2
14
|
"demo.title": "Design System",
|
|
3
15
|
"error": {
|
|
4
16
|
"500": {
|
package/assets/i18n/nl.json
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
+
"timeline": {
|
|
3
|
+
"period": "Periode",
|
|
4
|
+
"month": "Maand",
|
|
5
|
+
"year": "Jaar",
|
|
6
|
+
"years": "Jaar",
|
|
7
|
+
"goToMonth": "Ga naar maand",
|
|
8
|
+
"previousYear": "Ga naar vorig jaar",
|
|
9
|
+
"nextYear": "Ga naar volgend jaar",
|
|
10
|
+
"previousMonth": "Ga naar vorige maand",
|
|
11
|
+
"nextMonth": "Ga naar volgende maand",
|
|
12
|
+
"goTo": "Ga naar {{label}}"
|
|
13
|
+
},
|
|
2
14
|
"demo.title": "Ontwerpsysteem",
|
|
3
15
|
"error": {
|
|
4
16
|
"500": {
|
|
@@ -17,9 +17,8 @@ import { MatIconButton, MatFabButton, MatButtonModule } from '@angular/material/
|
|
|
17
17
|
import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
|
|
18
18
|
import { MatRipple } from '@angular/material/core';
|
|
19
19
|
import { OnemrvaMatNavigationComponent } from '@onemrvapublic/design-system/mat-navigation';
|
|
20
|
-
import { TranslateService, TranslatePipe,
|
|
20
|
+
import { TranslateService, TranslatePipe, TranslateDirective } from '@ngx-translate/core';
|
|
21
21
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
22
|
-
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
23
22
|
import * as i1 from '@angular/material/form-field';
|
|
24
23
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
25
24
|
import * as i2 from '@angular/material/select';
|
|
@@ -428,7 +427,7 @@ class LayoutSidenavComponent {
|
|
|
428
427
|
this.drawerService = inject(OnemrvaDrawerService);
|
|
429
428
|
}
|
|
430
429
|
ngOnInit() {
|
|
431
|
-
this.currentLanguage = this.languages().filter(l => l.code == this.translateService.
|
|
430
|
+
this.currentLanguage = this.languages().filter(l => l.code == this.translateService.getCurrentLang())[0];
|
|
432
431
|
const routes = this.routes();
|
|
433
432
|
if (routes)
|
|
434
433
|
this.helpMenuOpen = routes.map(route => route.hasSubroutes()
|
|
@@ -474,39 +473,11 @@ class LayoutSidenavComponent {
|
|
|
474
473
|
return 'Unnamed Route';
|
|
475
474
|
}
|
|
476
475
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutSidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
477
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.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" }]
|
|
478
|
-
trigger('slideInOut', [
|
|
479
|
-
state('in', style({
|
|
480
|
-
overflow: 'hidden',
|
|
481
|
-
height: '*',
|
|
482
|
-
})),
|
|
483
|
-
state('out', style({
|
|
484
|
-
opacity: '0',
|
|
485
|
-
overflow: 'hidden',
|
|
486
|
-
height: '0px',
|
|
487
|
-
})),
|
|
488
|
-
transition('in => out', animate('400ms ease-in-out')),
|
|
489
|
-
transition('out => in', animate('400ms ease-in-out')),
|
|
490
|
-
]),
|
|
491
|
-
] }); }
|
|
476
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.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" }] }); }
|
|
492
477
|
}
|
|
493
478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutSidenavComponent, decorators: [{
|
|
494
479
|
type: Component,
|
|
495
|
-
args: [{ selector: 'onemrva-layout-sidenav',
|
|
496
|
-
trigger('slideInOut', [
|
|
497
|
-
state('in', style({
|
|
498
|
-
overflow: 'hidden',
|
|
499
|
-
height: '*',
|
|
500
|
-
})),
|
|
501
|
-
state('out', style({
|
|
502
|
-
opacity: '0',
|
|
503
|
-
overflow: 'hidden',
|
|
504
|
-
height: '0px',
|
|
505
|
-
})),
|
|
506
|
-
transition('in => out', animate('400ms ease-in-out')),
|
|
507
|
-
transition('out => in', animate('400ms ease-in-out')),
|
|
508
|
-
]),
|
|
509
|
-
], standalone: true, imports: [
|
|
480
|
+
args: [{ selector: 'onemrva-layout-sidenav', standalone: true, imports: [
|
|
510
481
|
MatIconButton,
|
|
511
482
|
MatIcon,
|
|
512
483
|
TranslatePipe,
|
|
@@ -654,8 +625,8 @@ class LayoutComponent {
|
|
|
654
625
|
}
|
|
655
626
|
}
|
|
656
627
|
ngOnInit() {
|
|
657
|
-
this.selectedIndex = this.languages().findIndex(l => l.code === this.
|
|
658
|
-
this.document.documentElement.lang = this.
|
|
628
|
+
this.selectedIndex = this.languages().findIndex(l => l.code === this.currentLanguage);
|
|
629
|
+
this.document.documentElement.lang = this.currentLanguage;
|
|
659
630
|
this.breakpointObserver
|
|
660
631
|
.observe([Breakpoints.XSmall, Breakpoints.Small])
|
|
661
632
|
.pipe(takeUntil(this.destroyNotifier$))
|
|
@@ -677,7 +648,7 @@ class LayoutComponent {
|
|
|
677
648
|
this.drawerService.setDrawer(this.drawer());
|
|
678
649
|
}
|
|
679
650
|
get currentLanguage() {
|
|
680
|
-
return this.translateService.
|
|
651
|
+
return (this.translateService.getCurrentLang() || '').toLocaleLowerCase();
|
|
681
652
|
}
|
|
682
653
|
ngAfterViewInit() {
|
|
683
654
|
if (isDevMode()) {
|
|
@@ -685,8 +656,8 @@ class LayoutComponent {
|
|
|
685
656
|
}
|
|
686
657
|
}
|
|
687
658
|
languageImg(language) {
|
|
688
|
-
const lang = language?.code || this.translateService.getCurrentLang();
|
|
689
|
-
const finalImgCode = this.map[lang
|
|
659
|
+
const lang = (language?.code || this.translateService.getCurrentLang() || '').toUpperCase();
|
|
660
|
+
const finalImgCode = this.map[lang].imgCode || '';
|
|
690
661
|
return this.cdn.getImg(`flags/4x3/${finalImgCode}.svg`);
|
|
691
662
|
}
|
|
692
663
|
ngOnDestroy() {
|
|
@@ -712,7 +683,7 @@ class LayoutComponent {
|
|
|
712
683
|
this.drawerService.toggle(true);
|
|
713
684
|
}
|
|
714
685
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
715
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.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 [class.collapsed]=\"leftSidenavService.isCollapsed()\"\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 (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.ACCENT\"\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 {{ currentLanguage }}\n <mat-icon style=\"width: 16px\">expand_more</mat-icon>\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 {{ 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\n @if (footer()?.template(); as footerTpl) {\n <footer class=\"onemrva-footer p text-center\">\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\" />\n </div>\n </footer>\n }\n </section>\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{--sideNavWidthFull: 240px;--sideNavWidthCollapsed: 56px;--sideNavWidth: var(--sideNavWidthFull);--mainContentSize: calc(100vh - var(--layout-header-height));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:var(--sideNavWidth) 1fr;transition:grid-template-columns .3s ease,max-width .3s ease}:host mat-drawer-content.collapsed{--sideNavWidth: var(--sideNavWidthCollapsed)}:host mat-drawer-content.collapsed onemrva-layout-left-sidenav{width:var(--sideNavWidthCollapsed)}:host mat-drawer-content{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:flex;flex-direction:column;grid-area:main;position:relative;width:100%;height:100vh;overflow-y:auto;max-height:var(--mainContentSize);max-width:calc(100vw - var(--sideNavWidth));transition:max-width .3s ease}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{display:flex;flex-direction:column;flex-grow:1;width:95%;max-width:1920px;margin-left:auto;margin-right:auto}: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}}:host .onemrva-footer{margin-top:auto;height:var(--layout-footer-height);max-height:var(--layout-footer-height);overflow:hidden}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", "browserUrl", "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: "component", type: 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],onemrva-collapsible-page-divider[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: i1$1.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: LayoutLeftSidenavComponent, selector: "onemrva-layout-left-sidenav", inputs: ["items", "isCollapsed"], outputs: ["itemsChange", "isCollapsedChange"] }, { kind: "component", type: OnemrvaMatStickerComponent, selector: "onemrva-mat-sticker" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
686
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.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 [class.collapsed]=\"leftSidenavService.isCollapsed()\"\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\"\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 (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.ACCENT\"\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 {{ currentLanguage }}\n <mat-icon style=\"width: 16px\">expand_more</mat-icon>\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 {{ 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\n @if (footer()?.template(); as footerTpl) {\n <footer class=\"onemrva-footer p text-center\">\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\" />\n </div>\n </footer>\n }\n </section>\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{--sideNavWidthFull: 240px;--sideNavWidthCollapsed: 56px;--sideNavWidth: var(--sideNavWidthFull);--mainContentSize: calc(100vh - var(--layout-header-height));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:var(--sideNavWidth) 1fr;transition:grid-template-columns .3s ease,max-width .3s ease}:host mat-drawer-content.collapsed{--sideNavWidth: var(--sideNavWidthCollapsed)}:host mat-drawer-content.collapsed onemrva-layout-left-sidenav{width:var(--sideNavWidthCollapsed)}:host mat-drawer-content{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:flex;flex-direction:column;grid-area:main;position:relative;width:100%;height:100vh;overflow-y:auto;max-height:var(--mainContentSize);max-width:calc(100vw - var(--sideNavWidth));transition:max-width .3s ease}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{display:flex;flex-direction:column;flex-grow:1;width:95%;max-width:1920px;margin-left:auto;margin-right:auto}: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}}:host .onemrva-footer{margin-top:auto;height:var(--layout-footer-height);max-height:var(--layout-footer-height);overflow:hidden}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", "browserUrl", "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: "component", type: 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],onemrva-collapsible-page-divider[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: i1$1.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: LayoutLeftSidenavComponent, selector: "onemrva-layout-left-sidenav", inputs: ["items", "isCollapsed"], outputs: ["itemsChange", "isCollapsedChange"] }, { kind: "component", type: OnemrvaMatStickerComponent, selector: "onemrva-mat-sticker" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
716
687
|
}
|
|
717
688
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
718
689
|
type: Component,
|
|
@@ -743,7 +714,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
|
|
|
743
714
|
MatSidenavModule,
|
|
744
715
|
LayoutLeftSidenavComponent,
|
|
745
716
|
OnemrvaMatStickerComponent,
|
|
746
|
-
], 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 [class.collapsed]=\"leftSidenavService.isCollapsed()\"\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 (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.ACCENT\"\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 {{ currentLanguage }}\n <mat-icon style=\"width: 16px\">expand_more</mat-icon>\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 {{ 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\n @if (footer()?.template(); as footerTpl) {\n <footer class=\"onemrva-footer p text-center\">\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\" />\n </div>\n </footer>\n }\n </section>\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{--sideNavWidthFull: 240px;--sideNavWidthCollapsed: 56px;--sideNavWidth: var(--sideNavWidthFull);--mainContentSize: calc(100vh - var(--layout-header-height));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:var(--sideNavWidth) 1fr;transition:grid-template-columns .3s ease,max-width .3s ease}:host mat-drawer-content.collapsed{--sideNavWidth: var(--sideNavWidthCollapsed)}:host mat-drawer-content.collapsed onemrva-layout-left-sidenav{width:var(--sideNavWidthCollapsed)}:host mat-drawer-content{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:flex;flex-direction:column;grid-area:main;position:relative;width:100%;height:100vh;overflow-y:auto;max-height:var(--mainContentSize);max-width:calc(100vw - var(--sideNavWidth));transition:max-width .3s ease}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{display:flex;flex-direction:column;flex-grow:1;width:95%;max-width:1920px;margin-left:auto;margin-right:auto}: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}}:host .onemrva-footer{margin-top:auto;height:var(--layout-footer-height);max-height:var(--layout-footer-height);overflow:hidden}nav a.disabled{pointer-events:none}\n"] }]
|
|
717
|
+
], 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 [class.collapsed]=\"leftSidenavService.isCollapsed()\"\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\"\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 (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.ACCENT\"\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 {{ currentLanguage }}\n <mat-icon style=\"width: 16px\">expand_more</mat-icon>\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 {{ 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\n @if (footer()?.template(); as footerTpl) {\n <footer class=\"onemrva-footer p text-center\">\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\" />\n </div>\n </footer>\n }\n </section>\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{--sideNavWidthFull: 240px;--sideNavWidthCollapsed: 56px;--sideNavWidth: var(--sideNavWidthFull);--mainContentSize: calc(100vh - var(--layout-header-height));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:var(--sideNavWidth) 1fr;transition:grid-template-columns .3s ease,max-width .3s ease}:host mat-drawer-content.collapsed{--sideNavWidth: var(--sideNavWidthCollapsed)}:host mat-drawer-content.collapsed onemrva-layout-left-sidenav{width:var(--sideNavWidthCollapsed)}:host mat-drawer-content{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:flex;flex-direction:column;grid-area:main;position:relative;width:100%;height:100vh;overflow-y:auto;max-height:var(--mainContentSize);max-width:calc(100vw - var(--sideNavWidth));transition:max-width .3s ease}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{display:flex;flex-direction:column;flex-grow:1;width:95%;max-width:1920px;margin-left:auto;margin-right:auto}: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}}:host .onemrva-footer{margin-top:auto;height:var(--layout-footer-height);max-height:var(--layout-footer-height);overflow:hidden}nav a.disabled{pointer-events:none}\n"] }]
|
|
747
718
|
}], 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 }] }] } });
|
|
748
719
|
|
|
749
720
|
class LayoutSidenavTitleComponent {
|
|
@@ -913,7 +884,8 @@ class OnemrvaLayoutModule {
|
|
|
913
884
|
MatIconModule,
|
|
914
885
|
OnemrvaMatAvatarComponent,
|
|
915
886
|
MatTooltipModule,
|
|
916
|
-
|
|
887
|
+
TranslatePipe,
|
|
888
|
+
TranslateDirective,
|
|
917
889
|
MatRipple], exports: [LayoutComponent, LayoutContentComponent, LayoutFooterComponent, LayoutRouteComponent, LayoutSubrouteComponent, LayoutTitleComponent, LayoutSidenavTitleComponent, LayoutSidenavComponent, LayoutLoginMenuComponent, LayoutAfterNavComponent, LayoutLeftSidenavComponent, LayoutModule] }); }
|
|
918
890
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaLayoutModule, providers: [
|
|
919
891
|
{
|
|
@@ -931,8 +903,7 @@ class OnemrvaLayoutModule {
|
|
|
931
903
|
MatMenuModule,
|
|
932
904
|
MatIconModule,
|
|
933
905
|
OnemrvaMatAvatarComponent,
|
|
934
|
-
MatTooltipModule,
|
|
935
|
-
TranslateModule, LayoutModule] }); }
|
|
906
|
+
MatTooltipModule, LayoutModule] }); }
|
|
936
907
|
}
|
|
937
908
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaLayoutModule, decorators: [{
|
|
938
909
|
type: NgModule,
|
|
@@ -954,7 +925,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
|
|
|
954
925
|
MatIconModule,
|
|
955
926
|
OnemrvaMatAvatarComponent,
|
|
956
927
|
MatTooltipModule,
|
|
957
|
-
|
|
928
|
+
TranslatePipe,
|
|
929
|
+
TranslateDirective,
|
|
958
930
|
MatRipple,
|
|
959
931
|
],
|
|
960
932
|
exports: [...layoutComponents, LayoutModule],
|