@onemrvapublic/design-system 17.9.1-develop.1 → 17.12.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.
Files changed (22) hide show
  1. package/esm2022/layout/src/components/layout/layout.component.mjs +6 -3
  2. package/esm2022/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.mjs +15 -15
  3. package/esm2022/mat-empty-row/index.mjs +2 -0
  4. package/esm2022/mat-empty-row/onemrvapublic-design-system-mat-empty-row.mjs +5 -0
  5. package/esm2022/mat-empty-row/src/onemrva-mat-empty-row.component.mjs +35 -0
  6. package/esm2022/mat-paginator/src/onemrva-mat-paginator.component.mjs +4 -1
  7. package/fesm2022/onemrvapublic-design-system-layout.mjs +5 -2
  8. package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
  9. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +15 -15
  10. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs.map +1 -1
  11. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +42 -0
  12. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs.map +1 -0
  13. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +3 -0
  14. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
  15. package/layout/src/components/layout/layout.component.d.ts +1 -0
  16. package/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.d.ts +3 -0
  17. package/mat-empty-row/index.d.ts +1 -0
  18. package/mat-empty-row/src/onemrva-mat-empty-row.component.d.ts +19 -0
  19. package/mat-empty-row/src/onemrva-mat-empty-row.component.scss +29 -0
  20. package/mat-paginator/src/onemrva-mat-paginator.component.d.ts +1 -0
  21. package/mat-selectable-box/src/onemrva-mat-selectable-box.component.scss +4 -0
  22. package/package.json +7 -1
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-layout.mjs","sources":["../../../../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/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/models/onemrva-profile.model.ts","../../../../projects/onemrva/design-system/layout/src/striphtml.pipe.ts","../../../../projects/onemrva/design-system/layout/src/layout.module.ts","../../../../projects/onemrva/design-system/layout/onemrvapublic-design-system-layout.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewChild,\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})\nexport class LayoutSubrouteComponent implements AfterViewInit {\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() dataCy?: string;\n\n @ContentChildren(LayoutSubrouteComponent)\n subroutes?: QueryList<LayoutSubrouteComponent>;\n\n constructor(\n private cd: ChangeDetectorRef,\n private router: Router,\n ) {}\n\n ngAfterViewInit() {\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 : 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","<!--\n// This does not seem to work for sub menus as they how the sub menu only on click instead of on hover\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"template as routeTemplate\">\n\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-template #contentTmpl>\n <ng-content></ng-content>\n </ng-template>\n\n</ng-template>-->\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\nimport { LayoutSubrouteComponent } from '../layout-subroute/layout-subroute.component';\n\n@Component({\n selector: 'onemrva-layout-route',\n templateUrl: 'layout-route.component.html',\n})\nexport class LayoutRouteComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild('navTpl') template: TemplateRef<any> | null = null;\n @ViewChild('navMblTpl') mobileTemplate: TemplateRef<any> | null = null;\n @ViewChild('contentTpl') contentTemplate: TemplateRef<any> | null = null;\n\n @Input() routerLink: typeof RouterLink.prototype.routerLink;\n @Input() routerLinkActiveOptions?: any;\n @Input() dataCy?: string;\n @Input() baseRouteForActiveMenu?: string;\n @Input() label?: string;\n\n @ContentChildren(LayoutSubrouteComponent)\n subroutes?: QueryList<LayoutSubrouteComponent>;\n\n hasSubroutes() {\n return this.subroutes !== undefined && this.subroutes.length > 0;\n }\n\n constructor(\n private cd: ChangeDetectorRef,\n private router: Router,\n ) {}\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n\n isRouteActive() {\n if (this.routerLink === null || this.routerLink === undefined) {\n if (this.baseRouteForActiveMenu) {\n const split_route = this.router.url.split('/');\n const split_menu_route = this.baseRouteForActiveMenu.split('/');\n return split_route[1] === split_menu_route[1];\n }\n }\n return false;\n }\n}\n","<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <span role=\"button\" [matMenuTriggerFor]=\"menu\">\n {{ label }}\n </span>\n <mat-icon [matMenuTriggerFor]=\"menu\" style=\"width: 16px\"\n >expand_more</mat-icon\n >\n <mat-menu #menu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button\n mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"submenu\"\n [ngClass]=\"{ active: e.hasActiveSubroute() }\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container\n *ngFor=\"let es of e.subroutes?.toArray(); let i = index\"\n >\n <button\n mat-menu-item\n [routerLink]=\"es.routerLink\"\n routerLinkActive=\"active\"\n >\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n </ng-container>\n </mat-menu>\n </ng-container>\n</ng-template>\n\n<ng-template #navMblTpl>\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n</ng-template>\n\n<ng-template #contentTmpl>\n <ng-content></ng-content>\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-content',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutContentComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor(private cd: 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} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-title',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutTitleComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor(private cd: ChangeDetectorRef) {}\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 template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutFooterComponent {\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor() {}\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-login-menu',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutLoginMenuComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor(private cd: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","// Command to generate ng g d <Directive name>\n\nimport {\n AfterViewInit,\n DestroyRef,\n Directive,\n inject,\n Inject,\n ViewContainerRef,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DOCUMENT } from '@angular/common';\nimport { MatDrawer } from '@angular/material/sidenav';\n\n@Directive({\n selector: '[drawerhost]',\n})\nexport class DrawerHostDirective implements AfterViewInit {\n private destroyRef = inject(DestroyRef);\n\n constructor(\n private drawer: MatDrawer,\n public viewContainerRef: ViewContainerRef,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n private 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 } from '@angular/core';\nimport { DrawerHostDirective } from '../directives/drawer-host.directive';\nimport { MatDrawer } from '@angular/material/sidenav';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemrvaDrawerService {\n public host?: DrawerHostDirective;\n drawer?: MatDrawer;\n\n hasBackdrop = false;\n\n constructor() {}\n\n toggle() {\n if (!this.drawer) return;\n this.drawer?.toggle();\n }\n\n open() {\n if (!this.drawer) return;\n this.drawer?.open();\n }\n\n close() {\n if (!this.drawer) return;\n this.drawer?.close();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, Input, OnInit, QueryList } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LayoutRouteComponent } from '../layout-route/layout-route.component';\nimport { Observable, map, startWith } from 'rxjs';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { OnemRvaLanguage } from '../../models/onem-language.model';\n\n@Component({\n selector: 'onemrva-layout-sidenav',\n templateUrl: 'layout-sidenav.component.html',\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})\nexport class LayoutSidenavComponent implements OnInit {\n @Input() isSmall!: boolean;\n @Input() languages!: OnemRvaLanguage[];\n @Input() routes?: QueryList<LayoutRouteComponent>;\n\n selectedLanguageIndex$: Observable<number>;\n\n helpMenuOpen!: string[][];\n\n constructor(\n private translateService: TranslateService,\n @Inject(DOCUMENT) private document: Document,\n private drawerService: OnemrvaDrawerService,\n ) {\n this.selectedLanguageIndex$ = this.translateService.onLangChange.pipe(\n startWith(null),\n map(() =>\n this.languages.findIndex(\n l => l.code === this.translateService.currentLang,\n ),\n ),\n );\n }\n\n ngOnInit() {\n if (this.routes)\n this.helpMenuOpen = this.routes.map(route =>\n route.hasSubroutes()\n ? ['out', ...route.subroutes!.map(() => 'out')]\n : ['in'],\n );\n }\n\n changeLanguage(index: number) {\n const language = this.languages[index];\n this.translateService.use(language.code);\n this.document.documentElement.lang = language.code;\n }\n\n close() {\n this.drawerService.close();\n }\n\n openSubmenu(index: number, subIdx: number = 0) {\n this.helpMenuOpen[index][subIdx] =\n this.helpMenuOpen[index][subIdx] === 'out' ? 'in' : 'out';\n }\n}\n","<ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n>\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-close-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 <ng-container *ngIf=\"isSmall && languages && languages.length > 1\">\n <mat-tab-group\n class=\"language-tabs\"\n [selectedIndex]=\"selectedLanguageIndex$ | async\"\n (selectedIndexChange)=\"changeLanguage($event)\"\n >\n <mat-tab *ngFor=\"let lang of languages\">\n <div *matTabLabel [attr.data-cy]=\"'language_' + lang.code\">\n {{ lang.label }}\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n <ng-container *ngIf=\"isSmall && routes?.toArray()?.length\">\n <mat-divider\n style=\"align-self: stretch; margin-bottom: 10px\"\n *ngIf=\"languages && languages.length > 1\"\n ></mat-divider>\n <div>\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n >\n <ng-container *ngIf=\"e.mobileTemplate as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: false }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n (click)=\"openSubmenu(i)\"\n [attr.data-cy]=\"e.dataCy\"\n >\n {{ e.label }}\n <mat-icon>expand_more</mat-icon>\n </button>\n <div [@slideInOut]=\"helpMenuOpen[i][0]\">\n <ng-container\n *ngFor=\"let es of e.subroutes?.toArray(); let j = index\"\n >\n <button\n [routerLink]=\"es.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n (click)=\"openSubmenu(i, j + 1)\"\n [attr.data-cy]=\"es.dataCy\"\n >\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n </ng-container>\n <mat-icon *ngIf=\"es.hasSubroutes()\">expand_more</mat-icon>\n </button>\n <div [@slideInOut]=\"helpMenuOpen[i][j + 1]\">\n <ng-container *ngFor=\"let ess of es.subroutes?.toArray()\">\n <button\n [routerLink]=\"ess.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: false }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n [attr.data-cy]=\"ess.dataCy\"\n >\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n <ng-container *ngIf=\"ess.template as routeTemplate\">\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n </ng-container>\n </button>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n</ng-container>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-after-nav',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutAfterNavComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor(private cd: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n AfterViewInit,\n OnDestroy,\n QueryList,\n OnInit,\n Inject,\n isDevMode,\n EventEmitter,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { LayoutRouteComponent } from '../layout-route/layout-route.component';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LayoutContentComponent } from '../layout-content/layout-content.component';\nimport { Subject, takeUntil } from 'rxjs';\nimport { LayoutTitleComponent } from '../layout-title/layout-title.component';\n\nimport { Environment } from '../../enums/environment.enum';\nimport {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\nimport { DOCUMENT } from '@angular/common';\nimport { LayoutFooterComponent } from '../layout-footer/layout-footer.component';\nimport { OnemRvaProfile } from '../../models/onemrva-profile.model';\nimport { LayoutLoginMenuComponent } from '../layout-login-menu/layout-login-menu.component';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { DrawerHostDirective } from '../../directives/drawer-host.directive';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { LayoutSidenavComponent } from '../layout-sidenav/layout-sidenav.component';\nimport { LayoutAfterNavComponent } from '../layout-after-nav/layout-after-nav.component';\nimport { OnemRvaLanguage } from '../../models/onem-language.model';\n\n@Component({\n selector: 'onemrva-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss'],\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 fluid: boolean = false;\n\n @Input()\n logo: string = ''; // 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$: Subject<void> = new Subject();\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: string = 'main';\n\n @Input()\n role: string = 'main';\n\n constructor(\n public translateService: TranslateService,\n private cd: ChangeDetectorRef,\n public breakpointObserver: BreakpointObserver,\n @Inject(DOCUMENT) private document: Document,\n public drawerService: OnemrvaDrawerService,\n ) {\n // this.isLogoutUsed = this.logout.observers.length > 0;\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.logo = `https://cdn.services.rvaonem.fgov.be/img/logo/logo_${this.translateService.currentLang?.toLocaleLowerCase()}.svg`;\n\n this.translateService.onLangChange\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(lang => {\n this.logo = `https://cdn.services.rvaonem.fgov.be/img/logo/logo_${lang.lang?.toLocaleLowerCase()}.svg`;\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.drawer = this.drawer;\n }\n\n ngAfterViewInit() {\n if (isDevMode()) {\n this.cd.detectChanges();\n }\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 this.drawerHost.viewContainerRef.clear();\n const componentRef = this.drawerHost.viewContainerRef.createComponent(\n LayoutSidenavComponent,\n );\n componentRef.instance.isSmall = this.isSmall;\n componentRef.instance.languages = this.languages;\n componentRef.instance.routes = this.routes;\n this.drawerService.hasBackdrop = false;\n\n this.drawer.open();\n }\n}\n","<mat-drawer-container\n class=\"example-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop\"\n autosize\n>\n <div class=\"app-content\">\n <header>\n <mat-toolbar class=\"mat-elevation-z4\">\n <div class=\"environment\" [class]=\"environment\">\n {{ environment }}\n </div>\n <div\n [class.onemrva-layout-container]=\"!fluid\"\n class=\"nav-container flex-center\"\n >\n {{ logoRedictionUrl }}\n <img\n class=\"logo\"\n [src]=\"logo\"\n [attr.data-cy]=\"\n 'onemrva_logo_' +\n translateService.currentLang?.toLocaleLowerCase()\n \"\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\"\n [ngClass]=\"{ 'small-screen': isSmall }\"\n >\n <ng-container *ngIf=\"title?.template as titleTpl\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </ng-container>\n </div>\n\n <div style=\"flex: 1\"></div>\n <div\n class=\"flex-center\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n *ngIf=\"!isSmall\"\n >\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: !e.hasSubroutes() }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n </ng-container>\n </ng-container>\n </a>\n </ng-container>\n </div>\n\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n <ng-container *ngIf=\"afterNav?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"profile !== null\">\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall\"\n ></mat-divider>\n <onemrva-mat-avatar\n matRipple\n *ngIf=\"profile.isLoggedIn\"\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"extrasmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n\n <onemrva-mat-avatar\n matRipple\n *ngIf=\"!profile.isLoggedIn\"\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"extrasmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngIf=\"profile.isLoggedIn; else notConnected\">\n <p class=\"accountName\">\n {{ profile.firstName }} {{ profile.lastName }}\n </p>\n <mat-divider style=\"align-self: stretch\"></mat-divider>\n\n <ng-container *ngIf=\"loginMenu?.template as menuLoginTpl\">\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n </ng-container>\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 </ng-container>\n <ng-template #notConnected>\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 </ng-template>\n </mat-menu>\n </ng-container>\n <ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n >\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n </ng-container>\n <div\n class=\"flex-center\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n *ngIf=\"!isSmall\"\n >\n <a\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n {{ translateService.currentLang }}\n <mat-icon style=\"width: 16px\">expand_more</mat-icon>\n </a>\n </div>\n <mat-menu #languageMenu>\n <button\n *ngFor=\"let lang of languages\"\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n {{ lang.label }}\n </button>\n </mat-menu>\n </div>\n </mat-toolbar>\n </header>\n <ng-container>\n <div\n [id]=\"id\"\n [attr.role]=\"role\"\n [class.onemrva-layout-container]=\"!fluid\"\n class=\"onemrva-layout-content\"\n *ngIf=\"content?.template as tpl\"\n >\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n\n <ng-container\n *ngIf=\"\n environment &&\n (environment === env.LOCAL || environment === env.TEST)\n \"\n >\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"(function() {var _p='//openfed.github.io/AccessibilityCheck/build/';var _i=function(s,cb) {var sc=document.createElement('script');sc.onload = function() {sc.onload = null;sc.onreadystatechange = null;cb.call(this);};sc.onreadystatechange = function(){if(/^(complete|loaded)$/.test(this.readyState) === true){sc.onreadystatechange = null;sc.onload();}};sc.src=s;if (document.head) {document.head.appendChild(sc);} else {document.getElementsByTagName('head')[0].appendChild(sc);}}; var options={path:_p};_i(_p+'HTMLCS.js',function(){HTMLCSAuditor.run('WCAG2AA',null,options);});})();\"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n </ng-container>\n </div>\n\n <footer class=\"onemrva-footer\" *ngIf=\"footer?.template as footer\">\n <div [class.onemrva-layout-container]=\"!fluid\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n </footer>\n </ng-container>\n </div>\n\n <mat-drawer\n class=\"onemrva-drawer mobile-menu-sidebar\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n</mat-drawer-container>\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-sidenav-title',\n template: ` <ng-template><ng-content></ng-content></ng-template> `,\n})\nexport class LayoutSidenavTitleComponent {\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n}\n","import { Component } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'onemrva-drawer-actions',\n templateUrl: 'layout-drawer-actions.component.html',\n styleUrls: ['layout-drawer-actions.component.scss'],\n standalone: true,\n imports: [MatIcon],\n})\nexport class LayoutDrawerActionsComponent {\n constructor(public drawerService: OnemrvaDrawerService) {}\n}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'onemrva-drawer-content',\n templateUrl: 'layout-drawer-content.component.html',\n styleUrls: ['layout-drawer-content.component.scss'],\n standalone: true,\n imports: [MatIcon],\n})\nexport class LayoutDrawerContentComponent {\n constructor(public drawerService: OnemrvaDrawerService) {}\n}\n","<span><ng-content></ng-content></span>\n","import { Component, Input } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { MatIcon } from '@angular/material/icon';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'onemrva-drawer-title',\n templateUrl: 'layout-drawer-title.component.html',\n styleUrls: ['layout-drawer-title.component.scss'],\n standalone: true,\n imports: [MatIcon, NgIf],\n})\nexport class LayoutDrawerTitleComponent {\n @Input()\n showClose: boolean = true;\n\n constructor(public drawerService: OnemrvaDrawerService) {}\n}\n","<span><ng-content></ng-content></span>\n<mat-icon\n *ngIf=\"showClose\"\n class=\"close-drawer clickable\"\n (click)=\"drawerService.close()\"\n >close</mat-icon\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';\n\nexport const components: any[] = [\n LayoutComponent,\n LayoutContentComponent,\n LayoutFooterComponent,\n LayoutRouteComponent,\n LayoutSubrouteComponent,\n LayoutTitleComponent,\n LayoutSidenavTitleComponent,\n LayoutSidenavComponent,\n LayoutLoginMenuComponent,\n LayoutAfterNavComponent,\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-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';\n","export class OnemRvaProfile {\n private _isLoggedIn: boolean = false;\n private _firstName: string = '';\n private _lastName: string = '';\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 { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'striphtml',\n})\nexport class StripHtmlPipe implements PipeTransform {\n transform(value: string): any {\n return value.replace(/<.*?>/g, ''); // replace tags\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 { components } 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 './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: [...components, DrawerHostDirective, StripHtmlPipe],\n imports: [\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: [...components, 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":["i2","i4","i2.OnemrvaDrawerService","i3","i7","i8","i1","i3.OnemrvaDrawerService","i5","i6","i9","i11","i12","i16.DrawerHostDirective","i1.OnemrvaDrawerService","i1.LayoutComponent","i2.LayoutContentComponent","i3.LayoutFooterComponent","i4.LayoutRouteComponent","i5.LayoutSubrouteComponent","i6.LayoutTitleComponent","i7.LayoutSidenavTitleComponent","i8.LayoutSidenavComponent","i9.LayoutLoginMenuComponent","i10.LayoutAfterNavComponent"],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-layout.mjs","sources":["../../../../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/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/models/onemrva-profile.model.ts","../../../../projects/onemrva/design-system/layout/src/striphtml.pipe.ts","../../../../projects/onemrva/design-system/layout/src/layout.module.ts","../../../../projects/onemrva/design-system/layout/onemrvapublic-design-system-layout.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewChild,\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})\nexport class LayoutSubrouteComponent implements AfterViewInit {\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() dataCy?: string;\n\n @ContentChildren(LayoutSubrouteComponent)\n subroutes?: QueryList<LayoutSubrouteComponent>;\n\n constructor(\n private cd: ChangeDetectorRef,\n private router: Router,\n ) {}\n\n ngAfterViewInit() {\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 : 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","<!--\n// This does not seem to work for sub menus as they how the sub menu only on click instead of on hover\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"template as routeTemplate\">\n\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-template #contentTmpl>\n <ng-content></ng-content>\n </ng-template>\n\n</ng-template>-->\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\nimport { LayoutSubrouteComponent } from '../layout-subroute/layout-subroute.component';\n\n@Component({\n selector: 'onemrva-layout-route',\n templateUrl: 'layout-route.component.html',\n})\nexport class LayoutRouteComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild('navTpl') template: TemplateRef<any> | null = null;\n @ViewChild('navMblTpl') mobileTemplate: TemplateRef<any> | null = null;\n @ViewChild('contentTpl') contentTemplate: TemplateRef<any> | null = null;\n\n @Input() routerLink: typeof RouterLink.prototype.routerLink;\n @Input() routerLinkActiveOptions?: any;\n @Input() dataCy?: string;\n @Input() baseRouteForActiveMenu?: string;\n @Input() label?: string;\n\n @ContentChildren(LayoutSubrouteComponent)\n subroutes?: QueryList<LayoutSubrouteComponent>;\n\n hasSubroutes() {\n return this.subroutes !== undefined && this.subroutes.length > 0;\n }\n\n constructor(\n private cd: ChangeDetectorRef,\n private router: Router,\n ) {}\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n\n isRouteActive() {\n if (this.routerLink === null || this.routerLink === undefined) {\n if (this.baseRouteForActiveMenu) {\n const split_route = this.router.url.split('/');\n const split_menu_route = this.baseRouteForActiveMenu.split('/');\n return split_route[1] === split_menu_route[1];\n }\n }\n return false;\n }\n}\n","<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <span role=\"button\" [matMenuTriggerFor]=\"menu\">\n {{ label }}\n </span>\n <mat-icon [matMenuTriggerFor]=\"menu\" style=\"width: 16px\"\n >expand_more</mat-icon\n >\n <mat-menu #menu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button\n mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"submenu\"\n [ngClass]=\"{ active: e.hasActiveSubroute() }\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container\n *ngFor=\"let es of e.subroutes?.toArray(); let i = index\"\n >\n <button\n mat-menu-item\n [routerLink]=\"es.routerLink\"\n routerLinkActive=\"active\"\n >\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n </ng-container>\n </mat-menu>\n </ng-container>\n</ng-template>\n\n<ng-template #navMblTpl>\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n</ng-template>\n\n<ng-template #contentTmpl>\n <ng-content></ng-content>\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-content',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutContentComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor(private cd: 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} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-title',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutTitleComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor(private cd: ChangeDetectorRef) {}\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 template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutFooterComponent {\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor() {}\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-login-menu',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutLoginMenuComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor(private cd: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","// Command to generate ng g d <Directive name>\n\nimport {\n AfterViewInit,\n DestroyRef,\n Directive,\n inject,\n Inject,\n ViewContainerRef,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DOCUMENT } from '@angular/common';\nimport { MatDrawer } from '@angular/material/sidenav';\n\n@Directive({\n selector: '[drawerhost]',\n})\nexport class DrawerHostDirective implements AfterViewInit {\n private destroyRef = inject(DestroyRef);\n\n constructor(\n private drawer: MatDrawer,\n public viewContainerRef: ViewContainerRef,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n private 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 } from '@angular/core';\nimport { DrawerHostDirective } from '../directives/drawer-host.directive';\nimport { MatDrawer } from '@angular/material/sidenav';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemrvaDrawerService {\n public host?: DrawerHostDirective;\n drawer?: MatDrawer;\n\n hasBackdrop = false;\n\n constructor() {}\n\n toggle() {\n if (!this.drawer) return;\n this.drawer?.toggle();\n }\n\n open() {\n if (!this.drawer) return;\n this.drawer?.open();\n }\n\n close() {\n if (!this.drawer) return;\n this.drawer?.close();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, Input, OnInit, QueryList } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LayoutRouteComponent } from '../layout-route/layout-route.component';\nimport { Observable, map, startWith } from 'rxjs';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { OnemRvaLanguage } from '../../models/onem-language.model';\n\n@Component({\n selector: 'onemrva-layout-sidenav',\n templateUrl: 'layout-sidenav.component.html',\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})\nexport class LayoutSidenavComponent implements OnInit {\n @Input() isSmall!: boolean;\n @Input() languages!: OnemRvaLanguage[];\n @Input() routes?: QueryList<LayoutRouteComponent>;\n\n selectedLanguageIndex$: Observable<number>;\n\n helpMenuOpen!: string[][];\n\n constructor(\n private translateService: TranslateService,\n @Inject(DOCUMENT) private document: Document,\n private drawerService: OnemrvaDrawerService,\n ) {\n this.selectedLanguageIndex$ = this.translateService.onLangChange.pipe(\n startWith(null),\n map(() =>\n this.languages.findIndex(\n l => l.code === this.translateService.currentLang,\n ),\n ),\n );\n }\n\n ngOnInit() {\n if (this.routes)\n this.helpMenuOpen = this.routes.map(route =>\n route.hasSubroutes()\n ? ['out', ...route.subroutes!.map(() => 'out')]\n : ['in'],\n );\n }\n\n changeLanguage(index: number) {\n const language = this.languages[index];\n this.translateService.use(language.code);\n this.document.documentElement.lang = language.code;\n }\n\n close() {\n this.drawerService.close();\n }\n\n openSubmenu(index: number, subIdx: number = 0) {\n this.helpMenuOpen[index][subIdx] =\n this.helpMenuOpen[index][subIdx] === 'out' ? 'in' : 'out';\n }\n}\n","<ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n>\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-close-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 <ng-container *ngIf=\"isSmall && languages && languages.length > 1\">\n <mat-tab-group\n class=\"language-tabs\"\n [selectedIndex]=\"selectedLanguageIndex$ | async\"\n (selectedIndexChange)=\"changeLanguage($event)\"\n >\n <mat-tab *ngFor=\"let lang of languages\">\n <div *matTabLabel [attr.data-cy]=\"'language_' + lang.code\">\n {{ lang.label }}\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n <ng-container *ngIf=\"isSmall && routes?.toArray()?.length\">\n <mat-divider\n style=\"align-self: stretch; margin-bottom: 10px\"\n *ngIf=\"languages && languages.length > 1\"\n ></mat-divider>\n <div>\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n >\n <ng-container *ngIf=\"e.mobileTemplate as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: false }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n (click)=\"openSubmenu(i)\"\n [attr.data-cy]=\"e.dataCy\"\n >\n {{ e.label }}\n <mat-icon>expand_more</mat-icon>\n </button>\n <div [@slideInOut]=\"helpMenuOpen[i][0]\">\n <ng-container\n *ngFor=\"let es of e.subroutes?.toArray(); let j = index\"\n >\n <button\n [routerLink]=\"es.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n (click)=\"openSubmenu(i, j + 1)\"\n [attr.data-cy]=\"es.dataCy\"\n >\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n </ng-container>\n <mat-icon *ngIf=\"es.hasSubroutes()\">expand_more</mat-icon>\n </button>\n <div [@slideInOut]=\"helpMenuOpen[i][j + 1]\">\n <ng-container *ngFor=\"let ess of es.subroutes?.toArray()\">\n <button\n [routerLink]=\"ess.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: false }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n [attr.data-cy]=\"ess.dataCy\"\n >\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n <ng-container *ngIf=\"ess.template as routeTemplate\">\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n </ng-container>\n </button>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n</ng-container>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-after-nav',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n})\nexport class LayoutAfterNavComponent implements AfterViewInit {\n @Input() customNgClass: any;\n\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n\n constructor(private cd: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n AfterViewInit,\n OnDestroy,\n QueryList,\n OnInit,\n Inject,\n isDevMode,\n EventEmitter,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { LayoutRouteComponent } from '../layout-route/layout-route.component';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LayoutContentComponent } from '../layout-content/layout-content.component';\nimport { Subject, takeUntil } from 'rxjs';\nimport { LayoutTitleComponent } from '../layout-title/layout-title.component';\n\nimport { Environment } from '../../enums/environment.enum';\nimport {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\nimport { DOCUMENT } from '@angular/common';\nimport { LayoutFooterComponent } from '../layout-footer/layout-footer.component';\nimport { OnemRvaProfile } from '../../models/onemrva-profile.model';\nimport { LayoutLoginMenuComponent } from '../layout-login-menu/layout-login-menu.component';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { DrawerHostDirective } from '../../directives/drawer-host.directive';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { LayoutSidenavComponent } from '../layout-sidenav/layout-sidenav.component';\nimport { LayoutAfterNavComponent } from '../layout-after-nav/layout-after-nav.component';\nimport { OnemRvaLanguage } from '../../models/onem-language.model';\n\n@Component({\n selector: 'onemrva-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss'],\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 fluid: boolean = false;\n\n @Input()\n logo: string = ''; // 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$: Subject<void> = new Subject();\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: string = 'main';\n\n @Input()\n role: string = 'main';\n\n constructor(\n public translateService: TranslateService,\n private cd: ChangeDetectorRef,\n public breakpointObserver: BreakpointObserver,\n @Inject(DOCUMENT) private document: Document,\n public drawerService: OnemrvaDrawerService,\n ) {\n // this.isLogoutUsed = this.logout.observers.length > 0;\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.logo = `https://cdn.services.rvaonem.fgov.be/img/logo/logo_${this.translateService.currentLang?.toLocaleLowerCase()}.svg`;\n\n this.translateService.onLangChange\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(lang => {\n this.logo = `https://cdn.services.rvaonem.fgov.be/img/logo/logo_${lang.lang?.toLocaleLowerCase()}.svg`;\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.drawer = this.drawer;\n }\n\n get currentLanguage() {\n return this.translateService.currentLang || '';\n }\n ngAfterViewInit() {\n if (isDevMode()) {\n this.cd.detectChanges();\n }\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 this.drawerHost.viewContainerRef.clear();\n const componentRef = this.drawerHost.viewContainerRef.createComponent(\n LayoutSidenavComponent,\n );\n componentRef.instance.isSmall = this.isSmall;\n componentRef.instance.languages = this.languages;\n componentRef.instance.routes = this.routes;\n this.drawerService.hasBackdrop = false;\n\n this.drawer.open();\n }\n}\n","<mat-drawer-container\n class=\"example-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop\"\n autosize\n>\n <div class=\"app-content\">\n <header>\n <mat-toolbar class=\"mat-elevation-z4\">\n <div class=\"environment\" [class]=\"environment\">\n {{ environment }}\n </div>\n <div\n [class.onemrva-layout-container]=\"!fluid\"\n class=\"nav-container flex-center\"\n >\n {{ logoRedictionUrl }}\n <img\n class=\"logo\"\n [src]=\"logo\"\n [attr.data-cy]=\"\n 'onemrva_logo_' + currentLanguage.toLocaleLowerCase()\n \"\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\"\n [ngClass]=\"{ 'small-screen': isSmall }\"\n >\n <ng-container *ngIf=\"title?.template as titleTpl\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </ng-container>\n </div>\n\n <div style=\"flex: 1\"></div>\n <div\n class=\"flex-center\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n *ngIf=\"!isSmall\"\n >\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: !e.hasSubroutes() }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n </ng-container>\n </ng-container>\n </a>\n </ng-container>\n </div>\n\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n <ng-container *ngIf=\"afterNav?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"profile !== null\">\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall\"\n ></mat-divider>\n <onemrva-mat-avatar\n matRipple\n *ngIf=\"profile.isLoggedIn\"\n [matMenuTriggerFor]=\"menu\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"extrasmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n\n <onemrva-mat-avatar\n matRipple\n *ngIf=\"!profile.isLoggedIn\"\n [matMenuTriggerFor]=\"menu\"\n icon=\"account_circle\"\n color=\"\"\n size=\"extrasmall\"\n class=\"clickable\"\n ></onemrva-mat-avatar>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngIf=\"profile.isLoggedIn; else notConnected\">\n <p class=\"accountName\">\n {{ profile.firstName }} {{ profile.lastName }}\n </p>\n <mat-divider style=\"align-self: stretch\"></mat-divider>\n\n <ng-container *ngIf=\"loginMenu?.template as menuLoginTpl\">\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n </ng-container>\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 </ng-container>\n <ng-template #notConnected>\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 </ng-template>\n </mat-menu>\n </ng-container>\n <ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n >\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"toggleSideNav()\"\n [attr.aria-label]=\"'layout.menu' | translate\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n </ng-container>\n <div\n class=\"flex-center\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n *ngIf=\"!isSmall\"\n >\n <a\n [matMenuTriggerFor]=\"languageMenu\"\n data-cy=\"languageMenu\"\n [attr.aria-label]=\"'language.selection' | translate\"\n mat-tab-link\n >\n {{ currentLanguage }}\n <mat-icon style=\"width: 16px\">expand_more</mat-icon>\n </a>\n </div>\n <mat-menu #languageMenu>\n <button\n *ngFor=\"let lang of languages\"\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-item\n [attr.data-cy]=\"'language_' + lang.code\"\n (click)=\"changeLanguage(lang.code)\"\n [attr.aria-label]=\"lang.label\"\n >\n {{ lang.label }}\n </button>\n </mat-menu>\n </div>\n </mat-toolbar>\n </header>\n <ng-container>\n <div\n [id]=\"id\"\n [attr.role]=\"role\"\n [class.onemrva-layout-container]=\"!fluid\"\n class=\"onemrva-layout-content\"\n *ngIf=\"content?.template as tpl\"\n >\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n\n <ng-container\n *ngIf=\"\n environment &&\n (environment === env.LOCAL || environment === env.TEST)\n \"\n >\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"(function() {var _p='//openfed.github.io/AccessibilityCheck/build/';var _i=function(s,cb) {var sc=document.createElement('script');sc.onload = function() {sc.onload = null;sc.onreadystatechange = null;cb.call(this);};sc.onreadystatechange = function(){if(/^(complete|loaded)$/.test(this.readyState) === true){sc.onreadystatechange = null;sc.onload();}};sc.src=s;if (document.head) {document.head.appendChild(sc);} else {document.getElementsByTagName('head')[0].appendChild(sc);}}; var options={path:_p};_i(_p+'HTMLCS.js',function(){HTMLCSAuditor.run('WCAG2AA',null,options);});})();\"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n </ng-container>\n </div>\n\n <footer class=\"onemrva-footer\" *ngIf=\"footer?.template as footer\">\n <div [class.onemrva-layout-container]=\"!fluid\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n </footer>\n </ng-container>\n </div>\n\n <mat-drawer\n class=\"onemrva-drawer mobile-menu-sidebar\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n</mat-drawer-container>\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'onemrva-layout-sidenav-title',\n template: ` <ng-template><ng-content></ng-content></ng-template> `,\n})\nexport class LayoutSidenavTitleComponent {\n @ViewChild(TemplateRef) template?: TemplateRef<any>;\n}\n","import { Component } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'onemrva-drawer-actions',\n templateUrl: 'layout-drawer-actions.component.html',\n styleUrls: ['layout-drawer-actions.component.scss'],\n standalone: true,\n imports: [MatIcon],\n})\nexport class LayoutDrawerActionsComponent {\n constructor(public drawerService: OnemrvaDrawerService) {}\n}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'onemrva-drawer-content',\n templateUrl: 'layout-drawer-content.component.html',\n styleUrls: ['layout-drawer-content.component.scss'],\n standalone: true,\n imports: [MatIcon],\n})\nexport class LayoutDrawerContentComponent {\n constructor(public drawerService: OnemrvaDrawerService) {}\n}\n","<span><ng-content></ng-content></span>\n","import { Component, Input } from '@angular/core';\nimport { OnemrvaDrawerService } from '../../services/drawer.service';\nimport { MatIcon } from '@angular/material/icon';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'onemrva-drawer-title',\n templateUrl: 'layout-drawer-title.component.html',\n styleUrls: ['layout-drawer-title.component.scss'],\n standalone: true,\n imports: [MatIcon, NgIf],\n})\nexport class LayoutDrawerTitleComponent {\n @Input()\n showClose: boolean = true;\n\n constructor(public drawerService: OnemrvaDrawerService) {}\n}\n","<span><ng-content></ng-content></span>\n<mat-icon\n *ngIf=\"showClose\"\n class=\"close-drawer clickable\"\n (click)=\"drawerService.close()\"\n >close</mat-icon\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';\n\nexport const components: any[] = [\n LayoutComponent,\n LayoutContentComponent,\n LayoutFooterComponent,\n LayoutRouteComponent,\n LayoutSubrouteComponent,\n LayoutTitleComponent,\n LayoutSidenavTitleComponent,\n LayoutSidenavComponent,\n LayoutLoginMenuComponent,\n LayoutAfterNavComponent,\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-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';\n","export class OnemRvaProfile {\n private _isLoggedIn: boolean = false;\n private _firstName: string = '';\n private _lastName: string = '';\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 { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'striphtml',\n})\nexport class StripHtmlPipe implements PipeTransform {\n transform(value: string): any {\n return value.replace(/<.*?>/g, ''); // replace tags\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 { components } 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 './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: [...components, DrawerHostDirective, StripHtmlPipe],\n imports: [\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: [...components, 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":["i2","i4","i2.OnemrvaDrawerService","i3","i7","i8","i1","i3.OnemrvaDrawerService","i5","i6","i9","i11","i12","i16.DrawerHostDirective","i1.OnemrvaDrawerService","i1.LayoutComponent","i2.LayoutContentComponent","i3.LayoutFooterComponent","i4.LayoutRouteComponent","i5.LayoutSubrouteComponent","i6.LayoutTitleComponent","i7.LayoutSidenavTitleComponent","i8.LayoutSidenavComponent","i9.LayoutLoginMenuComponent","i10.LayoutAfterNavComponent"],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy, Optional, Inject } from '@angular/core';
3
+ import { EventEmitter, forwardRef, Component, Inject, Optional } from '@angular/core';
4
4
  import * as i3 from '@angular/material/button';
5
5
  import { MatButtonModule } from '@angular/material/button';
6
6
  import * as i2 from '@angular/material/core';
7
7
  import { MAT_DATE_FORMATS } from '@angular/material/core';
8
- import * as i4 from '@angular/material/icon';
8
+ import * as i1 from '@angular/material/datepicker';
9
+ import { MatCalendar } from '@angular/material/datepicker';
9
10
  import { MatIconModule } from '@angular/material/icon';
10
- import * as i5 from '@ngx-translate/core';
11
+ import * as i4 from '@ngx-translate/core';
11
12
  import { TranslateModule } from '@ngx-translate/core';
12
- import { MatTooltip } from '@angular/material/tooltip';
13
- import * as i1 from '@angular/material/datepicker';
13
+ import { Subject } from 'rxjs';
14
14
 
15
15
  const YEARS_PER_PAGE = 24;
16
16
  let calendarHeaderId = 1;
@@ -24,11 +24,14 @@ class OnemrvaMatDatepickerHeaderComponent {
24
24
  this.calendar = calendar;
25
25
  this._dateAdapter = _dateAdapter;
26
26
  this._dateFormats = _dateFormats;
27
+ this._destroyed = new Subject();
28
+ this.today = new EventEmitter();
27
29
  this._id = `mat-calendar-header-${calendarHeaderId++}`;
28
30
  this._periodButtonLabelId = `${this._id}-period-label`;
29
31
  }
30
32
  setToday() {
31
33
  this.calendar._goToDateInView(new Date(), 'month');
34
+ this.today.emit();
32
35
  }
33
36
  /** The display text for the current calendar view. */
34
37
  get periodButtonText() {
@@ -139,19 +142,16 @@ class OnemrvaMatDatepickerHeaderComponent {
139
142
  const maxYearLabel = this._dateAdapter.getYearName(this._dateAdapter.createDate(maxYearOfPage, 0, 1));
140
143
  return [minYearLabel, maxYearLabel];
141
144
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: OnemrvaMatDatepickerHeaderComponent, deps: [{ token: i1.MatDatepickerIntl }, { token: i1.MatCalendar }, { token: i2.DateAdapter, optional: true }, { token: MAT_DATE_FORMATS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: OnemrvaMatDatepickerHeaderComponent, isStandalone: true, selector: "onemrva-mat-datepicker-header", providers: [], ngImport: i0, template: "<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <button\n mat-button\n type=\"button\"\n class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\"\n [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\"\n aria-live=\"polite\"\n >\n <span aria-hidden=\"true\">{{ periodButtonText }}</span>\n <svg\n class=\"mat-calendar-arrow\"\n [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <polygon points=\"0,0 5,5 10,0\" />\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\"\n (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\"\n [matTooltip]=\"'Previous Month' | translate\"\n ></button>\n\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"setToday()\"\n [matTooltip]=\"'Today' | translate\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\"\n (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\"\n [matTooltip]=\"'Next Month' | translate\"\n ></button>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: OnemrvaMatDatepickerHeaderComponent, deps: [{ token: i1.MatDatepickerIntl }, { token: forwardRef(() => MatCalendar) }, { token: i2.DateAdapter, optional: true }, { token: MAT_DATE_FORMATS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: OnemrvaMatDatepickerHeaderComponent, isStandalone: true, selector: "onemrva-mat-datepicker-header", providers: [], ngImport: i0, template: "<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <button\n mat-button\n type=\"button\"\n class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\"\n [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\"\n aria-live=\"polite\"\n >\n <span aria-hidden=\"true\">{{ periodButtonText }}</span>\n <svg\n class=\"mat-calendar-arrow\"\n [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <polygon points=\"0,0 5,5 10,0\" />\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n <!-- Component a is the only difference with the view coming from @angular/material -->\n <a class=\"onemrva-calendar-header-today\" (click)=\"setToday()\">{{\n 'today' | translate\n }}</a>\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\"\n (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\"\n ></button>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\"\n (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\"\n ></button>\n </div>\n</div>\n<label [id]=\"_periodButtonLabelId\" class=\"mat-calendar-hidden-label\">{{\n periodButtonDescription\n}}</label>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
144
147
  }
145
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: OnemrvaMatDatepickerHeaderComponent, decorators: [{
146
149
  type: Component,
147
- args: [{ selector: 'onemrva-mat-datepicker-header', standalone: true, imports: [
148
- CommonModule,
149
- MatButtonModule,
150
- MatIconModule,
151
- TranslateModule,
152
- MatTooltip,
153
- ], providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <button\n mat-button\n type=\"button\"\n class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\"\n [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\"\n aria-live=\"polite\"\n >\n <span aria-hidden=\"true\">{{ periodButtonText }}</span>\n <svg\n class=\"mat-calendar-arrow\"\n [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <polygon points=\"0,0 5,5 10,0\" />\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\"\n (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\"\n [matTooltip]=\"'Previous Month' | translate\"\n ></button>\n\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"setToday()\"\n [matTooltip]=\"'Today' | translate\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\"\n (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\"\n [matTooltip]=\"'Next Month' | translate\"\n ></button>\n </div>\n</div>\n" }]
154
- }], ctorParameters: () => [{ type: i1.MatDatepickerIntl }, { type: i1.MatCalendar }, { type: i2.DateAdapter, decorators: [{
150
+ args: [{ selector: 'onemrva-mat-datepicker-header', standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule, TranslateModule], providers: [], template: "<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <button\n mat-button\n type=\"button\"\n class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\"\n [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\"\n aria-live=\"polite\"\n >\n <span aria-hidden=\"true\">{{ periodButtonText }}</span>\n <svg\n class=\"mat-calendar-arrow\"\n [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <polygon points=\"0,0 5,5 10,0\" />\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n <!-- Component a is the only difference with the view coming from @angular/material -->\n <a class=\"onemrva-calendar-header-today\" (click)=\"setToday()\">{{\n 'today' | translate\n }}</a>\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\"\n (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\"\n ></button>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\"\n (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\"\n ></button>\n </div>\n</div>\n<label [id]=\"_periodButtonLabelId\" class=\"mat-calendar-hidden-label\">{{\n periodButtonDescription\n}}</label>\n" }]
151
+ }], ctorParameters: () => [{ type: i1.MatDatepickerIntl }, { type: i1.MatCalendar, decorators: [{
152
+ type: Inject,
153
+ args: [forwardRef(() => MatCalendar)]
154
+ }] }, { type: i2.DateAdapter, decorators: [{
155
155
  type: Optional
156
156
  }] }, { type: undefined, decorators: [{
157
157
  type: Optional
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-datepicker-header.mjs","sources":["../../../../projects/onemrva/design-system/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.ts","../../../../projects/onemrva/design-system/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.html","../../../../projects/onemrva/design-system/mat-datepicker-header/index.ts","../../../../projects/onemrva/design-system/mat-datepicker-header/onemrvapublic-design-system-mat-datepicker-header.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n Inject,\n Optional,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n DateAdapter,\n MAT_DATE_FORMATS,\n MatDateFormats,\n} from '@angular/material/core';\nimport { MatCalendar, MatDatepickerIntl } from '@angular/material/datepicker';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatTooltip } from '@angular/material/tooltip';\n\nconst YEARS_PER_PAGE = 24;\nlet calendarHeaderId = 1;\n\n/**\n * Code completely copied from https://github.com/angular/components/tree/main/src/material/datepicker\n * The only difference is the method setToday()\n */\n@Component({\n selector: 'onemrva-mat-datepicker-header',\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n TranslateModule,\n MatTooltip,\n ],\n templateUrl: 'onemrva-mat-datepicker-header.component.html',\n providers: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnemrvaMatDatepickerHeaderComponent<D> {\n constructor(\n private _intl: MatDatepickerIntl,\n public calendar: MatCalendar<D>,\n @Optional() private _dateAdapter: DateAdapter<D>,\n @Optional()\n @Inject(MAT_DATE_FORMATS)\n private _dateFormats: MatDateFormats,\n ) {}\n\n setToday() {\n (this.calendar as unknown as MatCalendar<Date>)._goToDateInView(\n new Date(),\n 'month',\n );\n }\n\n /** The display text for the current calendar view. */\n get periodButtonText(): string {\n if (this.calendar.currentView == 'month') {\n return this._dateAdapter\n .format(\n this.calendar.activeDate,\n this._dateFormats.display.monthYearLabel,\n )\n .toLocaleUpperCase();\n }\n if (this.calendar.currentView == 'year') {\n return this._dateAdapter.getYearName(this.calendar.activeDate);\n }\n\n return this._intl.formatYearRange(...this._formatMinAndMaxYearLabels());\n }\n\n /** The aria description for the current calendar view. */\n get periodButtonDescription(): string {\n if (this.calendar.currentView == 'month') {\n return this._dateAdapter\n .format(\n this.calendar.activeDate,\n this._dateFormats.display.monthYearLabel,\n )\n .toLocaleUpperCase();\n }\n if (this.calendar.currentView == 'year') {\n return this._dateAdapter.getYearName(this.calendar.activeDate);\n }\n\n // Format a label for the window of years displayed in the multi-year calendar view. Use\n // `formatYearRangeLabel` because it is TTS friendly.\n return this._intl.formatYearRangeLabel(\n ...this._formatMinAndMaxYearLabels(),\n );\n }\n\n /** The `aria-label` for changing the calendar view. */\n get periodButtonLabel(): string {\n return this.calendar.currentView == 'month'\n ? this._intl.switchToMultiYearViewLabel\n : this._intl.switchToMonthViewLabel;\n }\n\n /** The label for the previous button. */\n get prevButtonLabel(): string {\n return {\n month: this._intl.prevMonthLabel,\n year: this._intl.prevYearLabel,\n 'multi-year': this._intl.prevMultiYearLabel,\n }[this.calendar.currentView];\n }\n\n /** The label for the next button. */\n get nextButtonLabel(): string {\n return {\n month: this._intl.nextMonthLabel,\n year: this._intl.nextYearLabel,\n 'multi-year': this._intl.nextMultiYearLabel,\n }[this.calendar.currentView];\n }\n\n /** Handles user clicks on the period label. */\n currentPeriodClicked(): void {\n this.calendar.currentView =\n this.calendar.currentView == 'month' ? 'multi-year' : 'month';\n }\n\n /** Handles user clicks on the previous button. */\n previousClicked(): void {\n this.calendar.activeDate =\n this.calendar.currentView == 'month'\n ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, -1)\n : this._dateAdapter.addCalendarYears(\n this.calendar.activeDate,\n this.calendar.currentView == 'year' ? -1 : -YEARS_PER_PAGE,\n );\n }\n\n /** Handles user clicks on the next button. */\n nextClicked(): void {\n this.calendar.activeDate =\n this.calendar.currentView == 'month'\n ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, 1)\n : this._dateAdapter.addCalendarYears(\n this.calendar.activeDate,\n this.calendar.currentView == 'year' ? 1 : YEARS_PER_PAGE,\n );\n }\n\n /** Whether the previous period button is enabled. */\n previousEnabled(): boolean {\n if (!this.calendar.minDate) {\n return true;\n }\n return (\n !this.calendar.minDate ||\n !this._isSameView(this.calendar.activeDate, this.calendar.minDate)\n );\n }\n\n /** Whether the next period button is enabled. */\n nextEnabled(): boolean {\n return (\n !this.calendar.maxDate ||\n !this._isSameView(this.calendar.activeDate, this.calendar.maxDate)\n );\n }\n\n /** Whether the two dates represent the same view in the current view mode (month or year). */\n private _isSameView(date1: D, date2: D): boolean {\n if (this.calendar.currentView == 'month') {\n return (\n this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2) &&\n this._dateAdapter.getMonth(date1) == this._dateAdapter.getMonth(date2)\n );\n }\n if (this.calendar.currentView == 'year') {\n return (\n this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2)\n );\n }\n // Otherwise we are in 'multi-year' view.\n return isSameMultiYearView(\n this._dateAdapter,\n date1,\n date2,\n this.calendar.minDate,\n this.calendar.maxDate,\n );\n }\n\n /**\n * Format two individual labels for the minimum year and maximum year available in the multi-year\n * calendar view. Returns an array of two strings where the first string is the formatted label\n * for the minimum year, and the second string is the formatted label for the maximum year.\n */\n private _formatMinAndMaxYearLabels(): [\n minYearLabel: string,\n maxYearLabel: string,\n ] {\n // The offset from the active year to the \"slot\" for the starting year is the\n // *actual* first rendered year in the multi-year view, and the last year is\n // just yearsPerPage - 1 away.\n const activeYear = this._dateAdapter.getYear(this.calendar.activeDate);\n const minYearOfPage =\n activeYear -\n getActiveOffset(\n this._dateAdapter,\n this.calendar.activeDate,\n this.calendar.minDate,\n this.calendar.maxDate,\n );\n const maxYearOfPage = minYearOfPage + YEARS_PER_PAGE - 1;\n const minYearLabel = this._dateAdapter.getYearName(\n this._dateAdapter.createDate(minYearOfPage, 0, 1),\n );\n const maxYearLabel = this._dateAdapter.getYearName(\n this._dateAdapter.createDate(maxYearOfPage, 0, 1),\n );\n\n return [minYearLabel, maxYearLabel];\n }\n\n private _id = `mat-calendar-header-${calendarHeaderId++}`;\n\n _periodButtonLabelId = `${this._id}-period-label`;\n}\n\nfunction isSameMultiYearView<D>(\n dateAdapter: DateAdapter<D>,\n date1: D,\n date2: D,\n minDate: D | null,\n maxDate: D | null,\n): boolean {\n const year1 = dateAdapter.getYear(date1);\n const year2 = dateAdapter.getYear(date2);\n const startingYear = getStartingYear(dateAdapter, minDate, maxDate);\n return (\n Math.floor((year1 - startingYear) / YEARS_PER_PAGE) ===\n Math.floor((year2 - startingYear) / YEARS_PER_PAGE)\n );\n}\n\n/**\n * We pick a \"starting\" year such that either the maximum year would be at the end\n * or the minimum year would be at the beginning of a page.\n */\nfunction getStartingYear<D>(\n dateAdapter: DateAdapter<D>,\n minDate: D | null,\n maxDate: D | null,\n): number {\n let startingYear = 0;\n if (maxDate) {\n const maxYear = dateAdapter.getYear(maxDate);\n startingYear = maxYear - YEARS_PER_PAGE + 1;\n } else if (minDate) {\n startingYear = dateAdapter.getYear(minDate);\n }\n return startingYear;\n}\n\n/**\n * When the multi-year view is first opened, the active year will be in view.\n * So we compute how many years are between the active year and the *slot* where our\n * \"startingYear\" will render when paged into view.\n */\nfunction getActiveOffset<D>(\n dateAdapter: DateAdapter<D>,\n activeDate: D,\n minDate: D | null,\n maxDate: D | null,\n): number {\n const activeYear = dateAdapter.getYear(activeDate);\n return euclideanModulo(\n activeYear - getStartingYear(dateAdapter, minDate, maxDate),\n YEARS_PER_PAGE,\n );\n}\n\n/** Gets remainder that is non-negative, even if first number is negative */\nfunction euclideanModulo(a: number, b: number): number {\n return ((a % b) + b) % b;\n}\n","<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <button\n mat-button\n type=\"button\"\n class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\"\n [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\"\n aria-live=\"polite\"\n >\n <span aria-hidden=\"true\">{{ periodButtonText }}</span>\n <svg\n class=\"mat-calendar-arrow\"\n [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <polygon points=\"0,0 5,5 10,0\" />\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\"\n (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\"\n [matTooltip]=\"'Previous Month' | translate\"\n ></button>\n\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"setToday()\"\n [matTooltip]=\"'Today' | translate\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\"\n (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\"\n [matTooltip]=\"'Next Month' | translate\"\n ></button>\n </div>\n</div>\n","/*\n * Public API Surface of mat-file upload\n */\n\nexport * from './src/onemrva-mat-datepicker-header.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-datepicker-header.mjs","sources":["../../../../projects/onemrva/design-system/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.ts","../../../../projects/onemrva/design-system/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.html","../../../../projects/onemrva/design-system/mat-datepicker-header/index.ts","../../../../projects/onemrva/design-system/mat-datepicker-header/onemrvapublic-design-system-mat-datepicker-header.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n EventEmitter,\n Inject,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n DateAdapter,\n MAT_DATE_FORMATS,\n MatDateFormats,\n} from '@angular/material/core';\nimport { MatCalendar, MatDatepickerIntl } from '@angular/material/datepicker';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\n\nconst YEARS_PER_PAGE = 24;\nlet calendarHeaderId = 1;\n\n/**\n * Code completely copied from https://github.com/angular/components/tree/main/src/material/datepicker\n * The only difference is the method setToday()\n */\n@Component({\n selector: 'onemrva-mat-datepicker-header',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule, TranslateModule],\n templateUrl: 'onemrva-mat-datepicker-header.component.html',\n providers: [],\n})\nexport class OnemrvaMatDatepickerHeaderComponent<D> {\n private _destroyed = new Subject<void>();\n\n today: EventEmitter<void> = new EventEmitter();\n\n constructor(\n private _intl: MatDatepickerIntl,\n @Inject(forwardRef(() => MatCalendar))\n public calendar: MatCalendar<D>,\n @Optional() private _dateAdapter: DateAdapter<D>,\n @Optional()\n @Inject(MAT_DATE_FORMATS)\n private _dateFormats: MatDateFormats,\n ) {}\n\n setToday() {\n (this.calendar as unknown as MatCalendar<Date>)._goToDateInView(\n new Date(),\n 'month',\n );\n this.today.emit();\n }\n\n /** The display text for the current calendar view. */\n get periodButtonText(): string {\n if (this.calendar.currentView == 'month') {\n return this._dateAdapter\n .format(\n this.calendar.activeDate,\n this._dateFormats.display.monthYearLabel,\n )\n .toLocaleUpperCase();\n }\n if (this.calendar.currentView == 'year') {\n return this._dateAdapter.getYearName(this.calendar.activeDate);\n }\n\n return this._intl.formatYearRange(...this._formatMinAndMaxYearLabels());\n }\n\n /** The aria description for the current calendar view. */\n get periodButtonDescription(): string {\n if (this.calendar.currentView == 'month') {\n return this._dateAdapter\n .format(\n this.calendar.activeDate,\n this._dateFormats.display.monthYearLabel,\n )\n .toLocaleUpperCase();\n }\n if (this.calendar.currentView == 'year') {\n return this._dateAdapter.getYearName(this.calendar.activeDate);\n }\n\n // Format a label for the window of years displayed in the multi-year calendar view. Use\n // `formatYearRangeLabel` because it is TTS friendly.\n return this._intl.formatYearRangeLabel(\n ...this._formatMinAndMaxYearLabels(),\n );\n }\n\n /** The `aria-label` for changing the calendar view. */\n get periodButtonLabel(): string {\n return this.calendar.currentView == 'month'\n ? this._intl.switchToMultiYearViewLabel\n : this._intl.switchToMonthViewLabel;\n }\n\n /** The label for the previous button. */\n get prevButtonLabel(): string {\n return {\n month: this._intl.prevMonthLabel,\n year: this._intl.prevYearLabel,\n 'multi-year': this._intl.prevMultiYearLabel,\n }[this.calendar.currentView];\n }\n\n /** The label for the next button. */\n get nextButtonLabel(): string {\n return {\n month: this._intl.nextMonthLabel,\n year: this._intl.nextYearLabel,\n 'multi-year': this._intl.nextMultiYearLabel,\n }[this.calendar.currentView];\n }\n\n /** Handles user clicks on the period label. */\n currentPeriodClicked(): void {\n this.calendar.currentView =\n this.calendar.currentView == 'month' ? 'multi-year' : 'month';\n }\n\n /** Handles user clicks on the previous button. */\n previousClicked(): void {\n this.calendar.activeDate =\n this.calendar.currentView == 'month'\n ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, -1)\n : this._dateAdapter.addCalendarYears(\n this.calendar.activeDate,\n this.calendar.currentView == 'year' ? -1 : -YEARS_PER_PAGE,\n );\n }\n\n /** Handles user clicks on the next button. */\n nextClicked(): void {\n this.calendar.activeDate =\n this.calendar.currentView == 'month'\n ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, 1)\n : this._dateAdapter.addCalendarYears(\n this.calendar.activeDate,\n this.calendar.currentView == 'year' ? 1 : YEARS_PER_PAGE,\n );\n }\n\n /** Whether the previous period button is enabled. */\n previousEnabled(): boolean {\n if (!this.calendar.minDate) {\n return true;\n }\n return (\n !this.calendar.minDate ||\n !this._isSameView(this.calendar.activeDate, this.calendar.minDate)\n );\n }\n\n /** Whether the next period button is enabled. */\n nextEnabled(): boolean {\n return (\n !this.calendar.maxDate ||\n !this._isSameView(this.calendar.activeDate, this.calendar.maxDate)\n );\n }\n\n /** Whether the two dates represent the same view in the current view mode (month or year). */\n private _isSameView(date1: D, date2: D): boolean {\n if (this.calendar.currentView == 'month') {\n return (\n this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2) &&\n this._dateAdapter.getMonth(date1) == this._dateAdapter.getMonth(date2)\n );\n }\n if (this.calendar.currentView == 'year') {\n return (\n this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2)\n );\n }\n // Otherwise we are in 'multi-year' view.\n return isSameMultiYearView(\n this._dateAdapter,\n date1,\n date2,\n this.calendar.minDate,\n this.calendar.maxDate,\n );\n }\n\n /**\n * Format two individual labels for the minimum year and maximum year available in the multi-year\n * calendar view. Returns an array of two strings where the first string is the formatted label\n * for the minimum year, and the second string is the formatted label for the maximum year.\n */\n private _formatMinAndMaxYearLabels(): [\n minYearLabel: string,\n maxYearLabel: string,\n ] {\n // The offset from the active year to the \"slot\" for the starting year is the\n // *actual* first rendered year in the multi-year view, and the last year is\n // just yearsPerPage - 1 away.\n const activeYear = this._dateAdapter.getYear(this.calendar.activeDate);\n const minYearOfPage =\n activeYear -\n getActiveOffset(\n this._dateAdapter,\n this.calendar.activeDate,\n this.calendar.minDate,\n this.calendar.maxDate,\n );\n const maxYearOfPage = minYearOfPage + YEARS_PER_PAGE - 1;\n const minYearLabel = this._dateAdapter.getYearName(\n this._dateAdapter.createDate(minYearOfPage, 0, 1),\n );\n const maxYearLabel = this._dateAdapter.getYearName(\n this._dateAdapter.createDate(maxYearOfPage, 0, 1),\n );\n\n return [minYearLabel, maxYearLabel];\n }\n\n private _id = `mat-calendar-header-${calendarHeaderId++}`;\n\n _periodButtonLabelId = `${this._id}-period-label`;\n}\n\nfunction isSameMultiYearView<D>(\n dateAdapter: DateAdapter<D>,\n date1: D,\n date2: D,\n minDate: D | null,\n maxDate: D | null,\n): boolean {\n const year1 = dateAdapter.getYear(date1);\n const year2 = dateAdapter.getYear(date2);\n const startingYear = getStartingYear(dateAdapter, minDate, maxDate);\n return (\n Math.floor((year1 - startingYear) / YEARS_PER_PAGE) ===\n Math.floor((year2 - startingYear) / YEARS_PER_PAGE)\n );\n}\n\n/**\n * We pick a \"starting\" year such that either the maximum year would be at the end\n * or the minimum year would be at the beginning of a page.\n */\nfunction getStartingYear<D>(\n dateAdapter: DateAdapter<D>,\n minDate: D | null,\n maxDate: D | null,\n): number {\n let startingYear = 0;\n if (maxDate) {\n const maxYear = dateAdapter.getYear(maxDate);\n startingYear = maxYear - YEARS_PER_PAGE + 1;\n } else if (minDate) {\n startingYear = dateAdapter.getYear(minDate);\n }\n return startingYear;\n}\n\n/**\n * When the multi-year view is first opened, the active year will be in view.\n * So we compute how many years are between the active year and the *slot* where our\n * \"startingYear\" will render when paged into view.\n */\nfunction getActiveOffset<D>(\n dateAdapter: DateAdapter<D>,\n activeDate: D,\n minDate: D | null,\n maxDate: D | null,\n): number {\n const activeYear = dateAdapter.getYear(activeDate);\n return euclideanModulo(\n activeYear - getStartingYear(dateAdapter, minDate, maxDate),\n YEARS_PER_PAGE,\n );\n}\n\n/** Gets remainder that is non-negative, even if first number is negative */\nfunction euclideanModulo(a: number, b: number): number {\n return ((a % b) + b) % b;\n}\n","<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <button\n mat-button\n type=\"button\"\n class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\"\n [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\"\n aria-live=\"polite\"\n >\n <span aria-hidden=\"true\">{{ periodButtonText }}</span>\n <svg\n class=\"mat-calendar-arrow\"\n [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <polygon points=\"0,0 5,5 10,0\" />\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n <!-- Component a is the only difference with the view coming from @angular/material -->\n <a class=\"onemrva-calendar-header-today\" (click)=\"setToday()\">{{\n 'today' | translate\n }}</a>\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\"\n (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\"\n ></button>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\"\n (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\"\n ></button>\n </div>\n</div>\n<label [id]=\"_periodButtonLabelId\" class=\"mat-calendar-hidden-label\">{{\n periodButtonDescription\n}}</label>\n","/*\n * Public API Surface of mat-file upload\n */\n\nexport * from './src/onemrva-mat-datepicker-header.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}