@onemrvapublic/design-system 20.11.1-develop.4 → 20.11.1-develop.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -33,12 +33,14 @@ If you need access to our design system board, send us a message.
33
33
  @Bram Decuypere (NL/EN)
34
34
  ## Changelog
35
35
 
36
- ### 20.11.1-develop.4
36
+ ### 20.11.1-develop.5
37
37
 
38
- ## [20.11.1-develop.4](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/compare/v20.11.1-develop.3...v20.11.1-develop.4) (2025-12-19)
38
+ ## [20.11.1-develop.5](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/compare/v20.11.1-develop.4...v20.11.1-develop.5) (2025-12-19)
39
39
 
40
40
 
41
41
  ### Bug Fixes
42
42
 
43
- * **tooltip:** add default value after again ([90f0747](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/commit/90f0747a1c47d0b0cb391a22bb2039e9cb45136d))
43
+ * **layout:** add spacing between title and logo ([461a8cd](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/commit/461a8cd8972808d32379ccdcfafff8836eb9e3dd))
44
+ * **theme:** adjust padding for expansion panel headers to fix misalignment ([a62b279](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/commit/a62b27930886147a470b9dad70bfda9577c25383))
45
+ * **deps:** update @ngx-translate/core to v17.0.0 for compatibility and improvements ([d4fc99d](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/commit/d4fc99d61c89f88abae7a7cadbec043987ab8436))
44
46
 
@@ -674,7 +674,7 @@ class LayoutComponent {
674
674
  this.drawerService.toggle(true);
675
675
  }
676
676
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
677
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: LayoutComponent, isStandalone: true, selector: "onemrva-layout", inputs: { logo: "logo", languages: "languages", environment: "environment", logoRedictionUrl: "logoRedictionUrl", profile: "profile", id: "id", role: "role", showThemeSwitcher: "showThemeSwitcher" }, outputs: { login: "login", logout: "logout" }, queries: [{ propertyName: "title", first: true, predicate: LayoutTitleComponent, descendants: true }, { propertyName: "loginMenu", first: true, predicate: LayoutLoginMenuComponent, descendants: true }, { propertyName: "content", first: true, predicate: LayoutContentComponent, descendants: true }, { propertyName: "afterNav", first: true, predicate: LayoutAfterNavComponent, descendants: true }, { propertyName: "footer", first: true, predicate: LayoutFooterComponent, descendants: true }, { propertyName: "routes", predicate: LayoutRouteComponent }], viewQueries: [{ propertyName: "drawer", first: true, predicate: MatDrawer, descendants: true, static: true }, { propertyName: "drawerHost", first: true, predicate: DrawerHostDirective, descendants: true, static: true }], ngImport: i0, template: "<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default',\n }\"\n />\n <div class=\"application-title\" [ngClass]=\"{ 'small-screen': isSmall }\">\n @if (title?.template; as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n }\n\n @if (\n environment &&\n (environment === env.LOCAL ||\n environment === env.TEST ||\n environment === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes?.toArray(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [attr.data-ci]=\"e.dataCy\"\n [attr.data-cy]=\"e.dataCy\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n @if (showThemeSwitcher) {\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav?.template; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n }\n\n @if (profile !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n ></mat-divider>\n }\n @if (profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n @if (!profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile.firstName }} {{ profile.lastName }}\n </div>\n <mat-divider\n class=\"mx-m\"\n style=\"align-self: stretch\"\n ></mat-divider>\n\n @if (loginMenu?.template; as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages && languages.length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages; track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav></onemrva-layout-left-sidenav>\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\"></ng-content>\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer?.template; as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment && (environment === env.LOCAL || environment === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [":host{position:relative}:host .onemrva-layout-container{width:100%;box-sizing:border-box}:host a:active{outline:none}:host header mat-toolbar{z-index:400;border-bottom:1px solid var(--mat-sys-outline-variant);--mat-toolbar-standard-height: var(--layout-header-height);--mat-tab-divider-color: transparent;--mat-tab-container-height: var(--layout-header-height);--mat-tab-label-text-font: var(--text-font);--mat-tab-label-text-weight: 400;--mat-tab-active-indicator-height: 8px;--mat-tab-active-hover-indicator-color: var(--mat-sys-tertiary);--mat-tab-active-focus-indicator-color: var(--mat-sys-tertiary);--mat-tab-inactive-ripple-color: var(--mat-sys-surface-container-low)}:host header mat-toolbar a[mat-tab-link]:hover{background:var(--mat-sys-surface-container-low)}:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-before,:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-after{display:none!important}:host header mat-toolbar .mdc-tab{padding:0 16px;min-width:unset}:host header mat-toolbar .logo{height:42px}:host header mat-toolbar .application-title{display:flex;align-items:center;font-size:1.3rem;font-weight:700;height:42px;line-height:42px;color:var(--mat-sys-tertiary)}:host header mat-toolbar .application-title onemrva-mat-sticker{text-transform:capitalize}:host header mat-toolbar .mat-mdc-tab-nav-bar{text-transform:uppercase}:host #accessibility_fab{position:fixed;bottom:16px;left:16px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:100vw;height:4px;font-weight:700;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0 0 no-repeat padding-box;display:block}:host .environment.TEST,:host .environment.VAL{background-color:var(--mat-sys-primary);display:block}:host mat-drawer-content{display:grid;grid-template-areas:\"header\" \"main\"}@media screen and (min-width:640px){:host mat-drawer-content{grid-template-columns:240px 1fr;grid-template-areas:\"header header\" \"left-sidenav main\"}}:host mat-drawer-content header{grid-area:header}:host mat-drawer-content onemrva-layout-left-sidenav{grid-area:left-sidenav;border-right:1px solid var(--mat-sys-outline-variant)}@media screen and (max-width:640px){:host mat-drawer-content onemrva-layout-left-sidenav{display:none}}:host mat-drawer-content #language-trigger{display:flex}:host mat-drawer-content #language-trigger__child{border:1px solid var(--mat-sys-outline-variant);border-radius:500px}:host mat-drawer-content #language-trigger:hover{background:transparent}:host mat-drawer-content #language-trigger img{width:22px;height:26px}:host mat-drawer-content main{display:block;grid-area:main;position:relative;width:100%;overflow-y:auto;max-height:calc(100vh - var(--layout-header-height));max-width:calc(100vw - 240px)}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{width:95%;max-width:1400px;margin-left:auto;margin-right:auto;min-height:calc(100vh - var(--layout-header-height))}:host mat-drawer-content.no-sidenav{grid-template-columns:1fr;grid-template-areas:\"header\" \"main\"}:host mat-drawer-content.no-sidenav main{max-width:100vw}:host mat-drawer{max-height:100vh;overflow:hidden}:host mat-drawer:not(.side-menu){padding:var(--double-spacer);background:var(--mat-sys-surface-container-high)}:host mat-drawer.xsmall{width:20%}:host mat-drawer.small{width:30%}:host mat-drawer.medium{width:50%}:host mat-drawer.large{width:60%}:host mat-drawer.xlarge{width:70%}:host mat-drawer.xxlarge{width:90%}@media screen and (max-width:640px){:host mat-drawer{width:99%!important}}nav a.disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: OnemrvaMatAvatarModule }, { kind: "component", type: i1$1.OnemrvaMatAvatarComponent, selector: "onemrva-mat-avatar", inputs: ["id", "roundShape", "initials", "text", "icon", "src"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "directive", type: DrawerHostDirective, selector: "[drawerhost]" }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: OnemRvaSizeDirective, selector: "mat-icon[size], onemrva-mat-skeleton[size], onemrva-mat-avatar[size], button[size]", inputs: ["size"] }, { kind: "directive", type: OnemRvaColorDirective, selector: "onemrva-mat-selectable-box[color],div[color],onemrva-mat-avatar[color],mat-card[color],mat-toolbar[color],onemrva-mat-spinner[color],onemrva-mat-notification[color],onemrva-mat-task-list[color],onemrva-mat-sticker[color],onemrva-mat-panel[color],onemrva-mat-task[color],onemrva-mat-choice-chip[color],mat-form-field[color],button[color],mat-icon[color],mat-chip[color],mat-chip-option[color]mat-hint[color],", inputs: ["color"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i2$1.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: LayoutLeftSidenavComponent, selector: "onemrva-layout-left-sidenav", inputs: ["items"] }, { kind: "component", type: OnemrvaMatStickerComponent, selector: "onemrva-mat-sticker" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
677
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: LayoutComponent, isStandalone: true, selector: "onemrva-layout", inputs: { logo: "logo", languages: "languages", environment: "environment", logoRedictionUrl: "logoRedictionUrl", profile: "profile", id: "id", role: "role", showThemeSwitcher: "showThemeSwitcher" }, outputs: { login: "login", logout: "logout" }, queries: [{ propertyName: "title", first: true, predicate: LayoutTitleComponent, descendants: true }, { propertyName: "loginMenu", first: true, predicate: LayoutLoginMenuComponent, descendants: true }, { propertyName: "content", first: true, predicate: LayoutContentComponent, descendants: true }, { propertyName: "afterNav", first: true, predicate: LayoutAfterNavComponent, descendants: true }, { propertyName: "footer", first: true, predicate: LayoutFooterComponent, descendants: true }, { propertyName: "routes", predicate: LayoutRouteComponent }], viewQueries: [{ propertyName: "drawer", first: true, predicate: MatDrawer, descendants: true, static: true }, { propertyName: "drawerHost", first: true, predicate: DrawerHostDirective, descendants: true, static: true }], ngImport: i0, template: "<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default',\n }\"\n />\n <div\n class=\"application-title ml-m\"\n [ngClass]=\"{ 'small-screen': isSmall }\"\n >\n @if (title?.template; as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n }\n\n @if (\n environment &&\n (environment === env.LOCAL ||\n environment === env.TEST ||\n environment === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes?.toArray(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [attr.data-ci]=\"e.dataCy\"\n [attr.data-cy]=\"e.dataCy\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n @if (showThemeSwitcher) {\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav?.template; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n }\n\n @if (profile !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n ></mat-divider>\n }\n @if (profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n @if (!profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile.firstName }} {{ profile.lastName }}\n </div>\n <mat-divider\n class=\"mx-m\"\n style=\"align-self: stretch\"\n ></mat-divider>\n\n @if (loginMenu?.template; as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages && languages.length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages; track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav></onemrva-layout-left-sidenav>\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\"></ng-content>\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer?.template; as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment && (environment === env.LOCAL || environment === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [":host{position:relative}:host .onemrva-layout-container{width:100%;box-sizing:border-box}:host a:active{outline:none}:host header mat-toolbar{z-index:400;border-bottom:1px solid var(--mat-sys-outline-variant);--mat-toolbar-standard-height: var(--layout-header-height);--mat-tab-divider-color: transparent;--mat-tab-container-height: var(--layout-header-height);--mat-tab-label-text-font: var(--text-font);--mat-tab-label-text-weight: 400;--mat-tab-active-indicator-height: 8px;--mat-tab-active-hover-indicator-color: var(--mat-sys-tertiary);--mat-tab-active-focus-indicator-color: var(--mat-sys-tertiary);--mat-tab-inactive-ripple-color: var(--mat-sys-surface-container-low)}:host header mat-toolbar a[mat-tab-link]:hover{background:var(--mat-sys-surface-container-low)}:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-before,:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-after{display:none!important}:host header mat-toolbar .mdc-tab{padding:0 16px;min-width:unset}:host header mat-toolbar .logo{height:42px}:host header mat-toolbar .application-title{display:flex;align-items:center;font-size:1.3rem;font-weight:700;height:42px;line-height:42px;color:var(--mat-sys-tertiary)}:host header mat-toolbar .application-title onemrva-mat-sticker{text-transform:capitalize}:host header mat-toolbar .mat-mdc-tab-nav-bar{text-transform:uppercase}:host #accessibility_fab{position:fixed;bottom:16px;left:16px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:100vw;height:4px;font-weight:700;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0 0 no-repeat padding-box;display:block}:host .environment.TEST,:host .environment.VAL{background-color:var(--mat-sys-primary);display:block}:host mat-drawer-content{display:grid;grid-template-areas:\"header\" \"main\"}@media screen and (min-width:640px){:host mat-drawer-content{grid-template-columns:240px 1fr;grid-template-areas:\"header header\" \"left-sidenav main\"}}:host mat-drawer-content header{grid-area:header}:host mat-drawer-content onemrva-layout-left-sidenav{grid-area:left-sidenav;border-right:1px solid var(--mat-sys-outline-variant)}@media screen and (max-width:640px){:host mat-drawer-content onemrva-layout-left-sidenav{display:none}}:host mat-drawer-content #language-trigger{display:flex}:host mat-drawer-content #language-trigger__child{border:1px solid var(--mat-sys-outline-variant);border-radius:500px}:host mat-drawer-content #language-trigger:hover{background:transparent}:host mat-drawer-content #language-trigger img{width:22px;height:26px}:host mat-drawer-content main{display:block;grid-area:main;position:relative;width:100%;overflow-y:auto;max-height:calc(100vh - var(--layout-header-height));max-width:calc(100vw - 240px)}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{width:95%;max-width:1400px;margin-left:auto;margin-right:auto;min-height:calc(100vh - var(--layout-header-height))}:host mat-drawer-content.no-sidenav{grid-template-columns:1fr;grid-template-areas:\"header\" \"main\"}:host mat-drawer-content.no-sidenav main{max-width:100vw}:host mat-drawer{max-height:100vh;overflow:hidden}:host mat-drawer:not(.side-menu){padding:var(--double-spacer);background:var(--mat-sys-surface-container-high)}:host mat-drawer.xsmall{width:20%}:host mat-drawer.small{width:30%}:host mat-drawer.medium{width:50%}:host mat-drawer.large{width:60%}:host mat-drawer.xlarge{width:70%}:host mat-drawer.xxlarge{width:90%}@media screen and (max-width:640px){:host mat-drawer{width:99%!important}}nav a.disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: OnemrvaMatAvatarModule }, { kind: "component", type: i1$1.OnemrvaMatAvatarComponent, selector: "onemrva-mat-avatar", inputs: ["id", "roundShape", "initials", "text", "icon", "src"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "directive", type: DrawerHostDirective, selector: "[drawerhost]" }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: OnemRvaSizeDirective, selector: "mat-icon[size], onemrva-mat-skeleton[size], onemrva-mat-avatar[size], button[size]", inputs: ["size"] }, { kind: "directive", type: OnemRvaColorDirective, selector: "onemrva-mat-selectable-box[color],div[color],onemrva-mat-avatar[color],mat-card[color],mat-toolbar[color],onemrva-mat-spinner[color],onemrva-mat-notification[color],onemrva-mat-task-list[color],onemrva-mat-sticker[color],onemrva-mat-panel[color],onemrva-mat-task[color],onemrva-mat-choice-chip[color],mat-form-field[color],button[color],mat-icon[color],mat-chip[color],mat-chip-option[color]mat-hint[color],", inputs: ["color"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i2$1.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: LayoutLeftSidenavComponent, selector: "onemrva-layout-left-sidenav", inputs: ["items"] }, { kind: "component", type: OnemrvaMatStickerComponent, selector: "onemrva-mat-sticker" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
678
678
  }
