@rxap/layout 16.0.0-dev.2 → 16.0.0-dev.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +442 -0
  2. package/LICENSE +621 -21
  3. package/LICENSE.md +621 -0
  4. package/README.md +7 -22
  5. package/esm2022/index.mjs +5 -6
  6. package/esm2022/lib/app-url.service.mjs +64 -0
  7. package/esm2022/lib/footer/footer.component.mjs +10 -41
  8. package/esm2022/lib/footer.directive.mjs +21 -22
  9. package/esm2022/lib/header/apps-button/apps-button.component.mjs +40 -120
  10. package/esm2022/lib/header/header.component.mjs +64 -141
  11. package/esm2022/lib/header/language-selector/language-selector.component.mjs +22 -115
  12. package/esm2022/lib/header/navigation-progress-bar/navigation-progress-bar.component.mjs +19 -24
  13. package/esm2022/lib/header/reset-button/reset-button.component.mjs +12 -19
  14. package/esm2022/lib/header/settings-button/settings-button.component.mjs +46 -0
  15. package/esm2022/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.mjs +16 -39
  16. package/esm2022/lib/header/sign-out/sign-out.component.mjs +17 -28
  17. package/esm2022/lib/header/user-profile-icon/user-profile-icon.component.mjs +32 -117
  18. package/esm2022/lib/i18n-check.guard.mjs +30 -0
  19. package/esm2022/lib/i18n.service.mjs +36 -0
  20. package/esm2022/lib/language-selector.service.mjs +34 -0
  21. package/esm2022/lib/layout/layout.component.mjs +61 -91
  22. package/esm2022/lib/layout/layout.component.service.mjs +21 -22
  23. package/esm2022/lib/navigation/navigation-item/navigation-item.component.mjs +116 -264
  24. package/esm2022/lib/navigation/navigation-item.mjs +4 -4
  25. package/esm2022/lib/navigation/navigation.component.mjs +46 -106
  26. package/esm2022/lib/navigation/navigation.service.mjs +28 -27
  27. package/esm2022/lib/navigation/replace-router-paths.service.mjs +9 -10
  28. package/esm2022/lib/sidenav/sidenav-footer.directive.mjs +15 -16
  29. package/esm2022/lib/sidenav/sidenav-header.directive.mjs +15 -16
  30. package/esm2022/lib/sidenav/sidenav.component.mjs +29 -121
  31. package/esm2022/lib/sidenav/sidenav.component.service.mjs +8 -9
  32. package/esm2022/lib/sidenav/version/version.component.mjs +14 -48
  33. package/esm2022/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.mjs +15 -38
  34. package/esm2022/lib/tokens.mjs +1 -1
  35. package/esm2022/lib/types.mjs +1 -1
  36. package/esm2022/lib/window-container-sidenav/window-container-sidenav.component.mjs +14 -33
  37. package/esm2022/rxap-layout.mjs +1 -1
  38. package/fesm2022/rxap-layout.mjs +824 -1534
  39. package/fesm2022/rxap-layout.mjs.map +1 -1
  40. package/index.d.ts +4 -3
  41. package/lib/app-url.service.d.ts +26 -0
  42. package/lib/footer.directive.d.ts +1 -1
  43. package/lib/header/apps-button/apps-button.component.d.ts +12 -20
  44. package/lib/header/header.component.d.ts +7 -12
  45. package/lib/header/language-selector/language-selector.component.d.ts +1 -16
  46. package/lib/header/settings-button/settings-button.component.d.ts +19 -0
  47. package/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.d.ts +1 -1
  48. package/lib/header/sign-out/sign-out.component.d.ts +4 -4
  49. package/lib/header/user-profile-icon/user-profile-icon.component.d.ts +11 -7
  50. package/lib/i18n-check.guard.d.ts +11 -0
  51. package/lib/i18n.service.d.ts +12 -0
  52. package/lib/language-selector.service.d.ts +15 -0
  53. package/lib/layout/layout.component.d.ts +9 -4
  54. package/lib/navigation/navigation-item/navigation-item.component.d.ts +11 -18
  55. package/lib/navigation/navigation-item.d.ts +1 -1
  56. package/lib/navigation/navigation.component.d.ts +6 -6
  57. package/lib/navigation/navigation.service.d.ts +1 -1
  58. package/lib/sidenav/version/version.component.d.ts +2 -2
  59. package/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.d.ts +2 -4
  60. package/lib/types.d.ts +3 -2
  61. package/lib/window-container-sidenav/window-container-sidenav.component.d.ts +1 -1
  62. package/package.json +101 -66
  63. package/theme.css +1 -0
  64. package/collection.json +0 -10
  65. package/esm2022/lib/layout/layout.component.module.mjs +0 -32
  66. package/esm2022/lib/sidenav-content/sidenav-content.component.mjs +0 -46
  67. package/esm2022/lib/sidenav-content/sidenav-content.component.service.mjs +0 -37
  68. package/lib/layout/layout.component.module.d.ts +0 -10
  69. package/lib/sidenav-content/sidenav-content.component.d.ts +0 -12
  70. package/lib/sidenav-content/sidenav-content.component.service.d.ts +0 -15
  71. package/migration.json +0 -4
  72. package/src/schematics/ng-add/index.d.ts +0 -2
  73. package/src/schematics/ng-add/index.js +0 -8
  74. package/src/schematics/ng-add/index.js.map +0 -1
  75. package/src/schematics/ng-add/schema.json +0 -7
@@ -1,73 +1,37 @@
1
- import { Component, ChangeDetectionStrategy, Input, Optional, Inject } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import { tap, map } from 'rxjs/operators';
1
+ import { AsyncPipe, NgClass, NgIf, } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Inject, Input, Optional, } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatOptionModule, } from '@angular/material/core';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatMenuModule } from '@angular/material/menu';
9
+ import { MatSelectModule } from '@angular/material/select';
4
10
  import { MatSidenav } from '@angular/material/sidenav';
5
- import { UserService } from '@rxap/authentication';
6
- import { RXAP_HEADER_COMPONENT } from '../tokens';
11
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
12
+ import { MatToolbarModule } from '@angular/material/toolbar';
13
+ import { DataSourceCollectionDirective } from '@rxap/data-source/directive';
14
+ import { StopPropagationDirective } from '@rxap/directives';
15
+ import { StatusIndicatorComponent } from '@rxap/ngx-status-check';
7
16
  import { HeaderService } from '@rxap/services';
8
- import { MatMenuModule } from '@angular/material/menu';
9
- import { NavigationProgressBarComponent } from './navigation-progress-bar/navigation-progress-bar.component';
10
- import { SignOutComponent } from './sign-out/sign-out.component';
11
- import { MatIconModule } from '@angular/material/icon';
12
- import { MatButtonModule } from '@angular/material/button';
13
- import { UserProfileIconComponent } from './user-profile-icon/user-profile-icon.component';
17
+ import { Subscription } from 'rxjs';
18
+ import { tap } from 'rxjs/operators';
19
+ import { RXAP_HEADER_COMPONENT } from '../tokens';
14
20
  import { AppsButtonComponent } from './apps-button/apps-button.component';
15
21
  import { LanguageSelectorComponent } from './language-selector/language-selector.component';
16
- import { SidenavToggleButtonComponent } from './sidenav-toggle-button/sidenav-toggle-button.component';
17
- import { FlexModule } from '@angular/flex-layout/flex';
18
- import { NgClass, NgFor, NgComponentOutlet, NgIf, AsyncPipe } from '@angular/common';
19
- import { ExtendedModule } from '@angular/flex-layout/extended';
20
- import { MatToolbarModule } from '@angular/material/toolbar';
22
+ import { NavigationProgressBarComponent } from './navigation-progress-bar/navigation-progress-bar.component';
23
+ import { SettingsButtonComponent } from './settings-button/settings-button.component';
24
+ import { UserProfileIconComponent } from './user-profile-icon/user-profile-icon.component';
21
25
  import * as i0 from "@angular/core";
22
26
  import * as i1 from "@angular/material/toolbar";
