@onemrvapublic/design-system 22.0.0-develop.2 → 22.0.0-develop.21

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.
Files changed (89) hide show
  1. package/README.md +3 -4
  2. package/assets/i18n/de.json +12 -0
  3. package/assets/i18n/en.json +12 -0
  4. package/assets/i18n/fr.json +12 -0
  5. package/assets/i18n/nl.json +12 -0
  6. package/fesm2022/onemrvapublic-design-system-card.mjs +21 -13
  7. package/fesm2022/onemrvapublic-design-system-card.mjs.map +1 -1
  8. package/fesm2022/onemrvapublic-design-system-collapsible-page-divider.mjs +3 -3
  9. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs +3 -3
  10. package/fesm2022/onemrvapublic-design-system-layout.mjs +72 -100
  11. package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
  12. package/fesm2022/onemrvapublic-design-system-mat-address.mjs +5 -6
  13. package/fesm2022/onemrvapublic-design-system-mat-address.mjs.map +1 -1
  14. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs +3 -3
  15. package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs +10 -10
  16. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +23 -48
  17. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
  18. package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs +3 -3
  19. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +5 -5
  20. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
  21. package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs +4 -5
  22. package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs.map +1 -1
  23. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +5 -6
  24. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs.map +1 -1
  25. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +3 -3
  26. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +25 -69
  27. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
  28. package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs +8 -9
  29. package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs.map +1 -1
  30. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +5 -6
  31. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
  32. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +5 -6
  33. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
  34. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +5 -6
  35. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
  36. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +6 -7
  37. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -1
  38. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +7 -9
  39. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
  40. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +7 -7
  41. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +7 -7
  42. package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs +9 -9
  43. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +5 -6
  44. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
  45. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +8 -8
  46. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
  47. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +22 -22
  48. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +13 -13
  49. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +3 -3
  50. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +13 -13
  51. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs +7 -7
  52. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +7 -7
  53. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +7 -7
  54. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs +10 -10
  55. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +11 -38
  56. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
  57. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +7 -7
  58. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +11 -12
  59. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
  60. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +16 -16
  61. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +7 -7
  62. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +12 -12
  63. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
  64. package/fesm2022/onemrvapublic-design-system-page-error.mjs +10 -11
  65. package/fesm2022/onemrvapublic-design-system-page-error.mjs.map +1 -1
  66. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +16 -16
  67. package/fesm2022/onemrvapublic-design-system-shared.mjs +80 -80
  68. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
  69. package/fesm2022/onemrvapublic-design-system-timeline.mjs +563 -0
  70. package/fesm2022/onemrvapublic-design-system-timeline.mjs.map +1 -0
  71. package/fesm2022/onemrvapublic-design-system.mjs +1 -1
  72. package/fesm2022/onemrvapublic-design-system.mjs.map +1 -1
  73. package/mat-carousel/src/onemrva-mat-carousel.component.scss +18 -0
  74. package/mat-paginator/src/onemrva-mat-paginator.component.scss +5 -31
  75. package/mat-tooltip/src/onemrva-mat-tooltip.component.scss +1 -0
  76. package/package.json +6 -2
  77. package/theme/overrides/_form-field.scss +2 -0
  78. package/theme/overrides/_select.scss +2 -1
  79. package/theme/overrides/_table.scss +8 -11
  80. package/theme/palettes/_palette.scss +1 -1
  81. package/timeline/src/onemrva-timeline.component.scss +371 -0
  82. package/types/onemrvapublic-design-system-card.d.ts +8 -9
  83. package/types/onemrvapublic-design-system-layout.d.ts +1 -1
  84. package/types/onemrvapublic-design-system-mat-carousel.d.ts +0 -3
  85. package/types/onemrvapublic-design-system-mat-file-upload.d.ts +1 -1
  86. package/types/onemrvapublic-design-system-page-error.d.ts +1 -1
  87. package/types/onemrvapublic-design-system-shared.d.ts +1 -1
  88. package/types/onemrvapublic-design-system-timeline.d.ts +195 -0
  89. package/types/onemrvapublic-design-system.d.ts +1 -1
