@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,64 +1,58 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Injectable, input, effect, Component, NgModule } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, of } from 'rxjs';
|
|
2
|
+
import { inject, DestroyRef, signal, Injectable, input, effect, Component, NgModule } from '@angular/core';
|
|
4
3
|
import { Router, NavigationEnd, RouterLink, RouterModule } from '@angular/router';
|
|
5
4
|
import { filter } from 'rxjs/operators';
|
|
6
|
-
import {
|
|
5
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
6
|
import { MatIcon, MatIconModule } from '@angular/material/icon';
|
|
8
7
|
import { TranslatePipe } from '@ngx-translate/core';
|
|
8
|
+
import { CommonModule } from '@angular/common';
|
|
9
9
|
|
|
10
10
|
class OnemrvaMatBreadcrumbService {
|
|
11
11
|
constructor() {
|
|
12
12
|
this.router = inject(Router);
|
|
13
|
-
|
|
14
|
-
this._breadcrumbs
|
|
15
|
-
|
|
16
|
-
this.breadcrumbs
|
|
13
|
+
this.destroyRef = inject(DestroyRef);
|
|
14
|
+
this._breadcrumbs = signal(this.buildFromSnapshot(), ...(ngDevMode ? [{ debugName: "_breadcrumbs" }] : []));
|
|
15
|
+
/** Readonly signal for consumers (components/templates) */
|
|
16
|
+
this.breadcrumbs = this._breadcrumbs.asReadonly();
|
|
17
|
+
// Keep it in sync after navigations
|
|
17
18
|
this.router.events
|
|
18
|
-
.pipe(
|
|
19
|
-
// Filter the NavigationEnd events as the breadcrumb is updated only when the route reaches its end
|
|
20
|
-
filter(event => event instanceof NavigationEnd))
|
|
19
|
+
.pipe(filter((e) => e instanceof NavigationEnd), takeUntilDestroyed(this.destroyRef))
|
|
21
20
|
.subscribe(() => {
|
|
22
|
-
|
|
23
|
-
const root = this.router.routerState.snapshot.root;
|
|
24
|
-
const breadcrumbs = [];
|
|
25
|
-
this.addBreadcrumb(root, [], breadcrumbs);
|
|
26
|
-
// Emit the new hierarchy
|
|
27
|
-
this._breadcrumbs$.next(breadcrumbs);
|
|
21
|
+
this._breadcrumbs.set(this.buildFromSnapshot());
|
|
28
22
|
});
|
|
29
23
|
}
|
|
24
|
+
buildFromSnapshot() {
|
|
25
|
+
const root = this.router.routerState.snapshot.root;
|
|
26
|
+
const breadcrumbs = [];
|
|
27
|
+
this.addBreadcrumb(root, [], breadcrumbs);
|
|
28
|
+
return breadcrumbs;
|
|
29
|
+
}
|
|
30
30
|
addBreadcrumb(route, parentUrl, breadcrumbs) {
|
|
31
|
-
if (route)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
breadcrumbs.push(breadcrumb);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
// Add another element for the next route part
|
|
51
|
-
this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
|
|
31
|
+
if (!route)
|
|
32
|
+
return;
|
|
33
|
+
const routeUrl = parentUrl.concat(route.url.map(u => u.path));
|
|
34
|
+
const navigationTitle = route.data?.['navigationTitle'];
|
|
35
|
+
if (navigationTitle) {
|
|
36
|
+
const url = '/' + routeUrl.join('/');
|
|
37
|
+
const breadcrumb = {
|
|
38
|
+
label: navigationTitle,
|
|
39
|
+
url,
|
|
40
|
+
translate: !!route.data?.['translate'],
|
|
41
|
+
};
|
|
42
|
+
const last = breadcrumbs[breadcrumbs.length - 1];
|
|
43
|
+
if (last && last.url === url)
|
|
44
|
+
breadcrumbs[breadcrumbs.length - 1] = breadcrumb;
|
|
45
|
+
else
|
|
46
|
+
breadcrumbs.push(breadcrumb);
|
|
52
47
|
}
|
|
48
|
+
this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
|
|
53
49
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
55
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
51
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatBreadcrumbService, providedIn: 'root' }); }
|
|
56
52
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatBreadcrumbService, decorators: [{
|
|
58
54
|
type: Injectable,
|
|
59
|
-
args: [{
|
|
60
|
-
providedIn: 'root',
|
|
61
|
-
}]
|
|
55
|
+
args: [{ providedIn: 'root' }]
|
|
62
56
|
}], ctorParameters: () => [] });
|
|
63
57
|
|
|
64
58
|
class OnemrvaMatBreadcrumbComponent {
|
|
@@ -67,33 +61,33 @@ class OnemrvaMatBreadcrumbComponent {
|
|
|
67
61
|
this.breadcrumbService = inject(OnemrvaMatBreadcrumbService);
|
|
68
62
|
effect(() => {
|
|
69
63
|
if (this.paths() && this.paths().length > 0) {
|
|
70
|
-
this.breadcrumbs
|
|
64
|
+
this.breadcrumbs = this.paths;
|
|
71
65
|
}
|
|
72
66
|
else {
|
|
73
|
-
this.breadcrumbs
|
|
67
|
+
this.breadcrumbs = this.breadcrumbService.breadcrumbs;
|
|
74
68
|
}
|
|
75
69
|
});
|
|
76
70
|
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: OnemrvaMatBreadcrumbComponent, isStandalone: true, selector: "onemrva-mat-breadcrumb", inputs: { paths: { classPropertyName: "paths", publicName: "paths", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n", styles: [".onemrva-mat-breadcrumb{display:flex;list-style:none;padding:0;align-items:baseline}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container{margin-right:8px}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container .chevron-right{margin:0 var(--spacer);font-family:var(--icon-font);content:\"\\e5e1\";line-height:1rem;font-size:1rem;vertical-align:middle;height:1rem;width:.25rem}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child) .onemrva-mat-breadcrumb-link{text-decoration:none;color:var(--mat-sys-primary);display:inline-block;font:var(--mat-sys-body-small-size)}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child):hover .onemrva-mat-breadcrumb-link{text-decoration:underline;color:var(--mat-sys-primary);cursor:pointer}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link{display:inline-block;text-decoration:none}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link:hover{cursor:default}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child:hover{cursor:default}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
79
73
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatBreadcrumbComponent, decorators: [{
|
|
81
75
|
type: Component,
|
|
82
|
-
args: [{ selector: 'onemrva-mat-breadcrumb', imports: [
|
|
76
|
+
args: [{ selector: 'onemrva-mat-breadcrumb', imports: [RouterLink, MatIcon, TranslatePipe], standalone: true, template: "@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n", styles: [".onemrva-mat-breadcrumb{display:flex;list-style:none;padding:0;align-items:baseline}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container{margin-right:8px}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container .chevron-right{margin:0 var(--spacer);font-family:var(--icon-font);content:\"\\e5e1\";line-height:1rem;font-size:1rem;vertical-align:middle;height:1rem;width:.25rem}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child) .onemrva-mat-breadcrumb-link{text-decoration:none;color:var(--mat-sys-primary);display:inline-block;font:var(--mat-sys-body-small-size)}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child):hover .onemrva-mat-breadcrumb-link{text-decoration:underline;color:var(--mat-sys-primary);cursor:pointer}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link{display:inline-block;text-decoration:none}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link:hover{cursor:default}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child:hover{cursor:default}\n"] }]
|
|
83
77
|
}], ctorParameters: () => [], propDecorators: { paths: [{ type: i0.Input, args: [{ isSignal: true, alias: "paths", required: false }] }] } });
|
|
84
78
|
|
|
85
79
|
class OnemrvaMatBreadcrumbModule {
|
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
87
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
80
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
81
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatBreadcrumbModule, imports: [CommonModule,
|
|
88
82
|
MatIconModule,
|
|
89
83
|
RouterModule,
|
|
90
84
|
OnemrvaMatBreadcrumbComponent] }); }
|
|
91
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
85
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatBreadcrumbModule, imports: [CommonModule,
|
|
92
86
|
MatIconModule,
|
|
93
87
|
RouterModule,
|
|
94
88
|
OnemrvaMatBreadcrumbComponent] }); }
|
|
95
89
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatBreadcrumbModule, decorators: [{
|
|
97
91
|
type: NgModule,
|
|
98
92
|
args: [{
|
|
99
93
|
declarations: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-breadcrumb.mjs","sources":["../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.html","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/index.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/onemrvapublic-design-system-mat-breadcrumb.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemrvaMatBreadcrumbService {\n private router = inject(Router);\n\n // Subject emitting the breadcrumb hierarchy\n private readonly _breadcrumbs$ = new BehaviorSubject<OnemrvaBreadcrumb[]>([]);\n\n // Observable exposing the breadcrumb hierarchy\n readonly breadcrumbs$ = this._breadcrumbs$.asObservable();\n\n constructor() {\n this.router.events\n .pipe(\n // Filter the NavigationEnd events as the breadcrumb is updated only when the route reaches its end\n filter(event => event instanceof NavigationEnd),\n )\n .subscribe(() => {\n // Construct the breadcrumb hierarchy\n const root = this.router.routerState.snapshot.root;\n const breadcrumbs: OnemrvaBreadcrumb[] = [];\n this.addBreadcrumb(root, [], breadcrumbs);\n\n // Emit the new hierarchy\n this._breadcrumbs$.next(breadcrumbs);\n });\n }\n\n private addBreadcrumb(\n route: ActivatedRouteSnapshot | null,\n parentUrl: string[],\n breadcrumbs: OnemrvaBreadcrumb[],\n ) {\n if (route) {\n // Construct the route URL\n const routeUrl = parentUrl.concat(route.url.map(url => url.path));\n\n // Add an element for the current route part\n if (route.data['navigationTitle']) {\n const url = '/' + routeUrl.join('/');\n const breadcrumb = {\n label: route.data['navigationTitle'],\n url,\n translate: route.data['translate'] ? route.data['translate'] : false,\n };\n\n if (\n breadcrumbs.length > 0 &&\n url === breadcrumbs[breadcrumbs.length - 1].url\n ) {\n breadcrumbs[breadcrumbs.length - 1] = breadcrumb;\n } else {\n breadcrumbs.push(breadcrumb);\n }\n }\n\n // Add another element for the next route part\n this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\n }\n }\n}\n","import { Component, effect, inject, input } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\nimport { OnemrvaMatBreadcrumbService } from './onemrva-mat-breadcrumb.service';\nimport { AsyncPipe, NgStyle } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'onemrva-mat-breadcrumb',\n templateUrl: 'onemrva-mat-breadcrumb.component.html',\n styleUrls: ['onemrva-mat-breadcrumb.component.scss'],\n imports: [NgStyle, RouterLink, MatIcon, AsyncPipe, TranslatePipe],\n standalone: true,\n})\nexport class OnemrvaMatBreadcrumbComponent {\n public paths = input<OnemrvaBreadcrumb[]>([]);\n\n breadcrumbs$!: Observable<OnemrvaBreadcrumb[]>;\n\n breadcrumbService = inject(OnemrvaMatBreadcrumbService);\n\n constructor() {\n effect(() => {\n if (this.paths() && this.paths().length > 0) {\n this.breadcrumbs$ = of(this.paths());\n } else {\n this.breadcrumbs$ = this.breadcrumbService.breadcrumbs$;\n }\n });\n }\n // ngOnInit(): void {\n // if (this.fakePath) {\n // this.breadcrumbs$ = of(\n // this.fakePath.map(path => ({\n // label: path,\n // url: path,\n // translate: false,\n // })),\n // );\n // } else {\n // this.breadcrumbs$ = this.breadcrumbService.breadcrumbs$;\n // }\n // }\n}\n","@if (breadcrumbs$ | async; as bc) {\n <ng-container>\n @if (bc.length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (breadcrumb of bc; track breadcrumb.label; let bridx = $index) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [ngStyle]=\"{\n display: bc.length <= 6 || bridx <= 2 ? 'list-item' : 'none',\n }\"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < bc.length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (bc.length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (bc[bc.length - 1].url) {\n <div\n [routerLink]=\"bc[bc.length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ bc[bc.length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ bc[bc.length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport { OnemrvaMatBreadcrumbComponent } from './onemrva-mat-breadcrumb.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n OnemrvaMatBreadcrumbComponent,\n ],\n exports: [],\n})\nexport class OnemrvaMatBreadcrumbModule {}\n","/*\n * Public API Surface of mat-breadcrumb\n */\n\nexport * from './src/onemrva-mat-breadcrumb.component';\nexport * from './src/onemrva-mat-breadcrumb.module';\nexport * from './src/onemrva-mat-breadcrumb.model';\nexport * from './src/onemrva-mat-breadcrumb.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-breadcrumb.mjs","sources":["../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.html","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/index.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/onemrvapublic-design-system-mat-breadcrumb.ts"],"sourcesContent":["import { DestroyRef, Injectable, Signal, inject, signal } from '@angular/core';\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\n\n@Injectable({ providedIn: 'root' })\nexport class OnemrvaMatBreadcrumbService {\n private readonly router = inject(Router);\n private readonly destroyRef = inject(DestroyRef);\n\n private readonly _breadcrumbs = signal<OnemrvaBreadcrumb[]>(\n this.buildFromSnapshot(),\n );\n\n /** Readonly signal for consumers (components/templates) */\n readonly breadcrumbs: Signal<OnemrvaBreadcrumb[]> =\n this._breadcrumbs.asReadonly();\n\n constructor() {\n // Keep it in sync after navigations\n this.router.events\n .pipe(\n filter((e): e is NavigationEnd => e instanceof NavigationEnd),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this._breadcrumbs.set(this.buildFromSnapshot());\n });\n }\n\n private buildFromSnapshot(): OnemrvaBreadcrumb[] {\n const root = this.router.routerState.snapshot.root;\n const breadcrumbs: OnemrvaBreadcrumb[] = [];\n this.addBreadcrumb(root, [], breadcrumbs);\n return breadcrumbs;\n }\n\n private addBreadcrumb(\n route: ActivatedRouteSnapshot | null,\n parentUrl: string[],\n breadcrumbs: OnemrvaBreadcrumb[],\n ): void {\n if (!route) return;\n\n const routeUrl = parentUrl.concat(route.url.map(u => u.path));\n\n const navigationTitle = route.data?.['navigationTitle'];\n if (navigationTitle) {\n const url = '/' + routeUrl.join('/');\n\n const breadcrumb: OnemrvaBreadcrumb = {\n label: navigationTitle,\n url,\n translate: !!route.data?.['translate'],\n };\n\n const last = breadcrumbs[breadcrumbs.length - 1];\n if (last && last.url === url)\n breadcrumbs[breadcrumbs.length - 1] = breadcrumb;\n else breadcrumbs.push(breadcrumb);\n }\n\n this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\n }\n}\n","import { Component, effect, inject, input, Signal } from '@angular/core';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\nimport { OnemrvaMatBreadcrumbService } from './onemrva-mat-breadcrumb.service';\nimport { RouterLink } from '@angular/router';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'onemrva-mat-breadcrumb',\n templateUrl: 'onemrva-mat-breadcrumb.component.html',\n styleUrls: ['onemrva-mat-breadcrumb.component.scss'],\n imports: [RouterLink, MatIcon, TranslatePipe],\n standalone: true,\n})\nexport class OnemrvaMatBreadcrumbComponent {\n public paths = input<OnemrvaBreadcrumb[]>([]);\n\n breadcrumbs!: Signal<OnemrvaBreadcrumb[]>;\n\n breadcrumbService = inject(OnemrvaMatBreadcrumbService);\n\n constructor() {\n effect(() => {\n if (this.paths() && this.paths().length > 0) {\n this.breadcrumbs = this.paths;\n } else {\n this.breadcrumbs = this.breadcrumbService.breadcrumbs;\n }\n });\n }\n}\n","@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport { OnemrvaMatBreadcrumbComponent } from './onemrva-mat-breadcrumb.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n OnemrvaMatBreadcrumbComponent,\n ],\n exports: [],\n})\nexport class OnemrvaMatBreadcrumbModule {}\n","/*\n * Public API Surface of mat-breadcrumb\n */\n\nexport * from './src/onemrva-mat-breadcrumb.component';\nexport * from './src/onemrva-mat-breadcrumb.module';\nexport * from './src/onemrva-mat-breadcrumb.model';\nexport * from './src/onemrva-mat-breadcrumb.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +1,43 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { viewChild, TemplateRef, signal, inject, ElementRef, Component, contentChildren, input, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { NgStyle } from '@angular/common';
|
|
5
4
|
import { AnimationBuilder, animate, style, trigger, transition } from '@angular/animations';
|
|
6
|
-
import * as
|
|
5
|
+
import * as i1 from '@angular/material/button';
|
|
7
6
|
import { MatButtonModule } from '@angular/material/button';
|
|
8
|
-
import * as
|
|
7
|
+
import * as i2 from '@angular/material/icon';
|
|
9
8
|
import { MatIconModule } from '@angular/material/icon';
|
|
10
|
-
import * as
|
|
9
|
+
import * as i3 from '@ngx-translate/core';
|
|
11
10
|
import { TranslateModule } from '@ngx-translate/core';
|
|
12
11
|
import { Subject, interval, takeUntil } from 'rxjs';
|
|
13
12
|
import { MatTooltip } from '@angular/material/tooltip';
|
|
14
13
|
|
|
15
14
|
class OnemrvaMatCarouselItemComponent {
|
|
16
15
|
constructor() {
|
|
16
|
+
this.tpl = viewChild.required(TemplateRef);
|
|
17
|
+
this.show = signal(false, ...(ngDevMode ? [{ debugName: "show" }] : []));
|
|
17
18
|
this.element = inject(ElementRef);
|
|
18
|
-
this.show = false;
|
|
19
19
|
this.nativeElement = this.element.nativeElement;
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatCarouselItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: OnemrvaMatCarouselItemComponent, isStandalone: true, selector: "onemrva-mat-carousel-item", host: { properties: { "class.show": "show()" } }, viewQueries: [{ propertyName: "tpl", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n", styles: [":host{vertical-align:top;position:relative;display:inline-block;opacity:1;transition:opacity .5s ease-in-out}:host.semiTransparent{opacity:.3}\n"] }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatCarouselItemComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
|
-
args: [{ selector: 'onemrva-mat-carousel-item', standalone: true, imports: [],
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}], show: [{
|
|
31
|
-
type: HostBinding,
|
|
32
|
-
args: ['class.show']
|
|
33
|
-
}] } });
|
|
26
|
+
args: [{ selector: 'onemrva-mat-carousel-item', standalone: true, imports: [], host: {
|
|
27
|
+
'[class.show]': 'show()',
|
|
28
|
+
}, template: "<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n", styles: [":host{vertical-align:top;position:relative;display:inline-block;opacity:1;transition:opacity .5s ease-in-out}:host.semiTransparent{opacity:.3}\n"] }]
|
|
29
|
+
}], ctorParameters: () => [], propDecorators: { tpl: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
34
30
|
|
|
35
31
|
class OnemrvaMatCarouselComponent {
|
|
36
32
|
constructor() {
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
42
|
-
this.
|
|
33
|
+
this.items = contentChildren(OnemrvaMatCarouselItemComponent, ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
34
|
+
this.carousel = viewChild.required('carouselWrapper');
|
|
35
|
+
this.timing = input('250ms ease-in', ...(ngDevMode ? [{ debugName: "timing" }] : []));
|
|
36
|
+
this.gap = input(32, ...(ngDevMode ? [{ debugName: "gap" }] : []));
|
|
37
|
+
this.padding = input(64, ...(ngDevMode ? [{ debugName: "padding" }] : []));
|
|
38
|
+
this.showControls = input(true, ...(ngDevMode ? [{ debugName: "showControls" }] : []));
|
|
39
|
+
this.autoplay = input(0, ...(ngDevMode ? [{ debugName: "autoplay" }] : []));
|
|
40
|
+
this.showDots = input(true, ...(ngDevMode ? [{ debugName: "showDots" }] : []));
|
|
43
41
|
this.currentSlide = 0;
|
|
44
42
|
this.carouselWrapperStyle = {};
|
|
45
43
|
this.width = 0;
|
|
@@ -50,8 +48,8 @@ class OnemrvaMatCarouselComponent {
|
|
|
50
48
|
this.nativeElement = this.element.nativeElement;
|
|
51
49
|
}
|
|
52
50
|
ngOnInit() {
|
|
53
|
-
if (this.autoplay > 0) {
|
|
54
|
-
interval(this.autoplay)
|
|
51
|
+
if (this.autoplay() > 0) {
|
|
52
|
+
interval(this.autoplay())
|
|
55
53
|
.pipe(takeUntil(this.destroyed))
|
|
56
54
|
.subscribe(_i => {
|
|
57
55
|
this.next();
|
|
@@ -63,21 +61,21 @@ class OnemrvaMatCarouselComponent {
|
|
|
63
61
|
this.destroyed.complete();
|
|
64
62
|
}
|
|
65
63
|
onResize(_event) {
|
|
66
|
-
this.width = this.nativeElement.offsetWidth - 2 * this.padding;
|
|
67
|
-
this.items.forEach(item => {
|
|
64
|
+
this.width = this.nativeElement.offsetWidth - 2 * this.padding();
|
|
65
|
+
this.items().forEach(item => {
|
|
68
66
|
this.renderer.setStyle(item.nativeElement, 'width', `${this.width}px`);
|
|
69
|
-
this.renderer.setStyle(item.nativeElement, 'margin-right', `${this.gap}px`);
|
|
67
|
+
this.renderer.setStyle(item.nativeElement, 'margin-right', `${this.gap()}px`);
|
|
70
68
|
this.animate();
|
|
71
69
|
});
|
|
72
70
|
this.resize();
|
|
73
71
|
}
|
|
74
72
|
buildAnimation(offset) {
|
|
75
73
|
return this.builder.build([
|
|
76
|
-
animate(this.timing, style({ transform: `translateX(-${offset}px)` })),
|
|
74
|
+
animate(this.timing(), style({ transform: `translateX(-${offset}px)` })),
|
|
77
75
|
]);
|
|
78
76
|
}
|
|
79
77
|
goto(index) {
|
|
80
|
-
if (index >= 0 && index < this.items.length) {
|
|
78
|
+
if (index >= 0 && index < this.items().length) {
|
|
81
79
|
this.currentSlide = index;
|
|
82
80
|
this.animate();
|
|
83
81
|
this.opacify();
|
|
@@ -85,7 +83,7 @@ class OnemrvaMatCarouselComponent {
|
|
|
85
83
|
}
|
|
86
84
|
next() {
|
|
87
85
|
//if( this.currentSlide + 1 === this.items.length ) return;
|
|
88
|
-
this.currentSlide = (this.currentSlide + 1) % this.items.length;
|
|
86
|
+
this.currentSlide = (this.currentSlide + 1) % this.items().length;
|
|
89
87
|
this.currentSlide = isNaN(this.currentSlide) ? 1 : this.currentSlide;
|
|
90
88
|
this.animate();
|
|
91
89
|
this.opacify();
|
|
@@ -94,14 +92,14 @@ class OnemrvaMatCarouselComponent {
|
|
|
94
92
|
if (this.currentSlide === 0)
|
|
95
93
|
return;
|
|
96
94
|
this.currentSlide =
|
|
97
|
-
(this.currentSlide - 1 + this.items.length) % this.items.length;
|
|
95
|
+
(this.currentSlide - 1 + this.items().length) % this.items().length;
|
|
98
96
|
this.animate();
|
|
99
97
|
this.opacify();
|
|
100
98
|
}
|
|
101
99
|
animate() {
|
|
102
|
-
const offset = this.currentSlide * (this.width + this.gap);
|
|
100
|
+
const offset = this.currentSlide * (this.width + this.gap());
|
|
103
101
|
const myAnimation = this.buildAnimation(offset);
|
|
104
|
-
this.player = myAnimation.create(this.carousel.nativeElement);
|
|
102
|
+
this.player = myAnimation.create(this.carousel().nativeElement);
|
|
105
103
|
this.player.play();
|
|
106
104
|
}
|
|
107
105
|
ngAfterViewInit() {
|
|
@@ -112,15 +110,15 @@ class OnemrvaMatCarouselComponent {
|
|
|
112
110
|
this.opacify();
|
|
113
111
|
}
|
|
114
112
|
hasPrev() {
|
|
115
|
-
return this.items.length > 0 && this.showControls && this.currentSlide > 0;
|
|
113
|
+
return (this.items().length > 0 && this.showControls() && this.currentSlide > 0);
|
|
116
114
|
}
|
|
117
115
|
hasNext() {
|
|
118
|
-
return (this.items.length > 0 &&
|
|
119
|
-
this.showControls &&
|
|
120
|
-
this.currentSlide < this.items.length - 1);
|
|
116
|
+
return (this.items().length > 0 &&
|
|
117
|
+
this.showControls() &&
|
|
118
|
+
this.currentSlide < this.items().length - 1);
|
|
121
119
|
}
|
|
122
120
|
opacify() {
|
|
123
|
-
this.items.forEach((item, index) => {
|
|
121
|
+
this.items().forEach((item, index) => {
|
|
124
122
|
if (index !== this.currentSlide) {
|
|
125
123
|
item.nativeElement.className = 'semiTransparent';
|
|
126
124
|
}
|
|
@@ -131,20 +129,20 @@ class OnemrvaMatCarouselComponent {
|
|
|
131
129
|
}
|
|
132
130
|
resize() {
|
|
133
131
|
let biggest = 80;
|
|
134
|
-
this.items.forEach(item => {
|
|
132
|
+
this.items().forEach(item => {
|
|
135
133
|
item.nativeElement.style.height = 'auto';
|
|
136
134
|
});
|
|
137
|
-
this.items.forEach(item => {
|
|
135
|
+
this.items().forEach(item => {
|
|
138
136
|
if (item.nativeElement.offsetHeight > biggest) {
|
|
139
137
|
biggest = item.nativeElement.offsetHeight;
|
|
140
138
|
}
|
|
141
139
|
});
|
|
142
|
-
this.items.forEach(item => {
|
|
140
|
+
this.items().forEach(item => {
|
|
143
141
|
item.nativeElement.style.height = biggest + 'px';
|
|
144
142
|
});
|
|
145
143
|
}
|
|
146
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
147
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: OnemrvaMatCarouselComponent, isStandalone: true, selector: "onemrva-mat-carousel", inputs: { timing: { classPropertyName: "timing", publicName: "timing", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, showControls: { classPropertyName: "showControls", publicName: "showControls", isSignal: true, isRequired: false, transformFunction: null }, autoplay: { classPropertyName: "autoplay", publicName: "autoplay", isSignal: true, isRequired: false, transformFunction: null }, showDots: { classPropertyName: "showDots", publicName: "showDots", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)" } }, queries: [{ propertyName: "items", predicate: OnemrvaMatCarouselItemComponent, isSignal: true }], viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carouselWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (hasPrev()) {\n <button\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'carousel.next' | translate\"\n class=\"controls next\"\n >\n <mat-icon class=\"large\">chevron_right</mat-icon>\n </button>\n}\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content />\n</section>\n\n@if (showDots()) {\n <div class=\"dots\">\n @for (item of items(); track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\n", styles: [":host{position:relative;display:block;width:calc(100% - 128px);overflow:hidden;padding:0 calc(var(--spacer) * 8)}:host .carousel-wrapper{display:block;width:60000px;position:relative;overflow:hidden;margin:0;padding:0}:host .controls{position:absolute;top:calc(50% - 2rem);z-index:6}:host .controls.next{float:right;right:2rem}:host .controls.previous{float:left;left:2rem}:host .dots{text-align:center;margin-top:var(--spacer)}:host .dots .dot{cursor:pointer;width:.75rem;height:.75rem;margin:var(--spacer);background-color:var(--mat-sys-outline-variant);border-radius:50%;display:inline-block;transition:background-color .6s ease}:host .dots .dot.active{background-color:var(--mat-sys-primary)}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: [
|
|
148
146
|
trigger('inOutAnimation', [
|
|
149
147
|
transition(':enter', [
|
|
150
148
|
style({ opacity: 0 }),
|
|
@@ -157,15 +155,17 @@ class OnemrvaMatCarouselComponent {
|
|
|
157
155
|
]),
|
|
158
156
|
] }); }
|
|
159
157
|
}
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatCarouselComponent, decorators: [{
|
|
161
159
|
type: Component,
|
|
162
160
|
args: [{ selector: 'onemrva-mat-carousel', standalone: true, imports: [
|
|
163
|
-
CommonModule,
|
|
164
161
|
MatButtonModule,
|
|
165
162
|
MatIconModule,
|
|
166
163
|
TranslateModule,
|
|
167
164
|
MatTooltip,
|
|
168
|
-
|
|
165
|
+
NgStyle,
|
|
166
|
+
], encapsulation: ViewEncapsulation.Emulated, host: {
|
|
167
|
+
'(window:resize)': 'onResize($event)',
|
|
168
|
+
}, animations: [
|
|
169
169
|
trigger('inOutAnimation', [
|
|
170
170
|
transition(':enter', [
|
|
171
171
|
style({ opacity: 0 }),
|
|
@@ -176,29 +176,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
176
176
|
animate('1000ms ease-in', style({ opacity: 0 })),
|
|
177
177
|
]),
|
|
178
178
|
]),
|
|
179
|
-
], template: "@if (hasPrev()) {\n <button\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'carousel.next' | translate\"\n class=\"controls next\"\n >\n <mat-icon class=\"large\">chevron_right</mat-icon>\n </button>\n}\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content
|
|
180
|
-
}], ctorParameters: () => [], propDecorators: { items: [{
|
|
181
|
-
type: ContentChildren,
|
|
182
|
-
args: [OnemrvaMatCarouselItemComponent]
|
|
183
|
-
}], carousel: [{
|
|
184
|
-
type: ViewChild,
|
|
185
|
-
args: ['carouselWrapper']
|
|
186
|
-
}], timing: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], gap: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], padding: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], showControls: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], autoplay: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], showDots: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], onResize: [{
|
|
199
|
-
type: HostListener,
|
|
200
|
-
args: ['window:resize', ['$event']]
|
|
201
|
-
}] } });
|
|
179
|
+
], template: "@if (hasPrev()) {\n <button\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'carousel.next' | translate\"\n class=\"controls next\"\n >\n <mat-icon class=\"large\">chevron_right</mat-icon>\n </button>\n}\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content />\n</section>\n\n@if (showDots()) {\n <div class=\"dots\">\n @for (item of items(); track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\n", styles: [":host{position:relative;display:block;width:calc(100% - 128px);overflow:hidden;padding:0 calc(var(--spacer) * 8)}:host .carousel-wrapper{display:block;width:60000px;position:relative;overflow:hidden;margin:0;padding:0}:host .controls{position:absolute;top:calc(50% - 2rem);z-index:6}:host .controls.next{float:right;right:2rem}:host .controls.previous{float:left;left:2rem}:host .dots{text-align:center;margin-top:var(--spacer)}:host .dots .dot{cursor:pointer;width:.75rem;height:.75rem;margin:var(--spacer);background-color:var(--mat-sys-outline-variant);border-radius:50%;display:inline-block;transition:background-color .6s ease}:host .dots .dot.active{background-color:var(--mat-sys-primary)}\n"] }]
|
|
180
|
+
}], ctorParameters: () => [], propDecorators: { items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => OnemrvaMatCarouselItemComponent), { isSignal: true }] }], carousel: [{ type: i0.ViewChild, args: ['carouselWrapper', { isSignal: true }] }], timing: [{ type: i0.Input, args: [{ isSignal: true, alias: "timing", required: false }] }], gap: [{ type: i0.Input, args: [{ isSignal: true, alias: "gap", required: false }] }], padding: [{ type: i0.Input, args: [{ isSignal: true, alias: "padding", required: false }] }], showControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "showControls", required: false }] }], autoplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoplay", required: false }] }], showDots: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDots", required: false }] }] } });
|
|
202
181
|
|
|
203
182
|
/**
|
|
204
183
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-carousel.mjs","sources":["../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.html","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.html","../../../../projects/onemrva/design-system/mat-carousel/onemrvapublic-design-system-mat-carousel.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n HostBinding,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-mat-carousel-item',\n standalone: true,\n imports: [],\n templateUrl: './onemrva-mat-carousel-item.component.html',\n styleUrl: './onemrva-mat-carousel-item.component.scss',\n})\nexport class OnemrvaMatCarouselItemComponent {\n @ViewChild(TemplateRef) tpl!: TemplateRef<any>;\n\n public nativeElement: HTMLElement;\n\n element: ElementRef = inject(ElementRef);\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n\n @HostBinding('class.show')\n public show = false;\n}\n","<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n inject,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OnemrvaMatCarouselItemComponent } from './mat-carousel-item/onemrva-mat-carousel-item.component';\nimport {\n animate,\n AnimationBuilder,\n AnimationFactory,\n AnimationPlayer,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { interval, Subject, takeUntil } from 'rxjs';\nimport { MatTooltip } from '@angular/material/tooltip';\n\n@Component({\n selector: 'onemrva-mat-carousel',\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n TranslateModule,\n MatTooltip,\n ],\n templateUrl: './onemrva-mat-carousel.component.html',\n styleUrl: './onemrva-mat-carousel.component.scss',\n encapsulation: ViewEncapsulation.Emulated,\n animations: [\n trigger('inOutAnimation', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('1000ms ease-out', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n style({ opacity: 1 }),\n animate('1000ms ease-in', style({ opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class OnemrvaMatCarouselComponent\n implements AfterViewInit, OnInit, OnDestroy\n{\n @ContentChildren(OnemrvaMatCarouselItemComponent)\n items!: QueryList<OnemrvaMatCarouselItemComponent>;\n\n nativeElement: HTMLElement;\n\n @ViewChild('carouselWrapper')\n carousel!: ElementRef;\n\n private player?: AnimationPlayer;\n\n @Input() timing = '250ms ease-in';\n @Input() gap = 32;\n @Input() padding = 64;\n @Input() showControls = true;\n @Input() autoplay = 0;\n @Input() showDots = true;\n\n public currentSlide = 0;\n carouselWrapperStyle = {};\n\n width = 0;\n destroyed: Subject<any> = new Subject<any>();\n\n builder: AnimationBuilder = inject(AnimationBuilder);\n element: ElementRef = inject(ElementRef);\n renderer: Renderer2 = inject(Renderer2);\n\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n\n ngOnInit() {\n if (this.autoplay > 0) {\n interval(this.autoplay)\n .pipe(takeUntil(this.destroyed))\n .subscribe(_i => {\n this.next();\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(_event: any) {\n this.width = this.nativeElement.offsetWidth - 2 * this.padding;\n this.items.forEach(item => {\n this.renderer.setStyle(item.nativeElement, 'width', `${this.width}px`);\n this.renderer.setStyle(\n item.nativeElement,\n 'margin-right',\n `${this.gap}px`,\n );\n this.animate();\n });\n this.resize();\n }\n\n buildAnimation(offset: number) {\n return this.builder.build([\n animate(this.timing, style({ transform: `translateX(-${offset}px)` })),\n ]);\n }\n\n goto(index: number) {\n if (index >= 0 && index < this.items.length) {\n this.currentSlide = index;\n this.animate();\n this.opacify();\n }\n }\n\n next() {\n //if( this.currentSlide + 1 === this.items.length ) return;\n this.currentSlide = (this.currentSlide + 1) % this.items.length;\n this.currentSlide = isNaN(this.currentSlide) ? 1 : this.currentSlide;\n\n this.animate();\n this.opacify();\n }\n\n prev() {\n if (this.currentSlide === 0) return;\n this.currentSlide =\n (this.currentSlide - 1 + this.items.length) % this.items.length;\n this.animate();\n this.opacify();\n }\n\n animate() {\n const offset = this.currentSlide * (this.width + this.gap);\n const myAnimation: AnimationFactory = this.buildAnimation(offset);\n this.player = myAnimation.create(this.carousel.nativeElement);\n this.player.play();\n }\n\n ngAfterViewInit() {\n this.width = this.nativeElement.offsetWidth;\n setTimeout(() => {\n this.onResize(null);\n }, 10);\n this.opacify();\n }\n\n hasPrev() {\n return this.items.length > 0 && this.showControls && this.currentSlide > 0;\n }\n\n hasNext() {\n return (\n this.items.length > 0 &&\n this.showControls &&\n this.currentSlide < this.items.length - 1\n );\n }\n\n opacify() {\n this.items.forEach((item, index) => {\n if (index !== this.currentSlide) {\n item.nativeElement.className = 'semiTransparent';\n } else {\n item.nativeElement.className = '';\n }\n });\n }\n resize() {\n let biggest = 80;\n\n this.items.forEach(item => {\n item.nativeElement.style.height = 'auto';\n });\n this.items.forEach(item => {\n if (item.nativeElement.offsetHeight > biggest) {\n biggest = item.nativeElement.offsetHeight;\n }\n });\n this.items.forEach(item => {\n item.nativeElement.style.height = biggest + 'px';\n });\n }\n}\n","@if (hasPrev()) {\n <button\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'carousel.next' | translate\"\n class=\"controls next\"\n >\n <mat-icon class=\"large\">chevron_right</mat-icon>\n </button>\n}\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content></ng-content>\n</section>\n\n@if (showDots) {\n <div class=\"dots\">\n @for (item of items; track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items.length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items.length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-carousel.mjs","sources":["../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.html","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.html","../../../../projects/onemrva/design-system/mat-carousel/onemrvapublic-design-system-mat-carousel.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n TemplateRef,\n inject,\n viewChild,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-mat-carousel-item',\n standalone: true,\n imports: [],\n templateUrl: './onemrva-mat-carousel-item.component.html',\n styleUrl: './onemrva-mat-carousel-item.component.scss',\n host: {\n '[class.show]': 'show()',\n },\n})\nexport class OnemrvaMatCarouselItemComponent {\n readonly tpl = viewChild.required(TemplateRef);\n\n public nativeElement: HTMLElement;\n\n readonly show = signal(false);\n\n element: ElementRef = inject(ElementRef);\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n}\n","<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n inject,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n input,\n contentChildren,\n viewChild,\n} from '@angular/core';\nimport { NgStyle } from '@angular/common';\nimport { OnemrvaMatCarouselItemComponent } from './mat-carousel-item/onemrva-mat-carousel-item.component';\nimport {\n animate,\n AnimationBuilder,\n AnimationFactory,\n AnimationPlayer,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { interval, Subject, takeUntil } from 'rxjs';\nimport { MatTooltip } from '@angular/material/tooltip';\n\n@Component({\n selector: 'onemrva-mat-carousel',\n standalone: true,\n imports: [\n MatButtonModule,\n MatIconModule,\n TranslateModule,\n MatTooltip,\n NgStyle,\n ],\n templateUrl: './onemrva-mat-carousel.component.html',\n styleUrl: './onemrva-mat-carousel.component.scss',\n encapsulation: ViewEncapsulation.Emulated,\n host: {\n '(window:resize)': 'onResize($event)',\n },\n animations: [\n trigger('inOutAnimation', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('1000ms ease-out', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n style({ opacity: 1 }),\n animate('1000ms ease-in', style({ opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class OnemrvaMatCarouselComponent\n implements AfterViewInit, OnInit, OnDestroy\n{\n readonly items = contentChildren(OnemrvaMatCarouselItemComponent);\n\n nativeElement: HTMLElement;\n\n readonly carousel = viewChild.required<ElementRef>('carouselWrapper');\n\n private player?: AnimationPlayer;\n\n readonly timing = input('250ms ease-in');\n readonly gap = input(32);\n readonly padding = input(64);\n readonly showControls = input(true);\n readonly autoplay = input(0);\n readonly showDots = input(true);\n\n public currentSlide = 0;\n carouselWrapperStyle = {};\n\n width = 0;\n destroyed: Subject<any> = new Subject<any>();\n\n builder: AnimationBuilder = inject(AnimationBuilder);\n element: ElementRef = inject(ElementRef);\n renderer: Renderer2 = inject(Renderer2);\n\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n\n ngOnInit() {\n if (this.autoplay() > 0) {\n interval(this.autoplay())\n .pipe(takeUntil(this.destroyed))\n .subscribe(_i => {\n this.next();\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n\n onResize(_event: any) {\n this.width = this.nativeElement.offsetWidth - 2 * this.padding();\n this.items().forEach(item => {\n this.renderer.setStyle(item.nativeElement, 'width', `${this.width}px`);\n this.renderer.setStyle(\n item.nativeElement,\n 'margin-right',\n `${this.gap()}px`,\n );\n this.animate();\n });\n this.resize();\n }\n\n buildAnimation(offset: number) {\n return this.builder.build([\n animate(this.timing(), style({ transform: `translateX(-${offset}px)` })),\n ]);\n }\n\n goto(index: number) {\n if (index >= 0 && index < this.items().length) {\n this.currentSlide = index;\n this.animate();\n this.opacify();\n }\n }\n\n next() {\n //if( this.currentSlide + 1 === this.items.length ) return;\n this.currentSlide = (this.currentSlide + 1) % this.items().length;\n this.currentSlide = isNaN(this.currentSlide) ? 1 : this.currentSlide;\n\n this.animate();\n this.opacify();\n }\n\n prev() {\n if (this.currentSlide === 0) return;\n this.currentSlide =\n (this.currentSlide - 1 + this.items().length) % this.items().length;\n this.animate();\n this.opacify();\n }\n\n animate() {\n const offset = this.currentSlide * (this.width + this.gap());\n const myAnimation: AnimationFactory = this.buildAnimation(offset);\n this.player = myAnimation.create(this.carousel().nativeElement);\n this.player.play();\n }\n\n ngAfterViewInit() {\n this.width = this.nativeElement.offsetWidth;\n setTimeout(() => {\n this.onResize(null);\n }, 10);\n this.opacify();\n }\n\n hasPrev() {\n return (\n this.items().length > 0 && this.showControls() && this.currentSlide > 0\n );\n }\n\n hasNext() {\n return (\n this.items().length > 0 &&\n this.showControls() &&\n this.currentSlide < this.items().length - 1\n );\n }\n\n opacify() {\n this.items().forEach((item, index) => {\n if (index !== this.currentSlide) {\n item.nativeElement.className = 'semiTransparent';\n } else {\n item.nativeElement.className = '';\n }\n });\n }\n resize() {\n let biggest = 80;\n\n this.items().forEach(item => {\n item.nativeElement.style.height = 'auto';\n });\n this.items().forEach(item => {\n if (item.nativeElement.offsetHeight > biggest) {\n biggest = item.nativeElement.offsetHeight;\n }\n });\n this.items().forEach(item => {\n item.nativeElement.style.height = biggest + 'px';\n });\n }\n}\n","@if (hasPrev()) {\n <button\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'carousel.next' | translate\"\n class=\"controls next\"\n >\n <mat-icon class=\"large\">chevron_right</mat-icon>\n </button>\n}\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content />\n</section>\n\n@if (showDots()) {\n <div class=\"dots\">\n @for (item of items(); track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|