23
- import * as i2 from "@angular/flex-layout/extended";
24
- import * as i3 from "@angular/flex-layout/flex";
25
- import * as i4 from "@angular/material/button";
26
- import * as i5 from "@angular/material/menu";
27
- import * as i6 from "@angular/material/icon";
28
- import * as i7 from "@rxap/services";
29
- import * as i8 from "@rxap/authentication";
30
- function HeaderComponent_mat_toolbar_row_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵelementContainer(0);
32
- } }
33
- function HeaderComponent_mat_toolbar_row_1_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelementStart(0, "mat-toolbar-row");
35
- i0.ɵɵtemplate(1, HeaderComponent_mat_toolbar_row_1_ng_container_1_Template, 1, 0, "ng-container", 7);
36
- i0.ɵɵelementEnd();
37
- } if (rf & 2) {
38
- const headerComponent_r4 = ctx.$implicit;
39
- i0.ɵɵadvance(1);
40
- i0.ɵɵproperty("ngComponentOutlet", headerComponent_r4);
41
- } }
42
- function HeaderComponent_rxap_sidenav_toggle_button_4_Template(rf, ctx) { if (rf & 1) {
43
- i0.ɵɵelement(0, "rxap-sidenav-toggle-button", 8);
44
- } if (rf & 2) {
45
- const ctx_r1 = i0.ɵɵnextContext();
46
- i0.ɵɵproperty("sidenav", ctx_r1.sidenav);
47
- } }
48
- function HeaderComponent_rxap_user_profile_icon_9_Template(rf, ctx) { if (rf & 1) {
49
- i0.ɵɵelement(0, "rxap-user-profile-icon", 5);
50
- } }
51
- function HeaderComponent_div_11_Template(rf, ctx) { if (rf & 1) {
52
- i0.ɵɵelementStart(0, "div", 5)(1, "button", 9)(2, "mat-icon");
53
- i0.ɵɵtext(3, "settings");
54
- i0.ɵɵelementEnd()()();
55
- } if (rf & 2) {
56
- const ctx_r3 = i0.ɵɵnextContext();
57
- i0.ɵɵadvance(1);
58
- i0.ɵɵproperty("matMenuTriggerFor", ctx_r3.settingsMenuPanel);
59
- } }
60
- const _c0 = function (a0) { return { open: a0 }; };
61
- const _c1 = ["*"];
62
- class HeaderComponent {
63
- constructor(headerComponentService, userService, headerComponent) {
27
+ import * as i2 from "@rxap/services";
28
+ export class HeaderComponent {
29
+ constructor(headerComponentService, headerComponent) {
64
30
  this.headerComponentService = headerComponentService;
65
- this.userService = userService;
66
31
  this.headerComponent = headerComponent;
67
32
  this.components = [];
68
33
  this.subscriptions = new Subscription();
69
- this.color = 'primary';
70
- this.hasUser$ = this.userService.user$.pipe(map(Boolean));
34
+ this.color = undefined;
71
35
  }
72
36
  ngOnInit() {
73
37
  this.updateComponents();
@@ -81,85 +45,44 @@ class HeaderComponent {
81
45
  ngOnDestroy() {
82
46
  this.subscriptions.unsubscribe();
83
47
  }
84
- static { this.ɵfac = function HeaderComponent_Factory(t) { return new (t || HeaderComponent)(i0.ɵɵdirectiveInject(HeaderService), i0.ɵɵdirectiveInject(UserService), i0.ɵɵdirectiveInject(RXAP_HEADER_COMPONENT, 8)); }; }
85
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderComponent, selectors: [["rxap-header"]], hostAttrs: [1, "rxap-layout-header"], inputs: { sidenav: "sidenav", color: "color", settingsMenuPanel: "settingsMenuPanel" }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c1, decls: 14, vars: 10, consts: [[1, "mat-elevation-z3", 3, "ngClass", "color"], [4, "ngFor", "ngForOf"], ["fxLayout", "row", "fxLayoutAlign", "space-between center", "fxLayoutGap", "16px", 1, "content"], ["fxFlex", "nogrow", 3, "sidenav", 4, "ngIf"], ["fxFlex", "grow"], ["fxFlex", "nogrow"], ["fxFlex", "nogrow", 4, "ngIf"], [4, "ngComponentOutlet"], ["fxFlex", "nogrow", 3, "sidenav"], ["mat-icon-button", "", 3, "matMenuTriggerFor"]], template: function HeaderComponent_Template(rf, ctx) { if (rf & 1) {
86
- i0.ɵɵprojectionDef();
87
- i0.ɵɵelementStart(0, "mat-toolbar", 0);
88
- i0.ɵɵtemplate(1, HeaderComponent_mat_toolbar_row_1_Template, 2, 1, "mat-toolbar-row", 1);
89
- i0.ɵɵelementStart(2, "mat-toolbar-row")(3, "div", 2);
90
- i0.ɵɵtemplate(4, HeaderComponent_rxap_sidenav_toggle_button_4_Template, 1, 1, "rxap-sidenav-toggle-button", 3);
91
- i0.ɵɵelementStart(5, "div", 4);
92
- i0.ɵɵprojection(6);
93
- i0.ɵɵelementEnd();
94
- i0.ɵɵelement(7, "rxap-language-selector", 5)(8, "rxap-apps-button", 5);
95
- i0.ɵɵtemplate(9, HeaderComponent_rxap_user_profile_icon_9_Template, 1, 0, "rxap-user-profile-icon", 6);
96
- i0.ɵɵpipe(10, "async");
97
- i0.ɵɵtemplate(11, HeaderComponent_div_11_Template, 4, 1, "div", 6);
98
- i0.ɵɵelement(12, "rxap-sign-out", 5);
99
- i0.ɵɵelementEnd()()();
100
- i0.ɵɵelement(13, "rxap-navigation-progress-bar");
101
- } if (rf & 2) {
102
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0, ctx.sidenav == null ? null : ctx.sidenav.opened))("color", ctx.color);
103
- i0.ɵɵadvance(1);
104
- i0.ɵɵproperty("ngForOf", ctx.components);
105
- i0.ɵɵadvance(3);
106
- i0.ɵɵproperty("ngIf", ctx.sidenav);
107
- i0.ɵɵadvance(5);
108
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(10, 6, ctx.hasUser$));
109
- i0.ɵɵadvance(2);
110
- i0.ɵɵproperty("ngIf", ctx.settingsMenuPanel);
111
- } }, dependencies: [MatToolbarModule, i1.MatToolbar, i1.MatToolbarRow, ExtendedModule, i2.DefaultClassDirective, NgClass,
112
- NgFor,
113
- NgComponentOutlet,
114
- FlexModule, i3.DefaultLayoutDirective, i3.DefaultLayoutGapDirective, i3.DefaultLayoutAlignDirective, i3.DefaultFlexDirective, NgIf,
115
- SidenavToggleButtonComponent,
116
- LanguageSelectorComponent,
117
- AppsButtonComponent,
118
- UserProfileIconComponent,
119
- MatButtonModule, i4.MatIconButton, MatMenuModule, i5.MatMenuTrigger, MatIconModule, i6.MatIcon, SignOutComponent,
120
- NavigationProgressBarComponent,
121
- AsyncPipe], styles: [".content[_ngcontent-%COMP%]{width:100%;height:64px}"], changeDetection: 0 }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: HeaderComponent, deps: [{ token: HeaderService }, { token: RXAP_HEADER_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: HeaderComponent, isStandalone: true, selector: "rxap-header", inputs: { sidenav: "sidenav", color: "color" }, ngImport: i0, template: "<mat-toolbar [color]=\"color\" [ngClass]=\"{ open: sidenav?.opened }\" class=\"mat-elevation-z3 header\">\n <div class=\"w-full flex flex-row gap-x-4 justify-between items-center\">\n <rxap-status-indicator class=\"grow-0\"></rxap-status-indicator>\n <div class=\"grow\">\n <ng-content></ng-content>\n </div>\n <rxap-apps-button class=\"grow-0\"></rxap-apps-button>\n <rxap-settings-button class=\"grow-0\"></rxap-settings-button>\n <rxap-user-profile-icon class=\"grow-0\"></rxap-user-profile-icon>\n </div>\n</mat-toolbar>\n\n<rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: NavigationProgressBarComponent, selector: "rxap-navigation-progress-bar" }, { kind: "component", type: UserProfileIconComponent, selector: "rxap-user-profile-icon" }, { kind: "component", type: AppsButtonComponent, selector: "rxap-apps-button" }, { kind: "component", type: SettingsButtonComponent, selector: "rxap-settings-button" }, { kind: "component", type: StatusIndicatorComponent, selector: "rxap-status-indicator" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
122
50
  }
123
- export { HeaderComponent };
124
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HeaderComponent, [{
125
- type: Component,
126
- args: [{ selector: 'rxap-header', changeDetection: ChangeDetectionStrategy.OnPush, host: {
127
- class: 'rxap-layout-header'
128
- }, standalone: true, imports: [
129
- MatToolbarModule,
130
- ExtendedModule,
131
- NgClass,
132
- NgFor,
133
- NgComponentOutlet,
134
- FlexModule,
135
- NgIf,
136
- SidenavToggleButtonComponent,
137
- LanguageSelectorComponent,
138
- AppsButtonComponent,
139
- UserProfileIconComponent,
140
- MatButtonModule,
141
- MatMenuModule,
142
- MatIconModule,
143
- SignOutComponent,
144
- NavigationProgressBarComponent,
145
- AsyncPipe
146
- ], template: "<mat-toolbar [ngClass]=\"{ open: sidenav?.opened }\" [color]=\"color\" class=\"mat-elevation-z3\">\n <mat-toolbar-row *ngFor=\"let headerComponent of components\">\n <ng-container *ngComponentOutlet=\"headerComponent\"></ng-container>\n </mat-toolbar-row>\n <mat-toolbar-row>\n <div\n fxLayout=\"row\"\n fxLayoutAlign=\"space-between center\"\n fxLayoutGap=\"16px\"\n class=\"content\"\n >\n <rxap-sidenav-toggle-button *ngIf=\"sidenav\" fxFlex=\"nogrow\" [sidenav]=\"sidenav\"></rxap-sidenav-toggle-button>\n <div fxFlex=\"grow\">\n <ng-content></ng-content>\n </div>\n <rxap-language-selector fxFlex=\"nogrow\"></rxap-language-selector>\n <rxap-apps-button fxFlex=\"nogrow\"></rxap-apps-button>\n <rxap-user-profile-icon *ngIf=\"hasUser$ | async\" fxFlex=\"nogrow\"></rxap-user-profile-icon>\n <div fxFlex=\"nogrow\" *ngIf=\"settingsMenuPanel\">\n <button mat-icon-button [matMenuTriggerFor]=\"settingsMenuPanel\">\n <mat-icon>settings</mat-icon>\n </button>\n </div>\n <rxap-sign-out fxFlex=\"nogrow\"></rxap-sign-out>\n </div>\n </mat-toolbar-row>\n</mat-toolbar>\n<rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n", styles: [".content{width:100%;height:64px}\n"] }]
147
- }], function () { return [{ type: i7.HeaderService, decorators: [{
148
- type: Inject,
149
- args: [HeaderService]
150
- }] }, { type: i8.UserService, decorators: [{
151
- type: Inject,
152
- args: [UserService]
153
- }] }, { type: undefined, decorators: [{
154
- type: Optional
155
- }, {
156
- type: Inject,
157
- args: [RXAP_HEADER_COMPONENT]
158
- }] }]; }, { sidenav: [{
159
- type: Input
160
- }], color: [{
161
- type: Input
162
- }], settingsMenuPanel: [{
163
- type: Input
164
- }] }); })();
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xheW91dC9zcmMvbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCx1QkFBdUIsRUFFdkIsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLFlBQVksRUFFYixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFDTCxHQUFHLEVBQ0gsR0FBRyxFQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxhQUFhLEVBQ2QsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFB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dUZBQWYsZUFBZTtjQTdCM0IsU0FBUzsyQkFDUyxhQUFhLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sUUFDOUI7b0JBQ2YsS0FBSyxFQUFFLG9CQUFvQjtpQkFDNUIsY0FDZ0IsSUFBSSxXQUNKO29CQUNmLGdCQUFnQjtvQkFDaEIsY0FBYztvQkFDZCxPQUFPO29CQUNQLEtBQUs7b0JBQ0wsaUJBQWlCO29CQUNqQixVQUFVO29CQUNWLElBQUk7b0JBQ0osNEJBQTRCO29CQUM1Qix5QkFBeUI7b0JBQ3pCLG1CQUFtQjtvQkFDbkIsd0JBQXdCO29CQUN4QixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLDhCQUE4QjtvQkFDOUIsU0FBUztpQkFDVjs7c0JBbUJFLE1BQU07dUJBQUMsYUFBYTs7c0JBRXBCLE1BQU07dUJBQUMsV0FBVzs7c0JBRWxCLFFBQVE7O3NCQUFJLE1BQU07dUJBQUMscUJBQXFCO3dCQW5CcEMsT0FBTztrQkFEYixLQUFLO1lBVUMsS0FBSztrQkFEWCxLQUFLO1lBSUMsaUJBQWlCO2tCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPbkRlc3Ryb3ksXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICdAcnhhcC91dGlsaXRpZXMnO1xuaW1wb3J0IHtcbiAgU3Vic2NyaXB0aW9uLFxuICBPYnNlcnZhYmxlXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgdGFwLFxuICBtYXBcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICdAcnhhcC9hdXRoZW50aWNhdGlvbic7XG5pbXBvcnQgeyBSWEFQX0hFQURFUl9DT01QT05FTlQgfSBmcm9tICcuLi90b2tlbnMnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJ0ByeGFwL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIE1hdE1lbnVQYW5lbCxcbiAgTWF0TWVudU1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lnbk91dENvbXBvbmVudCB9IGZyb20gJy4vc2lnbi1vdXQvc2lnbi1vdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBVc2VyUHJvZmlsZUljb25Db21wb25lbnQgfSBmcm9tICcuL3VzZXItcHJvZmlsZS1pY29uL3VzZXItcHJvZmlsZS1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9hcHBzLWJ1dHRvbi9hcHBzLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGVuYXZUb2dnbGVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NpZGVuYXYtdG9nZ2xlLWJ1dHRvbi9zaWRlbmF2LXRvZ2dsZS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dC9mbGV4JztcbmltcG9ydCB7XG4gIE5nQ2xhc3MsXG4gIE5nRm9yLFxuICBOZ0NvbXBvbmVudE91dGxldCxcbiAgTmdJZixcbiAgQXN5bmNQaXBlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFeHRlbmRlZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0L2V4dGVuZGVkJztcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAgICAgICAgJ3J4YXAtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICAgICAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6ICAgICAgIFsgJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJyBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogICAgICAgICAgICB7XG4gICAgY2xhc3M6ICdyeGFwLWxheW91dC1oZWFkZXInXG4gIH0sXG4gIHN0YW5kYWxvbmU6ICAgICAgdHJ1ZSxcbiAgaW1wb3J0czogICAgICAgICBbXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBFeHRlbmRlZE1vZHVsZSxcbiAgICBOZ0NsYXNzLFxuICAgIE5nRm9yLFxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxuICAgIEZsZXhNb2R1bGUsXG4gICAgTmdJZixcbiAgICBTaWRlbmF2VG9nZ2xlQnV0dG9uQ29tcG9uZW50LFxuICAgIExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQsXG4gICAgQXBwc0J1dHRvbkNvbXBvbmVudCxcbiAgICBVc2VyUHJvZmlsZUljb25Db21wb25lbnQsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBTaWduT3V0Q29tcG9uZW50LFxuICAgIE5hdmlnYXRpb25Qcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICBBc3luY1BpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaWRlbmF2PzogTWF0U2lkZW5hdjtcblxuICBwdWJsaWMgY29tcG9uZW50czogQXJyYXk8Q29uc3RydWN0b3I8YW55Pj4gPSBbXTtcblxuICBwdWJsaWMgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwdWJsaWMgaGFzVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldHRpbmdzTWVudVBhbmVsPzogTWF0TWVudVBhbmVsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoSGVhZGVyU2VydmljZSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgaGVhZGVyQ29tcG9uZW50U2VydmljZTogSGVhZGVyU2VydmljZSxcbiAgICBASW5qZWN0KFVzZXJTZXJ2aWNlKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlPGFueT4sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSWEFQX0hFQURFUl9DT01QT05FTlQpIHB1YmxpYyBoZWFkZXJDb21wb25lbnQ6IGFueVxuICApIHtcbiAgICB0aGlzLmhhc1VzZXIkID0gdGhpcy51c2VyU2VydmljZS51c2VyJC5waXBlKG1hcChCb29sZWFuKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVDb21wb25lbnRzKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuaGVhZGVyQ29tcG9uZW50U2VydmljZS51cGRhdGUkXG4gICAgICAgIC5waXBlKHRhcCgoKSA9PiB0aGlzLnVwZGF0ZUNvbXBvbmVudHMoKSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ29tcG9uZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudHMgPSB0aGlzLmhlYWRlckNvbXBvbmVudFNlcnZpY2UuZ2V0Q29tcG9uZW50cygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bWF0LXRvb2xiYXIgW25nQ2xhc3NdPVwieyBvcGVuOiBzaWRlbmF2Py5vcGVuZWQgfVwiIFtjb2xvcl09XCJjb2xvclwiIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16M1wiPlxuICA8bWF0LXRvb2xiYXItcm93ICpuZ0Zvcj1cImxldCBoZWFkZXJDb21wb25lbnQgb2YgY29tcG9uZW50c1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiaGVhZGVyQ29tcG9uZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRvb2xiYXItcm93PlxuICA8bWF0LXRvb2xiYXItcm93PlxuICAgIDxkaXZcbiAgICAgIGZ4TGF5b3V0PVwicm93XCJcbiAgICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiXG4gICAgICBmeExheW91dEdhcD1cIjE2cHhcIlxuICAgICAgY2xhc3M9XCJjb250ZW50XCJcbiAgICA+XG4gICAgICA8cnhhcC1zaWRlbmF2LXRvZ2dsZS1idXR0b24gKm5nSWY9XCJzaWRlbmF2XCIgZnhGbGV4PVwibm9ncm93XCIgW3NpZGVuYXZdPVwic2lkZW5hdlwiPjwvcnhhcC1zaWRlbmF2LXRvZ2dsZS1idXR0b24+XG4gICAgICA8ZGl2IGZ4RmxleD1cImdyb3dcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8cnhhcC1sYW5ndWFnZS1zZWxlY3RvciBmeEZsZXg9XCJub2dyb3dcIj48L3J4YXAtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gICAgICA8cnhhcC1hcHBzLWJ1dHRvbiBmeEZsZXg9XCJub2dyb3dcIj48L3J4YXAtYXBwcy1idXR0b24+XG4gICAgICA8cnhhcC11c2VyLXByb2ZpbGUtaWNvbiAqbmdJZj1cImhhc1VzZXIkIHwgYXN5bmNcIiBmeEZsZXg9XCJub2dyb3dcIj48L3J4YXAtdXNlci1wcm9maWxlLWljb24+XG4gICAgICA8ZGl2IGZ4RmxleD1cIm5vZ3Jvd1wiICpuZ0lmPVwic2V0dGluZ3NNZW51UGFuZWxcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNldHRpbmdzTWVudVBhbmVsXCI+XG4gICAgICAgICAgPG1hdC1pY29uPnNldHRpbmdzPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxyeGFwLXNpZ24tb3V0IGZ4RmxleD1cIm5vZ3Jvd1wiPjwvcnhhcC1zaWduLW91dD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdG9vbGJhci1yb3c+XG48L21hdC10b29sYmFyPlxuPHJ4YXAtbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXI+PC9yeGFwLW5hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyPlxuIl19
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: HeaderComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'rxap-header', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
54
+ MatToolbarModule,
55
+ NgClass,
56
+ NgIf,
57
+ MatButtonModule,
58
+ MatMenuModule,
59
+ MatIconModule,
60
+ LanguageSelectorComponent,
61
+ MatFormFieldModule,
62
+ StopPropagationDirective,
63
+ MatSelectModule,
64
+ FormsModule,
65
+ MatOptionModule,
66
+ DataSourceCollectionDirective,
67
+ MatSlideToggleModule,
68
+ AsyncPipe,
69
+ NavigationProgressBarComponent,
70
+ UserProfileIconComponent,
71
+ AppsButtonComponent,
72
+ SettingsButtonComponent,
73
+ StatusIndicatorComponent,
74
+ ], template: "<mat-toolbar [color]=\"color\" [ngClass]=\"{ open: sidenav?.opened }\" class=\"mat-elevation-z3 header\">\n <div class=\"w-full flex flex-row gap-x-4 justify-between items-center\">\n <rxap-status-indicator class=\"grow-0\"></rxap-status-indicator>\n <div class=\"grow\">\n <ng-content></ng-content>\n </div>\n <rxap-apps-button class=\"grow-0\"></rxap-apps-button>\n <rxap-settings-button class=\"grow-0\"></rxap-settings-button>\n <rxap-user-profile-icon class=\"grow-0\"></rxap-user-profile-icon>\n </div>\n</mat-toolbar>\n\n<rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n" }]
75
+ }], ctorParameters: function () { return [{ type: i2.HeaderService, decorators: [{
76
+ type: Inject,
77
+ args: [HeaderService]
78
+ }] }, { type: undefined, decorators: [{
79
+ type: Optional
80
+ }, {
81
+ type: Inject,
82
+ args: [RXAP_HEADER_COMPONENT]
83
+ }] }]; }, propDecorators: { sidenav: [{
84
+ type: Input
85
+ }], color: [{
86
+ type: Input
87
+ }] } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsSUFBSSxHQUNMLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsZUFBZSxHQUVoQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RSxPQUFPLEVB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TmdJZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1xuICBNYXRPcHRpb25Nb2R1bGUsXG4gIFRoZW1lUGFsZXR0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRTaWRlbmF2IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBEYXRhU291cmNlQ29sbGVjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJ0ByeGFwL2RhdGEtc291cmNlL2RpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICdAcnhhcC9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFN0YXR1c0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJ0ByeGFwL25neC1zdGF0dXMtY2hlY2snO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJ0ByeGFwL3NlcnZpY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnQHJ4YXAvdXRpbGl0aWVzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUlhBUF9IRUFERVJfQ09NUE9ORU5UIH0gZnJvbSAnLi4vdG9rZW5zJztcbmltcG9ydCB7IEFwcHNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2FwcHMtYnV0dG9uL2FwcHMtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2V0dGluZ3NCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmdzLWJ1dHRvbi9zZXR0aW5ncy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJQcm9maWxlSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vdXNlci1wcm9maWxlLWljb24vdXNlci1wcm9maWxlLWljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnhhcC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2hlYWRlci5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgTmdJZixcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIERhdGFTb3VyY2VDb2xsZWN0aW9uRGlyZWN0aXZlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBOYXZpZ2F0aW9uUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgVXNlclByb2ZpbGVJY29uQ29tcG9uZW50LFxuICAgIEFwcHNCdXR0b25Db21wb25lbnQsXG4gICAgU2V0dGluZ3NCdXR0b25Db21wb25lbnQsXG4gICAgU3RhdHVzSW5kaWNhdG9yQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaWRlbmF2PzogTWF0U2lkZW5hdjtcblxuICBwdWJsaWMgY29tcG9uZW50czogQXJyYXk8Q29uc3RydWN0b3I8YW55Pj4gPSBbXTtcblxuICBwdWJsaWMgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29sb3I6IFRoZW1lUGFsZXR0ZSA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEhlYWRlclNlcnZpY2UpXG4gICAgcHVibGljIHJlYWRvbmx5IGhlYWRlckNvbXBvbmVudFNlcnZpY2U6IEhlYWRlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSWEFQX0hFQURFUl9DT01QT05FTlQpIHB1YmxpYyBoZWFkZXJDb21wb25lbnQ6IGFueSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVDb21wb25lbnRzKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuaGVhZGVyQ29tcG9uZW50U2VydmljZS51cGRhdGUkXG4gICAgICAgICAgLnBpcGUodGFwKCgpID0+IHRoaXMudXBkYXRlQ29tcG9uZW50cygpKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDb21wb25lbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50cyA9IHRoaXMuaGVhZGVyQ29tcG9uZW50U2VydmljZS5nZXRDb21wb25lbnRzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxufVxuIiwiPG1hdC10b29sYmFyIFtjb2xvcl09XCJjb2xvclwiIFtuZ0NsYXNzXT1cInsgb3Blbjogc2lkZW5hdj8ub3BlbmVkIH1cIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejMgaGVhZGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBmbGV4LXJvdyBnYXAteC00IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIj5cbiAgICA8cnhhcC1zdGF0dXMtaW5kaWNhdG9yIGNsYXNzPVwiZ3Jvdy0wXCI+PC9yeGFwLXN0YXR1cy1pbmRpY2F0b3I+XG4gICAgPGRpdiBjbGFzcz1cImdyb3dcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8cnhhcC1hcHBzLWJ1dHRvbiBjbGFzcz1cImdyb3ctMFwiPjwvcnhhcC1hcHBzLWJ1dHRvbj5cbiAgICA8cnhhcC1zZXR0aW5ncy1idXR0b24gY2xhc3M9XCJncm93LTBcIj48L3J4YXAtc2V0dGluZ3MtYnV0dG9uPlxuICAgIDxyeGFwLXVzZXItcHJvZmlsZS1pY29uIGNsYXNzPVwiZ3Jvdy0wXCI+PC9yeGFwLXVzZXItcHJvZmlsZS1pY29uPlxuICA8L2Rpdj5cbjwvbWF0LXRvb2xiYXI+XG5cbjxyeGFwLW5hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyPjwvcnhhcC1uYXZpZ2F0aW9uLXByb2dyZXNzLWJhcj5cbiJdfQ==
@@ -1,128 +1,35 @@
1
- import { Component, ChangeDetectionStrategy, Injectable, Inject } from '@angular/core';
2
- import { ConfigService } from '@rxap/config';
1
+ import { ChangeDetectionStrategy, Component, } from '@angular/core';
3
2
  import { MatOptionModule } from '@angular/material/core';