679
679
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LayoutComponent, decorators: [{
680
680
  type: Component,
@@ -707,7 +707,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
707
707
  MatSidenavModule,
708
708
  LayoutLeftSidenavComponent,
709
709
  OnemrvaMatStickerComponent,
710
- ], template: "<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default',\n }\"\n />\n <div class=\"application-title\" [ngClass]=\"{ 'small-screen': isSmall }\">\n @if (title?.template; as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n }\n\n @if (\n environment &&\n (environment === env.LOCAL ||\n environment === env.TEST ||\n environment === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes?.toArray(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [attr.data-ci]=\"e.dataCy\"\n [attr.data-cy]=\"e.dataCy\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n @if (showThemeSwitcher) {\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav?.template; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n }\n\n @if (profile !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n ></mat-divider>\n }\n @if (profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n @if (!profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile.firstName }} {{ profile.lastName }}\n </div>\n <mat-divider\n class=\"mx-m\"\n style=\"align-self: stretch\"\n ></mat-divider>\n\n @if (loginMenu?.template; as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages && languages.length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages; track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav></onemrva-layout-left-sidenav>\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\"></ng-content>\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer?.template; as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment && (environment === env.LOCAL || environment === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [":host{position:relative}:host .onemrva-layout-container{width:100%;box-sizing:border-box}:host a:active{outline:none}:host header mat-toolbar{z-index:400;border-bottom:1px solid var(--mat-sys-outline-variant);--mat-toolbar-standard-height: var(--layout-header-height);--mat-tab-divider-color: transparent;--mat-tab-container-height: var(--layout-header-height);--mat-tab-label-text-font: var(--text-font);--mat-tab-label-text-weight: 400;--mat-tab-active-indicator-height: 8px;--mat-tab-active-hover-indicator-color: var(--mat-sys-tertiary);--mat-tab-active-focus-indicator-color: var(--mat-sys-tertiary);--mat-tab-inactive-ripple-color: var(--mat-sys-surface-container-low)}:host header mat-toolbar a[mat-tab-link]:hover{background:var(--mat-sys-surface-container-low)}:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-before,:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-after{display:none!important}:host header mat-toolbar .mdc-tab{padding:0 16px;min-width:unset}:host header mat-toolbar .logo{height:42px}:host header mat-toolbar .application-title{display:flex;align-items:center;font-size:1.3rem;font-weight:700;height:42px;line-height:42px;color:var(--mat-sys-tertiary)}:host header mat-toolbar .application-title onemrva-mat-sticker{text-transform:capitalize}:host header mat-toolbar .mat-mdc-tab-nav-bar{text-transform:uppercase}:host #accessibility_fab{position:fixed;bottom:16px;left:16px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:100vw;height:4px;font-weight:700;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0 0 no-repeat padding-box;display:block}:host .environment.TEST,:host .environment.VAL{background-color:var(--mat-sys-primary);display:block}:host mat-drawer-content{display:grid;grid-template-areas:\"header\" \"main\"}@media screen and (min-width:640px){:host mat-drawer-content{grid-template-columns:240px 1fr;grid-template-areas:\"header header\" \"left-sidenav main\"}}:host mat-drawer-content header{grid-area:header}:host mat-drawer-content onemrva-layout-left-sidenav{grid-area:left-sidenav;border-right:1px solid var(--mat-sys-outline-variant)}@media screen and (max-width:640px){:host mat-drawer-content onemrva-layout-left-sidenav{display:none}}:host mat-drawer-content #language-trigger{display:flex}:host mat-drawer-content #language-trigger__child{border:1px solid var(--mat-sys-outline-variant);border-radius:500px}:host mat-drawer-content #language-trigger:hover{background:transparent}:host mat-drawer-content #language-trigger img{width:22px;height:26px}:host mat-drawer-content main{display:block;grid-area:main;position:relative;width:100%;overflow-y:auto;max-height:calc(100vh - var(--layout-header-height));max-width:calc(100vw - 240px)}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{width:95%;max-width:1400px;margin-left:auto;margin-right:auto;min-height:calc(100vh - var(--layout-header-height))}:host mat-drawer-content.no-sidenav{grid-template-columns:1fr;grid-template-areas:\"header\" \"main\"}:host mat-drawer-content.no-sidenav main{max-width:100vw}:host mat-drawer{max-height:100vh;overflow:hidden}:host mat-drawer:not(.side-menu){padding:var(--double-spacer);background:var(--mat-sys-surface-container-high)}:host mat-drawer.xsmall{width:20%}:host mat-drawer.small{width:30%}:host mat-drawer.medium{width:50%}:host mat-drawer.large{width:60%}:host mat-drawer.xlarge{width:70%}:host mat-drawer.xxlarge{width:90%}@media screen and (max-width:640px){:host mat-drawer{width:99%!important}}nav a.disabled{pointer-events:none}\n"] }]
710
+ ], template: "<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default',\n }\"\n />\n <div\n class=\"application-title ml-m\"\n [ngClass]=\"{ 'small-screen': isSmall }\"\n >\n @if (title?.template; as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n }\n\n @if (\n environment &&\n (environment === env.LOCAL ||\n environment === env.TEST ||\n environment === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes?.toArray(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [attr.data-ci]=\"e.dataCy\"\n [attr.data-cy]=\"e.dataCy\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n @if (showThemeSwitcher) {\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav?.template; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n }\n\n @if (profile !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n ></mat-divider>\n }\n @if (profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n @if (!profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile.firstName }} {{ profile.lastName }}\n </div>\n <mat-divider\n class=\"mx-m\"\n style=\"align-self: stretch\"\n ></mat-divider>\n\n @if (loginMenu?.template; as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages && languages.length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages; track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav></onemrva-layout-left-sidenav>\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\"></ng-content>\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer?.template; as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment && (environment === env.LOCAL || environment === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [":host{position:relative}:host .onemrva-layout-container{width:100%;box-sizing:border-box}:host a:active{outline:none}:host header mat-toolbar{z-index:400;border-bottom:1px solid var(--mat-sys-outline-variant);--mat-toolbar-standard-height: var(--layout-header-height);--mat-tab-divider-color: transparent;--mat-tab-container-height: var(--layout-header-height);--mat-tab-label-text-font: var(--text-font);--mat-tab-label-text-weight: 400;--mat-tab-active-indicator-height: 8px;--mat-tab-active-hover-indicator-color: var(--mat-sys-tertiary);--mat-tab-active-focus-indicator-color: var(--mat-sys-tertiary);--mat-tab-inactive-ripple-color: var(--mat-sys-surface-container-low)}:host header mat-toolbar a[mat-tab-link]:hover{background:var(--mat-sys-surface-container-low)}:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-before,:host header mat-toolbar .topMenu .mat-mdc-tab-header-pagination-after{display:none!important}:host header mat-toolbar .mdc-tab{padding:0 16px;min-width:unset}:host header mat-toolbar .logo{height:42px}:host header mat-toolbar .application-title{display:flex;align-items:center;font-size:1.3rem;font-weight:700;height:42px;line-height:42px;color:var(--mat-sys-tertiary)}:host header mat-toolbar .application-title onemrva-mat-sticker{text-transform:capitalize}:host header mat-toolbar .mat-mdc-tab-nav-bar{text-transform:uppercase}:host #accessibility_fab{position:fixed;bottom:16px;left:16px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:100vw;height:4px;font-weight:700;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0 0 no-repeat padding-box;display:block}:host .environment.TEST,:host .environment.VAL{background-color:var(--mat-sys-primary);display:block}:host mat-drawer-content{display:grid;grid-template-areas:\"header\" \"main\"}@media screen and (min-width:640px){:host mat-drawer-content{grid-template-columns:240px 1fr;grid-template-areas:\"header header\" \"left-sidenav main\"}}:host mat-drawer-content header{grid-area:header}:host mat-drawer-content onemrva-layout-left-sidenav{grid-area:left-sidenav;border-right:1px solid var(--mat-sys-outline-variant)}@media screen and (max-width:640px){:host mat-drawer-content onemrva-layout-left-sidenav{display:none}}:host mat-drawer-content #language-trigger{display:flex}:host mat-drawer-content #language-trigger__child{border:1px solid var(--mat-sys-outline-variant);border-radius:500px}:host mat-drawer-content #language-trigger:hover{background:transparent}:host mat-drawer-content #language-trigger img{width:22px;height:26px}:host mat-drawer-content main{display:block;grid-area:main;position:relative;width:100%;overflow-y:auto;max-height:calc(100vh - var(--layout-header-height));max-width:calc(100vw - 240px)}:host mat-drawer-content main>.notification{z-index:999;position:sticky;top:0}:host mat-drawer-content main>section{width:95%;max-width:1400px;margin-left:auto;margin-right:auto;min-height:calc(100vh - var(--layout-header-height))}:host mat-drawer-content.no-sidenav{grid-template-columns:1fr;grid-template-areas:\"header\" \"main\"}:host mat-drawer-content.no-sidenav main{max-width:100vw}:host mat-drawer{max-height:100vh;overflow:hidden}:host mat-drawer:not(.side-menu){padding:var(--double-spacer);background:var(--mat-sys-surface-container-high)}:host mat-drawer.xsmall{width:20%}:host mat-drawer.small{width:30%}:host mat-drawer.medium{width:50%}:host mat-drawer.large{width:60%}:host mat-drawer.xlarge{width:70%}:host mat-drawer.xxlarge{width:90%}@media screen and (max-width:640px){:host mat-drawer{width:99%!important}}nav a.disabled{pointer-events:none}\n"] }]
711
711
  }], ctorParameters: () => [], propDecorators: { routes: [{
712
712
  type: ContentChildren,
713
713
  args: [LayoutRouteComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-layout.mjs","sources":["../../../../projects/onemrva/design-system/layout/src/services/left-sidenav.service.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-left-sidenav/layout-left-sidenav.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-left-sidenav/layout-left-sidenav.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-subroute/layout-subroute.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-subroute/layout-subroute.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-route/layout-route.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-route/layout-route.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-content/layout-content.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-title/layout-title.component.ts","../../../../projects/onemrva/design-system/layout/src/enums/environment.enum.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-footer/layout-footer.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-login-menu/layout-login-menu.component.ts","../../../../projects/onemrva/design-system/layout/src/directives/striphtml.pipe.ts","../../../../projects/onemrva/design-system/layout/src/directives/drawer-host.directive.ts","../../../../projects/onemrva/design-system/layout/src/services/drawer.service.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-sidenav/layout-sidenav.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-sidenav/layout-sidenav.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-after-nav/layout-after-nav.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout/layout.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout/layout.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-sidenav-title/layout-sidenav-title.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-content/layout-drawer-content.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-content/layout-drawer-content.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-title/layout-drawer-title.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-title/layout-drawer-title.component.html","../../../../projects/onemrva/design-system/layout/src/components/index.ts","../../../../projects/onemrva/design-system/layout/src/decorators/coerce-boolean-input.decorator.ts","../../../../projects/onemrva/design-system/layout/src/decorators/observable-content.decorator.ts","../../../../projects/onemrva/design-system/layout/src/models/onemrva-profile.model.ts","../../../../projects/onemrva/design-system/layout/src/layout.module.ts","../../../../projects/onemrva/design-system/layout/onemrvapublic-design-system-layout.ts"],"sourcesContent":["import { Injectable, WritableSignal, signal } from '@angular/core';\nimport { NavItem } from '@onemrvapublic/design-system/mat-navigation';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemrvaLeftSidenavService {\n private originalItems: NavItem[] = [];\n readonly items: WritableSignal<NavItem[]> = signal<NavItem[]>([]);\n\n setOriginal(items: NavItem[]): void {\n this.originalItems = items ?? [];\n this.items.set(this.originalItems);\n }\n\n updateItems(items: NavItem[]): void {\n this.items.set(items ?? []);\n this.items(); // ??\n }\n\n reset(): void {\n this.items.set(this.originalItems);\n }\n}\n","import { Component, Input, inject, HostBinding, effect } from '@angular/core';\n\nimport {\n NavItem,\n OnemrvaMatNavigationComponent,\n} from '@onemrvapublic/design-system/mat-navigation';\nimport { OnemrvaLeftSidenavService } from '../../services/left-sidenav.service';\n\n@Component({\n selector: 'onemrva-layout-left-sidenav',\n templateUrl: 'layout-left-sidenav.component.html',\n styleUrl: 'layout-left-sidenav.component.scss',\n imports: [OnemrvaMatNavigationComponent],\n standalone: true,\n})\nexport class LayoutLeftSidenavComponent {\n private _items: NavItem[] = [];\n\n @Input()\n set items(value: NavItem[]) {\n this._items = value ?? [];\n this.leftSidenavService.setOriginal(this._items);\n }\n\n get items(): NavItem[] {\n return this._items;\n }\n\n @HostBinding('class.hidden')\n _isHidden = false;\n\n constructor() {\n effect(() => {\n this._isHidden = this.leftSidenavService.items().length === 0;\n });\n }\n\n leftSidenavService = inject(OnemrvaLeftSidenavService);\n}\n","@if (leftSidenavService.items().length > 0) {\n <onemrva-mat-navigation\n [items]=\"leftSidenavService.items()\"\n ></onemrva-mat-navigation>\n} @else {\n <ng-content></ng-content>\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\n\n@Component({\n selector: 'onemrva-layout-subroute',\n templateUrl: 'layout-subroute.component.html',\n\n standalone: true,\n})\nexport class LayoutSubrouteComponent implements AfterViewInit {\n private cd = inject(ChangeDetectorRef);\n private router = inject(Router);\n\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n @Input() routerLink: typeof RouterLink.prototype.routerLink | string;\n @Input() routerLinkActiveOptions?: any;\n @Input() public dataCy?: string;\n @Input() label?: string;\n @Input() icon?: string;\n\n @ContentChildren(LayoutSubrouteComponent)\n subroutes?: QueryList<LayoutSubrouteComponent>;\n\n ngAfterViewInit() {\n if (this.label === undefined) {\n console.error(\n 'ONEM/RVA DESIGN SYSTEM ERROR : Since 20.1.0 , you must add a label attribute to the onemrva-layout-route',\n this.routerLink,\n );\n }\n this.cd.detectChanges();\n }\n\n hasSubroutes() {\n return this.subroutes !== undefined && this.subroutes.length > 0;\n }\n\n hasActiveSubroute() {\n return this.subroutes?.some(x => this.isActiveRoute(x)) ?? false;\n }\n\n private isActiveRoute(subroute: LayoutSubrouteComponent): boolean {\n if (subroute.routerLink) {\n const routerLink = Array.isArray(subroute.routerLink)\n ? this.router.createUrlTree(subroute.routerLink)\n : this.router.createUrlTree([subroute.routerLink]);\n\n return this.router.isActive(routerLink, {\n paths: 'exact',\n queryParams: 'exact',\n fragment: 'ignored',\n matrixParams: 'ignored',\n });\n } else {\n return false;\n }\n }\n}\n","<ng-template>\n {{ label }}\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n inject,\n Input,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Router, RouterLink, RouterLinkActive } from '@angular/router';\nimport { LayoutSubrouteComponent } from '../layout-subroute/layout-subroute.component';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';\n\n@Component({\n selector: 'onemrva-layout-route',\n templateUrl: 'layout-route.component.html',\n styleUrls: ['./layout-route.component.scss'],\n standalone: true,\n imports: [\n MatIcon,\n MatMenu,\n MatMenuTrigger,\n RouterLink,\n MatMenuItem,\n RouterLinkActive,\n NgTemplateOutlet,\n NgClass,\n ],\n})\nexport class LayoutRouteComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild('navTpl') template: TemplateRef<any> | null = null;\n\n @Input() routerLink?: string;\n @Input() routerLinkActiveOptions?: any;\n @Input() public dataCy?: string;\n @Input() baseRouteForActiveMenu?: string;\n @Input() label?: string;\n @Input() icon?: string;\n\n @ContentChildren(LayoutSubrouteComponent)\n subroutes?: QueryList<LayoutSubrouteComponent>;\n\n hasSubroutes() {\n return this.subroutes !== undefined && this.subroutes.length > 0;\n }\n\n cd = inject(ChangeDetectorRef);\n router = inject(Router);\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n\n if (this.label === undefined) {\n console.error(\n 'ONEM/RVA DESIGN SYSTEM ERROR : Since 20.1.0 , you must add a label attribute to the onemrva-layout-route',\n this.routerLink,\n );\n }\n }\n\n isRouteActive() {\n if (this.routerLink === null || this.routerLink === undefined) {\n if (this.baseRouteForActiveMenu) {\n const currentRoute = this.router.url;\n const isParentRoutePresent = new RegExp(\n this.baseRouteForActiveMenu + '/',\n ).test(currentRoute);\n const isExactRoutePresent = new RegExp(\n this.baseRouteForActiveMenu + '$',\n ).test(currentRoute);\n\n return isParentRoutePresent || isExactRoutePresent;\n }\n }\n return false;\n }\n}\n","<ng-template #navTpl>\n @if (!hasSubroutes()) {\n {{ label }}\n } @else if (hasSubroutes()) {\n <span class=\"subroutes-menu-trigger\" [matMenuTriggerFor]=\"menu\">\n <span role=\"button\">\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?.toArray(); 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\"></ng-container>\n }\n </button>\n }\n @if (e.hasSubroutes()) {\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"submenu\"\n [ngClass]=\"{ active: e.hasActiveSubroute() }\"\n [attr.data-cy]=\"e.dataCy\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n }\n </button>\n <mat-menu #submenu>\n @for (es of e.subroutes?.toArray(); 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 </ng-container>\n }\n </button>\n }\n </mat-menu>\n }\n }\n </mat-menu>\n }\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-content',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n standalone: true,\n})\nexport class LayoutContentComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n private cd = inject(ChangeDetectorRef);\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-title',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n standalone: true,\n})\nexport class LayoutTitleComponent implements AfterViewInit {\n private cd = inject(ChangeDetectorRef);\n\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","export enum Environment {\n LOCAL = 'LOCAL',\n TEST = 'TEST',\n VAL = 'VAL',\n PROD = 'PROD',\n}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-footer',\n\n template: '<ng-template><ng-content></ng-content></ng-template>',\n standalone: true,\n})\nexport class LayoutFooterComponent {\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-login-menu',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n\n standalone: true,\n})\nexport class LayoutLoginMenuComponent implements AfterViewInit {\n private cd = inject(ChangeDetectorRef);\n\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'striphtml',\n standalone: true,\n})\nexport class StripHtmlPipe implements PipeTransform {\n transform(value: string): any {\n return value.replace(/<.*?>/g, ''); // replace tags\n }\n}\n","// Command to generate ng g d <Directive name>\n\nimport {\n AfterViewInit,\n DestroyRef,\n Directive,\n inject,\n ViewContainerRef,\n Type,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DOCUMENT } from '@angular/core';\nimport { MatDrawer } from '@angular/material/sidenav';\n\n@Directive({\n selector: '[drawerhost]',\n standalone: true,\n})\nexport class DrawerHostDirective implements AfterViewInit {\n public destroyRef = inject(DestroyRef);\n public drawer = inject(MatDrawer);\n public viewContainerRef = inject(ViewContainerRef);\n public document = inject(DOCUMENT);\n\n createComponent<T>(component: Type<T>) {\n this.viewContainerRef.clear();\n return this.viewContainerRef.createComponent(component);\n }\n\n public bodyClass() {\n if (this.drawer?.opened) {\n this.document.body.style.overflow = 'hidden';\n } else {\n this.document.body.style.overflow = 'inherit';\n }\n }\n\n ngAfterViewInit(): void {\n this.drawer?.openedChange\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.bodyClass();\n });\n }\n}\n","import { Injectable, signal, WritableSignal } from '@angular/core';\nimport { DrawerHostDirective } from '../directives/drawer-host.directive';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { OnemrvaMatSize } from '@onemrvapublic/design-system/utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemrvaDrawerService {\n public host?: DrawerHostDirective;\n private drawer?: MatDrawer;\n\n hasBackdrop = signal(true);\n size: WritableSignal<OnemrvaMatSize> = signal('');\n isSide = false;\n\n toggle(isSide = false) {\n if (!this.drawer) return;\n this.isSide = isSide;\n this.drawer?.toggle();\n }\n\n open(isSide = false) {\n if (!this.drawer) return;\n this.isSide = isSide;\n this.drawer?.open();\n }\n\n close() {\n if (!this.drawer) return;\n this.drawer?.close();\n }\n\n classes() {\n if (this.isSide) {\n return [this.size(), 'side-menu'];\n }\n return [this.size()];\n }\n\n setDrawer(drawer: MatDrawer) {\n this.drawer = drawer;\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Component, inject, Input, OnInit, QueryList } from '@angular/core';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { LayoutRouteComponent } from '../layout-route/layout-route.component';\nimport { OnemrvaDrawerService } from '../../services';\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { OnemRvaLanguage } from '../../models';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport {\n NavItem,\n OnemrvaMatNavigationComponent,\n} from '@onemrvapublic/design-system/mat-navigation';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FormsModule } from '@angular/forms';\nimport { LayoutSubrouteComponent } from '../layout-subroute/layout-subroute.component';\n\n@Component({\n selector: 'onemrva-layout-sidenav',\n templateUrl: 'layout-sidenav.component.html',\n styleUrl: 'layout-sidenav.component.scss',\n animations: [\n trigger('slideInOut', [\n state(\n 'in',\n style({\n overflow: 'hidden',\n height: '*',\n }),\n ),\n state(\n 'out',\n style({\n opacity: '0',\n overflow: 'hidden',\n height: '0px',\n }),\n ),\n transition('in => out', animate('400ms ease-in-out')),\n transition('out => in', animate('400ms ease-in-out')),\n ]),\n ],\n standalone: true,\n imports: [\n MatIconButton,\n MatIcon,\n TranslatePipe,\n OnemrvaMatNavigationComponent,\n MatFormFieldModule,\n MatSelectModule,\n FormsModule,\n ],\n})\nexport class LayoutSidenavComponent implements OnInit {\n @Input() isSmall!: boolean;\n @Input() routes?: QueryList<LayoutRouteComponent>;\n @Input() languages: OnemRvaLanguage[] = [];\n\n items: NavItem[] = [];\n\n currentLanguage?: OnemRvaLanguage;\n\n helpMenuOpen!: string[][];\n\n translateService = inject(TranslateService);\n document = inject(DOCUMENT);\n drawerService = inject(OnemrvaDrawerService);\n\n ngOnInit() {\n this.currentLanguage = this.languages.filter(\n l => l.code == this.translateService.currentLang,\n )[0];\n\n if (this.routes)\n this.helpMenuOpen = this.routes.map(route =>\n route.hasSubroutes()\n ? ['out', ...route.subroutes!.map(() => 'out')]\n : ['in'],\n );\n // Replace your existing items population with:\n this.items = this.populateItemsRecursively(this.routes!);\n }\n\n changeLanguage(event: any) {\n this.translateService.use(event.value.code);\n this.document.documentElement.lang = event.value.code;\n }\n\n close() {\n this.drawerService.close();\n }\n\n private populateItemsRecursively(\n routes:\n | QueryList<LayoutRouteComponent>\n | QueryList<LayoutSubrouteComponent>\n | LayoutRouteComponent[]\n | LayoutSubrouteComponent[],\n ): NavItem[] {\n const items: NavItem[] = [];\n if (routes === undefined) routes = [];\n\n const routeArray = Array.isArray(routes) ? routes : routes.toArray();\n\n for (const route of routeArray) {\n const navItem: NavItem = {\n routerLink:\n typeof route.routerLink === 'string' ? route.routerLink : undefined,\n label: this.getRouteLabel(route),\n icon: (route as any).icon, // LayoutSubrouteComponent doesn't have icon, so cast to any\n dataCy: route.dataCy,\n };\n\n // Recursively populate children if subroutes exist\n if (route.hasSubroutes() && route.subroutes) {\n navItem.children = this.populateItemsRecursively(route.subroutes);\n }\n\n items.push(navItem);\n }\n\n return items;\n }\n\n private getRouteLabel(\n route: LayoutRouteComponent | LayoutSubrouteComponent,\n ): string {\n // Check if it's a LayoutRouteComponent with label property\n if ('label' in route && route.label) {\n return route.label;\n }\n return 'Unnamed Route';\n }\n}\n","@if (\n isSmall && (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\"></onemrva-mat-navigation>\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","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-after-nav',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n standalone: true,\n})\nexport class LayoutAfterNavComponent implements AfterViewInit {\n private cd = inject(ChangeDetectorRef);\n\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n isDevMode,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Signal,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { startWith, Subject, takeUntil } from 'rxjs';\nimport {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\nimport { DOCUMENT, NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport {\n MatDrawer,\n MatDrawerContainer,\n MatSidenavModule,\n} from '@angular/material/sidenav';\nimport {\n ONEMRVA_THEME_CLASS,\n OnemRvaCDNService,\n OnemRvaColorDirective,\n OnemRvaSizeDirective,\n} from '@onemrvapublic/design-system/shared';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { MatToolbar } from '@angular/material/toolbar';\nimport { MatTabLink, MatTabNav, MatTabNavPanel } from '@angular/material/tabs';\nimport { MatDivider } from '@angular/material/divider';\nimport { OnemrvaMatAvatarModule } from '@onemrvapublic/design-system/mat-avatar';\nimport { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatFabButton, MatIconButton } from '@angular/material/button';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { MatRipple } from '@angular/material/core';\n\nimport { LayoutLeftSidenavComponent } from '../layout-left-sidenav/layout-left-sidenav.component';\nimport { LayoutRouteComponent } from '../layout-route/layout-route.component';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { LayoutContentComponent } from '../layout-content/layout-content.component';\nimport { LayoutTitleComponent } from '../layout-title/layout-title.component';\nimport { Environment } from '../../enums';\nimport { LayoutFooterComponent } from '../layout-footer/layout-footer.component';\nimport { OnemRvaLanguage, OnemRvaProfile } from '../../models';\nimport { LayoutLoginMenuComponent } from '../layout-login-menu/layout-login-menu.component';\nimport { DrawerHostDirective } from '../../directives';\nimport {\n OnemrvaDrawerService,\n OnemrvaLeftSidenavService,\n} from '../../services';\nimport { LayoutSidenavComponent } from '../layout-sidenav/layout-sidenav.component';\nimport { LayoutAfterNavComponent } from '../layout-after-nav/layout-after-nav.component';\nimport { OnemrvaMatStickerComponent } from '@onemrvapublic/design-system/mat-sticker';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\n@Component({\n selector: 'onemrva-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss'],\n standalone: true,\n imports: [\n RouterLink,\n NgStyle,\n NgClass,\n MatToolbar,\n MatDrawerContainer,\n MatTabNav,\n MatTabLink,\n RouterLinkActive,\n MatTabNavPanel,\n MatDivider,\n OnemrvaMatAvatarModule,\n MatMenuTrigger,\n MatMenu,\n MatIcon,\n MatMenuItem,\n NgTemplateOutlet,\n TranslatePipe,\n MatIconButton,\n MatFabButton,\n MatTooltip,\n MatDrawer,\n DrawerHostDirective,\n MatRipple,\n OnemRvaSizeDirective,\n OnemRvaColorDirective,\n MatSidenavModule,\n LayoutLeftSidenavComponent,\n OnemrvaMatStickerComponent,\n ],\n})\nexport class LayoutComponent implements OnInit, AfterViewInit, OnDestroy {\n @ContentChildren(LayoutRouteComponent)\n routes?: QueryList<LayoutRouteComponent>;\n\n @ContentChild(LayoutTitleComponent) title?: LayoutTitleComponent;\n @ContentChild(LayoutLoginMenuComponent) loginMenu?: LayoutLoginMenuComponent;\n @ContentChild(LayoutContentComponent) content?: LayoutContentComponent;\n @ContentChild(LayoutAfterNavComponent) afterNav?: LayoutAfterNavComponent;\n\n @ContentChild(LayoutFooterComponent)\n footer?: LayoutFooterComponent;\n\n @Input()\n logo = ''; // custom logo, empty string will show default onem/rva/neo/lfa localised logo\n\n @Input()\n languages: OnemRvaLanguage[] = []; // list of languages\n\n @Input()\n environment?: Environment; // possible environment to show on the frontend LOCAL, TEST, VAL, PROD\n\n @Input()\n logoRedictionUrl?: string | any[] | null = ''; // value for routerLink from logo. \"\" by default. Deactivated when set to null\n\n selectedIndex = 0;\n destroyNotifier$ = new Subject<void>();\n\n @Input()\n profile: OnemRvaProfile | null = null; // To be defined for application with authentication\n\n @Output()\n login: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n logout: EventEmitter<void> = new EventEmitter<void>();\n // isLogoutUsed: boolean = false;\n\n env = Environment;\n\n isSmall = true;\n\n @ViewChild(MatDrawer, { static: true }) drawer!: MatDrawer;\n @ViewChild(DrawerHostDirective, { static: true })\n drawerHost!: DrawerHostDirective;\n\n @Input()\n id = 'main';\n\n @Input()\n role = 'main';\n\n @Input()\n showThemeSwitcher = false;\n\n onemrvaClass = inject(ONEMRVA_THEME_CLASS);\n\n private map = {\n NL: {\n label: 'Nederlands',\n imgCode: 'nl',\n },\n FR: {\n label: 'Français',\n imgCode: 'fr',\n },\n DE: {\n label: 'Deutsch',\n imgCode: 'de',\n },\n EN: {\n label: 'English',\n imgCode: 'gb-eng',\n },\n };\n\n activeTheme = signal<'light' | 'dark' | 'system'>('system');\n\n color: Signal<OnemrvaMatColor> = computed(() => {\n switch (this.environment) {\n case Environment.LOCAL:\n return OnemrvaMatColor.ACCENT;\n case Environment.TEST:\n return OnemrvaMatColor.INFO;\n case Environment.VAL:\n return OnemrvaMatColor.SUCCESS;\n default:\n return OnemrvaMatColor.PRIMARY;\n }\n });\n\n toggleTheme(newTheme: 'light' | 'dark' | 'system') {\n this.activeTheme.set(newTheme);\n // Find all elements with onemrva-theme class\n const overlayThemeDivs = document.querySelectorAll('.' + this.onemrvaClass);\n overlayThemeDivs.forEach(div => {\n // Remove existing theme classes\n div.classList.remove('light-theme', 'dark-theme');\n\n // Add new theme class if not system\n if (newTheme !== 'system') {\n div.classList.add(`${newTheme}-theme`);\n }\n });\n }\n\n private readonly translateService = inject(TranslateService);\n private readonly cdn = inject(OnemRvaCDNService);\n private readonly cd = inject(ChangeDetectorRef);\n public readonly breakpointObserver = inject(BreakpointObserver);\n private readonly document = inject(DOCUMENT);\n public readonly drawerService = inject(OnemrvaDrawerService);\n\n public readonly leftSidenavService = inject(OnemrvaLeftSidenavService);\n\n constructor() {\n if (this.languages.length === 0) {\n this.translateService.getLangs().forEach(value => {\n this.languages.push({\n code: value,\n label:\n this.map[value.toUpperCase() as keyof typeof this.map].label || '',\n imgCode:\n this.map[value.toUpperCase() as keyof typeof this.map].imgCode ||\n '',\n } as any);\n });\n }\n }\n\n ngOnInit() {\n this.selectedIndex = this.languages.findIndex(\n l => l.code === this.translateService.currentLang,\n );\n\n this.document.documentElement.lang = this.translateService.currentLang;\n\n this.breakpointObserver\n .observe([Breakpoints.XSmall, Breakpoints.Small])\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe((state: BreakpointState) => {\n if (state.matches) {\n this.isSmall = true;\n } else {\n this.drawerService.close();\n this.isSmall = false;\n }\n });\n\n if (this.logo === '') {\n this.translateService.onLangChange\n .pipe(\n startWith({ lang: this.translateService.currentLang }),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(lang => {\n this.logo = this.cdn.getImg(\n `logo/logo_${lang.lang?.toLocaleLowerCase()}.svg`,\n );\n });\n }\n this.translateService.onLangChange\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(event => {\n this.selectedIndex = this.languages.findIndex(\n lang => lang.code === event.lang,\n );\n });\n\n this.drawerService.host = this.drawerHost;\n this.drawerService.setDrawer(this.drawer);\n }\n\n get currentLanguage() {\n return this.translateService.currentLang || '';\n }\n\n ngAfterViewInit() {\n if (isDevMode()) {\n this.cd.detectChanges();\n }\n // this.drawer.closedStart\n // .pipe(takeUntil(this.destroyNotifier$))\n // .subscribe(() => {\n // });\n }\n\n languageImg(language?: OnemRvaLanguage) {\n const lang = language?.code || this.translateService.getCurrentLang();\n\n const finalImgCode =\n this.map[lang.toUpperCase() as keyof typeof this.map].imgCode || '';\n\n return this.cdn.getImg(`flags/4x3/${finalImgCode}.svg`);\n }\n\n ngOnDestroy(): void {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n doLogout() {\n this.logout.next();\n }\n\n doLogin() {\n this.login.next();\n }\n\n changeLanguage(langCode: string) {\n this.translateService.use(langCode);\n this.document.documentElement.lang = langCode;\n }\n\n toggleSideNav() {\n const componentRef = this.drawerHost.createComponent(\n LayoutSidenavComponent,\n );\n this.drawerService.size.set('');\n componentRef.instance.isSmall = this.isSmall;\n componentRef.instance.languages = this.languages;\n componentRef.instance.routes = this.routes;\n this.drawerService.toggle(true);\n }\n}\n","<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default',\n }\"\n />\n <div class=\"application-title\" [ngClass]=\"{ 'small-screen': isSmall }\">\n @if (title?.template; as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n }\n\n @if (\n environment &&\n (environment === env.LOCAL ||\n environment === env.TEST ||\n environment === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes?.toArray(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [attr.data-ci]=\"e.dataCy\"\n [attr.data-cy]=\"e.dataCy\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n @if (showThemeSwitcher) {\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav?.template; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n }\n\n @if (profile !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n ></mat-divider>\n }\n @if (profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n @if (!profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile.firstName }} {{ profile.lastName }}\n </div>\n <mat-divider\n class=\"mx-m\"\n style=\"align-self: stretch\"\n ></mat-divider>\n\n @if (loginMenu?.template; as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages && languages.length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages; track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav></onemrva-layout-left-sidenav>\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\"></ng-content>\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer?.template; as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment && (environment === env.LOCAL || environment === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-sidenav-title',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n\n standalone: true,\n})\nexport class LayoutSidenavTitleComponent {\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n}\n","import { Component, inject } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\n\n@Component({\n selector: 'onemrva-drawer-actions',\n templateUrl: 'layout-drawer-actions.component.html',\n styleUrl: 'layout-drawer-actions.component.scss',\n standalone: true,\n})\nexport class LayoutDrawerActionsComponent {\n drawerService = inject(OnemrvaDrawerService);\n}\n","<ng-content></ng-content>\n","import { Component, inject } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\n\n@Component({\n selector: 'onemrva-drawer-content',\n templateUrl: 'layout-drawer-content.component.html',\n styleUrl: 'layout-drawer-content.component.scss',\n standalone: true,\n})\nexport class LayoutDrawerContentComponent {\n drawerService = inject(OnemrvaDrawerService);\n}\n","<span><ng-content></ng-content></span>\n","import { Component, inject, Input } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'onemrva-drawer-title',\n templateUrl: 'layout-drawer-title.component.html',\n styleUrl: 'layout-drawer-title.component.scss',\n standalone: true,\n imports: [MatIcon],\n})\nexport class LayoutDrawerTitleComponent {\n @Input()\n showClose = true;\n\n drawerService = inject(OnemrvaDrawerService);\n}\n","<span><ng-content></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","import { LayoutComponent } from './layout/layout.component';\nimport { LayoutContentComponent } from './layout-content/layout-content.component';\nimport { LayoutFooterComponent } from './layout-footer/layout-footer.component';\nimport { LayoutRouteComponent } from './layout-route/layout-route.component';\nimport { LayoutTitleComponent } from './layout-title/layout-title.component';\nimport { LayoutSidenavTitleComponent } from './layout-sidenav-title/layout-sidenav-title.component';\nimport { LayoutSidenavComponent } from './layout-sidenav/layout-sidenav.component';\nimport { LayoutLoginMenuComponent } from './layout-login-menu/layout-login-menu.component';\nimport { LayoutSubrouteComponent } from './layout-subroute/layout-subroute.component';\nimport { LayoutAfterNavComponent } from './layout-after-nav/layout-after-nav.component';\nimport { LayoutLeftSidenavComponent } from './layout-left-sidenav/layout-left-sidenav.component';\n\nexport const layoutComponents = [\n LayoutComponent,\n LayoutContentComponent,\n LayoutFooterComponent,\n LayoutRouteComponent,\n LayoutSubrouteComponent,\n LayoutTitleComponent,\n LayoutSidenavTitleComponent,\n LayoutSidenavComponent,\n LayoutLoginMenuComponent,\n LayoutAfterNavComponent,\n LayoutLeftSidenavComponent,\n];\n\nexport * from './layout/layout.component';\nexport * from './layout-content/layout-content.component';\nexport * from './layout-footer/layout-footer.component';\nexport * from './layout-route/layout-route.component';\nexport * from './layout-subroute/layout-subroute.component';\nexport * from './layout-title/layout-title.component';\nexport * from './layout-sidenav-title/layout-sidenav-title.component';\nexport * from './layout-login-menu/layout-login-menu.component';\nexport * from './layout-sidenav/layout-sidenav.component';\nexport * from './layout-left-sidenav/layout-left-sidenav.component';\nexport * from './layout-after-nav/layout-after-nav.component';\nexport * from './layout-drawer-actions/layout-drawer-actions.component';\nexport * from './layout-drawer-content/layout-drawer-content.component';\nexport * from './layout-drawer-title/layout-drawer-title.component';\nexport * from './layout-left-sidenav/layout-left-sidenav.component';\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport function CoerceBooleanInput(defaultValue: boolean) {\n return (target: any, propertyKey: string | symbol) => {\n Object.defineProperty(target, propertyKey, {\n get() {\n return this[propertyKey.toString() + '__underlying_field'];\n },\n set(newValue: any) {\n const v =\n newValue === '' || newValue === null || newValue === undefined\n ? defaultValue\n : coerceBooleanProperty(newValue);\n\n this[propertyKey.toString() + '__underlying_field'] = v;\n },\n });\n };\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport function ObservableContent() {\n return (target: any, propertyKey: string) => {\n const value = new BehaviorSubject(undefined);\n Object.defineProperty(target, propertyKey, {\n get: () => value,\n set: (v: any) => {\n value.next(v);\n },\n });\n };\n}\n","export class OnemRvaProfile {\n private _isLoggedIn = false;\n private _firstName = '';\n private _lastName = '';\n\n public constructor();\n public constructor(firstName: string, lastName: string);\n\n public constructor(...args: any[]) {\n if (args.length === 2) {\n this._firstName = args[0];\n this._lastName = args[1];\n this._isLoggedIn = true;\n }\n }\n\n initials(): string {\n if (this._firstName === '' || this._lastName === '') return '';\n return `${this._firstName.slice(0, 1)}${this._lastName.slice(0, 1)}`;\n }\n\n get firstName(): string {\n return this._firstName;\n }\n\n set firstName(value: string) {\n this._firstName = value;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n\n set lastName(value: string) {\n this._lastName = value;\n }\n\n get isLoggedIn(): boolean {\n return this._isLoggedIn;\n }\n\n set isLoggedIn(value: boolean) {\n this._isLoggedIn = value;\n }\n\n login(firstName: string, lastName: string) {\n this._firstName = firstName;\n this._lastName = lastName;\n this._isLoggedIn = true;\n }\n\n logout() {\n this._firstName = '';\n this._lastName = '';\n this._isLoggedIn = false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { RouterModule } from '@angular/router';\n\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { layoutComponents } from './components';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { DrawerHostDirective } from './directives/drawer-host.directive';\nimport { StripHtmlPipe } from './directives/striphtml.pipe';\nimport { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';\nimport { OnemrvaMatAvatarModule } from '@onemrvapublic/design-system/mat-avatar';\nimport { MatRipple } from '@angular/material/core';\n\n@NgModule({\n declarations: [],\n imports: [\n ...layoutComponents,\n StripHtmlPipe,\n DrawerHostDirective,\n CommonModule,\n RouterModule,\n LayoutModule,\n MatToolbarModule,\n MatDividerModule,\n MatSidenavModule,\n MatTabsModule,\n MatButtonModule,\n MatMenuModule,\n MatIconModule,\n OnemrvaMatAvatarModule,\n MatTooltipModule,\n TranslateModule,\n MatRipple,\n ],\n exports: [...layoutComponents, LayoutModule],\n providers: [\n {\n provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,\n useValue: { horizontalPosition: 'right' },\n },\n ],\n})\nexport class OnemrvaLayoutModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DOCUMENT","i1","i2","i1.LayoutComponent","i4.LayoutRouteComponent","i8.LayoutSidenavComponent","i11.LayoutLeftSidenavComponent"],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-layout.mjs","sources":["../../../../projects/onemrva/design-system/layout/src/services/left-sidenav.service.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-left-sidenav/layout-left-sidenav.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-left-sidenav/layout-left-sidenav.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-subroute/layout-subroute.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-subroute/layout-subroute.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-route/layout-route.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-route/layout-route.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-content/layout-content.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-title/layout-title.component.ts","../../../../projects/onemrva/design-system/layout/src/enums/environment.enum.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-footer/layout-footer.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-login-menu/layout-login-menu.component.ts","../../../../projects/onemrva/design-system/layout/src/directives/striphtml.pipe.ts","../../../../projects/onemrva/design-system/layout/src/directives/drawer-host.directive.ts","../../../../projects/onemrva/design-system/layout/src/services/drawer.service.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-sidenav/layout-sidenav.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-sidenav/layout-sidenav.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-after-nav/layout-after-nav.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout/layout.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout/layout.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-sidenav-title/layout-sidenav-title.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-content/layout-drawer-content.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-content/layout-drawer-content.component.html","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-title/layout-drawer-title.component.ts","../../../../projects/onemrva/design-system/layout/src/components/layout-drawer-title/layout-drawer-title.component.html","../../../../projects/onemrva/design-system/layout/src/components/index.ts","../../../../projects/onemrva/design-system/layout/src/decorators/coerce-boolean-input.decorator.ts","../../../../projects/onemrva/design-system/layout/src/decorators/observable-content.decorator.ts","../../../../projects/onemrva/design-system/layout/src/models/onemrva-profile.model.ts","../../../../projects/onemrva/design-system/layout/src/layout.module.ts","../../../../projects/onemrva/design-system/layout/onemrvapublic-design-system-layout.ts"],"sourcesContent":["import { Injectable, WritableSignal, signal } from '@angular/core';\nimport { NavItem } from '@onemrvapublic/design-system/mat-navigation';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemrvaLeftSidenavService {\n private originalItems: NavItem[] = [];\n readonly items: WritableSignal<NavItem[]> = signal<NavItem[]>([]);\n\n setOriginal(items: NavItem[]): void {\n this.originalItems = items ?? [];\n this.items.set(this.originalItems);\n }\n\n updateItems(items: NavItem[]): void {\n this.items.set(items ?? []);\n this.items(); // ??\n }\n\n reset(): void {\n this.items.set(this.originalItems);\n }\n}\n","import { Component, Input, inject, HostBinding, effect } from '@angular/core';\n\nimport {\n NavItem,\n OnemrvaMatNavigationComponent,\n} from '@onemrvapublic/design-system/mat-navigation';\nimport { OnemrvaLeftSidenavService } from '../../services/left-sidenav.service';\n\n@Component({\n selector: 'onemrva-layout-left-sidenav',\n templateUrl: 'layout-left-sidenav.component.html',\n styleUrl: 'layout-left-sidenav.component.scss',\n imports: [OnemrvaMatNavigationComponent],\n standalone: true,\n})\nexport class LayoutLeftSidenavComponent {\n private _items: NavItem[] = [];\n\n @Input()\n set items(value: NavItem[]) {\n this._items = value ?? [];\n this.leftSidenavService.setOriginal(this._items);\n }\n\n get items(): NavItem[] {\n return this._items;\n }\n\n @HostBinding('class.hidden')\n _isHidden = false;\n\n constructor() {\n effect(() => {\n this._isHidden = this.leftSidenavService.items().length === 0;\n });\n }\n\n leftSidenavService = inject(OnemrvaLeftSidenavService);\n}\n","@if (leftSidenavService.items().length > 0) {\n <onemrva-mat-navigation\n [items]=\"leftSidenavService.items()\"\n ></onemrva-mat-navigation>\n} @else {\n <ng-content></ng-content>\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\n\n@Component({\n selector: 'onemrva-layout-subroute',\n templateUrl: 'layout-subroute.component.html',\n\n standalone: true,\n})\nexport class LayoutSubrouteComponent implements AfterViewInit {\n private cd = inject(ChangeDetectorRef);\n private router = inject(Router);\n\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n @Input() routerLink: typeof RouterLink.prototype.routerLink | string;\n @Input() routerLinkActiveOptions?: any;\n @Input() public dataCy?: string;\n @Input() label?: string;\n @Input() icon?: string;\n\n @ContentChildren(LayoutSubrouteComponent)\n subroutes?: QueryList<LayoutSubrouteComponent>;\n\n ngAfterViewInit() {\n if (this.label === undefined) {\n console.error(\n 'ONEM/RVA DESIGN SYSTEM ERROR : Since 20.1.0 , you must add a label attribute to the onemrva-layout-route',\n this.routerLink,\n );\n }\n this.cd.detectChanges();\n }\n\n hasSubroutes() {\n return this.subroutes !== undefined && this.subroutes.length > 0;\n }\n\n hasActiveSubroute() {\n return this.subroutes?.some(x => this.isActiveRoute(x)) ?? false;\n }\n\n private isActiveRoute(subroute: LayoutSubrouteComponent): boolean {\n if (subroute.routerLink) {\n const routerLink = Array.isArray(subroute.routerLink)\n ? this.router.createUrlTree(subroute.routerLink)\n : this.router.createUrlTree([subroute.routerLink]);\n\n return this.router.isActive(routerLink, {\n paths: 'exact',\n queryParams: 'exact',\n fragment: 'ignored',\n matrixParams: 'ignored',\n });\n } else {\n return false;\n }\n }\n}\n","<ng-template>\n {{ label }}\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n inject,\n Input,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Router, RouterLink, RouterLinkActive } from '@angular/router';\nimport { LayoutSubrouteComponent } from '../layout-subroute/layout-subroute.component';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';\n\n@Component({\n selector: 'onemrva-layout-route',\n templateUrl: 'layout-route.component.html',\n styleUrls: ['./layout-route.component.scss'],\n standalone: true,\n imports: [\n MatIcon,\n MatMenu,\n MatMenuTrigger,\n RouterLink,\n MatMenuItem,\n RouterLinkActive,\n NgTemplateOutlet,\n NgClass,\n ],\n})\nexport class LayoutRouteComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild('navTpl') template: TemplateRef<any> | null = null;\n\n @Input() routerLink?: string;\n @Input() routerLinkActiveOptions?: any;\n @Input() public dataCy?: string;\n @Input() baseRouteForActiveMenu?: string;\n @Input() label?: string;\n @Input() icon?: string;\n\n @ContentChildren(LayoutSubrouteComponent)\n subroutes?: QueryList<LayoutSubrouteComponent>;\n\n hasSubroutes() {\n return this.subroutes !== undefined && this.subroutes.length > 0;\n }\n\n cd = inject(ChangeDetectorRef);\n router = inject(Router);\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n\n if (this.label === undefined) {\n console.error(\n 'ONEM/RVA DESIGN SYSTEM ERROR : Since 20.1.0 , you must add a label attribute to the onemrva-layout-route',\n this.routerLink,\n );\n }\n }\n\n isRouteActive() {\n if (this.routerLink === null || this.routerLink === undefined) {\n if (this.baseRouteForActiveMenu) {\n const currentRoute = this.router.url;\n const isParentRoutePresent = new RegExp(\n this.baseRouteForActiveMenu + '/',\n ).test(currentRoute);\n const isExactRoutePresent = new RegExp(\n this.baseRouteForActiveMenu + '$',\n ).test(currentRoute);\n\n return isParentRoutePresent || isExactRoutePresent;\n }\n }\n return false;\n }\n}\n","<ng-template #navTpl>\n @if (!hasSubroutes()) {\n {{ label }}\n } @else if (hasSubroutes()) {\n <span class=\"subroutes-menu-trigger\" [matMenuTriggerFor]=\"menu\">\n <span role=\"button\">\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?.toArray(); 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\"></ng-container>\n }\n </button>\n }\n @if (e.hasSubroutes()) {\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"submenu\"\n [ngClass]=\"{ active: e.hasActiveSubroute() }\"\n [attr.data-cy]=\"e.dataCy\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n }\n </button>\n <mat-menu #submenu>\n @for (es of e.subroutes?.toArray(); 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 </ng-container>\n }\n </button>\n }\n </mat-menu>\n }\n }\n </mat-menu>\n }\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-content',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n standalone: true,\n})\nexport class LayoutContentComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n private cd = inject(ChangeDetectorRef);\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-title',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n standalone: true,\n})\nexport class LayoutTitleComponent implements AfterViewInit {\n private cd = inject(ChangeDetectorRef);\n\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","export enum Environment {\n LOCAL = 'LOCAL',\n TEST = 'TEST',\n VAL = 'VAL',\n PROD = 'PROD',\n}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-footer',\n\n template: '<ng-template><ng-content></ng-content></ng-template>',\n standalone: true,\n})\nexport class LayoutFooterComponent {\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-login-menu',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n\n standalone: true,\n})\nexport class LayoutLoginMenuComponent implements AfterViewInit {\n private cd = inject(ChangeDetectorRef);\n\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'striphtml',\n standalone: true,\n})\nexport class StripHtmlPipe implements PipeTransform {\n transform(value: string): any {\n return value.replace(/<.*?>/g, ''); // replace tags\n }\n}\n","// Command to generate ng g d <Directive name>\n\nimport {\n AfterViewInit,\n DestroyRef,\n Directive,\n inject,\n ViewContainerRef,\n Type,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DOCUMENT } from '@angular/core';\nimport { MatDrawer } from '@angular/material/sidenav';\n\n@Directive({\n selector: '[drawerhost]',\n standalone: true,\n})\nexport class DrawerHostDirective implements AfterViewInit {\n public destroyRef = inject(DestroyRef);\n public drawer = inject(MatDrawer);\n public viewContainerRef = inject(ViewContainerRef);\n public document = inject(DOCUMENT);\n\n createComponent<T>(component: Type<T>) {\n this.viewContainerRef.clear();\n return this.viewContainerRef.createComponent(component);\n }\n\n public bodyClass() {\n if (this.drawer?.opened) {\n this.document.body.style.overflow = 'hidden';\n } else {\n this.document.body.style.overflow = 'inherit';\n }\n }\n\n ngAfterViewInit(): void {\n this.drawer?.openedChange\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.bodyClass();\n });\n }\n}\n","import { Injectable, signal, WritableSignal } from '@angular/core';\nimport { DrawerHostDirective } from '../directives/drawer-host.directive';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { OnemrvaMatSize } from '@onemrvapublic/design-system/utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemrvaDrawerService {\n public host?: DrawerHostDirective;\n private drawer?: MatDrawer;\n\n hasBackdrop = signal(true);\n size: WritableSignal<OnemrvaMatSize> = signal('');\n isSide = false;\n\n toggle(isSide = false) {\n if (!this.drawer) return;\n this.isSide = isSide;\n this.drawer?.toggle();\n }\n\n open(isSide = false) {\n if (!this.drawer) return;\n this.isSide = isSide;\n this.drawer?.open();\n }\n\n close() {\n if (!this.drawer) return;\n this.drawer?.close();\n }\n\n classes() {\n if (this.isSide) {\n return [this.size(), 'side-menu'];\n }\n return [this.size()];\n }\n\n setDrawer(drawer: MatDrawer) {\n this.drawer = drawer;\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Component, inject, Input, OnInit, QueryList } from '@angular/core';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { LayoutRouteComponent } from '../layout-route/layout-route.component';\nimport { OnemrvaDrawerService } from '../../services';\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { OnemRvaLanguage } from '../../models';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport {\n NavItem,\n OnemrvaMatNavigationComponent,\n} from '@onemrvapublic/design-system/mat-navigation';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FormsModule } from '@angular/forms';\nimport { LayoutSubrouteComponent } from '../layout-subroute/layout-subroute.component';\n\n@Component({\n selector: 'onemrva-layout-sidenav',\n templateUrl: 'layout-sidenav.component.html',\n styleUrl: 'layout-sidenav.component.scss',\n animations: [\n trigger('slideInOut', [\n state(\n 'in',\n style({\n overflow: 'hidden',\n height: '*',\n }),\n ),\n state(\n 'out',\n style({\n opacity: '0',\n overflow: 'hidden',\n height: '0px',\n }),\n ),\n transition('in => out', animate('400ms ease-in-out')),\n transition('out => in', animate('400ms ease-in-out')),\n ]),\n ],\n standalone: true,\n imports: [\n MatIconButton,\n MatIcon,\n TranslatePipe,\n OnemrvaMatNavigationComponent,\n MatFormFieldModule,\n MatSelectModule,\n FormsModule,\n ],\n})\nexport class LayoutSidenavComponent implements OnInit {\n @Input() isSmall!: boolean;\n @Input() routes?: QueryList<LayoutRouteComponent>;\n @Input() languages: OnemRvaLanguage[] = [];\n\n items: NavItem[] = [];\n\n currentLanguage?: OnemRvaLanguage;\n\n helpMenuOpen!: string[][];\n\n translateService = inject(TranslateService);\n document = inject(DOCUMENT);\n drawerService = inject(OnemrvaDrawerService);\n\n ngOnInit() {\n this.currentLanguage = this.languages.filter(\n l => l.code == this.translateService.currentLang,\n )[0];\n\n if (this.routes)\n this.helpMenuOpen = this.routes.map(route =>\n route.hasSubroutes()\n ? ['out', ...route.subroutes!.map(() => 'out')]\n : ['in'],\n );\n // Replace your existing items population with:\n this.items = this.populateItemsRecursively(this.routes!);\n }\n\n changeLanguage(event: any) {\n this.translateService.use(event.value.code);\n this.document.documentElement.lang = event.value.code;\n }\n\n close() {\n this.drawerService.close();\n }\n\n private populateItemsRecursively(\n routes:\n | QueryList<LayoutRouteComponent>\n | QueryList<LayoutSubrouteComponent>\n | LayoutRouteComponent[]\n | LayoutSubrouteComponent[],\n ): NavItem[] {\n const items: NavItem[] = [];\n if (routes === undefined) routes = [];\n\n const routeArray = Array.isArray(routes) ? routes : routes.toArray();\n\n for (const route of routeArray) {\n const navItem: NavItem = {\n routerLink:\n typeof route.routerLink === 'string' ? route.routerLink : undefined,\n label: this.getRouteLabel(route),\n icon: (route as any).icon, // LayoutSubrouteComponent doesn't have icon, so cast to any\n dataCy: route.dataCy,\n };\n\n // Recursively populate children if subroutes exist\n if (route.hasSubroutes() && route.subroutes) {\n navItem.children = this.populateItemsRecursively(route.subroutes);\n }\n\n items.push(navItem);\n }\n\n return items;\n }\n\n private getRouteLabel(\n route: LayoutRouteComponent | LayoutSubrouteComponent,\n ): string {\n // Check if it's a LayoutRouteComponent with label property\n if ('label' in route && route.label) {\n return route.label;\n }\n return 'Unnamed Route';\n }\n}\n","@if (\n isSmall && (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\"></onemrva-mat-navigation>\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","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-after-nav',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n standalone: true,\n})\nexport class LayoutAfterNavComponent implements AfterViewInit {\n private cd = inject(ChangeDetectorRef);\n\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n isDevMode,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Signal,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { startWith, Subject, takeUntil } from 'rxjs';\nimport {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\nimport { DOCUMENT, NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport {\n MatDrawer,\n MatDrawerContainer,\n MatSidenavModule,\n} from '@angular/material/sidenav';\nimport {\n ONEMRVA_THEME_CLASS,\n OnemRvaCDNService,\n OnemRvaColorDirective,\n OnemRvaSizeDirective,\n} from '@onemrvapublic/design-system/shared';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { MatToolbar } from '@angular/material/toolbar';\nimport { MatTabLink, MatTabNav, MatTabNavPanel } from '@angular/material/tabs';\nimport { MatDivider } from '@angular/material/divider';\nimport { OnemrvaMatAvatarModule } from '@onemrvapublic/design-system/mat-avatar';\nimport { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatFabButton, MatIconButton } from '@angular/material/button';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { MatRipple } from '@angular/material/core';\n\nimport { LayoutLeftSidenavComponent } from '../layout-left-sidenav/layout-left-sidenav.component';\nimport { LayoutRouteComponent } from '../layout-route/layout-route.component';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { LayoutContentComponent } from '../layout-content/layout-content.component';\nimport { LayoutTitleComponent } from '../layout-title/layout-title.component';\nimport { Environment } from '../../enums';\nimport { LayoutFooterComponent } from '../layout-footer/layout-footer.component';\nimport { OnemRvaLanguage, OnemRvaProfile } from '../../models';\nimport { LayoutLoginMenuComponent } from '../layout-login-menu/layout-login-menu.component';\nimport { DrawerHostDirective } from '../../directives';\nimport {\n OnemrvaDrawerService,\n OnemrvaLeftSidenavService,\n} from '../../services';\nimport { LayoutSidenavComponent } from '../layout-sidenav/layout-sidenav.component';\nimport { LayoutAfterNavComponent } from '../layout-after-nav/layout-after-nav.component';\nimport { OnemrvaMatStickerComponent } from '@onemrvapublic/design-system/mat-sticker';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\n@Component({\n selector: 'onemrva-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss'],\n standalone: true,\n imports: [\n RouterLink,\n NgStyle,\n NgClass,\n MatToolbar,\n MatDrawerContainer,\n MatTabNav,\n MatTabLink,\n RouterLinkActive,\n MatTabNavPanel,\n MatDivider,\n OnemrvaMatAvatarModule,\n MatMenuTrigger,\n MatMenu,\n MatIcon,\n MatMenuItem,\n NgTemplateOutlet,\n TranslatePipe,\n MatIconButton,\n MatFabButton,\n MatTooltip,\n MatDrawer,\n DrawerHostDirective,\n MatRipple,\n OnemRvaSizeDirective,\n OnemRvaColorDirective,\n MatSidenavModule,\n LayoutLeftSidenavComponent,\n OnemrvaMatStickerComponent,\n ],\n})\nexport class LayoutComponent implements OnInit, AfterViewInit, OnDestroy {\n @ContentChildren(LayoutRouteComponent)\n routes?: QueryList<LayoutRouteComponent>;\n\n @ContentChild(LayoutTitleComponent) title?: LayoutTitleComponent;\n @ContentChild(LayoutLoginMenuComponent) loginMenu?: LayoutLoginMenuComponent;\n @ContentChild(LayoutContentComponent) content?: LayoutContentComponent;\n @ContentChild(LayoutAfterNavComponent) afterNav?: LayoutAfterNavComponent;\n\n @ContentChild(LayoutFooterComponent)\n footer?: LayoutFooterComponent;\n\n @Input()\n logo = ''; // custom logo, empty string will show default onem/rva/neo/lfa localised logo\n\n @Input()\n languages: OnemRvaLanguage[] = []; // list of languages\n\n @Input()\n environment?: Environment; // possible environment to show on the frontend LOCAL, TEST, VAL, PROD\n\n @Input()\n logoRedictionUrl?: string | any[] | null = ''; // value for routerLink from logo. \"\" by default. Deactivated when set to null\n\n selectedIndex = 0;\n destroyNotifier$ = new Subject<void>();\n\n @Input()\n profile: OnemRvaProfile | null = null; // To be defined for application with authentication\n\n @Output()\n login: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n logout: EventEmitter<void> = new EventEmitter<void>();\n // isLogoutUsed: boolean = false;\n\n env = Environment;\n\n isSmall = true;\n\n @ViewChild(MatDrawer, { static: true }) drawer!: MatDrawer;\n @ViewChild(DrawerHostDirective, { static: true })\n drawerHost!: DrawerHostDirective;\n\n @Input()\n id = 'main';\n\n @Input()\n role = 'main';\n\n @Input()\n showThemeSwitcher = false;\n\n onemrvaClass = inject(ONEMRVA_THEME_CLASS);\n\n private map = {\n NL: {\n label: 'Nederlands',\n imgCode: 'nl',\n },\n FR: {\n label: 'Français',\n imgCode: 'fr',\n },\n DE: {\n label: 'Deutsch',\n imgCode: 'de',\n },\n EN: {\n label: 'English',\n imgCode: 'gb-eng',\n },\n };\n\n activeTheme = signal<'light' | 'dark' | 'system'>('system');\n\n color: Signal<OnemrvaMatColor> = computed(() => {\n switch (this.environment) {\n case Environment.LOCAL:\n return OnemrvaMatColor.ACCENT;\n case Environment.TEST:\n return OnemrvaMatColor.INFO;\n case Environment.VAL:\n return OnemrvaMatColor.SUCCESS;\n default:\n return OnemrvaMatColor.PRIMARY;\n }\n });\n\n toggleTheme(newTheme: 'light' | 'dark' | 'system') {\n this.activeTheme.set(newTheme);\n // Find all elements with onemrva-theme class\n const overlayThemeDivs = document.querySelectorAll('.' + this.onemrvaClass);\n overlayThemeDivs.forEach(div => {\n // Remove existing theme classes\n div.classList.remove('light-theme', 'dark-theme');\n\n // Add new theme class if not system\n if (newTheme !== 'system') {\n div.classList.add(`${newTheme}-theme`);\n }\n });\n }\n\n private readonly translateService = inject(TranslateService);\n private readonly cdn = inject(OnemRvaCDNService);\n private readonly cd = inject(ChangeDetectorRef);\n public readonly breakpointObserver = inject(BreakpointObserver);\n private readonly document = inject(DOCUMENT);\n public readonly drawerService = inject(OnemrvaDrawerService);\n\n public readonly leftSidenavService = inject(OnemrvaLeftSidenavService);\n\n constructor() {\n if (this.languages.length === 0) {\n this.translateService.getLangs().forEach(value => {\n this.languages.push({\n code: value,\n label:\n this.map[value.toUpperCase() as keyof typeof this.map].label || '',\n imgCode:\n this.map[value.toUpperCase() as keyof typeof this.map].imgCode ||\n '',\n } as any);\n });\n }\n }\n\n ngOnInit() {\n this.selectedIndex = this.languages.findIndex(\n l => l.code === this.translateService.currentLang,\n );\n\n this.document.documentElement.lang = this.translateService.currentLang;\n\n this.breakpointObserver\n .observe([Breakpoints.XSmall, Breakpoints.Small])\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe((state: BreakpointState) => {\n if (state.matches) {\n this.isSmall = true;\n } else {\n this.drawerService.close();\n this.isSmall = false;\n }\n });\n\n if (this.logo === '') {\n this.translateService.onLangChange\n .pipe(\n startWith({ lang: this.translateService.currentLang }),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(lang => {\n this.logo = this.cdn.getImg(\n `logo/logo_${lang.lang?.toLocaleLowerCase()}.svg`,\n );\n });\n }\n this.translateService.onLangChange\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(event => {\n this.selectedIndex = this.languages.findIndex(\n lang => lang.code === event.lang,\n );\n });\n\n this.drawerService.host = this.drawerHost;\n this.drawerService.setDrawer(this.drawer);\n }\n\n get currentLanguage() {\n return this.translateService.currentLang || '';\n }\n\n ngAfterViewInit() {\n if (isDevMode()) {\n this.cd.detectChanges();\n }\n // this.drawer.closedStart\n // .pipe(takeUntil(this.destroyNotifier$))\n // .subscribe(() => {\n // });\n }\n\n languageImg(language?: OnemRvaLanguage) {\n const lang = language?.code || this.translateService.getCurrentLang();\n\n const finalImgCode =\n this.map[lang.toUpperCase() as keyof typeof this.map].imgCode || '';\n\n return this.cdn.getImg(`flags/4x3/${finalImgCode}.svg`);\n }\n\n ngOnDestroy(): void {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n doLogout() {\n this.logout.next();\n }\n\n doLogin() {\n this.login.next();\n }\n\n changeLanguage(langCode: string) {\n this.translateService.use(langCode);\n this.document.documentElement.lang = langCode;\n }\n\n toggleSideNav() {\n const componentRef = this.drawerHost.createComponent(\n LayoutSidenavComponent,\n );\n this.drawerService.size.set('');\n componentRef.instance.isSmall = this.isSmall;\n componentRef.instance.languages = this.languages;\n componentRef.instance.routes = this.routes;\n this.drawerService.toggle(true);\n }\n}\n","<mat-drawer-container\n id=\"onemrva-drawer-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop()\"\n autosize\n>\n <mat-drawer\n #mainDrawer\n [class]=\"drawerService.classes()\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n <mat-drawer-content\n [class]=\"leftSidenavService.items().length === 0 ? 'no-sidenav' : ''\"\n >\n <header>\n <div class=\"environment\" [color]=\"color()\" [class]=\"environment\"></div>\n <mat-toolbar class=\"px-3xl-large\">\n <img\n class=\"logo align-center clickable\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default',\n }\"\n />\n <div\n class=\"application-title ml-m\"\n [ngClass]=\"{ 'small-screen': isSmall }\"\n >\n @if (title?.template; as titleTpl) {\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n }\n\n @if (\n environment &&\n (environment === env.LOCAL ||\n environment === env.TEST ||\n environment === env.VAL)\n ) {\n <onemrva-mat-sticker [color]=\"color()\" class=\"ml-m text-capitalize\">\n {{ environment.toLocaleLowerCase() }}\n </onemrva-mat-sticker>\n }\n </div>\n\n <div style=\"flex: 1\"></div>\n\n @if (!isSmall) {\n <div\n class=\"flex-center topMenu\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n >\n @for (e of routes?.toArray(); track $index) {\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [attr.data-ci]=\"e.dataCy\"\n [attr.data-cy]=\"e.dataCy\"\n [routerLinkActiveOptions]=\"{\n fragment: 'exact',\n matrixParams: 'exact',\n paths: 'exact',\n queryParams: 'ignored',\n }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n @if (e.template; as routeTemplate) {\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n }\n </a>\n }\n </div>\n }\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n @if (showThemeSwitcher) {\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"themeSwitch\"\n [matTooltip]=\"'layout.mode.select' | translate\"\n [attr.aria-label]=\"'layout.mode.select' | translate\"\n >\n <mat-icon>{{\n activeTheme() === 'dark'\n ? 'dark_mode'\n : activeTheme() === 'light'\n ? 'light_mode'\n : 'brightness_auto'\n }}</mat-icon>\n </button>\n <mat-menu #themeSwitch>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.dark' | translate\"\n (click)=\"toggleTheme('dark')\"\n >\n <mat-icon>dark_mode</mat-icon>\n <span>{{ 'layout.mode.dark' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.light' | translate\"\n (click)=\"toggleTheme('light')\"\n >\n <mat-icon>light_mode</mat-icon>\n <span>{{ 'layout.mode.light' | translate }}</span>\n </button>\n <button\n mat-menu-item\n [attr.aria-label]=\"'layout.mode.system' | translate\"\n (click)=\"toggleTheme('system')\"\n >\n <mat-icon>brightness_auto</mat-icon>\n <span>{{ 'layout.mode.system' | translate }}</span>\n </button>\n </mat-menu>\n }\n @if (afterNav?.template; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n }\n\n @if (profile !== null) {\n @if (!isSmall) {\n <mat-divider\n vertical\n class=\"mx-m\"\n style=\"height: 1em; align-self: center\"\n ></mat-divider>\n }\n @if (profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n @if (!profile.isLoggedIn) {\n <onemrva-mat-avatar\n matRipple\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"xsmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n }\n <mat-menu #menu=\"matMenu\">\n @if (profile.isLoggedIn) {\n <div class=\"menu-header m mb-m\">\n {{ profile.firstName }} {{ profile.lastName }}\n </div>\n <mat-divider\n class=\"mx-m\"\n style=\"align-self: stretch\"\n ></mat-divider>\n\n @if (loginMenu?.template; as menuLoginTpl) {\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n }\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n [attr.aria-label]=\"'layout.logout' | translate\"\n >\n <mat-icon>logout</mat-icon>\n {{ 'layout.logout' | translate }}\n </button>\n } @else {\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n [attr.aria-label]=\"'layout.login' | translate\"\n >\n <mat-icon>login</mat-icon>\n {{ 'layout.login' | translate }}\n </button>\n }\n </mat-menu>\n }\n\n @if (\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n ) {\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"this.toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (!isSmall && languages && languages.length > 1) {\n <div class=\"flex-center\" mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a\n id=\"language-trigger\"\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n <div id=\"language-trigger__child\" class=\"px-m py-s\">\n <img\n [src]=\"languageImg()\"\n alt=\"nl\"\n [attr.data-cy]=\"'language_nl'\"\n />\n </div>\n </a>\n </div>\n }\n\n <mat-menu #languageMenu>\n @for (lang of languages; track lang.code) {\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item language-trigger__menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n <img\n class=\"mr-m\"\n [src]=\"languageImg(lang)\"\n [alt]=\"lang.code\"\n [attr.data-cy]=\"`language_${lang.code}`\"\n />\n {{ lang.label }}\n </button>\n }\n </mat-menu>\n </mat-toolbar>\n </header>\n\n <onemrva-layout-left-sidenav></onemrva-layout-left-sidenav>\n\n <main>\n <div class=\"notification\">\n <ng-content select=\"onemrva-mat-notification\"></ng-content>\n </div>\n\n <section>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n </section>\n\n <footer class=\"onemrva-footer p mb text-center\">\n @if (footer?.template; as footerTpl) {\n <div class=\"onemrva-layout-container\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </div>\n }\n </footer>\n </main>\n\n @if (\n environment && (environment === env.LOCAL || environment === env.TEST)\n ) {\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"\n (function () {\n var _p = '//openfed.github.io/AccessibilityCheck/build/';\n var _i = function (s, cb) {\n var sc = document.createElement('script');\n sc.onload = function () {\n sc.onload = null;\n sc.onreadystatechange = null;\n cb.call(this);\n };\n sc.onreadystatechange = function () {\n if (/^(complete|loaded)$/.test(this.readyState) === true) {\n sc.onreadystatechange = null;\n sc.onload();\n }\n };\n sc.src = s;\n if (document.head) {\n document.head.appendChild(sc);\n } else {\n document.getElementsByTagName('head')[0].appendChild(sc);\n }\n };\n var options = { path: _p };\n _i(_p + 'HTMLCS.js', function () {\n HTMLCSAuditor.run('WCAG2AA', null, options);\n });\n })()\n \"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n }\n </mat-drawer-content>\n</mat-drawer-container>\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-sidenav-title',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n\n standalone: true,\n})\nexport class LayoutSidenavTitleComponent {\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n}\n","import { Component, inject } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\n\n@Component({\n selector: 'onemrva-drawer-actions',\n templateUrl: 'layout-drawer-actions.component.html',\n styleUrl: 'layout-drawer-actions.component.scss',\n standalone: true,\n})\nexport class LayoutDrawerActionsComponent {\n drawerService = inject(OnemrvaDrawerService);\n}\n","<ng-content></ng-content>\n","import { Component, inject } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\n\n@Component({\n selector: 'onemrva-drawer-content',\n templateUrl: 'layout-drawer-content.component.html',\n styleUrl: 'layout-drawer-content.component.scss',\n standalone: true,\n})\nexport class LayoutDrawerContentComponent {\n drawerService = inject(OnemrvaDrawerService);\n}\n","<span><ng-content></ng-content></span>\n","import { Component, inject, Input } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'onemrva-drawer-title',\n templateUrl: 'layout-drawer-title.component.html',\n styleUrl: 'layout-drawer-title.component.scss',\n standalone: true,\n imports: [MatIcon],\n})\nexport class LayoutDrawerTitleComponent {\n @Input()\n showClose = true;\n\n drawerService = inject(OnemrvaDrawerService);\n}\n","<span><ng-content></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","import { LayoutComponent } from './layout/layout.component';\nimport { LayoutContentComponent } from './layout-content/layout-content.component';\nimport { LayoutFooterComponent } from './layout-footer/layout-footer.component';\nimport { LayoutRouteComponent } from './layout-route/layout-route.component';\nimport { LayoutTitleComponent } from './layout-title/layout-title.component';\nimport { LayoutSidenavTitleComponent } from './layout-sidenav-title/layout-sidenav-title.component';\nimport { LayoutSidenavComponent } from './layout-sidenav/layout-sidenav.component';\nimport { LayoutLoginMenuComponent } from './layout-login-menu/layout-login-menu.component';\nimport { LayoutSubrouteComponent } from './layout-subroute/layout-subroute.component';\nimport { LayoutAfterNavComponent } from './layout-after-nav/layout-after-nav.component';\nimport { LayoutLeftSidenavComponent } from './layout-left-sidenav/layout-left-sidenav.component';\n\nexport const layoutComponents = [\n LayoutComponent,\n LayoutContentComponent,\n LayoutFooterComponent,\n LayoutRouteComponent,\n LayoutSubrouteComponent,\n LayoutTitleComponent,\n LayoutSidenavTitleComponent,\n LayoutSidenavComponent,\n LayoutLoginMenuComponent,\n LayoutAfterNavComponent,\n LayoutLeftSidenavComponent,\n];\n\nexport * from './layout/layout.component';\nexport * from './layout-content/layout-content.component';\nexport * from './layout-footer/layout-footer.component';\nexport * from './layout-route/layout-route.component';\nexport * from './layout-subroute/layout-subroute.component';\nexport * from './layout-title/layout-title.component';\nexport * from './layout-sidenav-title/layout-sidenav-title.component';\nexport * from './layout-login-menu/layout-login-menu.component';\nexport * from './layout-sidenav/layout-sidenav.component';\nexport * from './layout-left-sidenav/layout-left-sidenav.component';\nexport * from './layout-after-nav/layout-after-nav.component';\nexport * from './layout-drawer-actions/layout-drawer-actions.component';\nexport * from './layout-drawer-content/layout-drawer-content.component';\nexport * from './layout-drawer-title/layout-drawer-title.component';\nexport * from './layout-left-sidenav/layout-left-sidenav.component';\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport function CoerceBooleanInput(defaultValue: boolean) {\n return (target: any, propertyKey: string | symbol) => {\n Object.defineProperty(target, propertyKey, {\n get() {\n return this[propertyKey.toString() + '__underlying_field'];\n },\n set(newValue: any) {\n const v =\n newValue === '' || newValue === null || newValue === undefined\n ? defaultValue\n : coerceBooleanProperty(newValue);\n\n this[propertyKey.toString() + '__underlying_field'] = v;\n },\n });\n };\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport function ObservableContent() {\n return (target: any, propertyKey: string) => {\n const value = new BehaviorSubject(undefined);\n Object.defineProperty(target, propertyKey, {\n get: () => value,\n set: (v: any) => {\n value.next(v);\n },\n });\n };\n}\n","export class OnemRvaProfile {\n private _isLoggedIn = false;\n private _firstName = '';\n private _lastName = '';\n\n public constructor();\n public constructor(firstName: string, lastName: string);\n\n public constructor(...args: any[]) {\n if (args.length === 2) {\n this._firstName = args[0];\n this._lastName = args[1];\n this._isLoggedIn = true;\n }\n }\n\n initials(): string {\n if (this._firstName === '' || this._lastName === '') return '';\n return `${this._firstName.slice(0, 1)}${this._lastName.slice(0, 1)}`;\n }\n\n get firstName(): string {\n return this._firstName;\n }\n\n set firstName(value: string) {\n this._firstName = value;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n\n set lastName(value: string) {\n this._lastName = value;\n }\n\n get isLoggedIn(): boolean {\n return this._isLoggedIn;\n }\n\n set isLoggedIn(value: boolean) {\n this._isLoggedIn = value;\n }\n\n login(firstName: string, lastName: string) {\n this._firstName = firstName;\n this._lastName = lastName;\n this._isLoggedIn = true;\n }\n\n logout() {\n this._firstName = '';\n this._lastName = '';\n this._isLoggedIn = false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { RouterModule } from '@angular/router';\n\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { layoutComponents } from './components';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { DrawerHostDirective } from './directives/drawer-host.directive';\nimport { StripHtmlPipe } from './directives/striphtml.pipe';\nimport { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';\nimport { OnemrvaMatAvatarModule } from '@onemrvapublic/design-system/mat-avatar';\nimport { MatRipple } from '@angular/material/core';\n\n@NgModule({\n declarations: [],\n imports: [\n ...layoutComponents,\n StripHtmlPipe,\n DrawerHostDirective,\n CommonModule,\n RouterModule,\n LayoutModule,\n MatToolbarModule,\n MatDividerModule,\n MatSidenavModule,\n MatTabsModule,\n MatButtonModule,\n MatMenuModule,\n MatIconModule,\n OnemrvaMatAvatarModule,\n MatTooltipModule,\n TranslateModule,\n MatRipple,\n ],\n exports: [...layoutComponents, LayoutModule],\n providers: [\n {\n provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,\n useValue: { horizontalPosition: 'right' },\n },\n ],\n})\nexport class OnemrvaLayoutModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DOCUMENT","i1","i2","i1.LayoutComponent","i4.LayoutRouteComponent","i8.LayoutSidenavComponent","i11.LayoutLeftSidenavComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onemrvapublic/design-system",
3
- "version": "20.11.1-develop.4",
3
+ "version": "20.11.1-develop.5",
4
4
  "description": "Design System Onem/Rva without theme included",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -17,7 +17,7 @@
17
17
  "@angular/platform-browser": "^20.0.0",
18
18
  "@angular/platform-browser-dynamic": "^20.0.0",
19
19
  "@angular/router": "^20.0.0",
20
- "@ngx-translate/core": "^16.0.4",
20
+ "@ngx-translate/core": "^17.0.0",
21
21
  "@types/luxon": "^3.7.1",
22
22
  "ibantools": "^4.5.1",
23
23
  "ngx-mask": "^20.0.3",