@@ -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, TranslateModule } from '@ngx-translate/core';
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';
@@ -54,10 +53,10 @@ class OnemrvaLeftSidenavService {
54
53
  toggleIsCollapsed() {
55
54
  this.isCollapsed.set(!this.isCollapsed());
56
55
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaLeftSidenavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
58
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaLeftSidenavService, providedIn: 'root' }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaLeftSidenavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
57
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaLeftSidenavService, providedIn: 'root' }); }
59
58
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaLeftSidenavService, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaLeftSidenavService, decorators: [{
61
60
  type: Injectable,
62
61
  args: [{
63
62
  providedIn: 'root',
@@ -83,10 +82,10 @@ class LayoutLeftSidenavComponent {
83
82
  toggleCollapse() {
84
83
  this.isCollapsed.set(!this.isCollapsed());
85
84
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutLeftSidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: LayoutLeftSidenavComponent, isStandalone: true, selector: "onemrva-layout-left-sidenav", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", isCollapsed: "isCollapsedChange" }, host: { properties: { "class.hidden": "isHidden()", "class.collapsed": "isCollapsed()" } }, ngImport: i0, template: "<div class=\"toggle-container\">\n <button\n mat-icon-button\n (click)=\"toggleCollapse()\"\n class=\"onemrva-icon-button\"\n [attr.aria-label]=\"\n isCollapsed() ? 'Expand navigation' : 'Collapse navigation'\n \"\n >\n <mat-icon>{{ isCollapsed() ? 'menu' : 'chevron_left' }}</mat-icon>\n </button>\n</div>\n\n@if (!isCollapsed() && leftSidenavService.items().length > 0) {\n <onemrva-mat-navigation [items]=\"leftSidenavService.items()\" />\n}\n<ng-content />\n", styles: [":host{display:flex;flex-direction:column;overflow-y:hidden;min-height:calc(100vh - var(--layout-header-height));max-height:calc(100vh - var(--layout-header-height));width:var(--sideNavWidth);transition:width .3s ease}:host .toggle-container{display:flex;justify-content:flex-end;padding:8px}:host.collapsed{width:var(--sideNavWidthCollapsed)}:host.collapsed .toggle-container{justify-content:center}:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item{padding:16px;justify-content:center}:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item span,:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item .indent-spacer,:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item mat-icon.end{display:none}:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item mat-icon:first-of-type{margin:0}:host.collapsed ::ng-deep onemrva-mat-navigation-item mat-expansion-panel{display:none}\n"], dependencies: [{ kind: "component", type: OnemrvaMatNavigationComponent, selector: "onemrva-mat-navigation", inputs: ["items", "level", "translate"] }, { 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"] }] }); }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutLeftSidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: LayoutLeftSidenavComponent, isStandalone: true, selector: "onemrva-layout-left-sidenav", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", isCollapsed: "isCollapsedChange" }, host: { properties: { "class.hidden": "isHidden()", "class.collapsed": "isCollapsed()" } }, ngImport: i0, template: "<div class=\"toggle-container\">\n <button\n mat-icon-button\n (click)=\"toggleCollapse()\"\n class=\"onemrva-icon-button\"\n [attr.aria-label]=\"\n isCollapsed() ? 'Expand navigation' : 'Collapse navigation'\n \"\n >\n <mat-icon>{{ isCollapsed() ? 'menu' : 'chevron_left' }}</mat-icon>\n </button>\n</div>\n\n@if (!isCollapsed() && leftSidenavService.items().length > 0) {\n <onemrva-mat-navigation [items]=\"leftSidenavService.items()\" />\n}\n<ng-content />\n", styles: [":host{display:flex;flex-direction:column;overflow-y:hidden;min-height:calc(100vh - var(--layout-header-height));max-height:calc(100vh - var(--layout-header-height));width:var(--sideNavWidth);transition:width .3s ease}:host .toggle-container{display:flex;justify-content:flex-end;padding:8px}:host.collapsed{width:var(--sideNavWidthCollapsed)}:host.collapsed .toggle-container{justify-content:center}:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item{padding:16px;justify-content:center}:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item span,:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item .indent-spacer,:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item mat-icon.end{display:none}:host.collapsed ::ng-deep onemrva-mat-navigation-item .mobile-menu-item mat-icon:first-of-type{margin:0}:host.collapsed ::ng-deep onemrva-mat-navigation-item mat-expansion-panel{display:none}\n"], dependencies: [{ kind: "component", type: OnemrvaMatNavigationComponent, selector: "onemrva-mat-navigation", inputs: ["items", "level", "translate"] }, { 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"] }] }); }
88
87
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutLeftSidenavComponent, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutLeftSidenavComponent, decorators: [{
90
89
  type: Component,
91
90
  args: [{ selector: 'onemrva-layout-left-sidenav', imports: [OnemrvaMatNavigationComponent, MatIconButton, MatIcon], standalone: true, host: {
92
91
  '[class.hidden]': 'isHidden()',
@@ -145,10 +144,10 @@ class LayoutSubrouteComponent {
145
144
  return false;
146
145
  }
147
146
  }
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutSubrouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.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" }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutSubrouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
148
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", 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" }); }
150
149
  }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutSubrouteComponent, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutSubrouteComponent, decorators: [{
152
151
  type: Component,
153
152
  args: [{ selector: 'onemrva-layout-subroute', standalone: true, template: "<ng-template>\n {{ label() }}\n</ng-template>\n" }]
154
153
  }], 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 }] }] } });
@@ -199,10 +198,10 @@ class LayoutRouteComponent {
199
198
  }
200
199
  return false;
201
200
  }
202
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
203
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.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", "browserUrl", "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"] }] }); }
201
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
202
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", 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", "browserUrl", "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"] }] }); }
204
203
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutRouteComponent, decorators: [{
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutRouteComponent, decorators: [{
206
205
  type: Component,
207
206
  args: [{ selector: 'onemrva-layout-route', standalone: true, imports: [
208
207
  MatIcon,
@@ -226,10 +225,10 @@ class LayoutContentComponent {
226
225
  ngAfterViewInit() {
227
226
  this.cd.detectChanges();
228
227
  }
229
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
230
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.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 }); }
228
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
229
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", 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 }); }
231
230
  }
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutContentComponent, decorators: [{
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutContentComponent, decorators: [{
233
232
  type: Component,
234
233
  args: [{
235
234
  selector: 'onemrva-layout-content',
@@ -249,10 +248,10 @@ class LayoutTitleComponent {
249
248
  ngAfterViewInit() {
250
249
  this.cd.detectChanges();
251
250
  }
252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
253
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.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 }); }
251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
252
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", 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 }); }
254
253
  }
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutTitleComponent, decorators: [{
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutTitleComponent, decorators: [{
256
255
  type: Component,
257
256
  args: [{
258
257
  selector: 'onemrva-layout-title',
@@ -274,14 +273,14 @@ class LayoutFooterComponent {
274
273
  this.template = viewChild(TemplateRef, /* @ts-ignore */
275
274
  ...(ngDevMode ? [{ debugName: "template" }] : /* istanbul ignore next */ []));
276
275
  }
277
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
278
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.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>
276
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
277
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", type: LayoutFooterComponent, isStandalone: true, selector: "onemrva-layout-footer", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `<ng-template>
279
278
  <footer>
280
279
  <ng-content />
281
280
  </footer>
282
281
  </ng-template>`, isInline: true }); }
283
282
  }
284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutFooterComponent, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutFooterComponent, decorators: [{
285
284
  type: Component,
286
285
  args: [{
287
286
  selector: 'onemrva-layout-footer',
@@ -305,10 +304,10 @@ class LayoutLoginMenuComponent {
305
304
  ngAfterViewInit() {
306
305
  this.cd.detectChanges();
307
306
  }
308
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutLoginMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
309
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.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 }); }
307
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutLoginMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
308
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", 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 }); }
310
309
  }
311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutLoginMenuComponent, decorators: [{
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutLoginMenuComponent, decorators: [{
312
311
  type: Component,
313
312
  args: [{
314
313
  selector: 'onemrva-layout-login-menu',
@@ -321,10 +320,10 @@ class StripHtmlPipe {
321
320
  transform(value) {
322
321
  return value.replace(/<.*?>/g, ''); // replace tags
323
322
  }
324
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: StripHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
325
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: StripHtmlPipe, isStandalone: true, name: "striphtml" }); }
323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: StripHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
324
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: StripHtmlPipe, isStandalone: true, name: "striphtml" }); }
326
325
  }
327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: StripHtmlPipe, decorators: [{
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: StripHtmlPipe, decorators: [{
328
327
  type: Pipe,
329
328
  args: [{
330
329
  name: 'striphtml',
@@ -359,10 +358,10 @@ class DrawerHostDirective {
359
358
  this.bodyClass();
360
359
  });
361
360
  }
362
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DrawerHostDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
363
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.1", type: DrawerHostDirective, isStandalone: true, selector: "[drawerhost]", ngImport: i0 }); }
361
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DrawerHostDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
362
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: DrawerHostDirective, isStandalone: true, selector: "[drawerhost]", ngImport: i0 }); }
364
363
  }
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DrawerHostDirective, decorators: [{
364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DrawerHostDirective, decorators: [{
366
365
  type: Directive,
367
366
  args: [{
368
367
  selector: '[drawerhost]',
@@ -404,10 +403,10 @@ class OnemrvaDrawerService {
404
403
  setDrawer(drawer) {
405
404
  this.drawer = drawer;
406
405
  }
407
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
408
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaDrawerService, providedIn: 'root' }); }
406
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
407
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaDrawerService, providedIn: 'root' }); }
409
408
  }
410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaDrawerService, decorators: [{
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaDrawerService, decorators: [{
411
410
  type: Injectable,
412
411
  args: [{
413
412
  providedIn: 'root',
@@ -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.currentLang)[0];
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()
@@ -473,40 +472,12 @@ class LayoutSidenavComponent {
473
472
  }
474
473
  return 'Unnamed Route';
475
474
  }
476
- 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" }], animations: [
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
- ] }); }
475
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutSidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
476
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", 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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutSidenavComponent, decorators: [{
478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutSidenavComponent, decorators: [{
494
479
  type: Component,
495
- args: [{ selector: 'onemrva-layout-sidenav', animations: [
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,
@@ -528,10 +499,10 @@ class LayoutAfterNavComponent {
528
499
  ngAfterViewInit() {
529
500
  this.cd.detectChanges();
530
501
  }
531
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutAfterNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
532
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.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 }); }
502
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutAfterNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
503
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", 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 }); }
533
504
  }
534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutAfterNavComponent, decorators: [{
505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutAfterNavComponent, decorators: [{
535
506
  type: Component,
536
507
  args: [{
537
508
  selector: 'onemrva-layout-after-nav',
@@ -654,8 +625,8 @@ class LayoutComponent {
654
625
  }
655
626
  }
656
627
  ngOnInit() {
657
- this.selectedIndex = this.languages().findIndex(l => l.code === this.translateService.currentLang);
658
- this.document.documentElement.lang = this.translateService.currentLang;
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.currentLang || '';
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.toUpperCase()].imgCode || '';
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() {
@@ -711,10 +682,10 @@ class LayoutComponent {
711
682
  componentRef.setInput('routes', this.routes());
712
683
  this.drawerService.toggle(true);
713
684
  }
714
- 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" }] }); }
685
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
686
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", 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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutComponent, decorators: [{
688
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutComponent, decorators: [{
718
689
  type: Component,
719
690
  args: [{ selector: 'onemrva-layout', standalone: true, imports: [
720
691
  RouterLink,
@@ -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 {
@@ -751,14 +722,14 @@ class LayoutSidenavTitleComponent {
751
722
  this.template = viewChild(TemplateRef, /* @ts-ignore */
752
723
  ...(ngDevMode ? [{ debugName: "template" }] : /* istanbul ignore next */ []));
753
724
  }
754
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutSidenavTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
755
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.1", type: LayoutSidenavTitleComponent, isStandalone: true, selector: "onemrva-layout-sidenav-title", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
725
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutSidenavTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
726
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", type: LayoutSidenavTitleComponent, isStandalone: true, selector: "onemrva-layout-sidenav-title", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
756
727
  <ng-template>
757
728
  <ng-content />
758
729
  </ng-template>
759
730
  `, isInline: true }); }
760
731
  }
761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutSidenavTitleComponent, decorators: [{
732
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutSidenavTitleComponent, decorators: [{
762
733
  type: Component,
763
734
  args: [{
764
735
  selector: 'onemrva-layout-sidenav-title',
@@ -775,10 +746,10 @@ class LayoutDrawerActionsComponent {
775
746
  constructor() {
776
747
  this.drawerService = inject(OnemrvaDrawerService);
777
748
  }
778
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutDrawerActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
779
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: LayoutDrawerActionsComponent, isStandalone: true, selector: "onemrva-drawer-actions", ngImport: i0, template: "<ng-content />\n", styles: [":host{width:calc(100% - var(--double-spacer));display:flex;padding:var(--spacer);justify-content:flex-end}\n"] }); }
749
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutDrawerActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
750
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: LayoutDrawerActionsComponent, isStandalone: true, selector: "onemrva-drawer-actions", ngImport: i0, template: "<ng-content />\n", styles: [":host{width:calc(100% - var(--double-spacer));display:flex;padding:var(--spacer);justify-content:flex-end}\n"] }); }
780
751
  }
781
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutDrawerActionsComponent, decorators: [{
752
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutDrawerActionsComponent, decorators: [{
782
753
  type: Component,
783
754
  args: [{ selector: 'onemrva-drawer-actions', standalone: true, template: "<ng-content />\n", styles: [":host{width:calc(100% - var(--double-spacer));display:flex;padding:var(--spacer);justify-content:flex-end}\n"] }]
784
755
  }] });
@@ -787,10 +758,10 @@ class LayoutDrawerContentComponent {
787
758
  constructor() {
788
759
  this.drawerService = inject(OnemrvaDrawerService);
789
760
  }
790
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutDrawerContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
791
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.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;border-radius:var(--border-radius);display:flex;flex-grow:1;overflow:auto}\n"] }); }
761
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutDrawerContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
762
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", 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;border-radius:var(--border-radius);display:flex;flex-grow:1;overflow:auto}\n"] }); }
792
763
  }
793
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutDrawerContentComponent, decorators: [{
764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutDrawerContentComponent, decorators: [{
794
765
  type: Component,
795
766
  args: [{ selector: 'onemrva-drawer-content', standalone: true, template: "<span><ng-content /></span>\n", styles: [":host{background-color:var(--mat-sys-surface);padding:23px 32px;border-radius:var(--border-radius);display:flex;flex-grow:1;overflow:auto}\n"] }]
796
767
  }] });
@@ -801,10 +772,10 @@ class LayoutDrawerTitleComponent {
801
772
  ...(ngDevMode ? [{ debugName: "showClose" }] : /* istanbul ignore next */ []));
802
773
  this.drawerService = inject(OnemrvaDrawerService);
803
774
  }
804
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutDrawerTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
805
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.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{display:flex;justify-content:space-between;align-items:center;padding:var(--double-spacer) 0}:host span:first-child{font:var(--mat-sys-title-medium);font-size:20px}:host .close-drawer{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
775
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutDrawerTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
776
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", 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{display:flex;justify-content:space-between;align-items:center;padding:var(--double-spacer) 0}:host span:first-child{font:var(--mat-sys-title-medium);font-size:20px}:host .close-drawer{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
806
777
  }
807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LayoutDrawerTitleComponent, decorators: [{
778
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LayoutDrawerTitleComponent, decorators: [{
808
779
  type: Component,
809
780
  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{display:flex;justify-content:space-between;align-items:center;padding:var(--double-spacer) 0}:host span:first-child{font:var(--mat-sys-title-medium);font-size:20px}:host .close-drawer{display:flex;justify-content:center;align-items:center}\n"] }]
810
781
  }], propDecorators: { showClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClose", required: false }] }] } });
@@ -898,8 +869,8 @@ class OnemRvaProfile {
898
869
  }
899
870
 
900
871
  class OnemrvaLayoutModule {
901
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
902
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaLayoutModule, imports: [LayoutComponent, LayoutContentComponent, LayoutFooterComponent, LayoutRouteComponent, LayoutSubrouteComponent, LayoutTitleComponent, LayoutSidenavTitleComponent, LayoutSidenavComponent, LayoutLoginMenuComponent, LayoutAfterNavComponent, LayoutLeftSidenavComponent, StripHtmlPipe,
872
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
873
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaLayoutModule, imports: [LayoutComponent, LayoutContentComponent, LayoutFooterComponent, LayoutRouteComponent, LayoutSubrouteComponent, LayoutTitleComponent, LayoutSidenavTitleComponent, LayoutSidenavComponent, LayoutLoginMenuComponent, LayoutAfterNavComponent, LayoutLeftSidenavComponent, StripHtmlPipe,
903
874
  DrawerHostDirective,
904
875
  CommonModule,
905
876
  RouterModule,
@@ -913,9 +884,10 @@ class OnemrvaLayoutModule {
913
884
  MatIconModule,
914
885
  OnemrvaMatAvatarComponent,
915
886
  MatTooltipModule,
916
- TranslateModule,
887
+ TranslatePipe,
888
+ TranslateDirective,
917
889
  MatRipple], exports: [LayoutComponent, LayoutContentComponent, LayoutFooterComponent, LayoutRouteComponent, LayoutSubrouteComponent, LayoutTitleComponent, LayoutSidenavTitleComponent, LayoutSidenavComponent, LayoutLoginMenuComponent, LayoutAfterNavComponent, LayoutLeftSidenavComponent, LayoutModule] }); }
918
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaLayoutModule, providers: [
890
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaLayoutModule, providers: [
919
891
  {
920
892
  provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,
921
893
  useValue: { horizontalPosition: 'right' },
@@ -931,10 +903,9 @@ class OnemrvaLayoutModule {
931
903
  MatMenuModule,
932
904
  MatIconModule,
933
905
  OnemrvaMatAvatarComponent,
934
- MatTooltipModule,
935
- TranslateModule, LayoutModule] }); }
906
+ MatTooltipModule, LayoutModule] }); }
936
907
  }
937
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaLayoutModule, decorators: [{
908
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaLayoutModule, decorators: [{
938
909
  type: NgModule,
939
910
  args: [{
940
911
  declarations: [],
@@ -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
- TranslateModule,
928
+ TranslatePipe,
929
+ TranslateDirective,
958
930
  MatRipple,
959
931
  ],
960
932
  exports: [...layoutComponents, LayoutModule],