@rxap/layout 12.2.3 → 13.0.0-next.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.
Files changed (150) hide show
  1. package/_theming.scss +1 -1
  2. package/esm2020/index.mjs +59 -0
  3. package/{esm2015/lib/footer/footer.component.js → esm2020/lib/footer/footer.component.mjs} +2 -7
  4. package/esm2020/lib/footer/footer.component.module.mjs +31 -0
  5. package/esm2020/lib/footer.directive.mjs +52 -0
  6. package/esm2020/lib/header/apps-button/apps-button.component.mjs +106 -0
  7. package/esm2020/lib/header/apps-button/apps-button.component.module.mjs +47 -0
  8. package/esm2020/lib/header/header.component.mjs +130 -0
  9. package/esm2020/lib/header/header.component.module.mjs +71 -0
  10. package/esm2020/lib/header/language-selector/language-selector.component.mjs +111 -0
  11. package/esm2020/lib/header/language-selector/language-selector.component.module.mjs +31 -0
  12. package/esm2020/lib/header/navigation-progress-bar/navigation-progress-bar.component.mjs +33 -0
  13. package/esm2020/lib/header/navigation-progress-bar/navigation-progress-bar.component.module.mjs +27 -0
  14. package/esm2020/lib/header/reset-button/reset-button.component.mjs +27 -0
  15. package/esm2020/lib/header/reset-button/reset-button.component.module.mjs +27 -0
  16. package/esm2020/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.mjs +44 -0
  17. package/esm2020/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.module.mjs +31 -0
  18. package/esm2020/lib/header/sign-out/sign-out.component.mjs +31 -0
  19. package/esm2020/lib/header/sign-out/sign-out.component.module.mjs +31 -0
  20. package/esm2020/lib/header/user-profile-icon/user-profile-icon.component.mjs +111 -0
  21. package/esm2020/lib/header/user-profile-icon/user-profile-icon.component.module.mjs +39 -0
  22. package/esm2020/lib/layout/layout.component.mjs +78 -0
  23. package/esm2020/lib/layout/layout.component.module.mjs +71 -0
  24. package/esm2020/lib/layout/layout.component.service.mjs +43 -0
  25. package/esm2020/lib/navigation/navigation-item/navigation-item.component.mjs +286 -0
  26. package/esm2020/lib/navigation/navigation-item.mjs +10 -0
  27. package/esm2020/lib/navigation/navigation.component.mjs +130 -0
  28. package/esm2020/lib/navigation/navigation.component.module.mjs +76 -0
  29. package/esm2020/lib/navigation/navigation.service.mjs +143 -0
  30. package/{esm2015/lib/navigation/replace-router-paths.pipe.js → esm2020/lib/navigation/replace-router-paths.pipe.mjs} +1 -1
  31. package/esm2020/lib/navigation/replace-router-paths.service.mjs +15 -0
  32. package/esm2020/lib/sidenav/sidenav-footer.directive.mjs +19 -0
  33. package/esm2020/lib/sidenav/sidenav-header.directive.mjs +19 -0
  34. package/esm2020/lib/sidenav/sidenav.component.mjs +120 -0
  35. package/esm2020/lib/sidenav/sidenav.component.module.mjs +45 -0
  36. package/esm2020/lib/sidenav/sidenav.component.service.mjs +22 -0
  37. package/esm2020/lib/sidenav/version/version.component.mjs +62 -0
  38. package/esm2020/lib/sidenav/version/version.component.module.mjs +27 -0
  39. package/esm2020/lib/sidenav-content/sidenav-content.component.mjs +45 -0
  40. package/esm2020/lib/sidenav-content/sidenav-content.component.module.mjs +27 -0
  41. package/esm2020/lib/sidenav-content/sidenav-content.component.service.mjs +36 -0
  42. package/esm2020/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.mjs +50 -0
  43. package/esm2020/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.module.mjs +31 -0
  44. package/esm2020/lib/tokens.mjs +8 -0
  45. package/esm2020/lib/types.mjs +2 -0
  46. package/esm2020/lib/window-container-sidenav/window-container-sidenav.component.mjs +73 -0
  47. package/esm2020/lib/window-container-sidenav/window-container-sidenav.component.module.mjs +31 -0
  48. package/esm2020/rxap-layout.mjs +5 -0
  49. package/fesm2015/rxap-layout.mjs +2577 -0
  50. package/fesm2015/rxap-layout.mjs.map +1 -0
  51. package/{fesm2015/rxap-layout.js → fesm2020/rxap-layout.mjs} +212 -355
  52. package/fesm2020/rxap-layout.mjs.map +1 -0
  53. package/package.json +45 -31
  54. package/src/schematics/ng-add/index.js +1 -1
  55. package/src/schematics/ng-add/index.js.map +1 -1
  56. package/bundles/rxap-layout.umd.js +0 -3232
  57. package/bundles/rxap-layout.umd.js.map +0 -1
  58. package/esm2015/index.js +0 -59
  59. package/esm2015/index.js.map +0 -1
  60. package/esm2015/lib/footer/footer.component.js.map +0 -1
  61. package/esm2015/lib/footer/footer.component.module.js +0 -31
  62. package/esm2015/lib/footer/footer.component.module.js.map +0 -1
  63. package/esm2015/lib/footer.directive.js +0 -52
  64. package/esm2015/lib/footer.directive.js.map +0 -1
  65. package/esm2015/lib/header/apps-button/apps-button.component.js +0 -119
  66. package/esm2015/lib/header/apps-button/apps-button.component.js.map +0 -1
  67. package/esm2015/lib/header/apps-button/apps-button.component.module.js +0 -47
  68. package/esm2015/lib/header/apps-button/apps-button.component.module.js.map +0 -1
  69. package/esm2015/lib/header/header.component.js +0 -144
  70. package/esm2015/lib/header/header.component.js.map +0 -1
  71. package/esm2015/lib/header/header.component.module.js +0 -71
  72. package/esm2015/lib/header/header.component.module.js.map +0 -1
  73. package/esm2015/lib/header/language-selector/language-selector.component.js +0 -119
  74. package/esm2015/lib/header/language-selector/language-selector.component.js.map +0 -1
  75. package/esm2015/lib/header/language-selector/language-selector.component.module.js +0 -31
  76. package/esm2015/lib/header/language-selector/language-selector.component.module.js.map +0 -1
  77. package/esm2015/lib/header/navigation-progress-bar/navigation-progress-bar.component.js +0 -39
  78. package/esm2015/lib/header/navigation-progress-bar/navigation-progress-bar.component.js.map +0 -1
  79. package/esm2015/lib/header/navigation-progress-bar/navigation-progress-bar.component.module.js +0 -27
  80. package/esm2015/lib/header/navigation-progress-bar/navigation-progress-bar.component.module.js.map +0 -1
  81. package/esm2015/lib/header/reset-button/reset-button.component.js +0 -34
  82. package/esm2015/lib/header/reset-button/reset-button.component.js.map +0 -1
  83. package/esm2015/lib/header/reset-button/reset-button.component.module.js +0 -27
  84. package/esm2015/lib/header/reset-button/reset-button.component.module.js.map +0 -1
  85. package/esm2015/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.js +0 -50
  86. package/esm2015/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.js.map +0 -1
  87. package/esm2015/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.module.js +0 -31
  88. package/esm2015/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.module.js.map +0 -1
  89. package/esm2015/lib/header/sign-out/sign-out.component.js +0 -38
  90. package/esm2015/lib/header/sign-out/sign-out.component.js.map +0 -1
  91. package/esm2015/lib/header/sign-out/sign-out.component.module.js +0 -31
  92. package/esm2015/lib/header/sign-out/sign-out.component.module.js.map +0 -1
  93. package/esm2015/lib/header/user-profile-icon/user-profile-icon.component.js +0 -126
  94. package/esm2015/lib/header/user-profile-icon/user-profile-icon.component.js.map +0 -1
  95. package/esm2015/lib/header/user-profile-icon/user-profile-icon.component.module.js +0 -39
  96. package/esm2015/lib/header/user-profile-icon/user-profile-icon.component.module.js.map +0 -1
  97. package/esm2015/lib/layout/layout.component.js +0 -89
  98. package/esm2015/lib/layout/layout.component.js.map +0 -1
  99. package/esm2015/lib/layout/layout.component.module.js +0 -71
  100. package/esm2015/lib/layout/layout.component.module.js.map +0 -1
  101. package/esm2015/lib/layout/layout.component.service.js +0 -43
  102. package/esm2015/lib/layout/layout.component.service.js.map +0 -1
  103. package/esm2015/lib/navigation/navigation-item/navigation-item.component.js +0 -299
  104. package/esm2015/lib/navigation/navigation-item/navigation-item.component.js.map +0 -1
  105. package/esm2015/lib/navigation/navigation-item.js +0 -10
  106. package/esm2015/lib/navigation/navigation-item.js.map +0 -1
  107. package/esm2015/lib/navigation/navigation.component.js +0 -138
  108. package/esm2015/lib/navigation/navigation.component.js.map +0 -1
  109. package/esm2015/lib/navigation/navigation.component.module.js +0 -76
  110. package/esm2015/lib/navigation/navigation.component.module.js.map +0 -1
  111. package/esm2015/lib/navigation/navigation.service.js +0 -139
  112. package/esm2015/lib/navigation/navigation.service.js.map +0 -1
  113. package/esm2015/lib/navigation/replace-router-paths.pipe.js.map +0 -1
  114. package/esm2015/lib/navigation/replace-router-paths.service.js +0 -15
  115. package/esm2015/lib/navigation/replace-router-paths.service.js.map +0 -1
  116. package/esm2015/lib/sidenav/sidenav-footer.directive.js +0 -19
  117. package/esm2015/lib/sidenav/sidenav-footer.directive.js.map +0 -1
  118. package/esm2015/lib/sidenav/sidenav-header.directive.js +0 -19
  119. package/esm2015/lib/sidenav/sidenav-header.directive.js.map +0 -1
  120. package/esm2015/lib/sidenav/sidenav.component.js +0 -127
  121. package/esm2015/lib/sidenav/sidenav.component.js.map +0 -1
  122. package/esm2015/lib/sidenav/sidenav.component.module.js +0 -45
  123. package/esm2015/lib/sidenav/sidenav.component.module.js.map +0 -1
  124. package/esm2015/lib/sidenav/sidenav.component.service.js +0 -22
  125. package/esm2015/lib/sidenav/sidenav.component.service.js.map +0 -1
  126. package/esm2015/lib/sidenav/version/version.component.js +0 -70
  127. package/esm2015/lib/sidenav/version/version.component.js.map +0 -1
  128. package/esm2015/lib/sidenav/version/version.component.module.js +0 -27
  129. package/esm2015/lib/sidenav/version/version.component.module.js.map +0 -1
  130. package/esm2015/lib/sidenav-content/sidenav-content.component.js +0 -51
  131. package/esm2015/lib/sidenav-content/sidenav-content.component.js.map +0 -1
  132. package/esm2015/lib/sidenav-content/sidenav-content.component.module.js +0 -27
  133. package/esm2015/lib/sidenav-content/sidenav-content.component.module.js.map +0 -1
  134. package/esm2015/lib/sidenav-content/sidenav-content.component.service.js +0 -36
  135. package/esm2015/lib/sidenav-content/sidenav-content.component.service.js.map +0 -1
  136. package/esm2015/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.js +0 -58
  137. package/esm2015/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.js.map +0 -1
  138. package/esm2015/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.module.js +0 -31
  139. package/esm2015/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.module.js.map +0 -1
  140. package/esm2015/lib/tokens.js +0 -8
  141. package/esm2015/lib/tokens.js.map +0 -1
  142. package/esm2015/lib/types.js +0 -2
  143. package/esm2015/lib/types.js.map +0 -1
  144. package/esm2015/lib/window-container-sidenav/window-container-sidenav.component.js +0 -78
  145. package/esm2015/lib/window-container-sidenav/window-container-sidenav.component.js.map +0 -1
  146. package/esm2015/lib/window-container-sidenav/window-container-sidenav.component.module.js +0 -31
  147. package/esm2015/lib/window-container-sidenav/window-container-sidenav.component.module.js.map +0 -1
  148. package/esm2015/rxap-layout.js +0 -5
  149. package/esm2015/rxap-layout.js.map +0 -1
  150. package/fesm2015/rxap-layout.js.map +0 -1