4
3
  import { FormsModule } from '@angular/forms';
5
4
  import { MatSelectModule } from '@angular/material/select';
5
+ import { StopPropagationDirective } from '@rxap/directives';
6
6
  import { MatFormFieldModule } from '@angular/material/form-field';
7
- import { NgIf, NgFor, KeyValuePipe } from '@angular/common';
7
+ import { KeyValuePipe, NgFor, NgIf, } from '@angular/common';
8
+ import { LanguageSelectorService } from '../../language-selector.service';
8
9
  import * as i0 from "@angular/core";
9
- import * as i1 from "@rxap/config";
10
+ import * as i1 from "../../language-selector.service";
10
11
  import * as i2 from "@angular/material/form-field";
11
12
  import * as i3 from "@angular/material/select";
12
13
  import * as i4 from "@angular/material/core";
13
14
  import * as i5 from "@angular/forms";
14
- function LanguageSelectorComponent_ng_template_0_mat_option_3_Template(rf, ctx) { if (rf & 1) {
15
- i0.ɵɵelementStart(0, "mat-option", 4);
16
- i0.ɵɵtext(1);
17
- i0.ɵɵelementEnd();
18
- } if (rf & 2) {
19
- const item_r2 = ctx.$implicit;
20
- i0.ɵɵproperty("value", item_r2.key);
21
- i0.ɵɵadvance(1);
22
- i0.ɵɵtextInterpolate(item_r2.value);
23
- } }
24
- function LanguageSelectorComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
25
- const _r4 = i0.ɵɵgetCurrentView();
26
- i0.ɵɵelementStart(0, "div")(1, "mat-form-field", 1)(2, "mat-select", 2);
27
- i0.ɵɵlistener("ngModelChange", function LanguageSelectorComponent_ng_template_0_Template_mat_select_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.language.setLanguage($event)); });
28
- i0.ɵɵtemplate(3, LanguageSelectorComponent_ng_template_0_mat_option_3_Template, 2, 2, "mat-option", 3);
29
- i0.ɵɵpipe(4, "keyvalue");
30
- i0.ɵɵelementEnd()()();
31
- } if (rf & 2) {
32
- const ctx_r0 = i0.ɵɵnextContext();
33
- i0.ɵɵadvance(2);
34
- i0.ɵɵproperty("ngModel", ctx_r0.language.selectedLanguage);
35
- i0.ɵɵadvance(1);
36
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(4, 2, ctx_r0.language.languages));
37
- } }
38
- export const RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY = 'rxap__selected_language';
39
- export const RXAP_SELECTED_LANGUAGE_CHANGE_LOCAL_STORAGE_KEY = 'rxap__selected_language_last_change';
40
- class LanguageSelectorService {
41
- constructor(config) {
42
- this.config = config;
43
- this.languages = this.config.get('i18n.languages') ?? {};
44
- this.defaultLanguage =
45
- this.config.get('i18n.defaultLanguage') ??
46
- Object.keys(this.languages)[0] ??
47
- 'en';
48
- this.selectedLanguage =
49
- localStorage.getItem(RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY) ??
50
- this.defaultLanguage;
51
- }
52
- setLanguage(language) {
53
- if (language !== this.selectedLanguage) {
54
- this.redirect(language);
55
- }
56
- }
57
- autoRedirect() {
58
- if (localStorage.getItem(RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY)) {
59
- this.redirect(localStorage.getItem(RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY));
60
- }
61
- }
62
- redirect(language) {
63
- const currentUrl = location.origin + location.pathname + location.search;
64
- const redirectUrl = location.origin +
65
- `/${language}` +
66
- location.pathname.replace(new RegExp(`^\/${this.selectedLanguage}`), '') +
67
- location.search;
68
- this.selectedLanguage = language;
69
- localStorage.setItem(RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY, language);
70
- if (currentUrl !== redirectUrl) {
71
- if (this.checkLastChange()) {
72
- location.replace(redirectUrl);
73
- }
74
- }
75
- else {
76
- console.log('Redirect not required');
77
- }
78
- }
79
- checkLastChange() {
80
- const lastChangeString = localStorage.getItem(RXAP_SELECTED_LANGUAGE_CHANGE_LOCAL_STORAGE_KEY);
81
- if (lastChangeString) {
82
- if (Date.now() - parseInt(lastChangeString, 10) < 1000) {
83
- return false;
84
- }
85
- }
86
- localStorage.setItem(RXAP_SELECTED_LANGUAGE_CHANGE_LOCAL_STORAGE_KEY, Date.now().toFixed(0));
87
- return true;
88
- }
89
- static { this.ɵfac = function LanguageSelectorService_Factory(t) { return new (t || LanguageSelectorService)(i0.ɵɵinject(ConfigService)); }; }
90
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LanguageSelectorService, factory: LanguageSelectorService.ɵfac, providedIn: 'root' }); }
91
- }
92
- export { LanguageSelectorService };
93
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageSelectorService, [{
94
- type: Injectable,
95
- args: [{ providedIn: 'root' }]
96
- }], function () { return [{ type: i1.ConfigService, decorators: [{
97
- type: Inject,
98
- args: [ConfigService]
99
- }] }]; }, null); })();
100
- class LanguageSelectorComponent {
15
+ export class LanguageSelectorComponent {
101
16
  constructor(language) {
102
17
  this.language = language;
103
18
  }
104
- static { this.ɵfac = function LanguageSelectorComponent_Factory(t) { return new (t || LanguageSelectorComponent)(i0.ɵɵdirectiveInject(LanguageSelectorService)); }; }
105
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LanguageSelectorComponent, selectors: [["rxap-language-selector"]], hostAttrs: [1, "rxap-language-selector"], standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 2, vars: 3, consts: [[3, "ngIf"], ["appearance", "outline", 1, "language-selector"], [3, "ngModel", "ngModelChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"]], template: function LanguageSelectorComponent_Template(rf, ctx) { if (rf & 1) {
106
- i0.ɵɵtemplate(0, LanguageSelectorComponent_ng_template_0_Template, 5, 4, "ng-template", 0);
107
- i0.ɵɵpipe(1, "keyvalue");
108
- } if (rf & 2) {
109
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.language.languages).length);
110
- } }, dependencies: [NgIf,
111
- MatFormFieldModule, i2.MatFormField, MatSelectModule, i3.MatSelect, i4.MatOption, FormsModule, i5.NgControlStatus, i5.NgModel, NgFor,
112
- MatOptionModule,
113
- KeyValuePipe], styles: [".language-selector[_ngcontent-%COMP%]{width:142px}.language-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:0}.language-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:12px 0;border-width:6px}.language-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix .mat-select-arrow-wrapper{transform:translateY(0)}"], changeDetection: 0 }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: LanguageSelectorComponent, deps: [{ token: i1.LanguageSelectorService }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: LanguageSelectorComponent, isStandalone: true, selector: "rxap-language-selector", ngImport: i0, template: "<ng-template [ngIf]=\"(language.languages | keyvalue).length\">\n <div>\n <mat-form-field appearance=\"outline\" class=\"language-selector\" rxapStopPropagation>\n <mat-label i18n>Select Language</mat-label>\n <mat-select (ngModelChange)=\"language.setLanguage($event)\" [ngModel]=\"language.selectedLanguage\">\n <mat-option *ngFor=\"let item of language.languages | keyvalue\" [value]=\"item.key\">{{item.value}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n</ng-template>\n", styles: [".language-selector{width:calc(100% - 32px);margin:0 16px}.language-selector ::ng-deep .mat-form-field-wrapper{padding-bottom:0}.language-selector ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{padding:12px 0;border-width:6px}.language-selector ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-select-arrow-wrapper{transform:translateY(0)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: StopPropagationDirective, selector: "[rxapStopPropagation]" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
114
21
  }
115
- export { LanguageSelectorComponent };
116
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageSelectorComponent, [{
117
- type: Component,
118
- args: [{ selector: 'rxap-language-selector', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-language-selector' }, standalone: true, imports: [
119
- NgIf,
120
- MatFormFieldModule,
121
- MatSelectModule,
122
- FormsModule,
123
- NgFor,
124
- MatOptionModule,
125
- KeyValuePipe
126
- ], template: "<ng-template [ngIf]=\"(language.languages | keyvalue).length\">\n <div>\n <mat-form-field appearance=\"outline\" class=\"language-selector\">\n <mat-select (ngModelChange)=\"language.setLanguage($event)\" [ngModel]=\"language.selectedLanguage\">\n <mat-option *ngFor=\"let item of language.languages | keyvalue\" [value]=\"item.key\">{{item.value}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n</ng-template>\n", styles: [".language-selector{width:142px}.language-selector ::ng-deep .mat-form-field-wrapper{padding-bottom:0}.language-selector ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{padding:12px 0;border-width:6px}.language-selector ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-select-arrow-wrapper{transform:translateY(0)}\n"] }]
127
- }], function () { return [{ type: LanguageSelectorService }]; }, null); })();
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxJQUFJLEVBQ0osS0FBSyxFQUNMLFlBQVksRUFDYixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztJQ1hqQixxQ0FBa0Y7SUFBQSxZQUFjO0lBQUEsaUJBQWE7OztJQUE5QyxtQ0FBa0I7SUFBQyxlQUFjO0lBQWQsbUNBQWM7Ozs7SUFIdEcsMkJBQUssd0JBQUEsb0JBQUE7SUFFVyx3TUFBaUIsZUFBQSxtQ0FBNEIsQ0FBQSxJQUFDO0lBQ3hELHNHQUE2Rzs7SUFDL0csaUJBQWEsRUFBQSxFQUFBOzs7SUFGOEMsZUFBcUM7SUFBckMsMERBQXFDO0lBQ2pFLGVBQWdDO0lBQWhDLHlFQUFnQzs7QURhckUsTUFBTSxDQUFDLE1B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QUE0QixRQUFpQztRQUFqQyxhQUFRLEdBQVIsUUFBUSxDQUF5QjtJQUFHLENBQUM7MEZBRHRELHlCQUF5QjtvRUFBekIseUJBQXlCO1lDNUd0QywwRkFRYzs7O1lBUkQsMEVBQStDOzRCRG1HeEQsSUFBSTtZQUNKLGtCQUFrQixtQkFDbEIsZUFBZSw4QkFDZixXQUFXLGtDQUNYLEtBQUs7WUFDTCxlQUFlO1lBQ2YsWUFBWTs7U0FHSCx5QkFBeUI7dUZBQXpCLHlCQUF5QjtjQWpCckMsU0FBUzsyQkFDUyx3QkFBd0IsbUJBR3hCLHVCQUF1QixDQUFDLE1BQU0sUUFDOUIsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsY0FDbkMsSUFBSSxXQUNaO29CQUNQLElBQUk7b0JBQ0osa0JBQWtCO29CQUNsQixlQUFlO29CQUNmLFdBQVc7b0JBQ1gsS0FBSztvQkFDTCxlQUFlO29CQUNmLFlBQVk7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBJbmplY3RhYmxlLFxuICBJbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHJ4YXAvY29uZmlnJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge1xuICBOZ0lmLFxuICBOZ0ZvcixcbiAgS2V5VmFsdWVQaXBlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBSWEFQX1NFTEVDVEVEX0xBTkdVQUdFX0xPQ0FMX1NUT1JBR0VfS0VZICAgICAgICA9XG4gICAgICAgICAgICAgICAncnhhcF9fc2VsZWN0ZWRfbGFuZ3VhZ2UnO1xuZXhwb3J0IGNvbnN0IFJYQVBfU0VMRUNURURfTEFOR1VBR0VfQ0hBTkdFX0xPQ0FMX1NUT1JBR0VfS0VZID1cbiAgICAgICAgICAgICAgICdyeGFwX19zZWxlY3RlZF9sYW5ndWFnZV9sYXN0X2NoYW5nZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VTZWxlY3RvclNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgbGFuZ3VhZ2VzOiBhbnk7XG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkTGFuZ3VhZ2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENvbmZpZ1NlcnZpY2UpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5sYW5ndWFnZXMgPSB0aGlzLmNvbmZpZy5nZXQ8YW55PignaTE4bi5sYW5ndWFnZXMnKSA/PyB7fTtcbiAgICB0aGlzLmRlZmF1bHRMYW5ndWFnZSA9XG4gICAgICB0aGlzLmNvbmZpZy5nZXQoJ2kxOG4uZGVmYXVsdExhbmd1YWdlJykgPz9cbiAgICAgIE9iamVjdC5rZXlzKHRoaXMubGFuZ3VhZ2VzKVswXSA/P1xuICAgICAgJ2VuJztcbiAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPVxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oUlhBUF9TRUxFQ1RFRF9MQU5HVUFHRV9MT0NBTF9TVE9SQUdFX0tFWSkgPz9cbiAgICAgIHRoaXMuZGVmYXVsdExhbmd1YWdlO1xuICB9XG5cbiAgcHVibGljIHNldExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICBpZiAobGFuZ3VhZ2UgIT09IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSkge1xuICAgICAgdGhpcy5yZWRpcmVjdChsYW5ndWFnZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGF1dG9SZWRpcmVjdCgpIHtcbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oUlhBUF9TRUxFQ1RFRF9MQU5HVUFHRV9MT0NBTF9TVE9SQUdFX0tFWSkpIHtcbiAgICAgIHRoaXMucmVkaXJlY3QoXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFJYQVBfU0VMRUNURURfTEFOR1VBR0VfTE9DQUxfU1RPUkFHRV9LRVkpIVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZGlyZWN0KGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gbG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWUgKyBsb2NhdGlvbi5zZWFyY2g7XG4gICAgY29uc3QgcmVkaXJlY3RVcmwgPVxuICAgICAgbG9jYXRpb24ub3JpZ2luICtcbiAgICAgIGAvJHtsYW5ndWFnZX1gICtcbiAgICAgIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UobmV3IFJlZ0V4cChgXlxcLyR7dGhpcy5zZWxlY3RlZExhbmd1YWdlfWApLCAnJykgK1xuICAgICAgbG9jYXRpb24uc2VhcmNoO1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFJYQVBfU0VMRUNURURfTEFOR1VBR0VfTE9DQUxfU1RPUkFHRV9LRVksIGxhbmd1YWdlKTtcbiAgICBpZiAoY3VycmVudFVybCAhPT0gcmVkaXJlY3RVcmwpIHtcbiAgICAgIGlmICh0aGlzLmNoZWNrTGFzdENoYW5nZSgpKSB7XG4gICAgICAgIGxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnUmVkaXJlY3Qgbm90IHJlcXVpcmVkJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0xhc3RDaGFuZ2UoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbGFzdENoYW5nZVN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFxuICAgICAgUlhBUF9TRUxFQ1RFRF9MQU5HVUFHRV9DSEFOR0VfTE9DQUxfU1RPUkFHRV9LRVlcbiAgICApO1xuICAgIGlmIChsYXN0Q2hhbmdlU3RyaW5nKSB7XG4gICAgICBpZiAoRGF0ZS5ub3coKSAtIHBhcnNlSW50KGxhc3RDaGFuZ2VTdHJpbmcsIDEwKSA8IDEwMDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgIFJYQVBfU0VMRUNURURfTEFOR1VBR0VfQ0hBTkdFX0xPQ0FMX1NUT1JBR0VfS0VZLFxuICAgICAgRGF0ZS5ub3coKS50b0ZpeGVkKDApXG4gICAgKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICAgICAgICAncnhhcC1sYW5ndWFnZS1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAgICAgJy4vbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6ICAgICAgIFsgJy4vbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiAgICAgICAgICAgIHsgY2xhc3M6ICdyeGFwLWxhbmd1YWdlLXNlbGVjdG9yJyB9LFxuICBzdGFuZGFsb25lOiAgICAgIHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTmdGb3IsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIEtleVZhbHVlUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbGFuZ3VhZ2U6IExhbmd1YWdlU2VsZWN0b3JTZXJ2aWNlKSB7fVxufVxuIiwiPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIihsYW5ndWFnZS5sYW5ndWFnZXMgfCBrZXl2YWx1ZSkubGVuZ3RoXCI+XG4gIDxkaXY+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJsYW5ndWFnZS1zZWxlY3RvclwiPlxuICAgICAgPG1hdC1zZWxlY3QgKG5nTW9kZWxDaGFuZ2UpPVwibGFuZ3VhZ2Uuc2V0TGFuZ3VhZ2UoJGV2ZW50KVwiIFtuZ01vZGVsXT1cImxhbmd1YWdlLnNlbGVjdGVkTGFuZ3VhZ2VcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGFuZ3VhZ2UubGFuZ3VhZ2VzIHwga2V5dmFsdWVcIiBbdmFsdWVdPVwiaXRlbS5rZXlcIj57e2l0ZW0udmFsdWV9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: LanguageSelectorComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'rxap-language-selector', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
25
+ NgIf,
26
+ MatFormFieldModule,
27
+ StopPropagationDirective,
28
+ MatSelectModule,
29
+ FormsModule,
30
+ NgFor,
31
+ MatOptionModule,
32
+ KeyValuePipe,
33
+ ], template: "<ng-template [ngIf]=\"(language.languages | keyvalue).length\">\n <div>\n <mat-form-field appearance=\"outline\" class=\"language-selector\" rxapStopPropagation>\n <mat-label i18n>Select Language</mat-label>\n <mat-select (ngModelChange)=\"language.setLanguage($event)\" [ngModel]=\"language.selectedLanguage\">\n <mat-option *ngFor=\"let item of language.languages | keyvalue\" [value]=\"item.key\">{{item.value}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n</ng-template>\n", styles: [".language-selector{width:calc(100% - 32px);margin:0 16px}.language-selector ::ng-deep .mat-form-field-wrapper{padding-bottom:0}.language-selector ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{padding:12px 0;border-width:6px}.language-selector ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-select-arrow-wrapper{transform:translateY(0)}\n"] }]
34
+ }], ctorParameters: function () { return [{ type: i1.LanguageSelectorService }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUNMLFlBQVksRUFDWixLQUFLLEVBQ0wsSUFBSSxHQUNMLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7QUFtQjFFLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsWUFBNEIsUUFBaUM7UUFBakMsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7SUFDN0QsQ0FBQzs4R0FGVSx5QkFBeUI7a0dBQXpCLHlCQUF5QixrRkNqQ3RDLDBnQkFVQSxtYURhSSxJQUFJLDRGQUNKLGtCQUFrQiwyU0FDbEIsd0JBQXdCLGlFQUN4QixlQUFlLHVUQUNmLFdBQVcsK1ZBQ1gsS0FBSyxrSEFDTCxlQUFlLDBCQUNmLFlBQVk7OzJGQUdILHlCQUF5QjtrQkFqQnJDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsS0FBSzt3QkFDTCxlQUFlO3dCQUNmLFlBQVk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQHJ4YXAvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7XG4gIEtleVZhbHVlUGlwZSxcbiAgTmdGb3IsXG4gIE5nSWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL2xhbmd1YWdlLXNlbGVjdG9yLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyeGFwLWxhbmd1YWdlLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJyBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTmdGb3IsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIEtleVZhbHVlUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBsYW5ndWFnZTogTGFuZ3VhZ2VTZWxlY3RvclNlcnZpY2UpIHtcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwiKGxhbmd1YWdlLmxhbmd1YWdlcyB8IGtleXZhbHVlKS5sZW5ndGhcIj5cbiAgPGRpdj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cImxhbmd1YWdlLXNlbGVjdG9yXCIgcnhhcFN0b3BQcm9wYWdhdGlvbj5cbiAgICAgIDxtYXQtbGFiZWwgaTE4bj5TZWxlY3QgTGFuZ3VhZ2U8L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IChuZ01vZGVsQ2hhbmdlKT1cImxhbmd1YWdlLnNldExhbmd1YWdlKCRldmVudClcIiBbbmdNb2RlbF09XCJsYW5ndWFnZS5zZWxlY3RlZExhbmd1YWdlXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxhbmd1YWdlLmxhbmd1YWdlcyB8IGtleXZhbHVlXCIgW3ZhbHVlXT1cIml0ZW0ua2V5XCI+e3tpdGVtLnZhbHVlfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,35 +1,30 @@
1
- import { Component, ChangeDetectionStrategy, Inject } from '@angular/core';
2
- import { Router, NavigationStart, NavigationEnd, NavigationCancel } from '@angular/router';
3
- import { filter, map } from 'rxjs/operators';
1
+ import { ChangeDetectionStrategy, Component, Inject, } from '@angular/core';
2
+ import { NavigationCancel, NavigationEnd, NavigationStart, Router, } from '@angular/router';
3
+ import { filter, map, } from 'rxjs/operators';
4
4
  import { MatProgressBarModule } from '@angular/material/progress-bar';
5
- import { NgIf, AsyncPipe } from '@angular/common';
5
+ import { AsyncPipe, NgIf, } from '@angular/common';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/material/progress-bar";
8
8
  import * as i2 from "@angular/router";
9
- function NavigationProgressBarComponent_mat_progress_bar_0_Template(rf, ctx) { if (rf & 1) {
10
- i0.ɵɵelement(0, "mat-progress-bar", 1);
11
- } }
12
- class NavigationProgressBarComponent {
9
+ export class NavigationProgressBarComponent {
13
10
  constructor(router) {
14
11
  this.router = router;
15
12
  this.navigating$ = this.router.events.pipe(filter(event => event instanceof NavigationStart ||
16
13
  event instanceof NavigationEnd ||
17
14
  event instanceof NavigationCancel), map(event => event instanceof NavigationStart));
18
15
  }
19
- static { this.ɵfac = function NavigationProgressBarComponent_Factory(t) { return new (t || NavigationProgressBarComponent)(i0.ɵɵdirectiveInject(Router)); }; }
20
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationProgressBarComponent, selectors: [["rxap-navigation-progress-bar"]], hostAttrs: [1, "rxap-navigation-progress-bar"], standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 2, vars: 3, consts: [["mode", "indeterminate", "color", "accent", 4, "ngIf"], ["mode", "indeterminate", "color", "accent"]], template: function NavigationProgressBarComponent_Template(rf, ctx) { if (rf & 1) {
21
- i0.ɵɵtemplate(0, NavigationProgressBarComponent_mat_progress_bar_0_Template, 1, 0, "mat-progress-bar", 0);
22
- i0.ɵɵpipe(1, "async");
23
- } if (rf & 2) {
24
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.navigating$));
25
- } }, dependencies: [NgIf, MatProgressBarModule, i1.MatProgressBar, AsyncPipe], changeDetection: 0 }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: NavigationProgressBarComponent, deps: [{ token: Router }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: NavigationProgressBarComponent, isStandalone: true, selector: "rxap-navigation-progress-bar", ngImport: i0, template: "<mat-progress-bar\n *ngIf=\"navigating$ | async\"\n color=\"accent\"\n mode=\"indeterminate\"\n></mat-progress-bar>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
18
  }
27
- export { NavigationProgressBarComponent };
28
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NavigationProgressBarComponent, [{
29
- type: Component,
30
- args: [{ selector: 'rxap-navigation-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-navigation-progress-bar' }, standalone: true, imports: [NgIf, MatProgressBarModule, AsyncPipe], template: "<mat-progress-bar\n *ngIf=\"navigating$ | async\"\n mode=\"indeterminate\"\n color=\"accent\"\n></mat-progress-bar>\n" }]
31
- }], function () { return [{ type: i2.Router, decorators: [{
32
- type: Inject,
33
- args: [Router]
34
- }] }]; }, null); })();
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxNQUFNLEVBQ04sZUFBZSxFQUNmLGFBQWEsRUFDYixnQkFBZ0IsRUFDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsTUFBTSxFQUNOLEdBQUcsRUFDSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFDTCxJQUFJLEVBQ0osU0FBUyxFQUNWLE1BQU0saUJBQWlCLENBQUM7Ozs7O0lDcEJ6QixzQ0FJb0I7O0FEa0JwQixNQVNhLDhCQUE4QjtJQUl6QyxZQUNrQyxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUU5QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDeEMsTUFBTSxDQUNKLEtBQUssQ0FBQyxFQUFFLENBQ04sS0FBSyxZQUFZLGVBQWU7WUFDaEMsS0FBSyxZQUFZLGFBQWE7WUFDOUIsS0FBSyxZQUFZLGdCQUFnQixDQUNwQyxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FDL0MsQ0FBQztJQUNKLENBQUM7K0ZBaEJVLDhCQUE4Qix1QkFLL0IsTUFBTTtvRUFMTCw4QkFBOEI7WUMvQjNDLHlHQUlvQjs7O1lBSGpCLDREQUF5Qjs0QkQ0QlAsSUFBSSxFQUFFLG9CQUFvQixxQkFBRSxTQUFTOztTQUU3Qyw4QkFBOEI7dUZBQTlCLDhCQUE4QjtjQVQxQyxTQUFTOzJCQUNTLDhCQUE4QixtQkFHOUIsdUJBQXVCLENBQUMsTUFBTSxRQUM5QixFQUFFLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxjQUN6QyxJQUFJLFdBQ0osQ0FBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxDQUFFOztzQkFPdkQsTUFBTTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgUm91dGVyLFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIE5hdmlnYXRpb25FbmQsXG4gIE5hdmlnYXRpb25DYW5jZWxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIGZpbHRlcixcbiAgbWFwXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7XG4gIE5nSWYsXG4gIEFzeW5jUGlwZVxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICAgICAgICAncnhhcC1uYXZpZ2F0aW9uLXByb2dyZXNzLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAgICAgJy4vbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6ICAgICAgIFsgJy4vbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiAgICAgICAgICAgIHsgY2xhc3M6ICdyeGFwLW5hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyJyB9LFxuICBzdGFuZGFsb25lOiAgICAgIHRydWUsXG4gIGltcG9ydHM6ICAgICAgICAgWyBOZ0lmLCBNYXRQcm9ncmVzc0Jhck1vZHVsZSwgQXN5bmNQaXBlIF1cbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblByb2dyZXNzQmFyQ29tcG9uZW50IHtcblxuICBwdWJsaWMgbmF2aWdhdGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUm91dGVyKSBwdWJsaWMgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy5uYXZpZ2F0aW5nJCA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKFxuICAgICAgICBldmVudCA9PlxuICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0IHx8XG4gICAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8XG4gICAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsXG4gICAgICApLFxuICAgICAgbWFwKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KVxuICAgICk7XG4gIH1cblxufVxuIiwiPG1hdC1wcm9ncmVzcy1iYXJcbiAgKm5nSWY9XCJuYXZpZ2F0aW5nJCB8IGFzeW5jXCJcbiAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICBjb2xvcj1cImFjY2VudFwiXG4+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuIl19
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: NavigationProgressBarComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'rxap-navigation-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
22
+ NgIf,
23
+ MatProgressBarModule,
24
+ AsyncPipe,
25
+ ], template: "<mat-progress-bar\n *ngIf=\"navigating$ | async\"\n color=\"accent\"\n mode=\"indeterminate\"\n></mat-progress-bar>\n" }]
26
+ }], ctorParameters: function () { return [{ type: i2.Router, decorators: [{
27
+ type: Inject,
28
+ args: [Router]
29
+ }] }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFDZixNQUFNLEdBQ1AsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsTUFBTSxFQUNOLEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsSUFBSSxHQUNMLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFjekIsTUFBTSxPQUFPLDhCQUE4QjtJQUl6QyxZQUNrQyxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUU5QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDeEMsTUFBTSxDQUNKLEtBQUssQ0FBQyxFQUFFLENBQ04sS0FBSyxZQUFZLGVBQWU7WUFDaEMsS0FBSyxZQUFZLGFBQWE7WUFDOUIsS0FBSyxZQUFZLGdCQUFnQixDQUNwQyxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FDL0MsQ0FBQztJQUNKLENBQUM7OEdBaEJVLDhCQUE4QixrQkFLL0IsTUFBTTtrR0FMTCw4QkFBOEIsd0ZDbEMzQywwSEFLQSwwRER3QkksSUFBSSw0RkFDSixvQkFBb0Isb05BQ3BCLFNBQVM7OzJGQUdBLDhCQUE4QjtrQkFaMUMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osb0JBQW9CO3dCQUNwQixTQUFTO3FCQUNWOzswQkFPRSxNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgTmF2aWdhdGlvbkNhbmNlbCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBSb3V0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBmaWx0ZXIsXG4gIG1hcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBOZ0lmLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyeGFwLW5hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL25hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5zY3NzJyBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uUHJvZ3Jlc3NCYXJDb21wb25lbnQge1xuXG4gIHB1YmxpYyBuYXZpZ2F0aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChSb3V0ZXIpIHB1YmxpYyByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgKSB7XG4gICAgdGhpcy5uYXZpZ2F0aW5nJCA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKFxuICAgICAgICBldmVudCA9PlxuICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0IHx8XG4gICAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8XG4gICAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsLFxuICAgICAgKSxcbiAgICAgIG1hcChldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXG4gICAgKTtcbiAgfVxuXG59XG4iLCI8bWF0LXByb2dyZXNzLWJhclxuICAqbmdJZj1cIm5hdmlnYXRpbmckIHwgYXN5bmNcIlxuICBjb2xvcj1cImFjY2VudFwiXG4gIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbj48L21hdC1wcm9ncmVzcy1iYXI+XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, Inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Inject, } from '@angular/core';
2
2
  import { ResetService } from '@rxap/services';
3
3
  import { MatIconModule } from '@angular/material/icon';
4
4
  import { MatButtonModule } from '@angular/material/button';
@@ -6,25 +6,18 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/material/button";
7
7
  import * as i2 from "@angular/material/icon";
8
8
  import * as i3 from "@rxap/services";
9
- class ResetButtonComponent {
9
+ export class ResetButtonComponent {
10
10
  constructor(resetService) {
11
11
  this.resetService = resetService;
12
12
  }
13
- static { this.ɵfac = function ResetButtonComponent_Factory(t) { return new (t || ResetButtonComponent)(i0.ɵɵdirectiveInject(ResetService)); }; }
14
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ResetButtonComponent, selectors: [["rxap-reset-button"]], hostAttrs: [1, "rxap-reset-button"], standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 3, vars: 0, consts: [["mat-icon-button", "", 3, "click"]], template: function ResetButtonComponent_Template(rf, ctx) { if (rf & 1) {
15
- i0.ɵɵelementStart(0, "button", 0);
16
- i0.ɵɵlistener("click", function ResetButtonComponent_Template_button_click_0_listener() { return ctx.resetService.resetAll(); });
17
- i0.ɵɵelementStart(1, "mat-icon");
18
- i0.ɵɵtext(2, "refresh");
19
- i0.ɵɵelementEnd()();
20
- } }, dependencies: [MatButtonModule, i1.MatIconButton, MatIconModule, i2.MatIcon], changeDetection: 0 }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ResetButtonComponent, deps: [{ token: ResetService }], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: ResetButtonComponent, isStandalone: true, selector: "rxap-reset-button", ngImport: i0, template: "<button (click)=\"resetService.resetAll()\" mat-icon-button>\n <mat-icon svgIcon=\"refresh\"></mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
15
  }
22
- export { ResetButtonComponent };
23
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResetButtonComponent, [{
24
- type: Component,
25
- args: [{ selector: 'rxap-reset-button', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-reset-button' }, standalone: true, imports: [MatButtonModule, MatIconModule], template: "<button (click)=\"resetService.resetAll()\" mat-icon-button>\n <mat-icon>refresh</mat-icon>\n</button>\n" }]
26
- }], function () { return [{ type: i3.ResetService, decorators: [{
27
- type: Inject,
28
- args: [ResetService]
29
- }] }]; }, null); })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvaGVhZGVyL3Jlc2V0LWJ1dHRvbi9yZXNldC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvcmVzZXQtYnV0dG9uL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBRTNELE1BU2Esb0JBQW9CO0lBQy9CLFlBRWtCLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ3pDLENBQUM7cUZBSk8sb0JBQW9CLHVCQUVyQixZQUFZO29FQUZYLG9CQUFvQjtZQ2xCakMsaUNBQTBEO1lBQWxELGlHQUFTLDJCQUF1QixJQUFDO1lBQ3ZDLGdDQUFVO1lBQUEsdUJBQU87WUFBQSxpQkFBVyxFQUFBOzRCRGVULGVBQWUsb0JBQUUsYUFBYTs7U0FFdEMsb0JBQW9CO3VGQUFwQixvQkFBb0I7Y0FUaEMsU0FBUzsyQkFDUyxtQkFBbUIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0sUUFDOUIsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsY0FDOUIsSUFBSSxXQUNKLENBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBRTs7c0JBSWhELE1BQU07dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIEluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc2V0U2VydmljZSB9IGZyb20gJ0ByeGFwL3NlcnZpY2VzJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogICAgICAgICdyeGFwLXJlc2V0LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAgICAgJy4vcmVzZXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiAgICAgICBbICcuL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6ICAgICAgICAgICAgeyBjbGFzczogJ3J4YXAtcmVzZXQtYnV0dG9uJyB9LFxuICBzdGFuZGFsb25lOiAgICAgIHRydWUsXG4gIGltcG9ydHM6ICAgICAgICAgWyBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXNldEJ1dHRvbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUmVzZXRTZXJ2aWNlKVxuICAgIHB1YmxpYyByZWFkb25seSByZXNldFNlcnZpY2U6IFJlc2V0U2VydmljZVxuICApIHt9XG59XG4iLCI8YnV0dG9uIChjbGljayk9XCJyZXNldFNlcnZpY2UucmVzZXRBbGwoKVwiIG1hdC1pY29uLWJ1dHRvbj5cbiAgPG1hdC1pY29uPnJlZnJlc2g8L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ResetButtonComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'rxap-reset-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButtonModule, MatIconModule], template: "<button (click)=\"resetService.resetAll()\" mat-icon-button>\n <mat-icon svgIcon=\"refresh\"></mat-icon>\n</button>\n" }]
19
+ }], ctorParameters: function () { return [{ type: i3.ResetService, decorators: [{
20
+ type: Inject,
21
+ args: [ResetService]
22
+ }] }]; } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvaGVhZGVyL3Jlc2V0LWJ1dHRvbi9yZXNldC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvcmVzZXQtYnV0dG9uL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBVTNELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFFa0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFFNUMsQ0FBQzs4R0FMVSxvQkFBb0Isa0JBRXJCLFlBQVk7a0dBRlgsb0JBQW9CLDZFQ2pCakMsd0hBR0EseUREWWEsZUFBZSwyTEFBRSxhQUFhOzsyRkFFOUIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFFLGVBQWUsRUFBRSxhQUFhLENBQUU7OzBCQUl4QyxNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzZXRTZXJ2aWNlIH0gZnJvbSAnQHJ4YXAvc2VydmljZXMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnhhcC1yZXNldC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzZXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFsgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlc2V0QnV0dG9uQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChSZXNldFNlcnZpY2UpXG4gICAgcHVibGljIHJlYWRvbmx5IHJlc2V0U2VydmljZTogUmVzZXRTZXJ2aWNlLFxuICApIHtcbiAgfVxufVxuIiwiPGJ1dHRvbiAoY2xpY2spPVwicmVzZXRTZXJ2aWNlLnJlc2V0QWxsKClcIiBtYXQtaWNvbi1idXR0b24+XG4gIDxtYXQtaWNvbiBzdmdJY29uPVwicmVmcmVzaFwiPjwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==