@onemrvapublic/design-system 22.0.0-develop.21 → 22.0.0-develop.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -3
- package/card/src/onemrva-card.component.scss +23 -0
- package/fesm2022/onemrvapublic-design-system-card.mjs +12 -2
- package/fesm2022/onemrvapublic-design-system-card.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-flag-icon.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-flag-icon.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-layout.mjs +135 -1
- package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs +4 -15
- package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +18 -0
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +8 -0
- package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +7 -0
- package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +20 -0
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs +30 -0
- package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +50 -0
- package/fesm2022/onemrvapublic-design-system-mat-panel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +30 -0
- package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +10 -3
- package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +4 -7
- package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs +8 -0
- package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +8 -0
- package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +11 -7
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +40 -0
- package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +8 -0
- package/fesm2022/onemrvapublic-design-system-mat-toast.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +10 -0
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-page-error.mjs +18 -0
- package/fesm2022/onemrvapublic-design-system-page-error.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +32 -0
- package/fesm2022/onemrvapublic-design-system-page-not-found.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-shared.mjs +9 -1
- package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-timeline.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system.mjs +1 -1
- package/fesm2022/onemrvapublic-design-system.mjs.map +1 -1
- package/package.json +1 -1
- package/types/onemrvapublic-design-system-card.d.ts +11 -1
- package/types/onemrvapublic-design-system-flag-icon.d.ts +10 -0
- package/types/onemrvapublic-design-system-layout.d.ts +132 -0
- package/types/onemrvapublic-design-system-mat-avatar.d.ts +4 -15
- package/types/onemrvapublic-design-system-mat-breadcrumb.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-carousel.d.ts +18 -0
- package/types/onemrvapublic-design-system-mat-choice-chip.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-copy-to-clipboard.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-country-item.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-datepicker-header.d.ts +8 -0
- package/types/onemrvapublic-design-system-mat-empty-row.d.ts +7 -0
- package/types/onemrvapublic-design-system-mat-file-upload.d.ts +20 -0
- package/types/onemrvapublic-design-system-mat-input-address.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-input-birthplace.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-input-country.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-input-enterprise-number.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-input-iban.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-input-phone.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-message-box.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-multi-select.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-navigation.d.ts +20 -0
- package/types/onemrvapublic-design-system-mat-notification.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-paginator.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-panel.d.ts +50 -0
- package/types/onemrvapublic-design-system-mat-pop-over.d.ts +30 -0
- package/types/onemrvapublic-design-system-mat-progress-bar.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-select-search.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-selectable-box.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-side-menu.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-skeleton.d.ts +4 -7
- package/types/onemrvapublic-design-system-mat-spinner.d.ts +8 -0
- package/types/onemrvapublic-design-system-mat-stepper.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-sticker.d.ts +8 -0
- package/types/onemrvapublic-design-system-mat-table-of-content.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-task-list.d.ts +40 -0
- package/types/onemrvapublic-design-system-mat-toast.d.ts +8 -0
- package/types/onemrvapublic-design-system-mat-tooltip.d.ts +10 -0
- package/types/onemrvapublic-design-system-page-error.d.ts +18 -0
- package/types/onemrvapublic-design-system-page-not-found.d.ts +32 -0
- package/types/onemrvapublic-design-system-shared.d.ts +8 -0
- package/types/onemrvapublic-design-system.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-breadcrumb.mjs","sources":["../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.html","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/index.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/onemrvapublic-design-system-mat-breadcrumb.ts"],"sourcesContent":["import { DestroyRef, Injectable, Signal, inject, signal } from '@angular/core';\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\n\n@Injectable({ providedIn: 'root' })\nexport class OnemrvaMatBreadcrumbService {\n private readonly router = inject(Router);\n private readonly destroyRef = inject(DestroyRef);\n\n private readonly _breadcrumbs = signal<OnemrvaBreadcrumb[]>(\n this.buildFromSnapshot(),\n );\n\n /** Readonly signal for consumers (components/templates) */\n readonly breadcrumbs: Signal<OnemrvaBreadcrumb[]> =\n this._breadcrumbs.asReadonly();\n\n constructor() {\n // Keep it in sync after navigations\n this.router.events\n .pipe(\n filter((e): e is NavigationEnd => e instanceof NavigationEnd),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this._breadcrumbs.set(this.buildFromSnapshot());\n });\n }\n\n private buildFromSnapshot(): OnemrvaBreadcrumb[] {\n const root = this.router.routerState.snapshot.root;\n const breadcrumbs: OnemrvaBreadcrumb[] = [];\n this.addBreadcrumb(root, [], breadcrumbs);\n return breadcrumbs;\n }\n\n private addBreadcrumb(\n route: ActivatedRouteSnapshot | null,\n parentUrl: string[],\n breadcrumbs: OnemrvaBreadcrumb[],\n ): void {\n if (!route) return;\n\n const routeUrl = parentUrl.concat(route.url.map(u => u.path));\n\n const navigationTitle = route.data?.['navigationTitle'];\n if (navigationTitle) {\n const url = '/' + routeUrl.join('/');\n\n const breadcrumb: OnemrvaBreadcrumb = {\n label: navigationTitle,\n url,\n translate: !!route.data?.['translate'],\n };\n\n const last = breadcrumbs[breadcrumbs.length - 1];\n if (last && last.url === url)\n breadcrumbs[breadcrumbs.length - 1] = breadcrumb;\n else breadcrumbs.push(breadcrumb);\n }\n\n this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\n }\n}\n","import { Component, effect, inject, input, Signal } from '@angular/core';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\nimport { OnemrvaMatBreadcrumbService } from './onemrva-mat-breadcrumb.service';\nimport { RouterLink } from '@angular/router';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'onemrva-mat-breadcrumb',\n templateUrl: 'onemrva-mat-breadcrumb.component.html',\n styleUrls: ['onemrva-mat-breadcrumb.component.scss'],\n imports: [RouterLink, MatIcon, TranslatePipe],\n standalone: true,\n})\nexport class OnemrvaMatBreadcrumbComponent {\n public paths = input<OnemrvaBreadcrumb[]>([]);\n\n breadcrumbs!: Signal<OnemrvaBreadcrumb[]>;\n\n breadcrumbService = inject(OnemrvaMatBreadcrumbService);\n\n constructor() {\n effect(() => {\n if (this.paths() && this.paths().length > 0) {\n this.breadcrumbs = this.paths;\n } else {\n this.breadcrumbs = this.breadcrumbService.breadcrumbs;\n }\n });\n }\n}\n","@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport { OnemrvaMatBreadcrumbComponent } from './onemrva-mat-breadcrumb.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n OnemrvaMatBreadcrumbComponent,\n ],\n exports: [],\n})\nexport class OnemrvaMatBreadcrumbModule {}\n","/*\n * Public API Surface of mat-breadcrumb\n */\n\nexport * from './src/onemrva-mat-breadcrumb.component';\nexport * from './src/onemrva-mat-breadcrumb.module';\nexport * from './src/onemrva-mat-breadcrumb.model';\nexport * from './src/onemrva-mat-breadcrumb.service';\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-breadcrumb.mjs","sources":["../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.html","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/index.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/onemrvapublic-design-system-mat-breadcrumb.ts"],"sourcesContent":["import { DestroyRef, Injectable, Signal, inject, signal } from '@angular/core';\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\n\n@Injectable({ providedIn: 'root' })\nexport class OnemrvaMatBreadcrumbService {\n private readonly router = inject(Router);\n private readonly destroyRef = inject(DestroyRef);\n\n private readonly _breadcrumbs = signal<OnemrvaBreadcrumb[]>(\n this.buildFromSnapshot(),\n );\n\n /** Readonly signal for consumers (components/templates) */\n readonly breadcrumbs: Signal<OnemrvaBreadcrumb[]> =\n this._breadcrumbs.asReadonly();\n\n constructor() {\n // Keep it in sync after navigations\n this.router.events\n .pipe(\n filter((e): e is NavigationEnd => e instanceof NavigationEnd),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this._breadcrumbs.set(this.buildFromSnapshot());\n });\n }\n\n private buildFromSnapshot(): OnemrvaBreadcrumb[] {\n const root = this.router.routerState.snapshot.root;\n const breadcrumbs: OnemrvaBreadcrumb[] = [];\n this.addBreadcrumb(root, [], breadcrumbs);\n return breadcrumbs;\n }\n\n private addBreadcrumb(\n route: ActivatedRouteSnapshot | null,\n parentUrl: string[],\n breadcrumbs: OnemrvaBreadcrumb[],\n ): void {\n if (!route) return;\n\n const routeUrl = parentUrl.concat(route.url.map(u => u.path));\n\n const navigationTitle = route.data?.['navigationTitle'];\n if (navigationTitle) {\n const url = '/' + routeUrl.join('/');\n\n const breadcrumb: OnemrvaBreadcrumb = {\n label: navigationTitle,\n url,\n translate: !!route.data?.['translate'],\n };\n\n const last = breadcrumbs[breadcrumbs.length - 1];\n if (last && last.url === url)\n breadcrumbs[breadcrumbs.length - 1] = breadcrumb;\n else breadcrumbs.push(breadcrumb);\n }\n\n this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\n }\n}\n","import { Component, effect, inject, input, Signal } from '@angular/core';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\nimport { OnemrvaMatBreadcrumbService } from './onemrva-mat-breadcrumb.service';\nimport { RouterLink } from '@angular/router';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Breadcrumb trail showing the current navigation hierarchy.\n *\n * Exposes 1 input and 0 outputs.\n * Inputs: paths: OnemrvaBreadcrumb[].\n * Outputs: none.\n *\n * @MatKeywords breadcrumb, navigation, path, trail\n * @MatGroup Navigation\n */\n@Component({\n selector: 'onemrva-mat-breadcrumb',\n templateUrl: 'onemrva-mat-breadcrumb.component.html',\n styleUrls: ['onemrva-mat-breadcrumb.component.scss'],\n imports: [RouterLink, MatIcon, TranslatePipe],\n standalone: true,\n})\nexport class OnemrvaMatBreadcrumbComponent {\n public paths = input<OnemrvaBreadcrumb[]>([]);\n\n breadcrumbs!: Signal<OnemrvaBreadcrumb[]>;\n\n breadcrumbService = inject(OnemrvaMatBreadcrumbService);\n\n constructor() {\n effect(() => {\n if (this.paths() && this.paths().length > 0) {\n this.breadcrumbs = this.paths;\n } else {\n this.breadcrumbs = this.breadcrumbService.breadcrumbs;\n }\n });\n }\n}\n","@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport { OnemrvaMatBreadcrumbComponent } from './onemrva-mat-breadcrumb.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n OnemrvaMatBreadcrumbComponent,\n ],\n exports: [],\n})\nexport class OnemrvaMatBreadcrumbModule {}\n","/*\n * Public API Surface of mat-breadcrumb\n */\n\nexport * from './src/onemrva-mat-breadcrumb.component';\nexport * from './src/onemrva-mat-breadcrumb.module';\nexport * from './src/onemrva-mat-breadcrumb.model';\nexport * from './src/onemrva-mat-breadcrumb.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,14 @@ import { TranslatePipe } from '@ngx-translate/core';
|
|
|
9
9
|
import { Subject, interval, takeUntil } from 'rxjs';
|
|
10
10
|
import { MatTooltip } from '@angular/material/tooltip';
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Single slide inside an onemrva-mat-carousel.
|
|
14
|
+
*
|
|
15
|
+
* This component exposes no configurable inputs or outputs.
|
|
16
|
+
*
|
|
17
|
+
* @MatKeywords carousel, slide, item, media
|
|
18
|
+
* @MatGroup Media
|
|
19
|
+
*/
|
|
12
20
|
class OnemrvaMatCarouselItemComponent {
|
|
13
21
|
constructor() {
|
|
14
22
|
this.tpl = viewChild.required(TemplateRef);
|
|
@@ -27,6 +35,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
|
|
|
27
35
|
}, template: "<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n", styles: [":host{vertical-align:top;position:relative;display:inline-block;opacity:1;transition:opacity .5s ease-in-out}:host.semiTransparent{opacity:.3}\n"] }]
|
|
28
36
|
}], ctorParameters: () => [], propDecorators: { tpl: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
29
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Auto-advancing carousel with configurable navigation controls.
|
|
40
|
+
*
|
|
41
|
+
* Exposes 6 inputs and 0 outputs.
|
|
42
|
+
* Inputs: timing, gap, padding, showControls, autoplay, showDots.
|
|
43
|
+
* Outputs: none.
|
|
44
|
+
*
|
|
45
|
+
* @MatKeywords carousel, slider, slideshow, gallery, media
|
|
46
|
+
* @MatGroup Media
|
|
47
|
+
*/
|
|
30
48
|
class OnemrvaMatCarouselComponent {
|
|
31
49
|
constructor() {
|
|
32
50
|
this.items = contentChildren(OnemrvaMatCarouselItemComponent, /* @ts-ignore */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-carousel.mjs","sources":["../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.html","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.html","../../../../projects/onemrva/design-system/mat-carousel/onemrvapublic-design-system-mat-carousel.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n TemplateRef,\n inject,\n viewChild,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-mat-carousel-item',\n standalone: true,\n imports: [],\n templateUrl: './onemrva-mat-carousel-item.component.html',\n styleUrl: './onemrva-mat-carousel-item.component.scss',\n host: {\n '[class.show]': 'show()',\n },\n})\nexport class OnemrvaMatCarouselItemComponent {\n readonly tpl = viewChild.required(TemplateRef);\n\n public nativeElement: HTMLElement;\n\n readonly show = signal(false);\n\n element: ElementRef = inject(ElementRef);\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n}\n","<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n inject,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n input,\n contentChildren,\n viewChild,\n} from '@angular/core';\nimport { NgStyle } from '@angular/common';\nimport { OnemrvaMatCarouselItemComponent } from './mat-carousel-item/onemrva-mat-carousel-item.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { interval, Subject, takeUntil } from 'rxjs';\nimport { MatTooltip } from '@angular/material/tooltip';\n\n@Component({\n selector: 'onemrva-mat-carousel',\n standalone: true,\n imports: [MatButtonModule, MatIconModule, TranslatePipe, MatTooltip, NgStyle],\n templateUrl: './onemrva-mat-carousel.component.html',\n styleUrl: './onemrva-mat-carousel.component.scss',\n encapsulation: ViewEncapsulation.Emulated,\n host: {\n '(window:resize)': 'onResize($event)',\n },\n})\nexport class OnemrvaMatCarouselComponent\n implements AfterViewInit, OnInit, OnDestroy\n{\n readonly items = contentChildren(OnemrvaMatCarouselItemComponent);\n\n nativeElement: HTMLElement;\n\n readonly carousel = viewChild.required<ElementRef>('carouselWrapper');\n\n private player?: Animation;\n\n readonly timing = input('250ms ease-in');\n readonly gap = input(32);\n readonly padding = input(64);\n readonly showControls = input(true);\n readonly autoplay = input(0);\n readonly showDots = input(true);\n\n public currentSlide = 0;\n carouselWrapperStyle = {};\n\n width = 0;\n destroyed: Subject<any> = new Subject<any>();\n\n element: ElementRef = inject(ElementRef);\n renderer: Renderer2 = inject(Renderer2);\n\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n\n ngOnInit() {\n if (this.autoplay() > 0) {\n interval(this.autoplay())\n .pipe(takeUntil(this.destroyed))\n .subscribe(_i => {\n this.next();\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n\n onResize(_event: any) {\n this.width = this.nativeElement.offsetWidth - 2 * this.padding();\n this.items().forEach(item => {\n this.renderer.setStyle(item.nativeElement, 'width', `${this.width}px`);\n this.renderer.setStyle(\n item.nativeElement,\n 'margin-right',\n `${this.gap()}px`,\n );\n this.animate();\n });\n this.resize();\n }\n\n goto(index: number) {\n if (index >= 0 && index < this.items().length) {\n this.currentSlide = index;\n this.animate();\n this.opacify();\n }\n }\n\n next() {\n //if( this.currentSlide + 1 === this.items.length ) return;\n this.currentSlide = (this.currentSlide + 1) % this.items().length;\n this.currentSlide = isNaN(this.currentSlide) ? 1 : this.currentSlide;\n\n this.animate();\n this.opacify();\n }\n\n prev() {\n if (this.currentSlide === 0) return;\n this.currentSlide =\n (this.currentSlide - 1 + this.items().length) % this.items().length;\n this.animate();\n this.opacify();\n }\n\n animate() {\n const offset = this.currentSlide * (this.width + this.gap());\n const timingParts = this.timing().split(' ');\n const duration = timingParts[0];\n const easing = timingParts[1] || 'ease';\n\n const durationMs = duration.endsWith('ms')\n ? parseInt(duration)\n : parseFloat(duration) * 1000;\n\n // this.player = this.carousel().nativeElement.animate(\n // [{ transform: `translateX(-${offset}px)` }],\n // {\n // duration: durationMs,\n // easing: easing,\n // fill: 'forwards',\n // },\n // );\n }\n\n ngAfterViewInit() {\n this.width = this.nativeElement.offsetWidth;\n setTimeout(() => {\n this.onResize(null);\n }, 10);\n this.opacify();\n }\n\n hasPrev() {\n return (\n this.items().length > 0 && this.showControls() && this.currentSlide > 0\n );\n }\n\n hasNext() {\n return (\n this.items().length > 0 &&\n this.showControls() &&\n this.currentSlide < this.items().length - 1\n );\n }\n\n opacify() {\n this.items().forEach((item, index) => {\n if (index !== this.currentSlide) {\n item.nativeElement.className = 'semiTransparent';\n } else {\n item.nativeElement.className = '';\n }\n });\n }\n resize() {\n let biggest = 80;\n\n this.items().forEach(item => {\n item.nativeElement.style.height = 'auto';\n });\n this.items().forEach(item => {\n if (item.nativeElement.offsetHeight > biggest) {\n biggest = item.nativeElement.offsetHeight;\n }\n });\n this.items().forEach(item => {\n item.nativeElement.style.height = biggest + 'px';\n });\n }\n}\n","@if (hasPrev()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'carousel.next' | translate\"\n class=\"controls next\"\n >\n <mat-icon class=\"large\">chevron_right</mat-icon>\n </button>\n}\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content />\n</section>\n\n@if (showDots()) {\n <div class=\"dots\">\n @for (item of items(); track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\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-carousel.mjs","sources":["../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.html","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.html","../../../../projects/onemrva/design-system/mat-carousel/onemrvapublic-design-system-mat-carousel.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n TemplateRef,\n inject,\n viewChild,\n signal,\n} from '@angular/core';\n\n/**\n * Single slide inside an onemrva-mat-carousel.\n *\n * This component exposes no configurable inputs or outputs.\n *\n * @MatKeywords carousel, slide, item, media\n * @MatGroup Media\n */\n@Component({\n selector: 'onemrva-mat-carousel-item',\n standalone: true,\n imports: [],\n templateUrl: './onemrva-mat-carousel-item.component.html',\n styleUrl: './onemrva-mat-carousel-item.component.scss',\n host: {\n '[class.show]': 'show()',\n },\n})\nexport class OnemrvaMatCarouselItemComponent {\n readonly tpl = viewChild.required(TemplateRef);\n\n public nativeElement: HTMLElement;\n\n readonly show = signal(false);\n\n element: ElementRef = inject(ElementRef);\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n}\n","<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n inject,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n input,\n contentChildren,\n viewChild,\n} from '@angular/core';\nimport { NgStyle } from '@angular/common';\nimport { OnemrvaMatCarouselItemComponent } from './mat-carousel-item/onemrva-mat-carousel-item.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { interval, Subject, takeUntil } from 'rxjs';\nimport { MatTooltip } from '@angular/material/tooltip';\n\n/**\n * Auto-advancing carousel with configurable navigation controls.\n *\n * Exposes 6 inputs and 0 outputs.\n * Inputs: timing, gap, padding, showControls, autoplay, showDots.\n * Outputs: none.\n *\n * @MatKeywords carousel, slider, slideshow, gallery, media\n * @MatGroup Media\n */\n@Component({\n selector: 'onemrva-mat-carousel',\n standalone: true,\n imports: [MatButtonModule, MatIconModule, TranslatePipe, MatTooltip, NgStyle],\n templateUrl: './onemrva-mat-carousel.component.html',\n styleUrl: './onemrva-mat-carousel.component.scss',\n encapsulation: ViewEncapsulation.Emulated,\n host: {\n '(window:resize)': 'onResize($event)',\n },\n})\nexport class OnemrvaMatCarouselComponent\n implements AfterViewInit, OnInit, OnDestroy\n{\n readonly items = contentChildren(OnemrvaMatCarouselItemComponent);\n\n nativeElement: HTMLElement;\n\n readonly carousel = viewChild.required<ElementRef>('carouselWrapper');\n\n private player?: Animation;\n\n readonly timing = input('250ms ease-in');\n readonly gap = input(32);\n readonly padding = input(64);\n readonly showControls = input(true);\n readonly autoplay = input(0);\n readonly showDots = input(true);\n\n public currentSlide = 0;\n carouselWrapperStyle = {};\n\n width = 0;\n destroyed: Subject<any> = new Subject<any>();\n\n element: ElementRef = inject(ElementRef);\n renderer: Renderer2 = inject(Renderer2);\n\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n\n ngOnInit() {\n if (this.autoplay() > 0) {\n interval(this.autoplay())\n .pipe(takeUntil(this.destroyed))\n .subscribe(_i => {\n this.next();\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n\n onResize(_event: any) {\n this.width = this.nativeElement.offsetWidth - 2 * this.padding();\n this.items().forEach(item => {\n this.renderer.setStyle(item.nativeElement, 'width', `${this.width}px`);\n this.renderer.setStyle(\n item.nativeElement,\n 'margin-right',\n `${this.gap()}px`,\n );\n this.animate();\n });\n this.resize();\n }\n\n goto(index: number) {\n if (index >= 0 && index < this.items().length) {\n this.currentSlide = index;\n this.animate();\n this.opacify();\n }\n }\n\n next() {\n //if( this.currentSlide + 1 === this.items.length ) return;\n this.currentSlide = (this.currentSlide + 1) % this.items().length;\n this.currentSlide = isNaN(this.currentSlide) ? 1 : this.currentSlide;\n\n this.animate();\n this.opacify();\n }\n\n prev() {\n if (this.currentSlide === 0) return;\n this.currentSlide =\n (this.currentSlide - 1 + this.items().length) % this.items().length;\n this.animate();\n this.opacify();\n }\n\n animate() {\n const offset = this.currentSlide * (this.width + this.gap());\n const timingParts = this.timing().split(' ');\n const duration = timingParts[0];\n const easing = timingParts[1] || 'ease';\n\n const durationMs = duration.endsWith('ms')\n ? parseInt(duration)\n : parseFloat(duration) * 1000;\n\n // this.player = this.carousel().nativeElement.animate(\n // [{ transform: `translateX(-${offset}px)` }],\n // {\n // duration: durationMs,\n // easing: easing,\n // fill: 'forwards',\n // },\n // );\n }\n\n ngAfterViewInit() {\n this.width = this.nativeElement.offsetWidth;\n setTimeout(() => {\n this.onResize(null);\n }, 10);\n this.opacify();\n }\n\n hasPrev() {\n return (\n this.items().length > 0 && this.showControls() && this.currentSlide > 0\n );\n }\n\n hasNext() {\n return (\n this.items().length > 0 &&\n this.showControls() &&\n this.currentSlide < this.items().length - 1\n );\n }\n\n opacify() {\n this.items().forEach((item, index) => {\n if (index !== this.currentSlide) {\n item.nativeElement.className = 'semiTransparent';\n } else {\n item.nativeElement.className = '';\n }\n });\n }\n resize() {\n let biggest = 80;\n\n this.items().forEach(item => {\n item.nativeElement.style.height = 'auto';\n });\n this.items().forEach(item => {\n if (item.nativeElement.offsetHeight > biggest) {\n biggest = item.nativeElement.offsetHeight;\n }\n });\n this.items().forEach(item => {\n item.nativeElement.style.height = biggest + 'px';\n });\n }\n}\n","@if (hasPrev()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'carousel.next' | translate\"\n class=\"controls next\"\n >\n <mat-icon class=\"large\">chevron_right</mat-icon>\n </button>\n}\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content />\n</section>\n\n@if (showDots()) {\n <div class=\"dots\">\n @for (item of items(); track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,16 @@ import { input, signal, computed, forwardRef, ViewEncapsulation, Component } fro
|
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { MatCheckbox } from '@angular/material/checkbox';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Toggle chip implementing ControlValueAccessor for use in forms.
|
|
8
|
+
*
|
|
9
|
+
* Exposes 2 inputs and 0 outputs.
|
|
10
|
+
* Inputs: valueInput: boolean | null, disabledInput: boolean | null.
|
|
11
|
+
* Outputs: none.
|
|
12
|
+
*
|
|
13
|
+
* @MatKeywords choice-chip, chip, toggle, checkbox, select
|
|
14
|
+
* @MatGroup Forms
|
|
15
|
+
*/
|
|
6
16
|
class OnemrvaMatChoiceChipComponent {
|
|
7
17
|
constructor() {
|
|
8
18
|
// Optional external input (only if you want non-forms usage too)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-choice-chip.mjs","sources":["../../../../projects/onemrva/design-system/mat-choice-chip/src/onemrva-mat-choice-chip.component.ts","../../../../projects/onemrva/design-system/mat-choice-chip/src/onemrva-mat-choice-chip.component.html","../../../../projects/onemrva/design-system/mat-choice-chip/index.ts","../../../../projects/onemrva/design-system/mat-choice-chip/onemrvapublic-design-system-mat-choice-chip.ts"],"sourcesContent":["import {\n Component,\n forwardRef,\n ViewEncapsulation,\n signal,\n input,\n computed,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatCheckbox } from '@angular/material/checkbox';\n\n@Component({\n selector: 'onemrva-mat-choice-chip',\n templateUrl: 'onemrva-mat-choice-chip.component.html',\n styleUrls: ['onemrva-mat-choice-chip.component.scss'],\n standalone: true,\n imports: [MatCheckbox],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[style.opacity]': '_opacity()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnemrvaMatChoiceChipComponent),\n multi: true,\n },\n ],\n})\nexport class OnemrvaMatChoiceChipComponent implements ControlValueAccessor {\n // Optional external input (only if you want non-forms usage too)\n readonly valueInput = input<boolean | null>(null);\n readonly disabledInput = input<boolean | null>(null);\n\n // Writable internal state for CVA\n private readonly _value = signal(false);\n private readonly _disabled = signal(false);\n\n // What the template should bind to\n readonly value = () => this.valueInput() ?? this._value();\n readonly disabled = () => this.disabledInput() ?? this._disabled();\n\n readonly _opacity = computed(() => (this.disabled() ? 0.4 : 1));\n\n private onChange: (val: boolean) => void = () => {\n /* empty */\n };\n public onTouched: () => void = () => {\n /* empty */\n };\n\n writeValue(val: boolean): void {\n this._value.set(val);\n }\n\n registerOnChange(fn: (val: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n // Called from template\n onInputChange(checked: boolean) {\n this._value.set(checked);\n this.onChange(checked);\n this.onTouched();\n }\n}\n","<mat-checkbox\n class=\"onemrva-choice-chip\"\n [checked]=\"value()\"\n [disabled]=\"disabled()\"\n color=\"primary\"\n (change)=\"onInputChange($event.checked)\"\n (blur)=\"onTouched()\"\n>\n <ng-content />\n</mat-checkbox>\n","/*\n * Public API Surface of mat-sticker\n */\n\nexport * from './src/onemrva-mat-choice-chip.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-choice-chip.mjs","sources":["../../../../projects/onemrva/design-system/mat-choice-chip/src/onemrva-mat-choice-chip.component.ts","../../../../projects/onemrva/design-system/mat-choice-chip/src/onemrva-mat-choice-chip.component.html","../../../../projects/onemrva/design-system/mat-choice-chip/index.ts","../../../../projects/onemrva/design-system/mat-choice-chip/onemrvapublic-design-system-mat-choice-chip.ts"],"sourcesContent":["import {\n Component,\n forwardRef,\n ViewEncapsulation,\n signal,\n input,\n computed,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatCheckbox } from '@angular/material/checkbox';\n\n/**\n * Toggle chip implementing ControlValueAccessor for use in forms.\n *\n * Exposes 2 inputs and 0 outputs.\n * Inputs: valueInput: boolean | null, disabledInput: boolean | null.\n * Outputs: none.\n *\n * @MatKeywords choice-chip, chip, toggle, checkbox, select\n * @MatGroup Forms\n */\n@Component({\n selector: 'onemrva-mat-choice-chip',\n templateUrl: 'onemrva-mat-choice-chip.component.html',\n styleUrls: ['onemrva-mat-choice-chip.component.scss'],\n standalone: true,\n imports: [MatCheckbox],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[style.opacity]': '_opacity()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnemrvaMatChoiceChipComponent),\n multi: true,\n },\n ],\n})\nexport class OnemrvaMatChoiceChipComponent implements ControlValueAccessor {\n // Optional external input (only if you want non-forms usage too)\n readonly valueInput = input<boolean | null>(null);\n readonly disabledInput = input<boolean | null>(null);\n\n // Writable internal state for CVA\n private readonly _value = signal(false);\n private readonly _disabled = signal(false);\n\n // What the template should bind to\n readonly value = () => this.valueInput() ?? this._value();\n readonly disabled = () => this.disabledInput() ?? this._disabled();\n\n readonly _opacity = computed(() => (this.disabled() ? 0.4 : 1));\n\n private onChange: (val: boolean) => void = () => {\n /* empty */\n };\n public onTouched: () => void = () => {\n /* empty */\n };\n\n writeValue(val: boolean): void {\n this._value.set(val);\n }\n\n registerOnChange(fn: (val: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n // Called from template\n onInputChange(checked: boolean) {\n this._value.set(checked);\n this.onChange(checked);\n this.onTouched();\n }\n}\n","<mat-checkbox\n class=\"onemrva-choice-chip\"\n [checked]=\"value()\"\n [disabled]=\"disabled()\"\n color=\"primary\"\n (change)=\"onInputChange($event.checked)\"\n (blur)=\"onTouched()\"\n>\n <ng-content />\n</mat-checkbox>\n","/*\n * Public API Surface of mat-sticker\n */\n\nexport * from './src/onemrva-mat-choice-chip.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,16 @@ import { TranslateService } from '@ngx-translate/core';
|
|
|
7
7
|
import * as i2 from '@angular/material/tooltip';
|
|
8
8
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Button that copies a value or element text to the clipboard.
|
|
12
|
+
*
|
|
13
|
+
* Exposes 1 input and 4 outputs.
|
|
14
|
+
* Inputs: tooltip.
|
|
15
|
+
* Outputs: onCopy: void, onClick: Event, onHover: Event, onLeave: Event.
|
|
16
|
+
*
|
|
17
|
+
* @MatKeywords copy, clipboard, copy-to-clipboard, action
|
|
18
|
+
* @MatGroup Misc
|
|
19
|
+
*/
|
|
10
20
|
class OnemrvaCopyToClipboardComponent {
|
|
11
21
|
constructor() {
|
|
12
22
|
this.translate = inject(TranslateService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-copy-to-clipboard.mjs","sources":["../../../../projects/onemrva/design-system/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.ts","../../../../projects/onemrva/design-system/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.html","../../../../projects/onemrva/design-system/mat-copy-to-clipboard/onemrvapublic-design-system-mat-copy-to-clipboard.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n inject,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';\n\n@Component({\n selector: 'copy-to-clipboard',\n templateUrl: 'copy-to-clipboard.component.html',\n styleUrls: ['copy-to-clipboard.component.scss'],\n standalone: true,\n imports: [MatIconModule, MatTooltipModule],\n host: {\n '(click)': 'clicked($event)',\n '(mouseenter)': 'onMouseEnter($event)',\n '(mouseleave)': 'onMouseLeave($event)',\n },\n})\nexport class OnemrvaCopyToClipboardComponent {\n private translate = inject(TranslateService);\n private clipboard = inject(Clipboard);\n\n checked = false;\n\n readonly content = viewChild.required<ElementRef>('clipboardCopyContent');\n readonly matTooltip = viewChild.required<MatTooltip>('cccTooltip');\n\n readonly tooltip = input('');\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onCopy = output<void>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onClick = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onHover = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onLeave = output<Event>();\n\n clicked(e: MouseEvent) {\n this.onClick.emit(e);\n }\n\n onMouseEnter(e: MouseEvent) {\n this.onHover.emit(e);\n }\n\n onMouseLeave(e: Event) {\n this.onLeave.emit(e);\n }\n\n get getTooltipText() {\n const tooltip = this.tooltip();\n return tooltip\n ? this.translate.instant(tooltip)\n : this.translate.instant('copied.to.clipboard');\n }\n\n copy($event: any) {\n $event.stopPropagation();\n\n this.matTooltip().show();\n\n this.clipboard.copy(this.content().nativeElement.innerHTML);\n\n this.onCopy.emit(undefined);\n this.checked = true;\n\n setTimeout(() => {\n this.checked = false;\n this.matTooltip().hide();\n }, 2000);\n }\n}\n","<span class=\"onemrva-copy-to-clipboard-container\">\n <span #clipboardCopyContent>\n <ng-content />\n </span>\n @if (!checked) {\n <mat-icon class=\"small\" (click)=\"copy($event)\"> content_copy </mat-icon>\n }\n @if (checked) {\n <mat-icon class=\"small\" color=\"success\">check</mat-icon>\n }\n <span\n [matTooltip]=\"getTooltipText\"\n matTooltipPosition=\"above\"\n #cccTooltip=\"matTooltip\"\n ></span>\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-copy-to-clipboard.mjs","sources":["../../../../projects/onemrva/design-system/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.ts","../../../../projects/onemrva/design-system/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.html","../../../../projects/onemrva/design-system/mat-copy-to-clipboard/onemrvapublic-design-system-mat-copy-to-clipboard.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n inject,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';\n\n/**\n * Button that copies a value or element text to the clipboard.\n *\n * Exposes 1 input and 4 outputs.\n * Inputs: tooltip.\n * Outputs: onCopy: void, onClick: Event, onHover: Event, onLeave: Event.\n *\n * @MatKeywords copy, clipboard, copy-to-clipboard, action\n * @MatGroup Misc\n */\n@Component({\n selector: 'copy-to-clipboard',\n templateUrl: 'copy-to-clipboard.component.html',\n styleUrls: ['copy-to-clipboard.component.scss'],\n standalone: true,\n imports: [MatIconModule, MatTooltipModule],\n host: {\n '(click)': 'clicked($event)',\n '(mouseenter)': 'onMouseEnter($event)',\n '(mouseleave)': 'onMouseLeave($event)',\n },\n})\nexport class OnemrvaCopyToClipboardComponent {\n private translate = inject(TranslateService);\n private clipboard = inject(Clipboard);\n\n checked = false;\n\n readonly content = viewChild.required<ElementRef>('clipboardCopyContent');\n readonly matTooltip = viewChild.required<MatTooltip>('cccTooltip');\n\n readonly tooltip = input('');\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onCopy = output<void>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onClick = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onHover = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onLeave = output<Event>();\n\n clicked(e: MouseEvent) {\n this.onClick.emit(e);\n }\n\n onMouseEnter(e: MouseEvent) {\n this.onHover.emit(e);\n }\n\n onMouseLeave(e: Event) {\n this.onLeave.emit(e);\n }\n\n get getTooltipText() {\n const tooltip = this.tooltip();\n return tooltip\n ? this.translate.instant(tooltip)\n : this.translate.instant('copied.to.clipboard');\n }\n\n copy($event: any) {\n $event.stopPropagation();\n\n this.matTooltip().show();\n\n this.clipboard.copy(this.content().nativeElement.innerHTML);\n\n this.onCopy.emit(undefined);\n this.checked = true;\n\n setTimeout(() => {\n this.checked = false;\n this.matTooltip().hide();\n }, 2000);\n }\n}\n","<span class=\"onemrva-copy-to-clipboard-container\">\n <span #clipboardCopyContent>\n <ng-content />\n </span>\n @if (!checked) {\n <mat-icon class=\"small\" (click)=\"copy($event)\"> content_copy </mat-icon>\n }\n @if (checked) {\n <mat-icon class=\"small\" color=\"success\">check</mat-icon>\n }\n <span\n [matTooltip]=\"getTooltipText\"\n matTooltipPosition=\"above\"\n #cccTooltip=\"matTooltip\"\n ></span>\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, ViewEncapsulation, Component } from '@angular/core';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Single country option displaying flag and translated name.
|
|
6
|
+
*
|
|
7
|
+
* Exposes 2 inputs and 0 outputs.
|
|
8
|
+
* Inputs: countryCode: string | null, countryName: string | null | undefined.
|
|
9
|
+
* Outputs: none.
|
|
10
|
+
*
|
|
11
|
+
* @MatKeywords country, flag, option, select, list-item
|
|
12
|
+
* @MatGroup Forms
|
|
13
|
+
*/
|
|
4
14
|
class OnemrvaCountryItemComponent {
|
|
5
15
|
constructor() {
|
|
6
16
|
this.countryCode = input('xx', /* @ts-ignore */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-country-item.mjs","sources":["../../../../projects/onemrva/design-system/mat-country-item/src/onemrva-mat-country-item.component.ts","../../../../projects/onemrva/design-system/mat-country-item/src/onemrva-mat-country-item.component.html","../../../../projects/onemrva/design-system/mat-country-item/index.ts","../../../../projects/onemrva/design-system/mat-country-item/onemrvapublic-design-system-mat-country-item.ts"],"sourcesContent":["import { Component, ViewEncapsulation, input } from '@angular/core';\n\n@Component({\n selector: 'mat-country-item',\n styleUrls: ['./onemrva-mat-country-item.component.scss'],\n templateUrl: './onemrva-mat-country-item.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaCountryItemComponent {\n readonly countryCode = input<string | null>('xx');\n readonly countryName = input<string | null | undefined>('');\n}\n","<div class=\"onemrva-country-item\">\n <span class=\"description\">{{ countryName() }}</span>\n</div>\n","/*\n * Public API Surface of mat-country-item\n */\n\nexport * from './src/onemrva-mat-country-item.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-country-item.mjs","sources":["../../../../projects/onemrva/design-system/mat-country-item/src/onemrva-mat-country-item.component.ts","../../../../projects/onemrva/design-system/mat-country-item/src/onemrva-mat-country-item.component.html","../../../../projects/onemrva/design-system/mat-country-item/index.ts","../../../../projects/onemrva/design-system/mat-country-item/onemrvapublic-design-system-mat-country-item.ts"],"sourcesContent":["import { Component, ViewEncapsulation, input } from '@angular/core';\n\n/**\n * Single country option displaying flag and translated name.\n *\n * Exposes 2 inputs and 0 outputs.\n * Inputs: countryCode: string | null, countryName: string | null | undefined.\n * Outputs: none.\n *\n * @MatKeywords country, flag, option, select, list-item\n * @MatGroup Forms\n */\n@Component({\n selector: 'mat-country-item',\n styleUrls: ['./onemrva-mat-country-item.component.scss'],\n templateUrl: './onemrva-mat-country-item.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaCountryItemComponent {\n readonly countryCode = input<string | null>('xx');\n readonly countryName = input<string | null | undefined>('');\n}\n","<div class=\"onemrva-country-item\">\n <span class=\"description\">{{ countryName() }}</span>\n</div>\n","/*\n * Public API Surface of mat-country-item\n */\n\nexport * from './src/onemrva-mat-country-item.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA;;;;;;;;;AASG;MAQU,2BAA2B,CAAA;AAPxC,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgB,IAAI;wFAAC;QACxC,IAAA,CAAA,WAAW,GAAG,KAAK,CAA4B,EAAE;wFAAC;AAC5D,IAAA;8GAHY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,4WCnBxC,0GAGA,EAAA,MAAA,EAAA,CAAA,+LAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDgBa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAGhB,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0GAAA,EAAA,MAAA,EAAA,CAAA,+LAAA,CAAA,EAAA;;;AEjBvC;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -12,6 +12,14 @@ import { DateTime } from 'luxon';
|
|
|
12
12
|
|
|
13
13
|
const YEARS_PER_PAGE = 24;
|
|
14
14
|
let calendarHeaderId = 1;
|
|
15
|
+
/**
|
|
16
|
+
* Custom calendar header with month/year navigation for the DS datepicker.
|
|
17
|
+
*
|
|
18
|
+
* This component exposes no configurable inputs or outputs.
|
|
19
|
+
*
|
|
20
|
+
* @MatKeywords datepicker, calendar, date, header, navigation
|
|
21
|
+
* @MatGroup Forms
|
|
22
|
+
*/
|
|
15
23
|
class OnemrvaMatDatepickerHeaderComponent {
|
|
16
24
|
constructor() {
|
|
17
25
|
this._intl = inject(MatDatepickerIntl);
|
|
@@ -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 { Component, ChangeDetectionStrategy, inject } 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 { TranslatePipe } from '@ngx-translate/core';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { DateTime } from 'luxon';\n\nconst YEARS_PER_PAGE = 24;\nlet calendarHeaderId = 1;\n\n@Component({\n selector: 'onemrva-mat-datepicker-header',\n standalone: true,\n imports: [MatButtonModule, MatIconModule, TranslatePipe, MatTooltip],\n templateUrl: 'onemrva-mat-datepicker-header.component.html',\n styleUrl: 'onemrva-mat-datepicker-header.component.scss',\n providers: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnemrvaMatDatepickerHeaderComponent<D> {\n private _intl = inject(MatDatepickerIntl);\n calendar = inject<MatCalendar<D>>(MatCalendar);\n private _dateAdapter = inject<DateAdapter<D>>(DateAdapter, {\n optional: true,\n });\n private _dateFormats = inject<MatDateFormats>(MAT_DATE_FORMATS, {\n optional: true,\n });\n\n setToday() {\n if (this._dateAdapter?.constructor.name.includes('Luxon')) {\n (this.calendar as unknown as MatCalendar<DateTime>)._goToDateInView(\n DateTime.now(),\n 'month',\n );\n } else {\n (this.calendar as unknown as MatCalendar<Date>)._goToDateInView(\n new Date(),\n 'month',\n );\n }\n }\n\n /** The display text for the current calendar view. */\n get periodButtonText(): string {\n if (\n this.calendar.activeDate !== null &&\n this.calendar.currentView == 'month' &&\n this._dateAdapter &&\n this._dateFormats\n ) {\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' && this._dateAdapter) {\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 (\n this.calendar.currentView == 'month' &&\n this._dateFormats &&\n this._dateAdapter\n ) {\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' && this._dateAdapter) {\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) ==\n 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 />\n\n <button\n mat-icon-button\n type=\"button\"\n [disabled]=\"!previousEnabled()\"\n (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\"\n [matTooltip]=\"'Previous Month' | translate\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"setToday()\"\n [attr.aria-label]=\"'Today' | translate\"\n [matTooltip]=\"'Today' | translate\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n [disabled]=\"!nextEnabled()\"\n (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\"\n [matTooltip]=\"'Next Month' | translate\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\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":";;;;;;;;;;;;AAaA,MAAM,cAAc,GAAG,EAAE;AACzB,IAAI,gBAAgB,GAAG,CAAC;MAWX,mCAAmC,CAAA;AAThD,IAAA,WAAA,GAAA;AAUU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACzC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAiB,WAAW,CAAC;AACtC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAiB,WAAW,EAAE;AACzD,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC;AACM,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAiB,gBAAgB,EAAE;AAC9D,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC;AA+LM,QAAA,IAAA,CAAA,GAAG,GAAG,CAAA,oBAAA,EAAuB,gBAAgB,EAAE,EAAE;AAEzD,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,eAAe;AAClD,IAAA;IAhMC,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACxD,YAAA,IAAI,CAAC,QAA6C,CAAC,eAAe,CACjE,QAAQ,CAAC,GAAG,EAAE,EACd,OAAO,CACR;QACH;aAAO;YACJ,IAAI,CAAC,QAAyC,CAAC,eAAe,CAC7D,IAAI,IAAI,EAAE,EACV,OAAO,CACR;QACH;IACF;;AAGA,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,IACE,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI;AACjC,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO;AACpC,YAAA,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,YAAY,EACjB;YACA,OAAO,IAAI,CAAC;AACT,iBAAA,MAAM,CACL,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc;AAEzC,iBAAA,iBAAiB,EAAE;QACxB;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;AAC5D,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChE;AAEA,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACzE;;AAGA,IAAA,IAAI,uBAAuB,GAAA;AACzB,QAAA,IACE,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO;AACpC,YAAA,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,YAAY,EACjB;YACA,OAAO,IAAI,CAAC;AACT,iBAAA,MAAM,CACL,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc;AAEzC,iBAAA,iBAAiB,EAAE;QACxB;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;AAC5D,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChE;;;AAIA,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,CACpC,GAAG,IAAI,CAAC,0BAA0B,EAAE,CACrC;IACH;;AAGA,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI;AAClC,cAAE,IAAI,CAAC,KAAK,CAAC;AACb,cAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;IACvC;;AAGA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO;AACL,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;AAChC,YAAA,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;AAC9B,YAAA,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB;AAC5C,SAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC9B;;AAGA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO;AACL,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;AAChC,YAAA,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;AAC9B,YAAA,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB;AAC5C,SAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC9B;;IAGA,oBAAoB,GAAA;QAClB,IAAI,CAAC,QAAQ,CAAC,WAAW;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,GAAG,YAAY,GAAG,OAAO;IACjE;;IAGA,eAAe,GAAA;QACb,IAAI,CAAC,QAAQ,CAAC,UAAU;AACtB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI;AAC3B,kBAAE,IAAI,CAAC,YAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;AACnE,kBAAE,IAAI,CAAC,YAAa,CAAC,gBAAgB,CACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,CAC3D;IACT;;IAGA,WAAW,GAAA;QACT,IAAI,CAAC,QAAQ,CAAC,UAAU;AACtB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI;AAC3B,kBAAE,IAAI,CAAC,YAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;AAClE,kBAAE,IAAI,CAAC,YAAa,CAAC,gBAAgB,CACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,GAAG,CAAC,GAAG,cAAc,CACzD;IACT;;IAGA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC1B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,QACE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;AACtB,YAAA,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAEtE;;IAGA,WAAW,GAAA;AACT,QAAA,QACE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;AACtB,YAAA,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAEtE;;IAGQ,WAAW,CAAC,KAAQ,EAAE,KAAQ,EAAA;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,EAAE;YACxC,QACE,IAAI,CAAC,YAAa,CAAC,OAAO,CAAC,KAAK,CAAC;AAC/B,gBAAA,IAAI,CAAC,YAAa,CAAC,OAAO,CAAC,KAAK,CAAC;AACnC,gBAAA,IAAI,CAAC,YAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;QAE5E;QACA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,EAAE;AACvC,YAAA,QACE,IAAI,CAAC,YAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAa,CAAC,OAAO,CAAC,KAAK,CAAC;QAE1E;;QAEA,OAAO,mBAAmB,CACxB,IAAI,CAAC,YAAa,EAClB,KAAK,EACL,KAAK,EACL,IAAI,CAAC,QAAQ,CAAC,OAAO,EACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,CACtB;IACH;AAEA;;;;AAIG;IACK,0BAA0B,GAAA;;;;AAOhC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,YAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvE,MAAM,aAAa,GACjB,UAAU;YACV,eAAe,CACb,IAAI,CAAC,YAAa,EAClB,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,EACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,CACtB;AACH,QAAA,MAAM,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,CAAC;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAa,CAAC,WAAW,CACjD,IAAI,CAAC,YAAa,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CACnD;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAa,CAAC,WAAW,CACjD,IAAI,CAAC,YAAa,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CACnD;AAED,QAAA,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC;8GArMW,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,SAAA,EAHnC,EAAE,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBf,knDA4DA,EAAA,MAAA,EAAA,CAAA,qGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzCY,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAiB,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAzB,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAM5C,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAT/C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,cAC7B,IAAI,EAAA,OAAA,EACP,CAAC,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC,EAAA,SAAA,EAGzD,EAAE,EAAA,eAAA,EACI,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,knDAAA,EAAA,MAAA,EAAA,CAAA,qGAAA,CAAA,EAAA;;AA8MjD,SAAS,mBAAmB,CAC1B,WAA2B,EAC3B,KAAQ,EACR,KAAQ,EACR,OAAiB,EACjB,OAAiB,EAAA;IAEjB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;IACxC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;IACxC,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC;AACnE,IAAA,QACE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,YAAY,IAAI,cAAc,CAAC;AACnD,QAAA,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,YAAY,IAAI,cAAc,CAAC;AAEvD;AAEA;;;AAGG;AACH,SAAS,eAAe,CACtB,WAA2B,EAC3B,OAAiB,EACjB,OAAiB,EAAA;IAEjB,IAAI,YAAY,GAAG,CAAC;IACpB,IAAI,OAAO,EAAE;QACX,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;AAC5C,QAAA,YAAY,GAAG,OAAO,GAAG,cAAc,GAAG,CAAC;IAC7C;SAAO,IAAI,OAAO,EAAE;AAClB,QAAA,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7C;AACA,IAAA,OAAO,YAAY;AACrB;AAEA;;;;AAIG;AACH,SAAS,eAAe,CACtB,WAA2B,EAC3B,UAAa,EACb,OAAiB,EACjB,OAAiB,EAAA;IAEjB,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;AAClD,IAAA,OAAO,eAAe,CACpB,UAAU,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,EAC3D,cAAc,CACf;AACH;AAEA;AACA,SAAS,eAAe,CAAC,CAAS,EAAE,CAAS,EAAA;IAC3C,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B;;AE7RA;;AAEG;;ACFH;;AAEG;;;;"}
|
|
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 { Component, ChangeDetectionStrategy, inject } 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 { TranslatePipe } from '@ngx-translate/core';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { DateTime } from 'luxon';\n\nconst YEARS_PER_PAGE = 24;\nlet calendarHeaderId = 1;\n\n/**\n * Custom calendar header with month/year navigation for the DS datepicker.\n *\n * This component exposes no configurable inputs or outputs.\n *\n * @MatKeywords datepicker, calendar, date, header, navigation\n * @MatGroup Forms\n */\n@Component({\n selector: 'onemrva-mat-datepicker-header',\n standalone: true,\n imports: [MatButtonModule, MatIconModule, TranslatePipe, MatTooltip],\n templateUrl: 'onemrva-mat-datepicker-header.component.html',\n styleUrl: 'onemrva-mat-datepicker-header.component.scss',\n providers: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnemrvaMatDatepickerHeaderComponent<D> {\n private _intl = inject(MatDatepickerIntl);\n calendar = inject<MatCalendar<D>>(MatCalendar);\n private _dateAdapter = inject<DateAdapter<D>>(DateAdapter, {\n optional: true,\n });\n private _dateFormats = inject<MatDateFormats>(MAT_DATE_FORMATS, {\n optional: true,\n });\n\n setToday() {\n if (this._dateAdapter?.constructor.name.includes('Luxon')) {\n (this.calendar as unknown as MatCalendar<DateTime>)._goToDateInView(\n DateTime.now(),\n 'month',\n );\n } else {\n (this.calendar as unknown as MatCalendar<Date>)._goToDateInView(\n new Date(),\n 'month',\n );\n }\n }\n\n /** The display text for the current calendar view. */\n get periodButtonText(): string {\n if (\n this.calendar.activeDate !== null &&\n this.calendar.currentView == 'month' &&\n this._dateAdapter &&\n this._dateFormats\n ) {\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' && this._dateAdapter) {\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 (\n this.calendar.currentView == 'month' &&\n this._dateFormats &&\n this._dateAdapter\n ) {\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' && this._dateAdapter) {\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) ==\n 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 />\n\n <button\n mat-icon-button\n type=\"button\"\n [disabled]=\"!previousEnabled()\"\n (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\"\n [matTooltip]=\"'Previous Month' | translate\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"setToday()\"\n [attr.aria-label]=\"'Today' | translate\"\n [matTooltip]=\"'Today' | translate\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n [disabled]=\"!nextEnabled()\"\n (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\"\n [matTooltip]=\"'Next Month' | translate\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\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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"}
|
|
@@ -6,7 +6,14 @@ import { MatButton } from '@angular/material/button';
|
|
|
6
6
|
import { NgOptimizedImage } from '@angular/common';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
+
* Empty-state placeholder with illustration and optional action button.
|
|
9
10
|
*
|
|
11
|
+
* Exposes 3 inputs and 1 output.
|
|
12
|
+
* Inputs: buttonText: string | undefined, text: string, imageAlt: string.
|
|
13
|
+
* Outputs: clear: any.
|
|
14
|
+
*
|
|
15
|
+
* @MatKeywords empty, no-results, placeholder, empty-state, table
|
|
16
|
+
* @MatGroup Data
|
|
10
17
|
*/
|
|
11
18
|
class OnemrvaMatEmptyRowComponent {
|
|
12
19
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-empty-row.mjs","sources":["../../../../projects/onemrva/design-system/mat-empty-row/src/onemrva-mat-empty-row.component.ts","../../../../projects/onemrva/design-system/mat-empty-row/src/onemrva-mat-empty-row.component.html","../../../../projects/onemrva/design-system/mat-empty-row/onemrvapublic-design-system-mat-empty-row.ts"],"sourcesContent":["import {\n Component,\n ViewEncapsulation,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { OnemRvaCDNService } from '@onemrvapublic/design-system/shared';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatButton } from '@angular/material/button';\nimport { NgOptimizedImage } from '@angular/common';\n\n/**\n *\n */\n@Component({\n selector: 'onemrva-mat-empty-row',\n templateUrl: 'onemrva-mat-empty-row.component.html',\n styleUrls: ['onemrva-mat-empty-row.component.scss'],\n standalone: true,\n imports: [NgOptimizedImage, MatButton],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatEmptyRowComponent {\n private cdn = inject(OnemRvaCDNService);\n private translate = inject(TranslateService);\n\n noresultimg: string = this.cdn.getOri('wordless.svg');\n\n readonly buttonText = input<string | undefined>(\n this.translate.instant('Reset filters'),\n );\n\n readonly text = input<string>(\n this.translate.instant('Sorry, there is no results for this search.'),\n );\n\n readonly imageAlt = input<string>(this.translate.instant('Ori is wordless'));\n\n readonly clear = output<any>();\n}\n","<span class=\"img\">\n <img [ngSrc]=\"noresultimg\" alt=\"{{ imageAlt() }}\" fill priority />\n</span>\n<span class=\"text\">\n {{ text() }}\n <ng-content />\n</span>\n\n@if (buttonText()) {\n <button mat-stroked-button (click)=\"clear.emit(undefined)\">\n {{ buttonText() }}\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAYA
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-empty-row.mjs","sources":["../../../../projects/onemrva/design-system/mat-empty-row/src/onemrva-mat-empty-row.component.ts","../../../../projects/onemrva/design-system/mat-empty-row/src/onemrva-mat-empty-row.component.html","../../../../projects/onemrva/design-system/mat-empty-row/onemrvapublic-design-system-mat-empty-row.ts"],"sourcesContent":["import {\n Component,\n ViewEncapsulation,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { OnemRvaCDNService } from '@onemrvapublic/design-system/shared';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatButton } from '@angular/material/button';\nimport { NgOptimizedImage } from '@angular/common';\n\n/**\n * Empty-state placeholder with illustration and optional action button.\n *\n * Exposes 3 inputs and 1 output.\n * Inputs: buttonText: string | undefined, text: string, imageAlt: string.\n * Outputs: clear: any.\n *\n * @MatKeywords empty, no-results, placeholder, empty-state, table\n * @MatGroup Data\n */\n@Component({\n selector: 'onemrva-mat-empty-row',\n templateUrl: 'onemrva-mat-empty-row.component.html',\n styleUrls: ['onemrva-mat-empty-row.component.scss'],\n standalone: true,\n imports: [NgOptimizedImage, MatButton],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatEmptyRowComponent {\n private cdn = inject(OnemRvaCDNService);\n private translate = inject(TranslateService);\n\n noresultimg: string = this.cdn.getOri('wordless.svg');\n\n readonly buttonText = input<string | undefined>(\n this.translate.instant('Reset filters'),\n );\n\n readonly text = input<string>(\n this.translate.instant('Sorry, there is no results for this search.'),\n );\n\n readonly imageAlt = input<string>(this.translate.instant('Ori is wordless'));\n\n readonly clear = output<any>();\n}\n","<span class=\"img\">\n <img [ngSrc]=\"noresultimg\" alt=\"{{ imageAlt() }}\" fill priority />\n</span>\n<span class=\"text\">\n {{ text() }}\n <ng-content />\n</span>\n\n@if (buttonText()) {\n <button mat-stroked-button (click)=\"clear.emit(undefined)\">\n {{ buttonText() }}\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAYA;;;;;;;;;AASG;MASU,2BAA2B,CAAA;AARxC,IAAA,WAAA,GAAA;AASU,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAE5C,IAAA,CAAA,WAAW,GAAW,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;QAE5C,IAAA,CAAA,UAAU,GAAG,KAAK,CACzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;uFACxC;QAEQ,IAAA,CAAA,IAAI,GAAG,KAAK,CACnB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,6CAA6C,CAAC;iFACtE;QAEQ,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;qFAAC;QAEnE,IAAA,CAAA,KAAK,GAAG,MAAM,EAAO;AAC/B,IAAA;8GAjBY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BxC,8SAaA,EAAA,MAAA,EAAA,CAAA,+cAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDcY,gBAAgB,4PAAE,SAAS,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAG1B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;+BACE,uBAAuB,EAAA,UAAA,EAGrB,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAA,aAAA,EACvB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,8SAAA,EAAA,MAAA,EAAA,CAAA,+cAAA,CAAA,EAAA;;;AE5BvC;;AAEG;;;;"}
|
|
@@ -70,6 +70,16 @@ function convertToReferencedProgressFile(id, name, message = undefined, progress
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
let NEXT_ID$1 = 0;
|
|
73
|
+
/**
|
|
74
|
+
* Single file row showing upload progress, name, and actions.
|
|
75
|
+
*
|
|
76
|
+
* Exposes 8 inputs and 1 output.
|
|
77
|
+
* Inputs: id, dataCy: string, file (required): ReferencedProgressFile, actions: ActionConfig[], showProgress, displayDate, maxFileSize, disabled.
|
|
78
|
+
* Outputs: panelClick.
|
|
79
|
+
*
|
|
80
|
+
* @MatKeywords file, upload, progress, panel, attachment
|
|
81
|
+
* @MatGroup Forms
|
|
82
|
+
*/
|
|
73
83
|
class OnemrvaFilePanelComponent {
|
|
74
84
|
constructor() {
|
|
75
85
|
this.id = input(`onemrva-file-panel-${NEXT_ID$1++}`, /* @ts-ignore */
|
|
@@ -553,6 +563,16 @@ let NEXT_ID = 0;
|
|
|
553
563
|
// TODO: Remove files from upload list even in manual mode
|
|
554
564
|
// TODO: Error message customisable
|
|
555
565
|
// TODO: Multiple customisable error messages (custom validators)
|
|
566
|
+
/**
|
|
567
|
+
* Drag-and-drop file upload input with multi-file progress tracking.
|
|
568
|
+
*
|
|
569
|
+
* Exposes 10 inputs and 0 outputs.
|
|
570
|
+
* Inputs: accept: string[], maxFileSize, numberOfFiles, maxTotalFileSize, uploadOnDrop, initialFiles: ProgressFile[], errorMessage, hideExtensions: string[], dropFilesHereTextTranslationKey, dataCy.
|
|
571
|
+
* Outputs: none.
|
|
572
|
+
*
|
|
573
|
+
* @MatKeywords file-upload, upload, drag-drop, file, attachment
|
|
574
|
+
* @MatGroup Forms
|
|
575
|
+
*/
|
|
556
576
|
class OnemrvaMatFileUploadComponent {
|
|
557
577
|
constructor() {
|
|
558
578
|
this.accept = input([], /* @ts-ignore */
|