@@ -0,0 +1,111 @@
1
+ import { Component, ChangeDetectionStrategy, Injectable, Inject, } from '@angular/core';
2
+ import { ConfigService } from '@rxap/config';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@rxap/config";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/form-field";
7
+ import * as i4 from "@angular/material/select";
8
+ import * as i5 from "@angular/forms";
9
+ import * as i6 from "@angular/material/core";
10
+ function LanguageSelectorComponent_ng_template_0_mat_option_3_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵelementStart(0, "mat-option", 4);
12
+ i0.ɵɵtext(1);
13
+ i0.ɵɵelementEnd();
14
+ } if (rf & 2) {
15
+ const item_r2 = ctx.$implicit;
16
+ i0.ɵɵproperty("value", item_r2.key);
17
+ i0.ɵɵadvance(1);
18
+ i0.ɵɵtextInterpolate(item_r2.value);
19
+ } }
20
+ function LanguageSelectorComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
21
+ const _r4 = i0.ɵɵgetCurrentView();
22
+ i0.ɵɵelementStart(0, "div")(1, "mat-form-field", 1)(2, "mat-select", 2);
23
+ i0.ɵɵlistener("ngModelChange", function LanguageSelectorComponent_ng_template_0_Template_mat_select_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return ctx_r3.language.setLanguage($event); });
24
+ i0.ɵɵtemplate(3, LanguageSelectorComponent_ng_template_0_mat_option_3_Template, 2, 2, "mat-option", 3);
25
+ i0.ɵɵpipe(4, "keyvalue");
26
+ i0.ɵɵelementEnd()()();
27
+ } if (rf & 2) {
28
+ const ctx_r0 = i0.ɵɵnextContext();
29
+ i0.ɵɵadvance(2);
30
+ i0.ɵɵproperty("ngModel", ctx_r0.language.selectedLanguage);
31
+ i0.ɵɵadvance(1);
32
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(4, 2, ctx_r0.language.languages));
33
+ } }
34
+ export const RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY = 'rxap__selected_language';
35
+ export const RXAP_SELECTED_LANGUAGE_CHANGE_LOCAL_STORAGE_KEY = 'rxap__selected_language_last_change';
36
+ export class LanguageSelectorService {
37
+ constructor(config) {
38
+ this.config = config;
39
+ this.languages = this.config.get('i18n.languages') ?? {};
40
+ this.defaultLanguage =
41
+ this.config.get('i18n.defaultLanguage') ??
42
+ Object.keys(this.languages)[0] ??
43
+ 'en';
44
+ this.selectedLanguage =
45
+ localStorage.getItem(RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY) ??
46
+ this.defaultLanguage;
47
+ }
48
+ setLanguage(language) {
49
+ if (language !== this.selectedLanguage) {
50
+ this.redirect(language);
51
+ }
52
+ }
53
+ autoRedirect() {
54
+ if (localStorage.getItem(RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY)) {
55
+ this.redirect(localStorage.getItem(RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY));
56
+ }
57
+ }
58
+ redirect(language) {
59
+ const currentUrl = location.origin + location.pathname + location.search;
60
+ const redirectUrl = location.origin +
61
+ `/${language}` +
62
+ location.pathname.replace(new RegExp(`^\/${this.selectedLanguage}`), '') +
63
+ location.search;
64
+ this.selectedLanguage = language;
65
+ localStorage.setItem(RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY, language);
66
+ if (currentUrl !== redirectUrl) {
67
+ if (this.checkLastChange()) {
68
+ location.replace(redirectUrl);
69
+ }
70
+ }
71
+ else {
72
+ console.log('Redirect not required');
73
+ }
74
+ }
75
+ checkLastChange() {
76
+ const lastChangeString = localStorage.getItem(RXAP_SELECTED_LANGUAGE_CHANGE_LOCAL_STORAGE_KEY);
77
+ if (lastChangeString) {
78
+ if (Date.now() - parseInt(lastChangeString, 10) < 1000) {
79
+ return false;
80
+ }
81
+ }
82
+ localStorage.setItem(RXAP_SELECTED_LANGUAGE_CHANGE_LOCAL_STORAGE_KEY, Date.now().toFixed(0));
83
+ return true;
84
+ }
85
+ }
86
+ LanguageSelectorService.ɵfac = function LanguageSelectorService_Factory(t) { return new (t || LanguageSelectorService)(i0.ɵɵinject(ConfigService)); };
87
+ LanguageSelectorService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LanguageSelectorService, factory: LanguageSelectorService.ɵfac, providedIn: 'root' });
88
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageSelectorService, [{
89
+ type: Injectable,
90
+ args: [{ providedIn: 'root' }]
91
+ }], function () { return [{ type: i1.ConfigService, decorators: [{
92
+ type: Inject,
93
+ args: [ConfigService]
94
+ }] }]; }, null); })();
95
+ export class LanguageSelectorComponent {
96
+ constructor(language) {
97
+ this.language = language;
98
+ }
99
+ }
100
+ LanguageSelectorComponent.ɵfac = function LanguageSelectorComponent_Factory(t) { return new (t || LanguageSelectorComponent)(i0.ɵɵdirectiveInject(LanguageSelectorService)); };
101
+ LanguageSelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LanguageSelectorComponent, selectors: [["rxap-language-selector"]], hostAttrs: [1, "rxap-language-selector"], 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) {
102
+ i0.ɵɵtemplate(0, LanguageSelectorComponent_ng_template_0_Template, 5, 4, "ng-template", 0);
103
+ i0.ɵɵpipe(1, "keyvalue");
104
+ } if (rf & 2) {
105
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.language.languages).length);
106
+ } }, directives: [i2.NgIf, i3.MatFormField, i4.MatSelect, i5.NgControlStatus, i5.NgModel, i2.NgForOf, i6.MatOption], pipes: [i2.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 });
107
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageSelectorComponent, [{
108
+ type: Component,
109
+ args: [{ selector: 'rxap-language-selector', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-language-selector' }, 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"] }]
110
+ }], function () { return [{ type: LanguageSelectorService }]; }, null); })();
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7SUNGckMscUNBQWtGO0lBQUEsWUFBYztJQUFBLGlCQUFhOzs7SUFBOUMsbUNBQWtCO0lBQUMsZUFBYztJQUFkLG1DQUFjOzs7O0lBSHRHLDJCQUFLLHdCQUFBLG9CQUFBO0lBRVcsd01BQWlCLG1DQUE0QixJQUFDO0lBQ3hELHNHQUE2Rzs7SUFDL0csaUJBQWEsRUFBQSxFQUFBOzs7SUFGOEMsZUFBcUM7SUFBckMsMERBQXFDO0lBQ2pFLGVBQWdDO0lBQWhDLHlFQUFnQzs7QURJckUsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQ25ELHlCQUF5QixDQUFDO0FBQzVCLE1BQU0sQ0FBQyxNQUFNLCtDQUErQyxHQUMxRCxxQ0FBcUMsQ0FBQztBQUd4QyxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBRW1CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFFdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBTSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5RCxJQUFJLENBQUMsZUFBZTtZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUM7UUFDUCxJQUFJLENBQUMsZ0JBQWdCO1lBQ25CLFlBQVksQ0FBQyxPQUFPLENBQUMsd0NBQXdDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFnQjtRQUNqQyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxRQUFRLENBQ1gsWUFBWSxDQUFDLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBRSxDQUNoRSxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8sUUFBUSxDQUFDLFFBQWdCO1FBQy9CLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3pFLE1BQU0sV0FBVyxHQUNmLFFBQVEsQ0FBQyxNQUFNO1lBQ2YsSUFBSSxRQUFRLEVBQUU7WUFDZCxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3hFLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUNqQyxZQUFZLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pFLElBQUksVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUM5QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDMUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMvQjtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQzNDLCtDQUErQyxDQUNoRCxDQUFDO1FBQ0YsSUFBSSxnQkFBZ0IsRUFBRTtZQUNwQixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFO2dCQUN0RCxPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7UUFDRCxZQUFZLENBQUMsT0FBTyxDQUNsQiwrQ0FBK0MsRUFDL0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDdEIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OEZBakVVLHVCQUF1QixjQU14QixhQUFhOzZFQU5aLHVCQUF1QixXQUF2Qix1QkFBdUIsbUJBRFYsTUFBTTt1RkFDbkIsdUJBQXVCO2NBRG5DLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O3NCQU83QixNQUFNO3VCQUFDLGFBQWE7O0FBcUV6QixNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQTRCLFFBQWlDO1FBQWpDLGFBQVEsR0FBUixRQUFRLENBQXlCO0lBQUcsQ0FBQzs7a0dBRHRELHlCQUF5Qix1QkFDRSx1QkFBdUI7NEVBRGxELHlCQUF5QjtRQ3pGdEMsMEZBUWM7OztRQVJELDBFQUErQzs7dUZEeUYvQyx5QkFBeUI7Y0FQckMsU0FBUzsyQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUU7c0NBR0gsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcnhhcC9jb25maWcnO1xuXG5leHBvcnQgY29uc3QgUlhBUF9TRUxFQ1RFRF9MQU5HVUFHRV9MT0NBTF9TVE9SQUdFX0tFWSA9XG4gICdyeGFwX19zZWxlY3RlZF9sYW5ndWFnZSc7XG5leHBvcnQgY29uc3QgUlhBUF9TRUxFQ1RFRF9MQU5HVUFHRV9DSEFOR0VfTE9DQUxfU1RPUkFHRV9LRVkgPVxuICAncnhhcF9fc2VsZWN0ZWRfbGFuZ3VhZ2VfbGFzdF9jaGFuZ2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExhbmd1YWdlU2VsZWN0b3JTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGxhbmd1YWdlczogYW55O1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdExhbmd1YWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZExhbmd1YWdlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDb25maWdTZXJ2aWNlKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubGFuZ3VhZ2VzID0gdGhpcy5jb25maWcuZ2V0PGFueT4oJ2kxOG4ubGFuZ3VhZ2VzJykgPz8ge307XG4gICAgdGhpcy5kZWZhdWx0TGFuZ3VhZ2UgPVxuICAgICAgdGhpcy5jb25maWcuZ2V0KCdpMThuLmRlZmF1bHRMYW5ndWFnZScpID8/XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmxhbmd1YWdlcylbMF0gPz9cbiAgICAgICdlbic7XG4gICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID1cbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFJYQVBfU0VMRUNURURfTEFOR1VBR0VfTE9DQUxfU1RPUkFHRV9LRVkpID8/XG4gICAgICB0aGlzLmRlZmF1bHRMYW5ndWFnZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgaWYgKGxhbmd1YWdlICE9PSB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcbiAgICAgIHRoaXMucmVkaXJlY3QobGFuZ3VhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhdXRvUmVkaXJlY3QoKSB7XG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFJYQVBfU0VMRUNURURfTEFOR1VBR0VfTE9DQUxfU1RPUkFHRV9LRVkpKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0KFxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShSWEFQX1NFTEVDVEVEX0xBTkdVQUdFX0xPQ0FMX1NUT1JBR0VfS0VZKSFcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWRpcmVjdChsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgY29uc3QgY3VycmVudFVybCA9IGxvY2F0aW9uLm9yaWdpbiArIGxvY2F0aW9uLnBhdGhuYW1lICsgbG9jYXRpb24uc2VhcmNoO1xuICAgIGNvbnN0IHJlZGlyZWN0VXJsID1cbiAgICAgIGxvY2F0aW9uLm9yaWdpbiArXG4gICAgICBgLyR7bGFuZ3VhZ2V9YCArXG4gICAgICBsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoYF5cXC8ke3RoaXMuc2VsZWN0ZWRMYW5ndWFnZX1gKSwgJycpICtcbiAgICAgIGxvY2F0aW9uLnNlYXJjaDtcbiAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPSBsYW5ndWFnZTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShSWEFQX1NFTEVDVEVEX0xBTkdVQUdFX0xPQ0FMX1NUT1JBR0VfS0VZLCBsYW5ndWFnZSk7XG4gICAgaWYgKGN1cnJlbnRVcmwgIT09IHJlZGlyZWN0VXJsKSB7XG4gICAgICBpZiAodGhpcy5jaGVja0xhc3RDaGFuZ2UoKSkge1xuICAgICAgICBsb2NhdGlvbi5yZXBsYWNlKHJlZGlyZWN0VXJsKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ1JlZGlyZWN0IG5vdCByZXF1aXJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tMYXN0Q2hhbmdlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxhc3RDaGFuZ2VTdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcbiAgICAgIFJYQVBfU0VMRUNURURfTEFOR1VBR0VfQ0hBTkdFX0xPQ0FMX1NUT1JBR0VfS0VZXG4gICAgKTtcbiAgICBpZiAobGFzdENoYW5nZVN0cmluZykge1xuICAgICAgaWYgKERhdGUubm93KCkgLSBwYXJzZUludChsYXN0Q2hhbmdlU3RyaW5nLCAxMCkgPCAxMDAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICBSWEFQX1NFTEVDVEVEX0xBTkdVQUdFX0NIQU5HRV9MT0NBTF9TVE9SQUdFX0tFWSxcbiAgICAgIERhdGUubm93KCkudG9GaXhlZCgwKVxuICAgICk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnhhcC1sYW5ndWFnZS1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IGNsYXNzOiAncnhhcC1sYW5ndWFnZS1zZWxlY3RvcicgfSxcbn0pXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBsYW5ndWFnZTogTGFuZ3VhZ2VTZWxlY3RvclNlcnZpY2UpIHt9XG59XG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwiKGxhbmd1YWdlLmxhbmd1YWdlcyB8IGtleXZhbHVlKS5sZW5ndGhcIj5cbiAgPGRpdj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cImxhbmd1YWdlLXNlbGVjdG9yXCI+XG4gICAgICA8bWF0LXNlbGVjdCAobmdNb2RlbENoYW5nZSk9XCJsYW5ndWFnZS5zZXRMYW5ndWFnZSgkZXZlbnQpXCIgW25nTW9kZWxdPVwibGFuZ3VhZ2Uuc2VsZWN0ZWRMYW5ndWFnZVwiPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYW5ndWFnZS5sYW5ndWFnZXMgfCBrZXl2YWx1ZVwiIFt2YWx1ZV09XCJpdGVtLmtleVwiPnt7aXRlbS52YWx1ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { LanguageSelectorComponent } from './language-selector.component';
3
+ import { MatSelectModule } from '@angular/material/select';
4
+ import { CommonModule } from '@angular/common';
5
+ import { FormsModule } from '@angular/forms';
6
+ import * as i0 from "@angular/core";
7
+ export class LanguageSelectorComponentModule {
8
+ }
9
+ LanguageSelectorComponentModule.ɵfac = function LanguageSelectorComponentModule_Factory(t) { return new (t || LanguageSelectorComponentModule)(); };
10
+ LanguageSelectorComponentModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: LanguageSelectorComponentModule });
11
+ LanguageSelectorComponentModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
12
+ MatSelectModule,
13
+ CommonModule,
14
+ FormsModule
15
+ ]] });
16
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageSelectorComponentModule, [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [LanguageSelectorComponent],
20
+ imports: [
21
+ MatSelectModule,
22
+ CommonModule,
23
+ FormsModule
24
+ ],
25
+ exports: [LanguageSelectorComponent]
26
+ }]
27
+ }], null, null); })();
28
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(LanguageSelectorComponentModule, { declarations: [LanguageSelectorComponent], imports: [MatSelectModule,
29
+ CommonModule,
30
+ FormsModule], exports: [LanguageSelectorComponent] }); })();
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvaGVhZGVyL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFZN0MsTUFBTSxPQUFPLCtCQUErQjs7OEdBQS9CLCtCQUErQjtpRkFBL0IsK0JBQStCO3FGQVA1QjtZQUNaLGVBQWU7WUFDZixZQUFZO1lBQ1osV0FBVztTQUNaO3VGQUdVLCtCQUErQjtjQVQzQyxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUUseUJBQXlCLENBQUU7Z0JBQzNDLE9BQU8sRUFBTztvQkFDWixlQUFlO29CQUNmLFlBQVk7b0JBQ1osV0FBVztpQkFDWjtnQkFDRCxPQUFPLEVBQU8sQ0FBRSx5QkFBeUIsQ0FBRTthQUM1Qzs7d0ZBQ1ksK0JBQStCLG1CQVIxQix5QkFBeUIsYUFFdkMsZUFBZTtRQUNmLFlBQVk7UUFDWixXQUFXLGFBRUcseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWyBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50IF0sXG4gIGltcG9ydHM6ICAgICAgW1xuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogICAgICBbIExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQgXVxufSlcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Component, ChangeDetectionStrategy, Inject } from '@angular/core';
2
+ import { Router, NavigationStart, NavigationEnd, NavigationCancel } from '@angular/router';
3
+ import { filter, map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/material/progress-bar";
7
+ import * as i3 from "@angular/router";
8
+ function NavigationProgressBarComponent_mat_progress_bar_0_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelement(0, "mat-progress-bar", 1);
10
+ } }
11
+ export class NavigationProgressBarComponent {
12
+ constructor(router) {
13
+ this.router = router;
14
+ this.navigating$ = this.router.events.pipe(filter(event => event instanceof NavigationStart ||
15
+ event instanceof NavigationEnd ||
16
+ event instanceof NavigationCancel), map(event => event instanceof NavigationStart));
17
+ }
18
+ }
19
+ NavigationProgressBarComponent.ɵfac = function NavigationProgressBarComponent_Factory(t) { return new (t || NavigationProgressBarComponent)(i0.ɵɵdirectiveInject(Router)); };
20
+ NavigationProgressBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationProgressBarComponent, selectors: [["rxap-navigation-progress-bar"]], hostAttrs: [1, "rxap-navigation-progress-bar"], 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
+ } }, directives: [i1.NgIf, i2.MatProgressBar], pipes: [i1.AsyncPipe], styles: [""], changeDetection: 0 });
26
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NavigationProgressBarComponent, [{
27
+ type: Component,
28
+ args: [{ selector: 'rxap-navigation-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-navigation-progress-bar' }, template: "<mat-progress-bar\n *ngIf=\"navigating$ | async\"\n mode=\"indeterminate\"\n color=\"accent\"\n></mat-progress-bar>\n", styles: [""] }]
29
+ }], function () { return [{ type: i3.Router, decorators: [{
30
+ type: Inject,
31
+ args: [Router]
32
+ }] }]; }, null); })();
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxNQUFNLEVBQ04sZUFBZSxFQUNmLGFBQWEsRUFDYixnQkFBZ0IsRUFDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsTUFBTSxFQUNOLEdBQUcsRUFDSixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7SUNmeEIsc0NBSW9COztBRG9CcEIsTUFBTSxPQUFPLDhCQUE4QjtJQUl6QyxZQUNrQyxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUU5QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDeEMsTUFBTSxDQUNKLEtBQUssQ0FBQyxFQUFFLENBQ04sS0FBSyxZQUFZLGVBQWU7WUFDaEMsS0FBSyxZQUFZLGFBQWE7WUFDOUIsS0FBSyxZQUFZLGdCQUFnQixDQUNwQyxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FDL0MsQ0FBQztJQUNKLENBQUM7OzRHQWhCVSw4QkFBOEIsdUJBSy9CLE1BQU07aUZBTEwsOEJBQThCO1FDeEIzQyx5R0FJb0I7OztRQUhqQiw0REFBeUI7O3VGRHVCZiw4QkFBOEI7Y0FQMUMsU0FBUzsyQkFDUyw4QkFBOEIsbUJBRzlCLHVCQUF1QixDQUFDLE1BQU0sUUFDOUIsRUFBRSxLQUFLLEVBQUUsOEJBQThCLEVBQUU7O3NCQU92RCxNQUFNO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBJbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBSb3V0ZXIsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgTmF2aWdhdGlvbkNhbmNlbFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgZmlsdGVyLFxuICBtYXBcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICAgICAgICAncnhhcC1uYXZpZ2F0aW9uLXByb2dyZXNzLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAgICAgJy4vbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6ICAgICAgIFsgJy4vbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiAgICAgICAgICAgIHsgY2xhc3M6ICdyeGFwLW5hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyJyB9XG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Qcm9ncmVzc0JhckNvbXBvbmVudCB7XG5cbiAgcHVibGljIG5hdmlnYXRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFJvdXRlcikgcHVibGljIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMubmF2aWdhdGluZyQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgZXZlbnQgPT5cbiAgICAgICAgICBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fFxuICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fFxuICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbFxuICAgICAgKSxcbiAgICAgIG1hcChldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydClcbiAgICApO1xuICB9XG5cbn1cbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyXG4gICpuZ0lmPVwibmF2aWdhdGluZyQgfCBhc3luY1wiXG4gIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgY29sb3I9XCJhY2NlbnRcIlxuPjwvbWF0LXByb2dyZXNzLWJhcj5cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { NavigationProgressBarComponent } from './navigation-progress-bar.component';
3
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i0 from "@angular/core";
6
+ export class NavigationProgressBarComponentModule {
7
+ }
8
+ NavigationProgressBarComponentModule.ɵfac = function NavigationProgressBarComponentModule_Factory(t) { return new (t || NavigationProgressBarComponentModule)(); };
9
+ NavigationProgressBarComponentModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NavigationProgressBarComponentModule });
10
+ NavigationProgressBarComponentModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
11
+ MatProgressBarModule,
12
+ CommonModule
13
+ ]] });
14
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NavigationProgressBarComponentModule, [{
15
+ type: NgModule,
16
+ args: [{
17
+ declarations: [NavigationProgressBarComponent],
18
+ imports: [
19
+ MatProgressBarModule,
20
+ CommonModule
21
+ ],
22
+ exports: [NavigationProgressBarComponent]
23
+ }]
24
+ }], null, null); })();
25
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NavigationProgressBarComponentModule, { declarations: [NavigationProgressBarComponent], imports: [MatProgressBarModule,
26
+ CommonModule], exports: [NavigationProgressBarComponent] }); })();
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvaGVhZGVyL25hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyL25hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVy9DLE1BQU0sT0FBTyxvQ0FBb0M7O3dIQUFwQyxvQ0FBb0M7c0ZBQXBDLG9DQUFvQzswRkFOdEM7WUFDUCxvQkFBb0I7WUFDcEIsWUFBWTtTQUNiO3VGQUdVLG9DQUFvQztjQVJoRCxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBQzlDLE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7b0JBQ3BCLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsOEJBQThCLENBQUM7YUFDMUM7O3dGQUNZLG9DQUFvQyxtQkFQaEMsOEJBQThCLGFBRTNDLG9CQUFvQjtRQUNwQixZQUFZLGFBRUosOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25Qcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmF2aWdhdGlvblByb2dyZXNzQmFyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbTmF2aWdhdGlvblByb2dyZXNzQmFyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uUHJvZ3Jlc3NCYXJDb21wb25lbnRNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Component, ChangeDetectionStrategy, Inject } from '@angular/core';
2
+ import { ResetService } from '@rxap/services';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button";
5
+ import * as i2 from "@angular/material/icon";
6
+ import * as i3 from "@rxap/services";
7
+ export class ResetButtonComponent {
8
+ constructor(resetService) {
9
+ this.resetService = resetService;
10
+ }
11
+ }
12
+ ResetButtonComponent.ɵfac = function ResetButtonComponent_Factory(t) { return new (t || ResetButtonComponent)(i0.ɵɵdirectiveInject(ResetService)); };
13
+ ResetButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ResetButtonComponent, selectors: [["rxap-reset-button"]], hostAttrs: [1, "rxap-reset-button"], decls: 3, vars: 0, consts: [["mat-icon-button", "", 3, "click"]], template: function ResetButtonComponent_Template(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵelementStart(0, "button", 0);
15
+ i0.ɵɵlistener("click", function ResetButtonComponent_Template_button_click_0_listener() { return ctx.resetService.resetAll(); });
16
+ i0.ɵɵelementStart(1, "mat-icon");
17
+ i0.ɵɵtext(2, "refresh");
18
+ i0.ɵɵelementEnd()();
19
+ } }, directives: [i1.MatButton, i2.MatIcon], styles: [""], changeDetection: 0 });
20
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResetButtonComponent, [{
21
+ type: Component,
22
+ args: [{ selector: 'rxap-reset-button', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-reset-button' }, template: "<button (click)=\"resetService.resetAll()\" mat-icon-button>\n <mat-icon>refresh</mat-icon>\n</button>\n", styles: [""] }]
23
+ }], function () { return [{ type: i3.ResetService, decorators: [{
24
+ type: Inject,
25
+ args: [ResetService]
26
+ }] }]; }, null); })();
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvaGVhZGVyL3Jlc2V0LWJ1dHRvbi9yZXNldC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvcmVzZXQtYnV0dG9uL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBUzlDLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFFa0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDekMsQ0FBQzs7d0ZBSk8sb0JBQW9CLHVCQUVyQixZQUFZO3VFQUZYLG9CQUFvQjtRQ1ZqQyxpQ0FBMEQ7UUFBbEQsaUdBQVMsMkJBQXVCLElBQUM7UUFDdkMsZ0NBQVU7UUFBQSx1QkFBTztRQUFBLGlCQUFXLEVBQUE7O3VGRFNqQixvQkFBb0I7Y0FQaEMsU0FBUzsyQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRTs7c0JBSWpDLE1BQU07dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzZXRTZXJ2aWNlIH0gZnJvbSAnQHJ4YXAvc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyeGFwLXJlc2V0LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNldC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXNldC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgY2xhc3M6ICdyeGFwLXJlc2V0LWJ1dHRvbicgfSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzZXRCdXR0b25Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFJlc2V0U2VydmljZSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVzZXRTZXJ2aWNlOiBSZXNldFNlcnZpY2VcbiAgKSB7fVxufVxuIiwiPGJ1dHRvbiAoY2xpY2spPVwicmVzZXRTZXJ2aWNlLnJlc2V0QWxsKClcIiBtYXQtaWNvbi1idXR0b24+XG4gIDxtYXQtaWNvbj5yZWZyZXNoPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuIl19
@@ -0,0 +1,27 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ResetButtonComponent } from './reset-button.component';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import * as i0 from "@angular/core";
6
+ export class ResetButtonComponentModule {
7
+ }
8
+ ResetButtonComponentModule.ɵfac = function ResetButtonComponentModule_Factory(t) { return new (t || ResetButtonComponentModule)(); };
9
+ ResetButtonComponentModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ResetButtonComponentModule });
10
+ ResetButtonComponentModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
11
+ MatIconModule,
12
+ MatButtonModule
13
+ ]] });
14
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResetButtonComponentModule, [{
15
+ type: NgModule,
16
+ args: [{
17
+ declarations: [ResetButtonComponent],
18
+ imports: [
19
+ MatIconModule,
20
+ MatButtonModule
21
+ ],
22
+ exports: [ResetButtonComponent]
23
+ }]
24
+ }], null, null); })();
25
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ResetButtonComponentModule, { declarations: [ResetButtonComponent], imports: [MatIconModule,
26
+ MatButtonModule], exports: [ResetButtonComponent] }); })();
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xheW91dC9zcmMvbGliL2hlYWRlci9yZXNldC1idXR0b24vcmVzZXQtYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVczRCxNQUFNLE9BQU8sMEJBQTBCOztvR0FBMUIsMEJBQTBCOzRFQUExQiwwQkFBMEI7Z0ZBTjVCO1lBQ1AsYUFBYTtZQUNiLGVBQWU7U0FDaEI7dUZBR1UsMEJBQTBCO2NBUnRDLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDcEMsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsZUFBZTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDaEM7O3dGQUNZLDBCQUEwQixtQkFQdEIsb0JBQW9CLGFBRWpDLGFBQWE7UUFDYixlQUFlLGFBRVAsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc2V0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNldC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUmVzZXRCdXR0b25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1Jlc2V0QnV0dG9uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBSZXNldEJ1dHRvbkNvbXBvbmVudE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
3
+ import { MatSidenav } from '@angular/material/sidenav';
4
+ import { Required } from '@rxap/utilities';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/button";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/material/icon";
9
+ function SidenavToggleButtonComponent_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
10
+ i0.ɵɵelementStart(0, "mat-icon");
11
+ i0.ɵɵtext(1, "menu");
12
+ i0.ɵɵelementEnd();
13
+ } }
14
+ function SidenavToggleButtonComponent_mat_icon_2_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵelementStart(0, "mat-icon");
16
+ i0.ɵɵtext(1, "menu_open");
17
+ i0.ɵɵelementEnd();
18
+ } }
19
+ export class SidenavToggleButtonComponent {
20
+ }
21
+ SidenavToggleButtonComponent.ɵfac = function SidenavToggleButtonComponent_Factory(t) { return new (t || SidenavToggleButtonComponent)(); };
22
+ SidenavToggleButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SidenavToggleButtonComponent, selectors: [["rxap-sidenav-toggle-button"]], hostAttrs: [1, "rxap-sidenav-toggle-button"], inputs: { sidenav: "sidenav" }, decls: 3, vars: 2, consts: [["mat-icon-button", "", 3, "click"], [4, "ngIf"]], template: function SidenavToggleButtonComponent_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "button", 0);
24
+ i0.ɵɵlistener("click", function SidenavToggleButtonComponent_Template_button_click_0_listener() { return ctx.sidenav.toggle(); });
25
+ i0.ɵɵtemplate(1, SidenavToggleButtonComponent_mat_icon_1_Template, 2, 0, "mat-icon", 1);
26
+ i0.ɵɵtemplate(2, SidenavToggleButtonComponent_mat_icon_2_Template, 2, 0, "mat-icon", 1);
27
+ i0.ɵɵelementEnd();
28
+ } if (rf & 2) {
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵproperty("ngIf", !ctx.sidenav.opened);
31
+ i0.ɵɵadvance(1);
32
+ i0.ɵɵproperty("ngIf", ctx.sidenav.opened);
33
+ } }, directives: [i1.MatButton, i2.NgIf, i3.MatIcon], styles: [""], changeDetection: 0 });
34
+ __decorate([
35
+ Required,
36
+ __metadata("design:type", MatSidenav)
37
+ ], SidenavToggleButtonComponent.prototype, "sidenav", void 0);
38
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SidenavToggleButtonComponent, [{
39
+ type: Component,
40
+ args: [{ selector: 'rxap-sidenav-toggle-button', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-sidenav-toggle-button' }, template: "<button (click)=\"sidenav.toggle()\" mat-icon-button>\n <mat-icon *ngIf=\"!sidenav.opened\">menu</mat-icon>\n <mat-icon *ngIf=\"sidenav.opened\">menu_open</mat-icon>\n</button>\n", styles: [""] }]
41
+ }], null, { sidenav: [{
42
+ type: Input
43
+ }] }); })();
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi10b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvaGVhZGVyL3NpZGVuYXYtdG9nZ2xlLWJ1dHRvbi9zaWRlbmF2LXRvZ2dsZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvc2lkZW5hdi10b2dnbGUtYnV0dG9uL3NpZGVuYXYtdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztJQ0x6QyxnQ0FBa0M7SUFBQSxvQkFBSTtJQUFBLGlCQUFXOzs7SUFDakQsZ0NBQWlDO0lBQUEseUJBQVM7SUFBQSxpQkFBVzs7QURhdkQsTUFBTSxPQUFPLDRCQUE0Qjs7d0dBQTVCLDRCQUE0QjsrRUFBNUIsNEJBQTRCO1FDZnpDLGlDQUFtRDtRQUEzQyx5R0FBUyxvQkFBZ0IsSUFBQztRQUNoQyx1RkFBaUQ7UUFDakQsdUZBQXFEO1FBQ3ZELGlCQUFTOztRQUZJLGVBQXFCO1FBQXJCLDBDQUFxQjtRQUNyQixlQUFvQjtRQUFwQix5Q0FBb0I7O0FEaUIvQjtJQURDLFFBQVE7OEJBQ1EsVUFBVTs2REFBQzt1RkFKakIsNEJBQTRCO2NBUHhDLFNBQVM7MkJBQ1MsNEJBQTRCLG1CQUc1Qix1QkFBdUIsQ0FBQyxNQUFNLFFBQzlCLEVBQUUsS0FBSyxFQUFFLDRCQUE0QixFQUFFO2dCQU1qRCxPQUFPO2tCQUZiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IFJlcXVpcmVkIH0gZnJvbSAnQHJ4YXAvdXRpbGl0aWVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAgICAgICAgJ3J4YXAtc2lkZW5hdi10b2dnbGUtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICAgICAnLi9zaWRlbmF2LXRvZ2dsZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6ICAgICAgIFsgJy4vc2lkZW5hdi10b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5zY3NzJyBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogICAgICAgICAgICB7IGNsYXNzOiAncnhhcC1zaWRlbmF2LXRvZ2dsZS1idXR0b24nIH1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZW5hdlRvZ2dsZUJ1dHRvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KClcbiAgQFJlcXVpcmVkXG4gIHB1YmxpYyBzaWRlbmF2ITogTWF0U2lkZW5hdjtcblxufVxuIiwiPGJ1dHRvbiAoY2xpY2spPVwic2lkZW5hdi50b2dnbGUoKVwiIG1hdC1pY29uLWJ1dHRvbj5cbiAgPG1hdC1pY29uICpuZ0lmPVwiIXNpZGVuYXYub3BlbmVkXCI+bWVudTwvbWF0LWljb24+XG4gIDxtYXQtaWNvbiAqbmdJZj1cInNpZGVuYXYub3BlbmVkXCI+bWVudV9vcGVuPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuIl19
@@ -0,0 +1,31 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { SidenavToggleButtonComponent } from './sidenav-toggle-button.component';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { CommonModule } from '@angular/common';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import * as i0 from "@angular/core";
7
+ export class SidenavToggleButtonComponentModule {
8
+ }
9
+ SidenavToggleButtonComponentModule.ɵfac = function SidenavToggleButtonComponentModule_Factory(t) { return new (t || SidenavToggleButtonComponentModule)(); };
10
+ SidenavToggleButtonComponentModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SidenavToggleButtonComponentModule });
11
+ SidenavToggleButtonComponentModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
12
+ MatIconModule,
13
+ CommonModule,
14
+ MatButtonModule
15
+ ]] });
16
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SidenavToggleButtonComponentModule, [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [SidenavToggleButtonComponent],
20
+ imports: [
21
+ MatIconModule,
22
+ CommonModule,
23
+ MatButtonModule
24
+ ],
25
+ exports: [SidenavToggleButtonComponent]
26
+ }]
27
+ }], null, null); })();
28
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SidenavToggleButtonComponentModule, { declarations: [SidenavToggleButtonComponent], imports: [MatIconModule,
29
+ CommonModule,
30
+ MatButtonModule], exports: [SidenavToggleButtonComponent] }); })();
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi10b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xheW91dC9zcmMvbGliL2hlYWRlci9zaWRlbmF2LXRvZ2dsZS1idXR0b24vc2lkZW5hdi10b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFZM0QsTUFBTSxPQUFPLGtDQUFrQzs7b0hBQWxDLGtDQUFrQztvRkFBbEMsa0NBQWtDO3dGQVBwQztZQUNQLGFBQWE7WUFDYixZQUFZO1lBQ1osZUFBZTtTQUNoQjt1RkFHVSxrQ0FBa0M7Y0FUOUMsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLDRCQUE0QixDQUFDO2dCQUM1QyxPQUFPLEVBQUU7b0JBQ1AsYUFBYTtvQkFDYixZQUFZO29CQUNaLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRSxDQUFDLDRCQUE0QixDQUFDO2FBQ3hDOzt3RkFDWSxrQ0FBa0MsbUJBUjlCLDRCQUE0QixhQUV6QyxhQUFhO1FBQ2IsWUFBWTtRQUNaLGVBQWUsYUFFUCw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2lkZW5hdlRvZ2dsZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vc2lkZW5hdi10b2dnbGUtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTaWRlbmF2VG9nZ2xlQnV0dG9uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbU2lkZW5hdlRvZ2dsZUJ1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZW5hdlRvZ2dsZUJ1dHRvbkNvbXBvbmVudE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Component, ChangeDetectionStrategy, Inject } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button";
5
+ import * as i2 from "@rxap/authentication";
6
+ import * as i3 from "@angular/material/icon";
7
+ import * as i4 from "@angular/router";
8
+ export class SignOutComponent {
9
+ constructor(router) {
10
+ this.router = router;
11
+ }
12
+ redirectToRoot() {
13
+ this.router.navigate(['/']);
14
+ }
15
+ }
16
+ SignOutComponent.ɵfac = function SignOutComponent_Factory(t) { return new (t || SignOutComponent)(i0.ɵɵdirectiveInject(Router)); };
17
+ SignOutComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SignOutComponent, selectors: [["rxap-sign-out"]], hostAttrs: [1, "rxap-sign-out"], decls: 3, vars: 0, consts: [["rxapSignOut", "", "mat-icon-button", "", 3, "successful"]], template: function SignOutComponent_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "button", 0);
19
+ i0.ɵɵlistener("successful", function SignOutComponent_Template_button_successful_0_listener() { return ctx.redirectToRoot(); });
20
+ i0.ɵɵelementStart(1, "mat-icon");
21
+ i0.ɵɵtext(2, "login");
22
+ i0.ɵɵelementEnd()();
23
+ } }, directives: [i1.MatButton, i2.SignOutDirective, i3.MatIcon], styles: [""], changeDetection: 0 });
24
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SignOutComponent, [{
25
+ type: Component,
26
+ args: [{ selector: 'rxap-sign-out', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-sign-out' }, template: "<button\n rxapSignOut\n (successful)=\"redirectToRoot()\"\n mat-icon-button\n>\n <mat-icon>login</mat-icon>\n</button>\n", styles: [""] }]
27
+ }], function () { return [{ type: i4.Router, decorators: [{
28
+ type: Inject,
29
+ args: [Router]
30
+ }] }]; }, null); })();
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1vdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvc2lnbi1vdXQvc2lnbi1vdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvc2lnbi1vdXQvc2lnbi1vdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBU3pDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFFbUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDOUIsQ0FBQztJQUVHLGNBQWM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBRSxHQUFHLENBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O2dGQVRVLGdCQUFnQix1QkFHakIsTUFBTTttRUFITCxnQkFBZ0I7UUNkN0IsaUNBSUM7UUFGQyx1R0FBYyxvQkFBZ0IsSUFBQztRQUcvQixnQ0FBVTtRQUFBLHFCQUFLO1FBQUEsaUJBQVcsRUFBQTs7dUZEU2YsZ0JBQWdCO2NBUDVCLFNBQVM7MkJBQ1MsZUFBZSxtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLFFBQzlCLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTs7c0JBS3hDLE1BQU07dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIEluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogICAgICAgICdyeGFwLXNpZ24tb3V0JyxcbiAgdGVtcGxhdGVVcmw6ICAgICAnLi9zaWduLW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogICAgICAgWyAnLi9zaWduLW91dC5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6ICAgICAgICAgICAgeyBjbGFzczogJ3J4YXAtc2lnbi1vdXQnIH1cbn0pXG5leHBvcnQgY2xhc3MgU2lnbk91dENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChSb3V0ZXIpXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgcHVibGljIHJlZGlyZWN0VG9Sb290KCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsgJy8nIF0pO1xuICB9XG5cbn1cbiIsIjxidXR0b25cbiAgcnhhcFNpZ25PdXRcbiAgKHN1Y2Nlc3NmdWwpPVwicmVkaXJlY3RUb1Jvb3QoKVwiXG4gIG1hdC1pY29uLWJ1dHRvblxuPlxuICA8bWF0LWljb24+bG9naW48L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { SignOutComponent } from './sign-out.component';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { SignOutDirectiveModule } from '@rxap/authentication';
6
+ import * as i0 from "@angular/core";
7
+ export class SignOutComponentModule {
8
+ }
9
+ SignOutComponentModule.ɵfac = function SignOutComponentModule_Factory(t) { return new (t || SignOutComponentModule)(); };
10
+ SignOutComponentModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SignOutComponentModule });
11
+ SignOutComponentModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
12
+ MatButtonModule,
13
+ MatIconModule,
14
+ SignOutDirectiveModule,
15
+ ]] });
16
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SignOutComponentModule, [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [SignOutComponent],
20
+ imports: [
21
+ MatButtonModule,
22
+ MatIconModule,
23
+ SignOutDirectiveModule,
24
+ ],
25
+ exports: [SignOutComponent]
26
+ }]
27
+ }], null, null); })();
28
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SignOutComponentModule, { declarations: [SignOutComponent], imports: [MatButtonModule,
29
+ MatIconModule,
30
+ SignOutDirectiveModule], exports: [SignOutComponent] }); })();
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1vdXQuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvaGVhZGVyL3NpZ24tb3V0L3NpZ24tb3V0LmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVk5RCxNQUFNLE9BQU8sc0JBQXNCOzs0RkFBdEIsc0JBQXNCO3dFQUF0QixzQkFBc0I7NEVBUHhCO1lBQ1AsZUFBZTtZQUNmLGFBQWE7WUFDYixzQkFBc0I7U0FDdkI7dUZBR1Usc0JBQXNCO2NBVGxDLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDaEMsT0FBTyxFQUFFO29CQUNQLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixzQkFBc0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2FBQzVCOzt3RkFDWSxzQkFBc0IsbUJBUmxCLGdCQUFnQixhQUU3QixlQUFlO1FBQ2YsYUFBYTtRQUNiLHNCQUFzQixhQUVkLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaWduT3V0Q29tcG9uZW50IH0gZnJvbSAnLi9zaWduLW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFNpZ25PdXREaXJlY3RpdmVNb2R1bGUgfSBmcm9tICdAcnhhcC9hdXRoZW50aWNhdGlvbic7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2lnbk91dENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBTaWduT3V0RGlyZWN0aXZlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2lnbk91dENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgU2lnbk91dENvbXBvbmVudE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,111 @@
1
+ import { Component, ChangeDetectionStrategy, Inject } from '@angular/core';
2
+ import { UserService } from '@rxap/authentication';
3
+ import { map } from 'rxjs/operators';
4
+ import { isDefined } from '@rxap/utilities/rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/flex-layout/flex";
7
+ import * as i2 from "@angular/material/menu";
8
+ import * as i3 from "@rxap/directives";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "@angular/material/icon";
11
+ import * as i6 from "@rxap/authentication";
12
+ function UserProfileIconComponent_ng_template_5_button_0_Template(rf, ctx) { if (rf & 1) {
13
+ i0.ɵɵelementStart(0, "button", 5)(1, "mat-icon");
14
+ i0.ɵɵtext(2, "person");
15
+ i0.ɵɵelementEnd();
16
+ i0.ɵɵelementStart(3, "span");
17
+ i0.ɵɵtext(4);
18
+ i0.ɵɵelementEnd()();
19
+ } if (rf & 2) {
20
+ const user_r2 = i0.ɵɵnextContext().$implicit;
21
+ i0.ɵɵadvance(4);
22
+ i0.ɵɵtextInterpolate2("", user_r2.firstname, " ", user_r2.lastname, "");
23
+ } }
24
+ function UserProfileIconComponent_ng_template_5_button_1_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "button", 5)(1, "mat-icon");
26
+ i0.ɵɵtext(2, "person");
27
+ i0.ɵɵelementEnd();
28
+ i0.ɵɵelementStart(3, "span");
29
+ i0.ɵɵtext(4);
30
+ i0.ɵɵelementEnd()();
31
+ } if (rf & 2) {
32
+ const user_r2 = i0.ɵɵnextContext().$implicit;
33
+ i0.ɵɵadvance(4);
34
+ i0.ɵɵtextInterpolate(user_r2.name);
35
+ } }
36
+ function UserProfileIconComponent_ng_template_5_button_2_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "button", 5)(1, "mat-icon");
38
+ i0.ɵɵtext(2, "account_circle");
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵelementStart(3, "span");
41
+ i0.ɵɵtext(4);
42
+ i0.ɵɵelementEnd()();
43
+ } if (rf & 2) {
44
+ const user_r2 = i0.ɵɵnextContext().$implicit;
45
+ i0.ɵɵadvance(4);
46
+ i0.ɵɵtextInterpolate(user_r2.username);
47
+ } }
48
+ function UserProfileIconComponent_ng_template_5_button_3_Template(rf, ctx) { if (rf & 1) {
49
+ i0.ɵɵelementStart(0, "button", 5)(1, "mat-icon");
50
+ i0.ɵɵtext(2, "email");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementStart(3, "span");
53
+ i0.ɵɵtext(4);
54
+ i0.ɵɵelementEnd()();
55
+ } if (rf & 2) {
56
+ const user_r2 = i0.ɵɵnextContext().$implicit;
57
+ i0.ɵɵadvance(4);
58
+ i0.ɵɵtextInterpolate(user_r2.email);
59
+ } }
60
+ function UserProfileIconComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
61
+ i0.ɵɵtemplate(0, UserProfileIconComponent_ng_template_5_button_0_Template, 5, 2, "button", 4);
62
+ i0.ɵɵtemplate(1, UserProfileIconComponent_ng_template_5_button_1_Template, 5, 1, "button", 4);
63
+ i0.ɵɵtemplate(2, UserProfileIconComponent_ng_template_5_button_2_Template, 5, 1, "button", 4);
64
+ i0.ɵɵtemplate(3, UserProfileIconComponent_ng_template_5_button_3_Template, 5, 1, "button", 4);
65
+ } if (rf & 2) {
66
+ const user_r2 = ctx.$implicit;
67
+ i0.ɵɵproperty("ngIf", user_r2.firstname && user_r2.lastname);
68
+ i0.ɵɵadvance(1);
69
+ i0.ɵɵproperty("ngIf", user_r2.name);
70
+ i0.ɵɵadvance(1);
71
+ i0.ɵɵproperty("ngIf", user_r2.username);
72
+ i0.ɵɵadvance(1);
73
+ i0.ɵɵproperty("ngIf", user_r2.email);
74
+ } }
75
+ export class UserProfileIconComponent {
76
+ constructor(userService) {
77
+ this.userService = userService;
78
+ this.userProfileUrl$ = this.userService.user$.pipe(isDefined(), map((user) => user.photoURL ?? user.avatarUrl));
79
+ this.userName$ = this.userService.user$.pipe(isDefined(), map((user) => user.name ??
80
+ (user.firstname || user.lastname
81
+ ? [user.firstname, user.lastname].join(' ').trim()
82
+ : null) ??
83
+ user.username));
84
+ }
85
+ }
86
+ UserProfileIconComponent.ɵfac = function UserProfileIconComponent_Factory(t) { return new (t || UserProfileIconComponent)(i0.ɵɵdirectiveInject(UserService)); };
87
+ UserProfileIconComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserProfileIconComponent, selectors: [["rxap-user-profile-icon"]], hostAttrs: [1, "rxap-user-profile-icon"], decls: 7, vars: 11, consts: [["fxLayout", "row", "fxLayoutAlign", "center center", 1, "profile-icon", 3, "matMenuTriggerFor", "rxapAvatarBackgroundImage", "name"], [3, "yPosition"], ["menu", "matMenu"], [3, "ngIf"], ["mat-menu-item", "", 4, "ngIf"], ["mat-menu-item", ""]], template: function UserProfileIconComponent_Template(rf, ctx) { if (rf & 1) {
88
+ i0.ɵɵelement(0, "button", 0);
89
+ i0.ɵɵpipe(1, "async");
90
+ i0.ɵɵpipe(2, "async");
91
+ i0.ɵɵelementStart(3, "mat-menu", 1, 2);
92
+ i0.ɵɵtemplate(5, UserProfileIconComponent_ng_template_5_Template, 4, 4, "ng-template", 3);
93
+ i0.ɵɵpipe(6, "async");
94
+ i0.ɵɵelementEnd();
95
+ } if (rf & 2) {
96
+ const _r0 = i0.ɵɵreference(4);
97
+ let tmp_2_0;
98
+ i0.ɵɵproperty("matMenuTriggerFor", _r0)("rxapAvatarBackgroundImage", i0.ɵɵpipeBind1(1, 5, ctx.userProfileUrl$))("name", (tmp_2_0 = i0.ɵɵpipeBind1(2, 7, ctx.userName$)) !== null && tmp_2_0 !== undefined ? tmp_2_0 : "");
99
+ i0.ɵɵadvance(3);
100
+ i0.ɵɵproperty("yPosition", "below");
101
+ i0.ɵɵadvance(2);
102
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(6, 9, ctx.userService.user$));
103
+ } }, directives: [i1.DefaultLayoutDirective, i1.DefaultLayoutAlignDirective, i2.MatMenuTrigger, i3.AvatarBackgroundImageDirective, i2.MatMenu, i4.NgIf, i2.MatMenuItem, i5.MatIcon], pipes: [i4.AsyncPipe], styles: [".profile-icon[_ngcontent-%COMP%]{border-radius:100%;border:none;height:32px;width:32px;overflow:hidden;background-position:center center;background-repeat:no-repeat;background-size:cover}.profile-icon[_ngcontent-%COMP%]:hover{cursor:pointer}.profile-icon[_ngcontent-%COMP%]:focus{outline:none}"], changeDetection: 0 });
104
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserProfileIconComponent, [{
105
+ type: Component,
106
+ args: [{ selector: 'rxap-user-profile-icon', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-user-profile-icon' }, template: "<button [matMenuTriggerFor]=\"menu\"\n [rxapAvatarBackgroundImage]=\"userProfileUrl$ | async\"\n [name]=\"(userName$ | async) ?? ''\"\n class=\"profile-icon\"\n fxLayout=\"row\"\n fxLayoutAlign=\"center center\">\n</button>\n\n<mat-menu #menu=\"matMenu\" [yPosition]=\"'below'\">\n <ng-template [ngIf]=\"userService.user$ | async\" let-user>\n <button *ngIf=\"user.firstname && user.lastname\" mat-menu-item>\n <mat-icon>person</mat-icon>\n <span>{{user.firstname}} {{user.lastname}}</span>\n </button>\n <button *ngIf=\"user.name\" mat-menu-item>\n <mat-icon>person</mat-icon>\n <span>{{user.name}}</span>\n </button>\n <button *ngIf=\"user.username\" mat-menu-item>\n <mat-icon>account_circle</mat-icon>\n <span>{{user.username}}</span>\n </button>\n <button *ngIf=\"user.email\" mat-menu-item>\n <mat-icon>email</mat-icon>\n <span>{{user.email}}</span>\n </button>\n </ng-template>\n</mat-menu>\n", styles: [".profile-icon{border-radius:100%;border:none;height:32px;width:32px;overflow:hidden;background-position:center center;background-repeat:no-repeat;background-size:cover}.profile-icon:hover{cursor:pointer}.profile-icon:focus{outline:none}\n"] }]
107
+ }], function () { return [{ type: i6.UserService, decorators: [{
108
+ type: Inject,
109
+ args: [UserService]
110
+ }] }]; }, null); })();
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvdXNlci1wcm9maWxlLWljb24vdXNlci1wcm9maWxlLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvdXNlci1wcm9maWxlLWljb24vdXNlci1wcm9maWxlLWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7SUNFN0MsaUNBQThELGVBQUE7SUFDbEQsc0JBQU07SUFBQSxpQkFBVztJQUMzQiw0QkFBTTtJQUFBLFlBQW9DO0lBQUEsaUJBQU8sRUFBQTs7O0lBQTNDLGVBQW9DO0lBQXBDLHVFQUFvQzs7O0lBRTVDLGlDQUF3QyxlQUFBO0lBQzVCLHNCQUFNO0lBQUEsaUJBQVc7SUFDM0IsNEJBQU07SUFBQSxZQUFhO0lBQUEsaUJBQU8sRUFBQTs7O0lBQXBCLGVBQWE7SUFBYixrQ0FBYTs7O0lBRXJCLGlDQUE0QyxlQUFBO0lBQ2hDLDhCQUFjO0lBQUEsaUJBQVc7SUFDbkMsNEJBQU07SUFBQSxZQUFpQjtJQUFBLGlCQUFPLEVBQUE7OztJQUF4QixlQUFpQjtJQUFqQixzQ0FBaUI7OztJQUV6QixpQ0FBeUMsZUFBQTtJQUM3QixxQkFBSztJQUFBLGlCQUFXO0lBQzFCLDRCQUFNO0lBQUEsWUFBYztJQUFBLGlCQUFPLEVBQUE7OztJQUFyQixlQUFjO0lBQWQsbUNBQWM7OztJQWR0Qiw2RkFHUztJQUNULDZGQUdTO0lBQ1QsNkZBR1M7SUFDVCw2RkFHUzs7O0lBZkEsNERBQXFDO0lBSXJDLGVBQWU7SUFBZixtQ0FBZTtJQUlmLGVBQW1CO0lBQW5CLHVDQUFtQjtJQUluQixlQUFnQjtJQUFoQixvQ0FBZ0I7O0FETDdCLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFFUyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUUvQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDaEQsU0FBUyxFQUFFLEVBQ1gsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDL0MsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUMxQyxTQUFTLEVBQUUsRUFDWCxHQUFHLENBQ0QsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNQLElBQUksQ0FBQyxJQUFJO1lBQ1QsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRO2dCQUM5QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0dBdkJVLHdCQUF3Qix1QkFLekIsV0FBVzsyRUFMVix3QkFBd0I7UUNqQnJDLDRCQU1TOzs7UUFFVCxzQ0FBZ0Q7UUFDOUMseUZBaUJjOztRQUNoQixpQkFBVzs7OztRQTNCSCx1Q0FBMEIsd0VBQUEsMEdBQUE7UUFRUixlQUFxQjtRQUFyQixtQ0FBcUI7UUFDaEMsZUFBa0M7UUFBbEMsa0VBQWtDOzt1RkRRcEMsd0JBQXdCO2NBUHBDLFNBQVM7MkJBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFOztzQkFPdEMsTUFBTTt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICdAcnhhcC9hdXRoZW50aWNhdGlvbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICdAcnhhcC91dGlsaXRpZXMvcnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3J4YXAtdXNlci1wcm9maWxlLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1wcm9maWxlLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLXByb2ZpbGUtaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ3J4YXAtdXNlci1wcm9maWxlLWljb24nIH0sXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJQcm9maWxlSWNvbkNvbXBvbmVudCB7XG4gIHB1YmxpYyB1c2VyUHJvZmlsZVVybCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgcHVibGljIHVzZXJOYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoVXNlclNlcnZpY2UpXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZVxuICApIHtcbiAgICB0aGlzLnVzZXJQcm9maWxlVXJsJCA9IHRoaXMudXNlclNlcnZpY2UudXNlciQucGlwZShcbiAgICAgIGlzRGVmaW5lZCgpLFxuICAgICAgbWFwKCh1c2VyKSA9PiB1c2VyLnBob3RvVVJMID8/IHVzZXIuYXZhdGFyVXJsKVxuICAgICk7XG4gICAgdGhpcy51c2VyTmFtZSQgPSB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkLnBpcGUoXG4gICAgICBpc0RlZmluZWQoKSxcbiAgICAgIG1hcChcbiAgICAgICAgKHVzZXIpID0+XG4gICAgICAgICAgdXNlci5uYW1lID8/XG4gICAgICAgICAgKHVzZXIuZmlyc3RuYW1lIHx8IHVzZXIubGFzdG5hbWVcbiAgICAgICAgICAgID8gW3VzZXIuZmlyc3RuYW1lLCB1c2VyLmxhc3RuYW1lXS5qb2luKCcgJykudHJpbSgpXG4gICAgICAgICAgICA6IG51bGwpID8/XG4gICAgICAgICAgdXNlci51c2VybmFtZVxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cbiIsIjxidXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgICBbcnhhcEF2YXRhckJhY2tncm91bmRJbWFnZV09XCJ1c2VyUHJvZmlsZVVybCQgfCBhc3luY1wiXG4gICAgICAgIFtuYW1lXT1cIih1c2VyTmFtZSQgfCBhc3luYykgPz8gJydcIlxuICAgICAgICBjbGFzcz1cInByb2ZpbGUtaWNvblwiXG4gICAgICAgIGZ4TGF5b3V0PVwicm93XCJcbiAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbjwvYnV0dG9uPlxuXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgW3lQb3NpdGlvbl09XCInYmVsb3cnXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJ1c2VyU2VydmljZS51c2VyJCB8IGFzeW5jXCIgbGV0LXVzZXI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cInVzZXIuZmlyc3RuYW1lICYmIHVzZXIubGFzdG5hbWVcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgPG1hdC1pY29uPnBlcnNvbjwvbWF0LWljb24+XG4gICAgICA8c3Bhbj57e3VzZXIuZmlyc3RuYW1lfX0ge3t1c2VyLmxhc3RuYW1lfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cInVzZXIubmFtZVwiIG1hdC1tZW51LWl0ZW0+XG4gICAgICA8bWF0LWljb24+cGVyc29uPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7dXNlci5uYW1lfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cInVzZXIudXNlcm5hbWVcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgPG1hdC1pY29uPmFjY291bnRfY2lyY2xlPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7dXNlci51c2VybmFtZX19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJ1c2VyLmVtYWlsXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgIDxtYXQtaWNvbj5lbWFpbDwvbWF0LWljb24+XG4gICAgICA8c3Bhbj57e3VzZXIuZW1haWx9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbWF0LW1lbnU+XG4iXX0=