@onemrvapublic/design-system 20.11.3 → 21.0.0-develop.2
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 +5 -9
- package/fesm2022/onemrvapublic-design-system-flag-icon.mjs +14 -20
- package/fesm2022/onemrvapublic-design-system-flag-icon.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-layout.mjs +207 -290
- package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-address.mjs +19 -25
- package/fesm2022/onemrvapublic-design-system-mat-address.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs +58 -223
- package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs +47 -53
- package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +50 -71
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs +27 -29
- package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +24 -42
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs +8 -12
- package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +4 -4
- package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +10 -18
- package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +98 -173
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs +32 -52
- package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +10 -13
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +10 -13
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +24 -44
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +22 -40
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +26 -39
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +45 -180
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +38 -63
- package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs +40 -65
- package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +19 -59
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +23 -49
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +61 -101
- package/fesm2022/onemrvapublic-design-system-mat-panel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +30 -50
- package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +26 -38
- package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +66 -105
- package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs +23 -43
- package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +15 -26
- package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +62 -177
- package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs +17 -21
- package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +14 -22
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +8 -8
- package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +79 -93
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +59 -94
- package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs +178 -245
- package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-toast.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +33 -43
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-page-error.mjs +33 -39
- package/fesm2022/onemrvapublic-design-system-page-error.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +38 -42
- package/fesm2022/onemrvapublic-design-system-page-not-found.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-shared.mjs +188 -312
- package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-utils.mjs.map +1 -1
- package/mat-choice-chip/src/onemrva-mat-choice-chip.component.scss +13 -3
- package/mat-empty-row/src/onemrva-mat-empty-row.component.scss +2 -2
- package/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.scss +1 -1
- package/mat-input-phone/src/onemrva-mat-input-phone.component.scss +1 -1
- package/mat-panel/src/onemrva-mat-panel-content.scss +1 -1
- package/mat-skeleton/src/onemrva-mat-skeleton.component.scss +1 -1
- package/mat-table-of-content/src/onemrva-mat-table-of-content.component.scss +10 -2
- package/package.json +72 -62
- package/theme/index.scss +230 -0
- package/theme/overrides/_autocomplete.scss +9 -0
- package/theme/overrides/_button-toggle.scss +14 -0
- package/theme/overrides/_button.scss +140 -0
- package/theme/overrides/_card.scss +34 -0
- package/theme/overrides/_carousel.scss +13 -0
- package/theme/overrides/_checkbox.scss +49 -0
- package/theme/overrides/_chips.scss +42 -0
- package/theme/overrides/_datepicker.scss +10 -0
- package/theme/overrides/_dialogs.scss +118 -0
- package/theme/overrides/_divider.scss +9 -0
- package/theme/overrides/_drag-and-drop.scss +74 -0
- package/theme/overrides/_expansion.scss +51 -0
- package/theme/overrides/_fab.scss +45 -0
- package/theme/overrides/_form-field.scss +223 -0
- package/theme/overrides/_icon-button.scss +24 -0
- package/theme/overrides/_icon.scss +97 -0
- package/theme/overrides/_input.scss +18 -0
- package/theme/overrides/_layout.scss +35 -0
- package/theme/overrides/_menu.scss +45 -0
- package/theme/overrides/_option.scss +15 -0
- package/theme/overrides/_panel.scss +59 -0
- package/theme/overrides/_progress-bar.scss +29 -0
- package/theme/overrides/_radio.scss +16 -0
- package/theme/overrides/_select.scss +124 -0
- package/theme/overrides/_sidenav.scss +13 -0
- package/theme/overrides/_slide-toggle.scss +53 -0
- package/theme/overrides/_stepper.scss +196 -0
- package/theme/overrides/_stickers.scss +13 -0
- package/theme/overrides/_table.scss +115 -0
- package/theme/overrides/_tabs.scss +20 -0
- package/theme/overrides/_toast.scss +16 -0
- package/theme/overrides/_toc.scss +26 -0
- package/theme/overrides/_toolbar.scss +26 -0
- package/theme/overrides/_tooltip.scss +19 -0
- package/theme/palettes/_palette.scss +189 -0
- package/theme/utilities/_animations.scss +54 -0
- package/theme/utilities/_container.scss +14 -0
- package/theme/utilities/_fonts.scss +170 -0
- package/theme/utilities/_grid.scss +75 -0
- package/theme/utilities/_media.scss +33 -0
- package/theme/utilities/_palettes.scss +120 -0
- package/theme/utilities/_spacing.scss +86 -0
- package/theme/utilities/_tokens.scss +123 -0
- package/theme/utilities/_utilities.scss +351 -0
- package/theme/utilities/_variables.scss +42 -0
- package/types/onemrvapublic-design-system-flag-icon.d.ts +18 -0
- package/types/onemrvapublic-design-system-layout.d.ts +305 -0
- package/{mat-address/index.d.ts → types/onemrvapublic-design-system-mat-address.d.ts} +8 -8
- package/types/onemrvapublic-design-system-mat-avatar.d.ts +67 -0
- package/{mat-breadcrumb/index.d.ts → types/onemrvapublic-design-system-mat-breadcrumb.d.ts} +8 -6
- package/types/onemrvapublic-design-system-mat-carousel.d.ts +52 -0
- package/types/onemrvapublic-design-system-mat-choice-chip.d.ts +23 -0
- package/types/onemrvapublic-design-system-mat-copy-to-clipboard.d.ts +25 -0
- package/types/onemrvapublic-design-system-mat-country-item.d.ts +10 -0
- package/types/onemrvapublic-design-system-mat-empty-row.d.ts +18 -0
- package/{mat-file-upload/index.d.ts → types/onemrvapublic-design-system-mat-file-upload.d.ts} +53 -51
- package/types/onemrvapublic-design-system-mat-input-address.d.ts +32 -0
- package/{mat-input-birthplace/index.d.ts → types/onemrvapublic-design-system-mat-input-birthplace.d.ts} +10 -10
- package/{mat-input-country/index.d.ts → types/onemrvapublic-design-system-mat-input-country.d.ts} +2 -2
- package/types/onemrvapublic-design-system-mat-input-enterprise-number.d.ts +37 -0
- package/{mat-input-iban/index.d.ts → types/onemrvapublic-design-system-mat-input-iban.d.ts} +12 -13
- package/{mat-input-phone/index.d.ts → types/onemrvapublic-design-system-mat-input-phone.d.ts} +12 -12
- package/types/onemrvapublic-design-system-mat-message-box.d.ts +29 -0
- package/types/onemrvapublic-design-system-mat-multi-select.d.ts +57 -0
- package/types/onemrvapublic-design-system-mat-navigation.d.ts +55 -0
- package/types/onemrvapublic-design-system-mat-notification.d.ts +23 -0
- package/types/onemrvapublic-design-system-mat-paginator.d.ts +58 -0
- package/types/onemrvapublic-design-system-mat-panel.d.ts +66 -0
- package/types/onemrvapublic-design-system-mat-pop-over.d.ts +40 -0
- package/types/onemrvapublic-design-system-mat-progress-bar.d.ts +16 -0
- package/{mat-select-search/index.d.ts → types/onemrvapublic-design-system-mat-select-search.d.ts} +35 -35
- package/types/onemrvapublic-design-system-mat-selectable-box.d.ts +26 -0
- package/{mat-side-menu/index.d.ts → types/onemrvapublic-design-system-mat-side-menu.d.ts} +6 -6
- package/types/onemrvapublic-design-system-mat-skeleton.d.ts +82 -0
- package/{mat-spinner/index.d.ts → types/onemrvapublic-design-system-mat-spinner.d.ts} +3 -4
- package/{mat-stepper/index.d.ts → types/onemrvapublic-design-system-mat-stepper.d.ts} +3 -6
- package/types/onemrvapublic-design-system-mat-table-of-content.d.ts +85 -0
- package/types/onemrvapublic-design-system-mat-task-list.d.ts +56 -0
- package/{mat-timepicker/index.d.ts → types/onemrvapublic-design-system-mat-timepicker.d.ts} +50 -66
- package/types/onemrvapublic-design-system-mat-tooltip.d.ts +40 -0
- package/types/onemrvapublic-design-system-page-error.d.ts +29 -0
- package/{page-not-found/index.d.ts → types/onemrvapublic-design-system-page-not-found.d.ts} +6 -6
- package/{shared/index.d.ts → types/onemrvapublic-design-system-shared.d.ts} +47 -71
- package/flag-icon/index.d.ts +0 -18
- package/layout/index.d.ts +0 -295
- package/mat-avatar/index.d.ts +0 -187
- package/mat-carousel/index.d.ts +0 -52
- package/mat-choice-chip/index.d.ts +0 -21
- package/mat-copy-to-clipboard/index.d.ts +0 -25
- package/mat-country-item/index.d.ts +0 -10
- package/mat-empty-row/index.d.ts +0 -19
- package/mat-input-address/index.d.ts +0 -32
- package/mat-input-enterprise-number/index.d.ts +0 -37
- package/mat-message-box/index.d.ts +0 -101
- package/mat-multi-select/index.d.ts +0 -57
- package/mat-navigation/index.d.ts +0 -54
- package/mat-notification/index.d.ts +0 -43
- package/mat-paginator/index.d.ts +0 -58
- package/mat-panel/index.d.ts +0 -66
- package/mat-pop-over/index.d.ts +0 -40
- package/mat-progress-bar/index.d.ts +0 -18
- package/mat-selectable-box/index.d.ts +0 -29
- package/mat-skeleton/index.d.ts +0 -100
- package/mat-table-of-content/index.d.ts +0 -84
- package/mat-task-list/index.d.ts +0 -57
- package/mat-tooltip/index.d.ts +0 -40
- package/page-error/index.d.ts +0 -34
- /package/{mat-datepicker-header/index.d.ts → types/onemrvapublic-design-system-mat-datepicker-header.d.ts} +0 -0
- /package/{mat-sticker/index.d.ts → types/onemrvapublic-design-system-mat-sticker.d.ts} +0 -0
- /package/{mat-toast/index.d.ts → types/onemrvapublic-design-system-mat-toast.d.ts} +0 -0
- /package/{utils/index.d.ts → types/onemrvapublic-design-system-utils.d.ts} +0 -0
- /package/{index.d.ts → types/onemrvapublic-design-system.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-navigation.mjs","sources":["../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-item/onemrva-mat-navigation-item.component.ts","../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-item/onemrva-mat-navigation-item.component.html","../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-tree/onemrva-mat-navigation-tree.component.ts","../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-tree/onemrva-mat-navigation-tree.component.html","../../../../projects/onemrva/design-system/mat-navigation/src/onemrva-mat-navigation.component.ts","../../../../projects/onemrva/design-system/mat-navigation/src/onemrva-mat-navigation.component.html","../../../../projects/onemrva/design-system/mat-navigation/index.ts","../../../../projects/onemrva/design-system/mat-navigation/onemrvapublic-design-system-mat-navigation.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n effect,\n HostBinding,\n inject,\n Input,\n OnInit,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatExpansionPanel } from '@angular/material/expansion';\nimport { NgClass } from '@angular/common';\nimport { NavItem } from './onemrva-nav-item';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'onemrva-mat-navigation-item',\n templateUrl: 'onemrva-mat-navigation-item.component.html',\n styleUrl: 'onemrva-mat-navigation-item.component.scss',\n imports: [\n MatIcon,\n RouterLinkActive,\n RouterLink,\n MatExpansionPanel,\n NgClass,\n TranslatePipe,\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnemrvaMatNavigationItemComponent implements AfterViewInit {\n @Input()\n public routerLink: string | undefined;\n @Input()\n public routerLinkActiveOptions?: any;\n @Input()\n public dataCy?: string;\n @Input()\n public baseRouteForActiveMenu?: string;\n @Input()\n public label = '';\n @Input()\n public icon?: string;\n @Input() level = 0;\n @Input() highlighted: boolean | undefined;\n @Input() opened: boolean | undefined;\n @Input() children: NavItem[] | undefined;\n @Input() customNgClass: any;\n @Input() translate = true;\n\n @ViewChild(MatExpansionPanel) matExpansionPanel?: MatExpansionPanel;\n\n isExpanded = false;\n\n @HostBinding('class.highlighted')\n get isHighlighted() {\n return this.highlighted;\n }\n @HostBinding('class.highlighted2')\n get isHighlighted2() {\n return !this.highlighted && this.isExpanded;\n }\n\n get indentArray(): number[] {\n return Array(this.level).fill(0);\n }\n\n cd = inject(ChangeDetectorRef);\n\n ngAfterViewInit(): void {\n this.matExpansionPanel?.afterCollapse.subscribe(() => {\n this.highlighted = false;\n this.isExpanded = false;\n this.cd.markForCheck();\n });\n this.matExpansionPanel?.afterExpand.subscribe(() => {\n this.isExpanded = true;\n this.cd.markForCheck();\n });\n }\n}\n","@if (routerLink) {\n <button\n [routerLink]=\"routerLink\"\n [attr.data-cy]=\"dataCy\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n >\n @for (indent of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n @if (icon) {\n <mat-icon>{{ icon }}</mat-icon>\n }\n @if (translate && label.trim() !== '') {\n <span [innerHTML]=\"label | translate\"></span>\n } @else {\n <span [innerHTML]=\"label\"></span>\n }\n </button>\n} @else {\n <button\n [ngClass]=\"{ 'mobile-menu-item': true, highlighted: highlighted === true }\"\n [attr.data-cy]=\"dataCy\"\n (click)=\"subMenu.toggle()\"\n >\n @for (indent of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n\n @if (icon) {\n <mat-icon>{{ icon }}</mat-icon>\n }\n\n @if (translate && label.trim() !== '') {\n <span [innerHTML]=\"label | translate\"></span>\n } @else {\n <span [innerHTML]=\"label\"></span>\n }\n\n <mat-icon [ngClass]=\"{ end: true, opened: subMenu.expanded }\"\n >arrow_drop_down</mat-icon\n >\n </button>\n <mat-expansion-panel #subMenu [expanded]=\"opened\">\n <ng-content></ng-content>\n </mat-expansion-panel>\n}\n","import { Component, input } from '@angular/core';\nimport { OnemrvaMatNavigationItemComponent } from '../mat-navigation-item/onemrva-mat-navigation-item.component';\nimport { NavItem } from '../mat-navigation-item/onemrva-nav-item';\n\n@Component({\n selector: 'onemrva-mat-navigation-tree',\n templateUrl: 'onemrva-mat-navigation-tree.component.html',\n styleUrl: 'onemrva-mat-navigation-tree.component.scss',\n imports: [OnemrvaMatNavigationItemComponent],\n standalone: true,\n})\nexport class OnemrvaMatNavigationTreeComponent {\n items = input<NavItem[]>([]);\n level = input<number>(0);\n translate = input<boolean>(true);\n}\n","@for (item of items(); track item) {\n <onemrva-mat-navigation-item\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [routerLink]=\"item.routerLink\"\n [level]=\"level()\"\n [dataCy]=\"item.dataCy\"\n [highlighted]=\"item.highlighted\"\n [children]=\"item.children\"\n [opened]=\"item.opened\"\n [translate]=\"translate()\"\n >\n @if (item.children?.length) {\n <onemrva-mat-navigation-tree\n [items]=\"item.children ?? []\"\n [level]=\"level() + 1\"\n ></onemrva-mat-navigation-tree>\n }\n </onemrva-mat-navigation-item>\n}\n","import { Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { NavItem } from './mat-navigation-item/onemrva-nav-item';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { OnemrvaMatNavigationTreeComponent } from './mat-navigation-tree/onemrva-mat-navigation-tree.component';\n\n@Component({\n selector: 'onemrva-mat-navigation',\n templateUrl: 'onemrva-mat-navigation.component.html',\n styleUrl: 'onemrva-mat-navigation.component.scss',\n imports: [OnemrvaMatNavigationTreeComponent],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n})\nexport class OnemrvaMatNavigationComponent {\n items = input<NavItem[]>([]);\n level = input<number>(0);\n translate = input<boolean>(true);\n router: Router = inject(Router);\n\n constructor() {\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.updateNavigationState(this.items(), event.urlAfterRedirects);\n });\n }\n\n private updateNavigationState(items: NavItem[], url: string): void {\n // First, reset all states\n this.resetNavigationStates(items);\n\n // Find the active item and build the path to it\n const activePath = this.findActiveItemPath(items, url, []);\n\n if (activePath.length > 0) {\n // Set the highest parent (first item in path - level 0) as highlighted\n if (activePath.length > 0) {\n activePath[0].highlighted = true;\n }\n\n // Set opened to true for all parents to expand the path to the active item\n for (let i = 0; i < activePath.length - 1; i++) {\n activePath[i].opened = true;\n }\n }\n }\n\n private resetNavigationStates(items: NavItem[]): void {\n for (const item of items) {\n item.highlighted = false;\n item.opened = false;\n if (item.children) {\n this.resetNavigationStates(item.children);\n }\n }\n }\n\n private findActiveItemPath(\n items: NavItem[],\n url: string,\n currentPath: NavItem[],\n ): NavItem[] {\n for (const item of items) {\n const newPath = [...currentPath, item];\n\n if (item.routerLink && item.routerLink === url) {\n return newPath;\n }\n\n if (item.children) {\n const childPath = this.findActiveItemPath(item.children, url, newPath);\n if (childPath.length > 0) {\n return childPath;\n }\n }\n }\n\n return [];\n }\n}\n","<onemrva-mat-navigation-tree\n [items]=\"items()\"\n [level]=\"level() + 1\"\n></onemrva-mat-navigation-tree>\n","/*\n * Public API Surface of mat-sticker\n */\n\nexport * from './src/onemrva-mat-navigation.component';\nexport * from './src/mat-navigation-item/onemrva-nav-item';\nexport * from './src/mat-navigation-item/onemrva-mat-navigation-item.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAoCa,iCAAiC,CAAA;AAf9C,IAAA,WAAA,GAAA;QAyBS,IAAA,CAAA,KAAK,GAAG,EAAE;QAGR,IAAA,CAAA,KAAK,GAAG,CAAC;QAKT,IAAA,CAAA,SAAS,GAAG,IAAI;QAIzB,IAAA,CAAA,UAAU,GAAG,KAAK;AAelB,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAa/B,IAAA;AA1BC,IAAA,IACI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,WAAW;IACzB;AACA,IAAA,IACI,cAAc,GAAA;QAChB,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU;IAC7C;AAEA,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC;IAIA,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAK;AACnD,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AACxB,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,SAAS,CAAC,MAAK;AACjD,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AACxB,QAAA,CAAC,CAAC;IACJ;+GAjDW,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAoBjC,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxD9B,myCAgDA,uxCDtBI,OAAO,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,EACP,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACV,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,OAAO,+EACP,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAKJ,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAf7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAAA,OAAA,EAG9B;wBACP,OAAO;wBACP,gBAAgB;wBAChB,UAAU;wBACV,iBAAiB;wBACjB,OAAO;wBACP,aAAa;AACd,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,myCAAA,EAAA,MAAA,EAAA,CAAA,+tCAAA,CAAA,EAAA;;sBAG9C;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA,SAAS;uBAAC,iBAAiB;;sBAI3B,WAAW;uBAAC,mBAAmB;;sBAI/B,WAAW;uBAAC,oBAAoB;;;MErDtB,iCAAiC,CAAA;AAP9C,IAAA,WAAA,GAAA;AAQE,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAY,EAAE,iDAAC;AAC5B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,CAAC,iDAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAU,IAAI,qDAAC;AACjC,IAAA;+GAJY,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX9C,6kBAoBA,EAAA,MAAA,EAAA,CAAA,wDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDTa,iCAAiC,iHAHlC,iCAAiC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGhC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAP7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAAA,OAAA,EAG9B,CAAC,iCAAiC,CAAC,cAChC,IAAI,EAAA,QAAA,EAAA,6kBAAA,EAAA,MAAA,EAAA,CAAA,wDAAA,CAAA,EAAA;;;MEKL,6BAA6B,CAAA;AAMxC,IAAA,WAAA,GAAA;AALA,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAY,EAAE,iDAAC;AAC5B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,CAAC,iDAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAU,IAAI,qDAAC;AAChC,QAAA,IAAA,CAAA,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC;QAG7B,IAAI,CAAC,MAAM,CAAC;aACT,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,YAAY,aAAa,CAAC;AACpD,aAAA,SAAS,CAAC,CAAC,KAAoB,KAAI;AAClC,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,iBAAiB,CAAC;AACnE,QAAA,CAAC,CAAC;IACN;IAEQ,qBAAqB,CAAC,KAAgB,EAAE,GAAW,EAAA;;AAEzD,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;;AAGjC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;AAE1D,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;;AAEzB,YAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,gBAAA,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI;YAClC;;AAGA,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9C,gBAAA,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI;YAC7B;QACF;IACF;AAEQ,IAAA,qBAAqB,CAAC,KAAgB,EAAA;AAC5C,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3C;QACF;IACF;AAEQ,IAAA,kBAAkB,CACxB,KAAgB,EAChB,GAAW,EACX,WAAsB,EAAA;AAEtB,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC;YAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;AAC9C,gBAAA,OAAO,OAAO;YAChB;AAEA,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;AACtE,gBAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,oBAAA,OAAO,SAAS;gBAClB;YACF;QACF;AAEA,QAAA,OAAO,EAAE;IACX;+GAjEW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd1C,mHAIA,EAAA,MAAA,EAAA,CAAA,88BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDMY,iCAAiC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAIhC,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBARzC,SAAS;+BACE,wBAAwB,EAAA,OAAA,EAGzB,CAAC,iCAAiC,CAAC,iBAC7B,iBAAiB,CAAC,IAAI,EAAA,UAAA,EACzB,IAAI,EAAA,QAAA,EAAA,mHAAA,EAAA,MAAA,EAAA,CAAA,88BAAA,CAAA,EAAA;;;AEZlB;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-navigation.mjs","sources":["../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-item/onemrva-mat-navigation-item.component.ts","../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-item/onemrva-mat-navigation-item.component.html","../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-tree/onemrva-mat-navigation-tree.component.ts","../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-tree/onemrva-mat-navigation-tree.component.html","../../../../projects/onemrva/design-system/mat-navigation/src/onemrva-mat-navigation.component.ts","../../../../projects/onemrva/design-system/mat-navigation/src/onemrva-mat-navigation.component.html","../../../../projects/onemrva/design-system/mat-navigation/index.ts","../../../../projects/onemrva/design-system/mat-navigation/onemrvapublic-design-system-mat-navigation.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n input,\n viewChild,\n signal,\n computed,\n} from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatExpansionPanel } from '@angular/material/expansion';\n\nimport { NavItem } from './onemrva-nav-item';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'onemrva-mat-navigation-item',\n templateUrl: 'onemrva-mat-navigation-item.component.html',\n styleUrl: 'onemrva-mat-navigation-item.component.scss',\n imports: [\n MatIcon,\n RouterLinkActive,\n RouterLink,\n MatExpansionPanel,\n TranslatePipe,\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.highlighted]': '_isHighlighted()',\n '[class.highlighted2]': '_isHighlighted2()',\n },\n})\nexport class OnemrvaMatNavigationItemComponent implements AfterViewInit {\n public readonly routerLink = input<string>();\n public readonly routerLinkActiveOptions = input<any>();\n public readonly dataCy = input<string>();\n public readonly baseRouteForActiveMenu = input<string>();\n public readonly label = input('');\n public readonly icon = input<string>();\n readonly level = input(0);\n readonly highlighted = input<boolean>();\n readonly opened = input<boolean>();\n readonly children = input<NavItem[]>();\n readonly customNgClass = input<any>();\n readonly translate = input(true);\n\n _highlighted = this.highlighted();\n\n readonly matExpansionPanel = viewChild(MatExpansionPanel);\n\n readonly _isExpanded = signal(false);\n\n readonly _isHighlighted = computed(() => this.highlighted());\n readonly _isHighlighted2 = computed(\n () => !this.highlighted() && this._isExpanded(),\n );\n\n get indentArray(): number[] {\n return Array(this.level()).fill(0);\n }\n\n cd = inject(ChangeDetectorRef);\n\n ngAfterViewInit(): void {\n this.matExpansionPanel()?.afterCollapse.subscribe(() => {\n this._highlighted = false;\n this._isExpanded.set(false);\n this.cd.markForCheck();\n });\n this.matExpansionPanel()?.afterExpand.subscribe(() => {\n this._isExpanded.set(true);\n this.cd.markForCheck();\n });\n }\n}\n","@if (routerLink()) {\n <button\n [routerLink]=\"routerLink()\"\n [attr.data-cy]=\"dataCy()\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n >\n @for (_ of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n @if (icon()) {\n <mat-icon>{{ icon() }}</mat-icon>\n }\n @if (translate() && label().trim() !== '') {\n <span [innerHTML]=\"label() | translate\"></span>\n } @else {\n <span [innerHTML]=\"label()\"></span>\n }\n </button>\n} @else {\n <button\n [class]=\"{ 'mobile-menu-item': true, highlighted: highlighted() === true }\"\n [attr.data-cy]=\"dataCy()\"\n (click)=\"subMenu.toggle()\"\n >\n @for (_ of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n\n @if (icon()) {\n <mat-icon>{{ icon() }}</mat-icon>\n }\n\n @if (translate() && label().trim() !== '') {\n <span [innerHTML]=\"label() | translate\"></span>\n } @else {\n <span [innerHTML]=\"label()\"></span>\n }\n\n <mat-icon [class]=\"{ end: true, opened: subMenu.expanded }\"\n >arrow_drop_down</mat-icon\n >\n </button>\n <mat-expansion-panel #subMenu [expanded]=\"opened()\">\n <ng-content />\n </mat-expansion-panel>\n}\n","import { Component, input } from '@angular/core';\nimport { OnemrvaMatNavigationItemComponent } from '../mat-navigation-item/onemrva-mat-navigation-item.component';\nimport { NavItem } from '../mat-navigation-item/onemrva-nav-item';\n\n@Component({\n selector: 'onemrva-mat-navigation-tree',\n templateUrl: 'onemrva-mat-navigation-tree.component.html',\n styleUrl: 'onemrva-mat-navigation-tree.component.scss',\n imports: [OnemrvaMatNavigationItemComponent],\n standalone: true,\n})\nexport class OnemrvaMatNavigationTreeComponent {\n items = input<NavItem[]>([]);\n level = input<number>(0);\n translate = input<boolean>(true);\n}\n","@for (item of items(); track item) {\n <onemrva-mat-navigation-item\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [routerLink]=\"item.routerLink\"\n [level]=\"level()\"\n [dataCy]=\"item.dataCy\"\n [highlighted]=\"item.highlighted\"\n [children]=\"item.children\"\n [opened]=\"item.opened\"\n [translate]=\"translate()\"\n >\n @if (item.children?.length) {\n <onemrva-mat-navigation-tree\n [items]=\"item.children ?? []\"\n [level]=\"level() + 1\"\n />\n }\n </onemrva-mat-navigation-item>\n}\n","import { Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { NavItem } from './mat-navigation-item/onemrva-nav-item';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { OnemrvaMatNavigationTreeComponent } from './mat-navigation-tree/onemrva-mat-navigation-tree.component';\n\n@Component({\n selector: 'onemrva-mat-navigation',\n templateUrl: 'onemrva-mat-navigation.component.html',\n styleUrl: 'onemrva-mat-navigation.component.scss',\n imports: [OnemrvaMatNavigationTreeComponent],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n})\nexport class OnemrvaMatNavigationComponent {\n items = input<NavItem[]>([]);\n level = input<number>(0);\n translate = input<boolean>(true);\n router: Router = inject(Router);\n\n constructor() {\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.updateNavigationState(this.items(), event.urlAfterRedirects);\n });\n }\n\n private updateNavigationState(items: NavItem[], url: string): void {\n // First, reset all states\n this.resetNavigationStates(items);\n\n // Find the active item and build the path to it\n const activePath = this.findActiveItemPath(items, url, []);\n\n if (activePath.length > 0) {\n // Set the highest parent (first item in path - level 0) as highlighted\n if (activePath.length > 0) {\n activePath[0].highlighted = true;\n }\n\n // Set opened to true for all parents to expand the path to the active item\n for (let i = 0; i < activePath.length - 1; i++) {\n activePath[i].opened = true;\n }\n }\n }\n\n private resetNavigationStates(items: NavItem[]): void {\n for (const item of items) {\n item.highlighted = false;\n item.opened = false;\n if (item.children) {\n this.resetNavigationStates(item.children);\n }\n }\n }\n\n private findActiveItemPath(\n items: NavItem[],\n url: string,\n currentPath: NavItem[],\n ): NavItem[] {\n for (const item of items) {\n const newPath = [...currentPath, item];\n\n if (item.routerLink && item.routerLink === url) {\n return newPath;\n }\n\n if (item.children) {\n const childPath = this.findActiveItemPath(item.children, url, newPath);\n if (childPath.length > 0) {\n return childPath;\n }\n }\n }\n\n return [];\n }\n}\n","<onemrva-mat-navigation-tree [items]=\"items()\" [level]=\"level() + 1\" />\n","/*\n * Public API Surface of mat-sticker\n */\n\nexport * from './src/onemrva-mat-navigation.component';\nexport * from './src/mat-navigation-item/onemrva-nav-item';\nexport * from './src/mat-navigation-item/onemrva-mat-navigation-item.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { input, output, computed, inject, Component } from '@angular/core';
|
|
4
4
|
import * as i1 from '@angular/material/icon';
|
|
5
5
|
import { MatIconModule } from '@angular/material/icon';
|
|
6
6
|
import * as i2 from '@ngx-translate/core';
|
|
@@ -8,36 +8,14 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
8
8
|
import { Subject, takeUntil } from 'rxjs';
|
|
9
9
|
|
|
10
10
|
class OnemrvaMatNotificationComponent {
|
|
11
|
-
/** @hidden @internal */
|
|
12
|
-
get _closed() {
|
|
13
|
-
return !this._isOpen;
|
|
14
|
-
}
|
|
15
11
|
constructor() {
|
|
16
|
-
this.message = '';
|
|
17
|
-
this.closable = true;
|
|
12
|
+
this.message = input('', ...(ngDevMode ? [{ debugName: "message" }] : []));
|
|
13
|
+
this.closable = input(true, ...(ngDevMode ? [{ debugName: "closable" }] : []));
|
|
14
|
+
this.id = input('onemrva-mat-notification', ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
15
|
+
this.dataCy = input('onemrva-mat-notification', ...(ngDevMode ? [{ debugName: "dataCy" }] : []));
|
|
18
16
|
this._isOpen = true;
|
|
19
|
-
this.notificationClose =
|
|
20
|
-
this.
|
|
21
|
-
this.dataCy = 'onemrva-mat-notification';
|
|
22
|
-
/**
|
|
23
|
-
* Returns the `aria-label` attribute of the component.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```typescript
|
|
27
|
-
* let ariaLabel = this.avatar.ariaLabel;
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
*/
|
|
31
|
-
this.ariaLive = 'assertive';
|
|
32
|
-
/**
|
|
33
|
-
* Returns the `role` attribute of the component.
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```typescript
|
|
37
|
-
* let avatarRole = this.avatar.role;
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
this.role = 'alert';
|
|
17
|
+
this.notificationClose = output();
|
|
18
|
+
this._closed = computed(() => !this._isOpen, ...(ngDevMode ? [{ debugName: "_closed" }] : []));
|
|
41
19
|
this.destroyNotifier$ = new Subject();
|
|
42
20
|
this.isSmall = false;
|
|
43
21
|
this.breakpointObserver = inject(BreakpointObserver);
|
|
@@ -54,40 +32,22 @@ class OnemrvaMatNotificationComponent {
|
|
|
54
32
|
}
|
|
55
33
|
closeNotification() {
|
|
56
34
|
this._isOpen = false;
|
|
35
|
+
// TODO: The 'emit' function requires a mandatory void argument
|
|
57
36
|
this.notificationClose.emit();
|
|
58
37
|
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: OnemrvaMatNotificationComponent, isStandalone: true, selector: "onemrva-mat-notification", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, dataCy: { classPropertyName: "dataCy", publicName: "dataCy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { notificationClose: "notificationClose" }, host: { properties: { "class.collapse-notification": "_closed()", "attr.id": "id()", "attr.data-cy": "dataCy()", "attr.aria-live": "\"assertive\"", "attr.role": "\"alert\"" } }, ngImport: i0, template: "<div class=\"onemrva-mat-notification container\">\n <div class=\"onemrva-mat-notification-content show-icon\">\n @if (message() !== '') {\n {{ message() | translate }}\n }\n <ng-content />\n @if (closable() || isSmall) {\n <mat-icon\n class=\"close-notification float-right clickable mr\"\n (click)=\"closeNotification()\"\n >\n close\n </mat-icon>\n }\n </div>\n</div>\n", styles: [":host .onemrva-mat-notification{transition:max-height .4s ease-out;max-height:100vh;z-index:401;background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container);border-bottom:1px solid var(--mat-sys-primary)}:host .onemrva-mat-notification .onemrva-mat-notification-content{font:var(--mat-sys-body-medium);padding:var(--double-spacer) var(--spacer) var(--double-spacer) var(--spacer)}:host .onemrva-mat-notification .onemrva-mat-notification-content:before{margin-right:var(--double-spacer);margin-top:var(--quarter-spacer)}:host.collapse-notification{display:none}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
61
40
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatNotificationComponent, decorators: [{
|
|
63
42
|
type: Component,
|
|
64
|
-
args: [{ selector: 'onemrva-mat-notification', standalone: true, imports: [TranslateModule, MatIconModule],
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
type: HostBinding,
|
|
73
|
-
args: ['class.collapse-notification']
|
|
74
|
-
}], id: [{
|
|
75
|
-
type: HostBinding,
|
|
76
|
-
args: ['attr.id']
|
|
77
|
-
}, {
|
|
78
|
-
type: Input
|
|
79
|
-
}], dataCy: [{
|
|
80
|
-
type: HostBinding,
|
|
81
|
-
args: ['attr.data-cy']
|
|
82
|
-
}, {
|
|
83
|
-
type: Input
|
|
84
|
-
}], ariaLive: [{
|
|
85
|
-
type: HostBinding,
|
|
86
|
-
args: ['attr.aria-live']
|
|
87
|
-
}], role: [{
|
|
88
|
-
type: HostBinding,
|
|
89
|
-
args: ['attr.role']
|
|
90
|
-
}] } });
|
|
43
|
+
args: [{ selector: 'onemrva-mat-notification', standalone: true, imports: [TranslateModule, MatIconModule], host: {
|
|
44
|
+
'[class.collapse-notification]': '_closed()',
|
|
45
|
+
'[attr.id]': 'id()',
|
|
46
|
+
'[attr.data-cy]': 'dataCy()',
|
|
47
|
+
'[attr.aria-live]': '"assertive"',
|
|
48
|
+
'[attr.role]': '"alert"',
|
|
49
|
+
}, template: "<div class=\"onemrva-mat-notification container\">\n <div class=\"onemrva-mat-notification-content show-icon\">\n @if (message() !== '') {\n {{ message() | translate }}\n }\n <ng-content />\n @if (closable() || isSmall) {\n <mat-icon\n class=\"close-notification float-right clickable mr\"\n (click)=\"closeNotification()\"\n >\n close\n </mat-icon>\n }\n </div>\n</div>\n", styles: [":host .onemrva-mat-notification{transition:max-height .4s ease-out;max-height:100vh;z-index:401;background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container);border-bottom:1px solid var(--mat-sys-primary)}:host .onemrva-mat-notification .onemrva-mat-notification-content{font:var(--mat-sys-body-medium);padding:var(--double-spacer) var(--spacer) var(--double-spacer) var(--spacer)}:host .onemrva-mat-notification .onemrva-mat-notification-content:before{margin-right:var(--double-spacer);margin-top:var(--quarter-spacer)}:host.collapse-notification{display:none}\n"] }]
|
|
50
|
+
}], ctorParameters: () => [], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], closable: [{ type: i0.Input, args: [{ isSignal: true, alias: "closable", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], dataCy: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataCy", required: false }] }], notificationClose: [{ type: i0.Output, args: ["notificationClose"] }] } });
|
|
91
51
|
|
|
92
52
|
/**
|
|
93
53
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-notification.mjs","sources":["../../../../projects/onemrva/design-system/mat-notification/src/onemrva-mat-notification.component.ts","../../../../projects/onemrva/design-system/mat-notification/src/onemrva-mat-notification.component.html","../../../../projects/onemrva/design-system/mat-notification/onemrvapublic-design-system-mat-notification.ts"],"sourcesContent":["import {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\n\nimport {\n Component,\n
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-notification.mjs","sources":["../../../../projects/onemrva/design-system/mat-notification/src/onemrva-mat-notification.component.ts","../../../../projects/onemrva/design-system/mat-notification/src/onemrva-mat-notification.component.html","../../../../projects/onemrva/design-system/mat-notification/onemrvapublic-design-system-mat-notification.ts"],"sourcesContent":["import {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\n\nimport {\n Component,\n inject,\n OnDestroy,\n input,\n output,\n computed,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'onemrva-mat-notification',\n templateUrl: 'onemrva-mat-notification.component.html',\n styleUrl: 'onemrva-mat-notification.component.scss',\n standalone: true,\n imports: [TranslateModule, MatIconModule],\n host: {\n '[class.collapse-notification]': '_closed()',\n '[attr.id]': 'id()',\n '[attr.data-cy]': 'dataCy()',\n '[attr.aria-live]': '\"assertive\"',\n '[attr.role]': '\"alert\"',\n },\n})\nexport class OnemrvaMatNotificationComponent implements OnDestroy {\n readonly message = input('');\n readonly closable = input(true);\n readonly id = input('onemrva-mat-notification');\n readonly dataCy = input('onemrva-mat-notification');\n\n _isOpen = true;\n\n readonly notificationClose = output<void>();\n\n protected readonly _closed = computed(() => !this._isOpen);\n\n private destroyNotifier$ = new Subject<void>();\n isSmall = false;\n public breakpointObserver = inject(BreakpointObserver);\n\n constructor() {\n this.breakpointObserver\n .observe([Breakpoints.XSmall, Breakpoints.Small])\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe((state: BreakpointState) => {\n this.isSmall = state.matches;\n });\n }\n\n ngOnDestroy(): void {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n closeNotification() {\n this._isOpen = false;\n // TODO: The 'emit' function requires a mandatory void argument\n this.notificationClose.emit();\n }\n}\n","<div class=\"onemrva-mat-notification container\">\n <div class=\"onemrva-mat-notification-content show-icon\">\n @if (message() !== '') {\n {{ message() | translate }}\n }\n <ng-content />\n @if (closable() || isSmall) {\n <mat-icon\n class=\"close-notification float-right clickable mr\"\n (click)=\"closeNotification()\"\n >\n close\n </mat-icon>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { input, output, inject, ChangeDetectorRef, Input, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { ReplaySubject, BehaviorSubject } from 'rxjs';
|
|
4
4
|
import { MatFormField } from '@angular/material/form-field';
|
|
5
5
|
import { MatSelect, MatOption } from '@angular/material/select';
|
|
6
6
|
import { MatDivider } from '@angular/material/divider';
|
|
7
7
|
import { TranslatePipe } from '@ngx-translate/core';
|
|
8
|
-
import { NgClass } from '@angular/common';
|
|
9
8
|
|
|
10
9
|
class OnemrvaMatPaginatorComponent {
|
|
11
10
|
constructor() {
|
|
12
|
-
this.type = 'default';
|
|
13
|
-
this.pageSizeSelector = true; // Specs: DS-74
|
|
14
|
-
this.pageSizeOptions = [10, 20, 50, 100]; // Specs: DS-74
|
|
15
|
-
this.pageSizeDefaultOption = 10;
|
|
16
|
-
this.recordKey = 'recordsPerPage'; // this record key will be inside key "paginator". I.e the default key value that will be generated out of this input is paginator.recordsPerPage
|
|
11
|
+
this.type = input('default', ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
12
|
+
this.pageSizeSelector = input(true, ...(ngDevMode ? [{ debugName: "pageSizeSelector" }] : [])); // Specs: DS-74
|
|
13
|
+
this.pageSizeOptions = input([10, 20, 50, 100], ...(ngDevMode ? [{ debugName: "pageSizeOptions" }] : [])); // Specs: DS-74
|
|
14
|
+
this.pageSizeDefaultOption = input(10, ...(ngDevMode ? [{ debugName: "pageSizeDefaultOption" }] : []));
|
|
15
|
+
this.recordKey = input('recordsPerPage', ...(ngDevMode ? [{ debugName: "recordKey" }] : [])); // this record key will be inside key "paginator". I.e the default key value that will be generated out of this input is paginator.recordsPerPage
|
|
17
16
|
this._isInitialized = false;
|
|
18
17
|
this._initializedStream = new ReplaySubject(1);
|
|
19
18
|
/** Emits when the paginator is initialized. */
|
|
@@ -22,17 +21,17 @@ class OnemrvaMatPaginatorComponent {
|
|
|
22
21
|
this._pageIndex = 0;
|
|
23
22
|
this._prevIndex = 0;
|
|
24
23
|
this._length = 0;
|
|
25
|
-
this._pageSize = this.pageSizeDefaultOption;
|
|
24
|
+
this._pageSize = this.pageSizeDefaultOption();
|
|
26
25
|
this._totalNumberOfPages = 0;
|
|
27
|
-
this.previousKey = 'Previous';
|
|
28
|
-
this.nextKey = 'Next';
|
|
26
|
+
this.previousKey = input('Previous', ...(ngDevMode ? [{ debugName: "previousKey" }] : []));
|
|
27
|
+
this.nextKey = input('Next', ...(ngDevMode ? [{ debugName: "nextKey" }] : []));
|
|
29
28
|
/** Deprecated **/
|
|
30
29
|
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
31
|
-
this.onRequestPage =
|
|
30
|
+
this.onRequestPage = output(); // Pages are displayed starting from 1 but the index starts at 0
|
|
32
31
|
/** Event emitted when the paginator changes the page size or page index. */
|
|
33
|
-
this.page =
|
|
32
|
+
this.page = output();
|
|
34
33
|
this.pageIndex$ = new BehaviorSubject(this._pageIndex);
|
|
35
|
-
this.pageSize$ = new BehaviorSubject(this.pageSizeDefaultOption);
|
|
34
|
+
this.pageSize$ = new BehaviorSubject(this.pageSizeDefaultOption());
|
|
36
35
|
this.pages = [];
|
|
37
36
|
this.numberOfReachablePages = 5;
|
|
38
37
|
this.cd = inject(ChangeDetectorRef);
|
|
@@ -98,7 +97,7 @@ class OnemrvaMatPaginatorComponent {
|
|
|
98
97
|
this.pageIndex$.next(this._pageIndex);
|
|
99
98
|
this._prevIndex = this.pageIndex;
|
|
100
99
|
}
|
|
101
|
-
if (this.type === 'complex')
|
|
100
|
+
if (this.type() === 'complex')
|
|
102
101
|
this.refreshComplex();
|
|
103
102
|
else
|
|
104
103
|
this.refreshDefault();
|
|
@@ -204,51 +203,26 @@ class OnemrvaMatPaginatorComponent {
|
|
|
204
203
|
ngOnDestroy() {
|
|
205
204
|
this._initializedStream.complete();
|
|
206
205
|
}
|
|
207
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
208
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
206
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
207
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: OnemrvaMatPaginatorComponent, isStandalone: true, selector: "onemrva-mat-paginator", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, pageSizeSelector: { classPropertyName: "pageSizeSelector", publicName: "pageSizeSelector", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, pageSizeDefaultOption: { classPropertyName: "pageSizeDefaultOption", publicName: "pageSizeDefaultOption", isSignal: true, isRequired: false, transformFunction: null }, recordKey: { classPropertyName: "recordKey", publicName: "recordKey", isSignal: true, isRequired: false, transformFunction: null }, pageIndex: { classPropertyName: "pageIndex", publicName: "pageIndex", isSignal: false, isRequired: false, transformFunction: null }, length: { classPropertyName: "length", publicName: "length", isSignal: false, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: false, isRequired: false, transformFunction: null }, previousKey: { classPropertyName: "previousKey", publicName: "previousKey", isSignal: true, isRequired: false, transformFunction: null }, nextKey: { classPropertyName: "nextKey", publicName: "nextKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onRequestPage: "onRequestPage", page: "page" }, ngImport: i0, template: "<div class=\"paginator-container\">\n @if (pageSizeSelector()) {\n <div class=\"paginator-size-selector-container\">\n @if (pageSizeOptions().length > 1) {\n <mat-form-field\n appearance=\"outline\"\n class=\"paginator-size-selector\"\n data-cy=\"onemrva-mat-paginator-page-size-selector\"\n >\n <mat-select [value]=\"pageSize\">\n @for (size of pageSizeOptions(); track size) {\n <mat-option\n [value]=\"size\"\n (click)=\"pageSize = size\"\n [attr.data-cy]=\"\n 'onemrva-mat-paginator-page-size-option-' + size\n \"\n >{{ size }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div>\n @if (pageSizeOptions().length > 1) {\n <span style=\"display: inline-block\">{{\n 'paginator.' + recordKey() | translate\n }}</span>\n <mat-divider vertical />\n }\n {{ pageIndex * pageSize + 1 }} - {{ maxRecordNumber }}\n <span>{{ 'paginator.outOf' | translate }}</span>\n {{ length }}\n </div>\n </div>\n }\n\n @if (pages.length > 1) {\n <div class=\"onemrva-mat-paginator\" data-cy=\"onemrva-mat-paginator\">\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-previous\"\n data-cy=\"onemrva-mat-paginator-btn-previous\"\n [disabled]=\"pageIndex === 0\"\n (click)=\"pageIndex = pageIndex - 1\"\n >\n {{ 'paginator.' + previousKey() | translate }}\n </button>\n\n @if (pages[0] > 0 && type() === 'complex') {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-first\"\n data-cy=\"onemrva-mat-paginator-first\"\n (click)=\"pageIndex = 0\"\n >\n 1\n </button>\n }\n @if (pages[0] > 0) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-before\"\n (click)=\"pageIndex = pageIndex - numberOfReachablePages\"\n >\n ...\n </button>\n }\n @for (page of pages; track page) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-page\"\n [class.onemrva-mat-paginator-current-index]=\"pageIndex === page\"\n data-cy=\"onemrva-mat-paginator-btn-page\"\n (click)=\"pageIndex = page\"\n >\n {{ page + 1 }}\n </button>\n }\n @if (pages[pages.length - 1] < totalNumberOfPages - 1) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-after\"\n (click)=\"pageIndex = pageIndex + numberOfReachablePages\"\n >\n ...\n </button>\n }\n @if (\n pages[pages.length - 1] < totalNumberOfPages - 1 && type() === 'complex'\n ) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-last\"\n data-cy=\"onemrva-mat-paginator-btn-last\"\n (click)=\"pageIndex = totalNumberOfPages - 1\"\n >\n {{ totalNumberOfPages }}\n </button>\n }\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-next\"\n data-cy=\"onemrva-mat-paginator-btn-next\"\n [disabled]=\"pageIndex >= totalNumberOfPages - 1\"\n (click)=\"pageIndex = pageIndex + 1\"\n >\n {{ 'paginator.' + nextKey() | translate }}\n </button>\n </div>\n }\n</div>\n", styles: [":host .paginator-container{display:flex;align-items:baseline}:host .paginator-container .paginator-size-selector-container{flex:1 0 200px;display:flex;align-items:baseline;justify-content:flex-start;gap:var(--double-spacer)}:host .paginator-container .paginator-size-selector-container mat-divider{display:inline-block;vertical-align:middle;margin:0 var(--spacer);height:1.5rem}:host .paginator-container .paginator-size-selector-container .paginator-size-selector{max-width:80px;--mat-select-trigger-text-font: var(--mat-sys-label-medium-font);--mat-select-trigger-text-size: var(--mat-sys-label-medium-size);--mat-select-trigger-text-line-height: var(--mat-sys-label-medium-height);--mat-form-field-container-height: var(--paginator-height);--mat-form-field-outlined-container-shape: calc(var(--paginator-height) / 2);--mat-form-field-container-vertical-padding: var(--half-spacer);--mat-form-field-outlined-outline-color: var(--mat-sys-outline-variant);--mat-form-field-outlined-focus-outline-color: var(--mat-sys-outline-variant);--mat-form-field-outlined-hover-outline-color: var(--mat-sys-outline-variant);--mat-form-field-outlined-outline-width: 1px;--mat-form-field-outlined-focus-outline-width: 2px}:host .paginator-container .onemrva-mat-paginator{display:flex}:host .paginator-container .onemrva-mat-paginator button{background-color:var(--mat-sys-background);padding:var(--spacer) var(--double-spacer);text-align:center;border:1px solid var(--mat-sys-outline-variant);border-right:none;color:var(--mat-sys-primary);transition:all .2s}:host .paginator-container .onemrva-mat-paginator button:disabled{color:var(--mat-sys-outline-variant)}:host .paginator-container .onemrva-mat-paginator button.onemrva-mat-paginator-btn{font:var(--mat-sys-label-medium)}:host .paginator-container .onemrva-mat-paginator button:first-child{border-radius:18px 0 0 18px;width:initial;padding:var(--spacer) var(--double-spacer)}:host .paginator-container .onemrva-mat-paginator button:last-child{border-radius:0 18px 18px 0;border-right:1px solid var(--mat-sys-outline-variant);width:initial;padding:var(--spacer) var(--double-spacer)}:host .paginator-container .onemrva-mat-paginator button:hover:not(:disabled):not(.onemrva-mat-paginator-current-index){background:var(--background-gradient);color:#fff;cursor:pointer}:host .paginator-container .onemrva-mat-paginator button.onemrva-mat-paginator-current-index{background:var(--background-gradient);color:#fff}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
209
208
|
}
|
|
210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatPaginatorComponent, decorators: [{
|
|
211
210
|
type: Component,
|
|
212
|
-
args: [{ selector: 'onemrva-mat-paginator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
213
|
-
|
|
214
|
-
MatSelect,
|
|
215
|
-
MatOption,
|
|
216
|
-
MatDivider,
|
|
217
|
-
TranslatePipe,
|
|
218
|
-
NgClass,
|
|
219
|
-
], standalone: true, template: "<div class=\"paginator-container\">\n @if (pageSizeSelector) {\n <div class=\"paginator-size-selector-container\">\n @if (pageSizeOptions.length > 1) {\n <mat-form-field\n appearance=\"outline\"\n class=\"paginator-size-selector\"\n data-cy=\"onemrva-mat-paginator-page-size-selector\"\n >\n <mat-select [value]=\"pageSize\">\n @for (size of pageSizeOptions; track size) {\n <mat-option\n [value]=\"size\"\n (click)=\"pageSize = size\"\n [attr.data-cy]=\"\n 'onemrva-mat-paginator-page-size-option-' + size\n \"\n >{{ size }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div>\n @if (pageSizeOptions.length > 1) {\n <span style=\"display: inline-block\">{{\n 'paginator.' + recordKey | translate\n }}</span>\n <mat-divider vertical></mat-divider>\n }\n {{ pageIndex * pageSize + 1 }} - {{ maxRecordNumber }}\n <span>{{ 'paginator.outOf' | translate }}</span>\n {{ length }}\n </div>\n </div>\n }\n\n @if (pages.length > 1) {\n <div class=\"onemrva-mat-paginator\" data-cy=\"onemrva-mat-paginator\">\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-previous\"\n data-cy=\"onemrva-mat-paginator-btn-previous\"\n [disabled]=\"pageIndex === 0\"\n (click)=\"pageIndex = pageIndex - 1\"\n >\n {{ 'paginator.' + previousKey | translate }}\n </button>\n\n @if (pages[0] > 0 && type === 'complex') {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-first\"\n data-cy=\"onemrva-mat-paginator-first\"\n (click)=\"pageIndex = 0\"\n >\n 1\n </button>\n }\n @if (pages[0] > 0) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-before\"\n (click)=\"pageIndex = pageIndex - numberOfReachablePages\"\n >\n ...\n </button>\n }\n @for (page of pages; track page) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-page\"\n [ngClass]=\"{\n 'onemrva-mat-paginator-current-index': pageIndex === page,\n }\"\n data-cy=\"onemrva-mat-paginator-btn-page\"\n (click)=\"pageIndex = page\"\n >\n {{ page + 1 }}\n </button>\n }\n @if (pages[pages.length - 1] < totalNumberOfPages - 1) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-after\"\n (click)=\"pageIndex = pageIndex + numberOfReachablePages\"\n >\n ...\n </button>\n }\n @if (\n pages[pages.length - 1] < totalNumberOfPages - 1 && type === 'complex'\n ) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-last\"\n data-cy=\"onemrva-mat-paginator-btn-last\"\n (click)=\"pageIndex = totalNumberOfPages - 1\"\n >\n {{ totalNumberOfPages }}\n </button>\n }\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-next\"\n data-cy=\"onemrva-mat-paginator-btn-next\"\n [disabled]=\"pageIndex >= totalNumberOfPages - 1\"\n (click)=\"pageIndex = pageIndex + 1\"\n >\n {{ 'paginator.' + nextKey | translate }}\n </button>\n </div>\n }\n</div>\n", styles: [":host .paginator-container{display:flex;align-items:baseline}:host .paginator-container .paginator-size-selector-container{flex:1 0 200px;display:flex;align-items:baseline;justify-content:flex-start;gap:var(--double-spacer)}:host .paginator-container .paginator-size-selector-container mat-divider{display:inline-block;vertical-align:middle;margin:0 var(--spacer);height:1.5rem}:host .paginator-container .paginator-size-selector-container .paginator-size-selector{max-width:80px;--mat-select-trigger-text-font: var(--mat-sys-label-medium-font);--mat-select-trigger-text-size: var(--mat-sys-label-medium-size);--mat-select-trigger-text-line-height: var(--mat-sys-label-medium-height);--mat-form-field-container-height: var(--paginator-height);--mat-form-field-outlined-container-shape: calc(var(--paginator-height) / 2);--mat-form-field-container-vertical-padding: var(--half-spacer);--mat-form-field-outlined-outline-color: var(--mat-sys-outline-variant);--mat-form-field-outlined-focus-outline-color: var(--mat-sys-outline-variant);--mat-form-field-outlined-hover-outline-color: var(--mat-sys-outline-variant);--mat-form-field-outlined-outline-width: 1px;--mat-form-field-outlined-focus-outline-width: 2px}:host .paginator-container .onemrva-mat-paginator{display:flex}:host .paginator-container .onemrva-mat-paginator button{background-color:var(--mat-sys-background);padding:var(--spacer) var(--double-spacer);text-align:center;border:1px solid var(--mat-sys-outline-variant);border-right:none;color:var(--mat-sys-primary);transition:all .2s}:host .paginator-container .onemrva-mat-paginator button:disabled{color:var(--mat-sys-outline-variant)}:host .paginator-container .onemrva-mat-paginator button.onemrva-mat-paginator-btn{font:var(--mat-sys-label-medium)}:host .paginator-container .onemrva-mat-paginator button:first-child{border-radius:18px 0 0 18px;width:initial;padding:var(--spacer) var(--double-spacer)}:host .paginator-container .onemrva-mat-paginator button:last-child{border-radius:0 18px 18px 0;border-right:1px solid var(--mat-sys-outline-variant);width:initial;padding:var(--spacer) var(--double-spacer)}:host .paginator-container .onemrva-mat-paginator button:hover:not(:disabled):not(.onemrva-mat-paginator-current-index){background:var(--background-gradient);color:#fff;cursor:pointer}:host .paginator-container .onemrva-mat-paginator button.onemrva-mat-paginator-current-index{background:var(--background-gradient);color:#fff}\n"] }]
|
|
220
|
-
}], propDecorators: { type: [{
|
|
221
|
-
type: Input
|
|
222
|
-
}], pageSizeSelector: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], pageSizeOptions: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], pageSizeDefaultOption: [{
|
|
227
|
-
type: Input
|
|
228
|
-
}], recordKey: [{
|
|
229
|
-
type: Input
|
|
230
|
-
}], pageIndex: [{
|
|
211
|
+
args: [{ selector: 'onemrva-mat-paginator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatFormField, MatSelect, MatOption, MatDivider, TranslatePipe], standalone: true, template: "<div class=\"paginator-container\">\n @if (pageSizeSelector()) {\n <div class=\"paginator-size-selector-container\">\n @if (pageSizeOptions().length > 1) {\n <mat-form-field\n appearance=\"outline\"\n class=\"paginator-size-selector\"\n data-cy=\"onemrva-mat-paginator-page-size-selector\"\n >\n <mat-select [value]=\"pageSize\">\n @for (size of pageSizeOptions(); track size) {\n <mat-option\n [value]=\"size\"\n (click)=\"pageSize = size\"\n [attr.data-cy]=\"\n 'onemrva-mat-paginator-page-size-option-' + size\n \"\n >{{ size }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div>\n @if (pageSizeOptions().length > 1) {\n <span style=\"display: inline-block\">{{\n 'paginator.' + recordKey() | translate\n }}</span>\n <mat-divider vertical />\n }\n {{ pageIndex * pageSize + 1 }} - {{ maxRecordNumber }}\n <span>{{ 'paginator.outOf' | translate }}</span>\n {{ length }}\n </div>\n </div>\n }\n\n @if (pages.length > 1) {\n <div class=\"onemrva-mat-paginator\" data-cy=\"onemrva-mat-paginator\">\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-previous\"\n data-cy=\"onemrva-mat-paginator-btn-previous\"\n [disabled]=\"pageIndex === 0\"\n (click)=\"pageIndex = pageIndex - 1\"\n >\n {{ 'paginator.' + previousKey() | translate }}\n </button>\n\n @if (pages[0] > 0 && type() === 'complex') {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-first\"\n data-cy=\"onemrva-mat-paginator-first\"\n (click)=\"pageIndex = 0\"\n >\n 1\n </button>\n }\n @if (pages[0] > 0) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-before\"\n (click)=\"pageIndex = pageIndex - numberOfReachablePages\"\n >\n ...\n </button>\n }\n @for (page of pages; track page) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-page\"\n [class.onemrva-mat-paginator-current-index]=\"pageIndex === page\"\n data-cy=\"onemrva-mat-paginator-btn-page\"\n (click)=\"pageIndex = page\"\n >\n {{ page + 1 }}\n </button>\n }\n @if (pages[pages.length - 1] < totalNumberOfPages - 1) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-after\"\n (click)=\"pageIndex = pageIndex + numberOfReachablePages\"\n >\n ...\n </button>\n }\n @if (\n pages[pages.length - 1] < totalNumberOfPages - 1 && type() === 'complex'\n ) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-last\"\n data-cy=\"onemrva-mat-paginator-btn-last\"\n (click)=\"pageIndex = totalNumberOfPages - 1\"\n >\n {{ totalNumberOfPages }}\n </button>\n }\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-next\"\n data-cy=\"onemrva-mat-paginator-btn-next\"\n [disabled]=\"pageIndex >= totalNumberOfPages - 1\"\n (click)=\"pageIndex = pageIndex + 1\"\n >\n {{ 'paginator.' + nextKey() | translate }}\n </button>\n </div>\n }\n</div>\n", styles: [":host .paginator-container{display:flex;align-items:baseline}:host .paginator-container .paginator-size-selector-container{flex:1 0 200px;display:flex;align-items:baseline;justify-content:flex-start;gap:var(--double-spacer)}:host .paginator-container .paginator-size-selector-container mat-divider{display:inline-block;vertical-align:middle;margin:0 var(--spacer);height:1.5rem}:host .paginator-container .paginator-size-selector-container .paginator-size-selector{max-width:80px;--mat-select-trigger-text-font: var(--mat-sys-label-medium-font);--mat-select-trigger-text-size: var(--mat-sys-label-medium-size);--mat-select-trigger-text-line-height: var(--mat-sys-label-medium-height);--mat-form-field-container-height: var(--paginator-height);--mat-form-field-outlined-container-shape: calc(var(--paginator-height) / 2);--mat-form-field-container-vertical-padding: var(--half-spacer);--mat-form-field-outlined-outline-color: var(--mat-sys-outline-variant);--mat-form-field-outlined-focus-outline-color: var(--mat-sys-outline-variant);--mat-form-field-outlined-hover-outline-color: var(--mat-sys-outline-variant);--mat-form-field-outlined-outline-width: 1px;--mat-form-field-outlined-focus-outline-width: 2px}:host .paginator-container .onemrva-mat-paginator{display:flex}:host .paginator-container .onemrva-mat-paginator button{background-color:var(--mat-sys-background);padding:var(--spacer) var(--double-spacer);text-align:center;border:1px solid var(--mat-sys-outline-variant);border-right:none;color:var(--mat-sys-primary);transition:all .2s}:host .paginator-container .onemrva-mat-paginator button:disabled{color:var(--mat-sys-outline-variant)}:host .paginator-container .onemrva-mat-paginator button.onemrva-mat-paginator-btn{font:var(--mat-sys-label-medium)}:host .paginator-container .onemrva-mat-paginator button:first-child{border-radius:18px 0 0 18px;width:initial;padding:var(--spacer) var(--double-spacer)}:host .paginator-container .onemrva-mat-paginator button:last-child{border-radius:0 18px 18px 0;border-right:1px solid var(--mat-sys-outline-variant);width:initial;padding:var(--spacer) var(--double-spacer)}:host .paginator-container .onemrva-mat-paginator button:hover:not(:disabled):not(.onemrva-mat-paginator-current-index){background:var(--background-gradient);color:#fff;cursor:pointer}:host .paginator-container .onemrva-mat-paginator button.onemrva-mat-paginator-current-index{background:var(--background-gradient);color:#fff}\n"] }]
|
|
212
|
+
}], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], pageSizeSelector: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeSelector", required: false }] }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], pageSizeDefaultOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeDefaultOption", required: false }] }], recordKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "recordKey", required: false }] }], pageIndex: [{
|
|
231
213
|
type: Input
|
|
232
214
|
}], length: [{
|
|
233
215
|
type: Input
|
|
234
216
|
}], pageSize: [{
|
|
235
217
|
type: Input
|
|
236
|
-
}], previousKey: [{
|
|
237
|
-
type: Input
|
|
238
|
-
}], nextKey: [{
|
|
239
|
-
type: Input
|
|
240
|
-
}], onRequestPage: [{
|
|
241
|
-
type: Output
|
|
242
|
-
}], page: [{
|
|
243
|
-
type: Output
|
|
244
|
-
}] } });
|
|
218
|
+
}], previousKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "previousKey", required: false }] }], nextKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextKey", required: false }] }], onRequestPage: [{ type: i0.Output, args: ["onRequestPage"] }], page: [{ type: i0.Output, args: ["page"] }] } });
|
|
245
219
|
|
|
246
220
|
class OnemrvaMatPaginatorModule {
|
|
247
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
248
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
249
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
221
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
222
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatPaginatorModule, imports: [OnemrvaMatPaginatorComponent] }); }
|
|
223
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatPaginatorModule, imports: [OnemrvaMatPaginatorComponent] }); }
|
|
250
224
|
}
|
|
251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatPaginatorModule, decorators: [{
|
|
252
226
|
type: NgModule,
|
|
253
227
|
args: [{
|
|
254
228
|
declarations: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-paginator.mjs","sources":["../../../../projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.component.ts","../../../../projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.component.html","../../../../projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.module.ts","../../../../projects/onemrva/design-system/mat-paginator/index.ts","../../../../projects/onemrva/design-system/mat-paginator/onemrvapublic-design-system-mat-paginator.ts"],"sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n inject,\n} from '@angular/core';\nimport { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';\nimport { PageEvent } from '@angular/material/paginator';\nimport { MatFormField } from '@angular/material/form-field';\nimport { MatOption, MatSelect } from '@angular/material/select';\nimport { MatDivider } from '@angular/material/divider';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'onemrva-mat-paginator',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './onemrva-mat-paginator.component.html',\n styleUrl: './onemrva-mat-paginator.component.scss',\n imports: [\n MatFormField,\n MatSelect,\n MatOption,\n MatDivider,\n TranslatePipe,\n NgClass,\n ],\n standalone: true,\n})\nexport class OnemrvaMatPaginatorComponent implements OnInit, OnDestroy {\n @Input() type: 'default' | 'complex' = 'default';\n @Input() pageSizeSelector = true; // Specs: DS-74\n @Input() pageSizeOptions: number[] = [10, 20, 50, 100]; // Specs: DS-74\n @Input() pageSizeDefaultOption = 10;\n @Input() recordKey = 'recordsPerPage'; // this record key will be inside key \"paginator\". I.e the default key value that will be generated out of this input is paginator.recordsPerPage\n\n private _isInitialized = false;\n private _initializedStream = new ReplaySubject<void>(1);\n /** Emits when the paginator is initialized. */\n initialized: Observable<void> = this._initializedStream;\n\n maxRecordNumber = 0;\n private _pageIndex = 0;\n private _prevIndex = 0;\n private _length = 0;\n private _pageSize: number = this.pageSizeDefaultOption;\n private _totalNumberOfPages = 0;\n\n public get pageIndex(): number {\n return this._pageIndex;\n }\n\n @Input()\n public set pageIndex(index: number) {\n if (!Number.isInteger(index)) throw new Error('Index is not integer');\n if (index < 0) throw new Error('Negative index');\n if (index > this._totalNumberOfPages) throw new Error('Index out of bound');\n if (this._pageIndex !== index) {\n this._pageIndex = Math.min(index, this._totalNumberOfPages - 1);\n this._emitPageEvent(this._pageIndex);\n this.refreshState();\n }\n }\n\n public resetPageIndex() {\n this._pageIndex = 0;\n }\n\n public get length(): number {\n return this._length;\n }\n\n @Input()\n public set length(length: number) {\n if (this._length !== length) {\n this._length = length;\n this.refreshState();\n }\n }\n\n public get pageSize(): number {\n return this._pageSize;\n }\n\n @Input()\n public set pageSize(pageSize: number) {\n if (!Number.isInteger(pageSize)) throw new Error('pageSize is not integer');\n if (pageSize < 0) throw new Error('pageSize is negative');\n if (this._pageSize !== pageSize) {\n this._pageSize = pageSize;\n this.pageSize$.next(this._pageSize);\n this._pageIndex = 0;\n this._emitPageEvent(this._pageIndex);\n this.refreshState();\n }\n }\n\n get totalNumberOfPages(): number {\n return this._totalNumberOfPages;\n }\n\n @Input() previousKey = 'Previous';\n @Input() nextKey = 'Next';\n\n /** Deprecated **/\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onRequestPage = new EventEmitter<number>(); // Pages are displayed starting from 1 but the index starts at 0\n\n /** Event emitted when the paginator changes the page size or page index. */\n @Output() readonly page: EventEmitter<PageEvent> =\n new EventEmitter<PageEvent>();\n\n pageIndex$ = new BehaviorSubject<number>(this._pageIndex);\n pageSize$ = new BehaviorSubject<number>(this.pageSizeDefaultOption);\n\n pages: number[] = [];\n numberOfReachablePages = 5;\n\n private readonly cd = inject(ChangeDetectorRef);\n\n refreshState() {\n this.maxRecordNumber = Math.min(\n this._pageIndex * this._pageSize + this._pageSize,\n this._length,\n );\n\n if (this._pageIndex < 0) throw Error('Negative index');\n this._totalNumberOfPages = Math.ceil(this.length / this.pageSize);\n if (\n this._totalNumberOfPages > 0 &&\n this._pageIndex > this._totalNumberOfPages\n )\n throw Error('Index out of bound');\n if (!Number.isInteger(this._pageIndex)) throw Error('Index is not integer');\n\n if (this._prevIndex != this.pageIndex) {\n this.pageIndex$.next(this._pageIndex);\n this._prevIndex = this.pageIndex;\n }\n\n if (this.type === 'complex') this.refreshComplex();\n else this.refreshDefault();\n\n this.cd.detectChanges();\n }\n\n refreshDefault() {\n if (this._totalNumberOfPages <= this.numberOfReachablePages + 1) {\n // Case 1: not enough pages to display the first \"...\"\n this.pages = [...Array(this._totalNumberOfPages).keys()];\n } else if (this.pageIndex <= this.numberOfReachablePages - 1) {\n // Case 2: page index in first 5 pages\n this.pages = [...Array(this.numberOfReachablePages).keys()];\n } else {\n let firstPageIndex =\n Math.floor(this._pageIndex / this.numberOfReachablePages) *\n this.numberOfReachablePages;\n\n if (\n this._totalNumberOfPages - firstPageIndex <=\n this.numberOfReachablePages + 1\n ) {\n if (this._totalNumberOfPages - firstPageIndex <= 1) {\n // Case 3: in the last block containing only 1 page\n firstPageIndex = firstPageIndex - this.numberOfReachablePages;\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n } else {\n // Case 4: one block before the last with last block containing only 1 page\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n }\n } else if (this._totalNumberOfPages - 1 - firstPageIndex <= 2) {\n // Case 5: in the last block containing 2 pages or more\n firstPageIndex = firstPageIndex - this.numberOfReachablePages;\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n } else {\n // Case 6: same as case 4 but the next block contains at least 2 pages\n this.pages = [...Array(this.numberOfReachablePages).keys()].map(\n x => x + firstPageIndex,\n );\n }\n }\n }\n\n refreshComplex() {\n if (this._totalNumberOfPages <= this.numberOfReachablePages + 2) {\n // Case 1: not enough pages to display the first \"...\"\n this.pages = [...Array(this._totalNumberOfPages).keys()];\n } else if (this.pageIndex <= this.numberOfReachablePages - 1) {\n // Case 2: page index in first 5 pages\n this.pages = [...Array(this.numberOfReachablePages).keys()];\n } else {\n let firstPageIndex =\n Math.floor(this._pageIndex / this.numberOfReachablePages) *\n this.numberOfReachablePages;\n\n if (\n this._totalNumberOfPages - firstPageIndex <=\n this.numberOfReachablePages + 2\n ) {\n if (this._totalNumberOfPages - firstPageIndex <= 2) {\n // Case 3: in the last block containing max 2 pages\n firstPageIndex = firstPageIndex - this.numberOfReachablePages;\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n } else {\n // Case 4: one block before the last with last block containing max 2 pages\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n }\n } else if (this._totalNumberOfPages - 1 - firstPageIndex <= 3) {\n // Case 5: in the last block containing 2 pages or more\n firstPageIndex = firstPageIndex - this.numberOfReachablePages;\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n } else {\n // Case 6: same as case 4 but the next block contains at least 2 pages\n this.pages = [...Array(this.numberOfReachablePages).keys()].map(\n x => x + firstPageIndex,\n );\n }\n }\n }\n\n /** Emits an event notifying that a change of the paginator's properties has been triggered. */\n private _emitPageEvent(previousPageIndex: number) {\n this.page.emit({\n previousPageIndex,\n pageIndex: this._pageIndex,\n pageSize: this._pageSize,\n length: this._length,\n });\n\n // Deprecated\n this.onRequestPage.emit(this._pageIndex);\n }\n\n ngOnInit() {\n this._isInitialized = true;\n this._initializedStream.next();\n }\n\n ngOnDestroy() {\n this._initializedStream.complete();\n }\n}\n","<div class=\"paginator-container\">\n @if (pageSizeSelector) {\n <div class=\"paginator-size-selector-container\">\n @if (pageSizeOptions.length > 1) {\n <mat-form-field\n appearance=\"outline\"\n class=\"paginator-size-selector\"\n data-cy=\"onemrva-mat-paginator-page-size-selector\"\n >\n <mat-select [value]=\"pageSize\">\n @for (size of pageSizeOptions; track size) {\n <mat-option\n [value]=\"size\"\n (click)=\"pageSize = size\"\n [attr.data-cy]=\"\n 'onemrva-mat-paginator-page-size-option-' + size\n \"\n >{{ size }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div>\n @if (pageSizeOptions.length > 1) {\n <span style=\"display: inline-block\">{{\n 'paginator.' + recordKey | translate\n }}</span>\n <mat-divider vertical></mat-divider>\n }\n {{ pageIndex * pageSize + 1 }} - {{ maxRecordNumber }}\n <span>{{ 'paginator.outOf' | translate }}</span>\n {{ length }}\n </div>\n </div>\n }\n\n @if (pages.length > 1) {\n <div class=\"onemrva-mat-paginator\" data-cy=\"onemrva-mat-paginator\">\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-previous\"\n data-cy=\"onemrva-mat-paginator-btn-previous\"\n [disabled]=\"pageIndex === 0\"\n (click)=\"pageIndex = pageIndex - 1\"\n >\n {{ 'paginator.' + previousKey | translate }}\n </button>\n\n @if (pages[0] > 0 && type === 'complex') {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-first\"\n data-cy=\"onemrva-mat-paginator-first\"\n (click)=\"pageIndex = 0\"\n >\n 1\n </button>\n }\n @if (pages[0] > 0) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-before\"\n (click)=\"pageIndex = pageIndex - numberOfReachablePages\"\n >\n ...\n </button>\n }\n @for (page of pages; track page) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-page\"\n [ngClass]=\"{\n 'onemrva-mat-paginator-current-index': pageIndex === page,\n }\"\n data-cy=\"onemrva-mat-paginator-btn-page\"\n (click)=\"pageIndex = page\"\n >\n {{ page + 1 }}\n </button>\n }\n @if (pages[pages.length - 1] < totalNumberOfPages - 1) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-after\"\n (click)=\"pageIndex = pageIndex + numberOfReachablePages\"\n >\n ...\n </button>\n }\n @if (\n pages[pages.length - 1] < totalNumberOfPages - 1 && type === 'complex'\n ) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-last\"\n data-cy=\"onemrva-mat-paginator-btn-last\"\n (click)=\"pageIndex = totalNumberOfPages - 1\"\n >\n {{ totalNumberOfPages }}\n </button>\n }\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-next\"\n data-cy=\"onemrva-mat-paginator-btn-next\"\n [disabled]=\"pageIndex >= totalNumberOfPages - 1\"\n (click)=\"pageIndex = pageIndex + 1\"\n >\n {{ 'paginator.' + nextKey | translate }}\n </button>\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { OnemrvaMatPaginatorComponent } from './onemrva-mat-paginator.component';\n@NgModule({\n declarations: [],\n imports: [OnemrvaMatPaginatorComponent],\n exports: [],\n})\nexport class OnemrvaMatPaginatorModule {}\n","/*\n * Public API Surface of mat-paginator\n */\n\nexport * from './src/onemrva-mat-paginator.module';\nexport * from './src/onemrva-mat-paginator.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-paginator.mjs","sources":["../../../../projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.component.ts","../../../../projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.component.html","../../../../projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.module.ts","../../../../projects/onemrva/design-system/mat-paginator/index.ts","../../../../projects/onemrva/design-system/mat-paginator/onemrvapublic-design-system-mat-paginator.ts"],"sourcesContent":["import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';\nimport { PageEvent } from '@angular/material/paginator';\nimport { MatFormField } from '@angular/material/form-field';\nimport { MatOption, MatSelect } from '@angular/material/select';\nimport { MatDivider } from '@angular/material/divider';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'onemrva-mat-paginator',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './onemrva-mat-paginator.component.html',\n styleUrl: './onemrva-mat-paginator.component.scss',\n imports: [MatFormField, MatSelect, MatOption, MatDivider, TranslatePipe],\n standalone: true,\n})\nexport class OnemrvaMatPaginatorComponent implements OnInit, OnDestroy {\n readonly type = input<'default' | 'complex'>('default');\n readonly pageSizeSelector = input(true); // Specs: DS-74\n readonly pageSizeOptions = input<number[]>([10, 20, 50, 100]); // Specs: DS-74\n readonly pageSizeDefaultOption = input(10);\n readonly recordKey = input('recordsPerPage'); // this record key will be inside key \"paginator\". I.e the default key value that will be generated out of this input is paginator.recordsPerPage\n\n private _isInitialized = false;\n private _initializedStream = new ReplaySubject<void>(1);\n /** Emits when the paginator is initialized. */\n initialized: Observable<void> = this._initializedStream;\n\n maxRecordNumber = 0;\n private _pageIndex = 0;\n private _prevIndex = 0;\n private _length = 0;\n private _pageSize: number = this.pageSizeDefaultOption();\n private _totalNumberOfPages = 0;\n\n public get pageIndex(): number {\n return this._pageIndex;\n }\n\n @Input()\n public set pageIndex(index: number) {\n if (!Number.isInteger(index)) throw new Error('Index is not integer');\n if (index < 0) throw new Error('Negative index');\n if (index > this._totalNumberOfPages) throw new Error('Index out of bound');\n if (this._pageIndex !== index) {\n this._pageIndex = Math.min(index, this._totalNumberOfPages - 1);\n this._emitPageEvent(this._pageIndex);\n this.refreshState();\n }\n }\n\n public resetPageIndex() {\n this._pageIndex = 0;\n }\n\n public get length(): number {\n return this._length;\n }\n\n @Input()\n public set length(length: number) {\n if (this._length !== length) {\n this._length = length;\n this.refreshState();\n }\n }\n\n public get pageSize(): number {\n return this._pageSize;\n }\n\n @Input()\n public set pageSize(pageSize: number) {\n if (!Number.isInteger(pageSize)) throw new Error('pageSize is not integer');\n if (pageSize < 0) throw new Error('pageSize is negative');\n if (this._pageSize !== pageSize) {\n this._pageSize = pageSize;\n this.pageSize$.next(this._pageSize);\n this._pageIndex = 0;\n this._emitPageEvent(this._pageIndex);\n this.refreshState();\n }\n }\n\n get totalNumberOfPages(): number {\n return this._totalNumberOfPages;\n }\n\n readonly previousKey = input('Previous');\n readonly nextKey = input('Next');\n\n /** Deprecated **/\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onRequestPage = output<number>(); // Pages are displayed starting from 1 but the index starts at 0\n\n /** Event emitted when the paginator changes the page size or page index. */\n readonly page = output<PageEvent>();\n\n pageIndex$ = new BehaviorSubject<number>(this._pageIndex);\n pageSize$ = new BehaviorSubject<number>(this.pageSizeDefaultOption());\n\n pages: number[] = [];\n numberOfReachablePages = 5;\n\n private readonly cd = inject(ChangeDetectorRef);\n\n refreshState() {\n this.maxRecordNumber = Math.min(\n this._pageIndex * this._pageSize + this._pageSize,\n this._length,\n );\n\n if (this._pageIndex < 0) throw Error('Negative index');\n this._totalNumberOfPages = Math.ceil(this.length / this.pageSize);\n if (\n this._totalNumberOfPages > 0 &&\n this._pageIndex > this._totalNumberOfPages\n )\n throw Error('Index out of bound');\n if (!Number.isInteger(this._pageIndex)) throw Error('Index is not integer');\n\n if (this._prevIndex != this.pageIndex) {\n this.pageIndex$.next(this._pageIndex);\n this._prevIndex = this.pageIndex;\n }\n\n if (this.type() === 'complex') this.refreshComplex();\n else this.refreshDefault();\n\n this.cd.detectChanges();\n }\n\n refreshDefault() {\n if (this._totalNumberOfPages <= this.numberOfReachablePages + 1) {\n // Case 1: not enough pages to display the first \"...\"\n this.pages = [...Array(this._totalNumberOfPages).keys()];\n } else if (this.pageIndex <= this.numberOfReachablePages - 1) {\n // Case 2: page index in first 5 pages\n this.pages = [...Array(this.numberOfReachablePages).keys()];\n } else {\n let firstPageIndex =\n Math.floor(this._pageIndex / this.numberOfReachablePages) *\n this.numberOfReachablePages;\n\n if (\n this._totalNumberOfPages - firstPageIndex <=\n this.numberOfReachablePages + 1\n ) {\n if (this._totalNumberOfPages - firstPageIndex <= 1) {\n // Case 3: in the last block containing only 1 page\n firstPageIndex = firstPageIndex - this.numberOfReachablePages;\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n } else {\n // Case 4: one block before the last with last block containing only 1 page\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n }\n } else if (this._totalNumberOfPages - 1 - firstPageIndex <= 2) {\n // Case 5: in the last block containing 2 pages or more\n firstPageIndex = firstPageIndex - this.numberOfReachablePages;\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n } else {\n // Case 6: same as case 4 but the next block contains at least 2 pages\n this.pages = [...Array(this.numberOfReachablePages).keys()].map(\n x => x + firstPageIndex,\n );\n }\n }\n }\n\n refreshComplex() {\n if (this._totalNumberOfPages <= this.numberOfReachablePages + 2) {\n // Case 1: not enough pages to display the first \"...\"\n this.pages = [...Array(this._totalNumberOfPages).keys()];\n } else if (this.pageIndex <= this.numberOfReachablePages - 1) {\n // Case 2: page index in first 5 pages\n this.pages = [...Array(this.numberOfReachablePages).keys()];\n } else {\n let firstPageIndex =\n Math.floor(this._pageIndex / this.numberOfReachablePages) *\n this.numberOfReachablePages;\n\n if (\n this._totalNumberOfPages - firstPageIndex <=\n this.numberOfReachablePages + 2\n ) {\n if (this._totalNumberOfPages - firstPageIndex <= 2) {\n // Case 3: in the last block containing max 2 pages\n firstPageIndex = firstPageIndex - this.numberOfReachablePages;\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n } else {\n // Case 4: one block before the last with last block containing max 2 pages\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n }\n } else if (this._totalNumberOfPages - 1 - firstPageIndex <= 3) {\n // Case 5: in the last block containing 2 pages or more\n firstPageIndex = firstPageIndex - this.numberOfReachablePages;\n this.pages = [\n ...Array(this._totalNumberOfPages - firstPageIndex).keys(),\n ].map(x => x + firstPageIndex);\n } else {\n // Case 6: same as case 4 but the next block contains at least 2 pages\n this.pages = [...Array(this.numberOfReachablePages).keys()].map(\n x => x + firstPageIndex,\n );\n }\n }\n }\n\n /** Emits an event notifying that a change of the paginator's properties has been triggered. */\n private _emitPageEvent(previousPageIndex: number) {\n this.page.emit({\n previousPageIndex,\n pageIndex: this._pageIndex,\n pageSize: this._pageSize,\n length: this._length,\n });\n\n // Deprecated\n this.onRequestPage.emit(this._pageIndex);\n }\n\n ngOnInit() {\n this._isInitialized = true;\n this._initializedStream.next();\n }\n\n ngOnDestroy() {\n this._initializedStream.complete();\n }\n}\n","<div class=\"paginator-container\">\n @if (pageSizeSelector()) {\n <div class=\"paginator-size-selector-container\">\n @if (pageSizeOptions().length > 1) {\n <mat-form-field\n appearance=\"outline\"\n class=\"paginator-size-selector\"\n data-cy=\"onemrva-mat-paginator-page-size-selector\"\n >\n <mat-select [value]=\"pageSize\">\n @for (size of pageSizeOptions(); track size) {\n <mat-option\n [value]=\"size\"\n (click)=\"pageSize = size\"\n [attr.data-cy]=\"\n 'onemrva-mat-paginator-page-size-option-' + size\n \"\n >{{ size }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div>\n @if (pageSizeOptions().length > 1) {\n <span style=\"display: inline-block\">{{\n 'paginator.' + recordKey() | translate\n }}</span>\n <mat-divider vertical />\n }\n {{ pageIndex * pageSize + 1 }} - {{ maxRecordNumber }}\n <span>{{ 'paginator.outOf' | translate }}</span>\n {{ length }}\n </div>\n </div>\n }\n\n @if (pages.length > 1) {\n <div class=\"onemrva-mat-paginator\" data-cy=\"onemrva-mat-paginator\">\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-previous\"\n data-cy=\"onemrva-mat-paginator-btn-previous\"\n [disabled]=\"pageIndex === 0\"\n (click)=\"pageIndex = pageIndex - 1\"\n >\n {{ 'paginator.' + previousKey() | translate }}\n </button>\n\n @if (pages[0] > 0 && type() === 'complex') {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-first\"\n data-cy=\"onemrva-mat-paginator-first\"\n (click)=\"pageIndex = 0\"\n >\n 1\n </button>\n }\n @if (pages[0] > 0) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-before\"\n (click)=\"pageIndex = pageIndex - numberOfReachablePages\"\n >\n ...\n </button>\n }\n @for (page of pages; track page) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-page\"\n [class.onemrva-mat-paginator-current-index]=\"pageIndex === page\"\n data-cy=\"onemrva-mat-paginator-btn-page\"\n (click)=\"pageIndex = page\"\n >\n {{ page + 1 }}\n </button>\n }\n @if (pages[pages.length - 1] < totalNumberOfPages - 1) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-too-many\"\n data-cy=\"onemrva-mat-paginator-btn-too-many-after\"\n (click)=\"pageIndex = pageIndex + numberOfReachablePages\"\n >\n ...\n </button>\n }\n @if (\n pages[pages.length - 1] < totalNumberOfPages - 1 && type() === 'complex'\n ) {\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-last\"\n data-cy=\"onemrva-mat-paginator-btn-last\"\n (click)=\"pageIndex = totalNumberOfPages - 1\"\n >\n {{ totalNumberOfPages }}\n </button>\n }\n <button\n type=\"button\"\n class=\"onemrva-mat-paginator-btn onemrva-mat-paginator-btn-next\"\n data-cy=\"onemrva-mat-paginator-btn-next\"\n [disabled]=\"pageIndex >= totalNumberOfPages - 1\"\n (click)=\"pageIndex = pageIndex + 1\"\n >\n {{ 'paginator.' + nextKey() | translate }}\n </button>\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { OnemrvaMatPaginatorComponent } from './onemrva-mat-paginator.component';\n@NgModule({\n declarations: [],\n imports: [OnemrvaMatPaginatorComponent],\n exports: [],\n})\nexport class OnemrvaMatPaginatorModule {}\n","/*\n * Public API Surface of mat-paginator\n */\n\nexport * from './src/onemrva-mat-paginator.module';\nexport * from './src/onemrva-mat-paginator.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|