@indice/ng-components 0.3.9-beta.3 → 0.3.10

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 (48) hide show
  1. package/_styles.scss +131 -137
  2. package/esm2022/lib/controls/content-tile/content-tile.component.mjs +34 -6
  3. package/esm2022/lib/controls/date-picker/date-picker.component.mjs +3 -3
  4. package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +3 -3
  5. package/esm2022/lib/controls/list-view/list-view.component.mjs +3 -3
  6. package/esm2022/lib/controls/nav-links-list/nav-links-list.component.mjs +3 -3
  7. package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +3 -3
  8. package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +3 -3
  9. package/esm2022/lib/controls/side-pane/side-pane.component.mjs +48 -29
  10. package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +3 -3
  11. package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +3 -3
  12. package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +3 -3
  13. package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +3 -3
  14. package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +11 -7
  15. package/esm2022/lib/helpers/base-list.component.mjs +10 -5
  16. package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +11 -3
  17. package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +8 -6
  18. package/esm2022/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +3 -3
  19. package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +6 -3
  20. package/esm2022/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +8 -4
  21. package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +1 -1
  22. package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +6 -4
  23. package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +3 -3
  24. package/esm2022/lib/ng-components.module.mjs +2 -4
  25. package/esm2022/lib/pages/http-status/error/error.component.mjs +3 -3
  26. package/esm2022/lib/pages/http-status/page-not-found/page-not-found.component.mjs +3 -3
  27. package/esm2022/lib/pages/http-status/unauthorized/unauthorized.component.mjs +3 -3
  28. package/esm2022/lib/types.mjs +11 -1
  29. package/esm2022/public-api.mjs +1 -3
  30. package/fesm2022/indice-ng-components.mjs +139 -84
  31. package/fesm2022/indice-ng-components.mjs.map +1 -1
  32. package/lib/controls/content-tile/content-tile.component.d.ts +13 -2
  33. package/lib/controls/side-pane/side-pane.component.d.ts +9 -3
  34. package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +2 -1
  35. package/lib/helpers/base-list.component.d.ts +2 -1
  36. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +3 -1
  37. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +3 -2
  38. package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +3 -2
  39. package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +2 -1
  40. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +2 -0
  41. package/lib/ng-components.module.d.ts +7 -9
  42. package/lib/types.d.ts +10 -1
  43. package/package.json +2 -2
  44. package/public-api.d.ts +0 -2
  45. package/esm2022/lib/controls/content-tile/content-tile-header/content-tile-header.component.mjs +0 -17
  46. package/esm2022/lib/controls/content-tile/content-tile-item/content-tile-item.component.mjs +0 -19
  47. package/lib/controls/content-tile/content-tile-header/content-tile-header.component.d.ts +0 -7
  48. package/lib/controls/content-tile/content-tile-item/content-tile-item.component.d.ts +0 -8
@@ -1,6 +1,6 @@
1
1
  import { FilterClause, QueryParameters } from './../controls/advanced-search/models';
2
2
  import { of } from 'rxjs';
3
- import { Component } from '@angular/core';
3
+ import { Component, Input } from '@angular/core';
4
4
  import { RouterViewAction, ViewAction, ListViewType } from '../types';
5
5
  import { Icons } from '../icons';
6
6
  import * as i0 from "@angular/core";
@@ -24,6 +24,7 @@ export class BaseListComponent {
24
24
  this.searchOptions = [];
25
25
  this.sortOptions = [];
26
26
  this.metaItems = [];
27
+ this.autoLoad = true;
27
28
  }
28
29
  ngOnDestroy() {
29
30
  if (this.routeSub$) {
@@ -84,7 +85,8 @@ export class BaseListComponent {
84
85
  });
85
86
  // just to sync params in query
86
87
  this.setRouteParams(true);
87
- this.load();
88
+ if (this.autoLoad)
89
+ this.load();
88
90
  }
89
91
  /**
90
92
  * Get filters from a querystring
@@ -221,10 +223,13 @@ export class BaseListComponent {
221
223
  this.load();
222
224
  }
223
225
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BaseListComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
224
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: BaseListComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
226
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: BaseListComponent, selector: "ng-component", inputs: { autoLoad: ["auto-load", "autoLoad"] }, ngImport: i0, template: '', isInline: true }); }
225
227
  }
226
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BaseListComponent, decorators: [{
227
229
  type: Component,
228
230
  args: [{ template: '' }]
229
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }] });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9oZWxwZXJzL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQWdCLE1BQU0sc0NBQXNDLENBQUM7QUFDbkcsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUEwQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUdqQyxNQUFNLE9BQWdCLGlCQUFpQjtJQW9CckMsWUFBb0IsTUFBc0IsRUFBVSxPQUFlO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQW5CNUQsVUFBSyxHQUEyQixJQUFJLENBQUM7UUFDckMsU0FBSSxHQUFXLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDbEMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDNUIsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsZ0JBQVcsR0FBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixTQUFJLEdBQWtCLEVBQUUsQ0FBQztRQUN6QixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixXQUFNLEdBQWtCLEVBQUUsQ0FBQztRQUMzQixZQUFPLEdBQW1CLEVBQUUsQ0FB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QUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUF5QjtRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7OEdBclBtQixpQkFBaUI7a0dBQWpCLGlCQUFpQixvREFEaEIsRUFBRTs7MkZBQ0gsaUJBQWlCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckNsYXVzZSwgUXVlcnlQYXJhbWV0ZXJzLCBTZWFyY2hPcHRpb24gfSBmcm9tICcuLy4uL2NvbnRyb2xzL2FkdmFuY2VkLXNlYXJjaC9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtTWFwLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBIZWFkZXJNZXRhSXRlbSwgSVJlc3VsdFNldCwgTWVudU9wdGlvbiwgUm91dGVyVmlld0FjdGlvbiwgVmlld0FjdGlvbiwgTGlzdFZpZXdUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL2ljb25zJztcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VMaXN0Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBpdGVtczogVFtdIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XHJcbiAgcHVibGljIHZpZXc6IHN0cmluZyA9IExpc3RWaWV3VHlwZS5UaWxlcztcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBhY3Rpb25zOiBWaWV3QWN0aW9uW10gPSBbXTtcclxuICBwdWJsaWMgbG9hZGVySXRlbXM6IGFueVtdID0gWzEsIDIsIDMsIDQsIDVdO1xyXG4gIHB1YmxpYyBwYWdlID0gMTtcclxuICBwdWJsaWMgcGFnZVNpemUgPSAyMDtcclxuICBwdWJsaWMgY291bnQgPSAwO1xyXG4gIHB1YmxpYyBzb3J0OiBzdHJpbmcgfCBudWxsID0gJyc7XHJcbiAgcHVibGljIHNvcnRkaXI6IHN0cmluZyB8IG51bGwgPSAnJztcclxuICBwdWJsaWMgc2VhcmNoOiBzdHJpbmcgfCBudWxsID0gJyc7XHJcbiAgcHVibGljIGZpbHRlcnM6IEZpbHRlckNsYXVzZVtdID0gW107XHJcbiAgcHVibGljIHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbltdID0gW107XHJcbiAgcHVibGljIHNvcnRPcHRpb25zOiBNZW51T3B0aW9uW10gPSBbXTtcclxuICBwdWJsaWMgbWV0YUl0ZW1zOiBIZWFkZXJNZXRhSXRlbVtdID0gW107XHJcbiAgcHVibGljIGFic3RyYWN0IG5ld0l0ZW1MaW5rOiBzdHJpbmcgfCBudWxsO1xyXG4gIHByaXZhdGUgcm91dGVTdWIkOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBsb2FkU3ViJDogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlJDogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyJDogUm91dGVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvdXRlU3ViJCkge1xyXG4gICAgICB0aGlzLnJvdXRlU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5sb2FkU3ViJCkge1xyXG4gICAgICB0aGlzLmxvYWRTdWIkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Vmlld0FjdGlvbnMoKTogT2JzZXJ2YWJsZTxWaWV3QWN0aW9uW10+IHtcclxuICAgIGNvbnN0IGFjdGlvbnMgPSBbXHJcbiAgICAgIG5ldyBWaWV3QWN0aW9uKCdzZWFyY2gnLCBudWxsLCBudWxsLCBJY29ucy5TZWFyY2gsICfOsc69zrHOts6uz4TOt8+DzrcnKSxcclxuICAgICAgbmV3IFZpZXdBY3Rpb24oJ3JlZnJlc2gnLCBudWxsLCBudWxsLCBJY29ucy5SZWZyZXNoLCAnzrHOvc6xzr3Orc+Jz4POtyDPg8+Ezr/Ouc+HzrXOr8+Jzr0nKVxyXG4gICAgXTtcclxuICAgIGlmICh0aGlzLm5ld0l0ZW1MaW5rKSB7XHJcbiAgICAgIGFjdGlvbnMucHVzaChuZXcgUm91dGVyVmlld0FjdGlvbihJY29ucy5BZGQsIHRoaXMubmV3SXRlbUxpbmssICdyaWdodHBhbmUnLCAnz4DPgc6/z4POuM6uzrrOtyDOvc6tzrHPgiDOtc6zzrPPgc6xz4bOrs+COycpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBvZihhY3Rpb25zKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRWaWV3QWN0aW9ucygpLnN1YnNjcmliZShhY3Rpb25zID0+IHtcclxuICAgICAgdGhpcy5hY3Rpb25zID0gYWN0aW9ucyB8fCBbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubWV0YUl0ZW1zID0gW1xyXG4gICAgICB7IGtleTogJ2NvdW50JywgaWNvbjogSWNvbnMuSXRlbXNDb3VudCwgdGV4dDogJ8+AzrHPgc6xzrrOsc67z44gz4DOtc+BzrnOvM6tzr3Otc+EzrUuLi4nIH1cclxuICAgIF07XHJcblxyXG4gICAgLy8gZGlzYWJsZWQgZXh0ZXJuYWwgcm91dGUgY2hhbmdlcyBtb25pdG9yaW5nIGR1ZSB0byBzeW5jIGlzc3VlcyAtIHdoaWNoIGlzIGJhZCA6KSAtIHJlZnJlc2ggZnJvbSB1cmwgd2lsbCBub3Qgd29ya1xyXG4gICAgLy8gdW50aWwgaSBjb21lIHVwIHdpdGggYSBzb2x1dGlvbi4uLlxyXG5cclxuICAgIHRoaXMucm91dGVTdWIkID0gdGhpcy5yb3V0ZSQucXVlcnlQYXJhbU1hcC5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgaWYgKHBhcmFtcy5rZXlzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gY2hhbmdpbmcgdGhlIHZpZXcgbW9kZSBkb2VzIG5vdCByZXF1aXJlIHJlbG9hZGluZy4uLlxyXG4gICAgICB0aGlzLnZpZXcgPSBwYXJhbXMuZ2V0KCd2aWV3JykgfHwgTGlzdFZpZXdUeXBlLlRpbGVzO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygncm91dGUgY2hhbmdlcyAnLCB0aGlzLnZpZXcpO1xyXG5cclxuICAgICAgaWYgKHBhcmFtcy5nZXQoJ3NlYXJjaCcpICE9PSBudWxsICYmIHBhcmFtcy5nZXQoJ3NlYXJjaCcpICE9PSB0aGlzLnNlYXJjaCkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlZChwYXJhbXMuZ2V0KCdzZWFyY2gnKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHBhZ2UgPSArKHBhcmFtcy5nZXQoJ3BhZ2UnKSB8fCAxKTtcclxuICAgICAgaWYgKHBhZ2UgIT09IHRoaXMucGFnZSkge1xyXG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNpemUgPSArKHBhcmFtcy5nZXQoJ3BhZ2VzaXplJykgfHwgMjApO1xyXG4gICAgICBpZiAodGhpcy5wYWdlU2l6ZSAhPT0gc2l6ZSkge1xyXG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBzaXplO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocGFyYW1zLmdldCgnc2VhcmNoJykgIT09IHRoaXMuc2VhcmNoKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2ggPSBwYXJhbXMuZ2V0KCdzZWFyY2gnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHBhcmFtcy5nZXQoJ3NvcnQnKSAhPT0gdGhpcy5zb3J0KSB7XHJcbiAgICAgICAgdGhpcy5zb3J0ID0gcGFyYW1zLmdldCgnc29ydCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocGFyYW1zLmdldCgnZGlyJykgIT09IHRoaXMuc29ydGRpcikge1xyXG4gICAgICAgIHRoaXMuc29ydGRpciA9IHBhcmFtcy5nZXQoJ2RpcicpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGluaXRpYWxpemUgZmlsdGVycyB0aGF0IG1heSByZXNpZGUgaW4gdGhlIHF1ZXJ5IHN0cmluZ1xyXG4gICAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmdldEZpbHRlcnNGcm9tKHBhcmFtcyk7XHJcbiAgICB9KTtcclxuICAgIC8vIGp1c3QgdG8gc3luYyBwYXJhbXMgaW4gcXVlcnlcclxuICAgIHRoaXMuc2V0Um91dGVQYXJhbXModHJ1ZSk7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBHZXQgZmlsdGVycyBmcm9tIGEgcXVlcnlzdHJpbmdcclxuICogQHBhcmFtIHF1ZXJ5UGFyYW1NYXBcclxuICogQHJldHVybnMgZmlsdGVycyBmb3VuZCBmcm9tIGEgcGFyYW1NYXBcclxuICovXHJcbiAgcHJpdmF0ZSBnZXRGaWx0ZXJzRnJvbShxdWVyeVBhcmFtTWFwOiBQYXJhbU1hcCk6IEZpbHRlckNsYXVzZVtdIHtcclxuICAgIGxldCBmaWx0ZXJSZXN1bHQ6IEZpbHRlckNsYXVzZVtdID0gW107XHJcbiAgICBpZiAocXVlcnlQYXJhbU1hcC5oYXMoUXVlcnlQYXJhbWV0ZXJzLkZJTFRFUikgJiYgcXVlcnlQYXJhbU1hcC5nZXQoUXVlcnlQYXJhbWV0ZXJzLkZJTFRFUikhLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGZpbHRlclZhbHVlID0gcXVlcnlQYXJhbU1hcC5nZXQoUXVlcnlQYXJhbWV0ZXJzLkZJTFRFUik7XHJcbiAgICAgIGNvbnN0IGZpbHRlclZhbHVlcyA9IGZpbHRlclZhbHVlPy5zcGxpdChcIixcIik7IC8vIHdlIG1heSBoYXZlIG11bHRpcGxlIGZpbHRlcnMgaW4gZmlsdGVyIHF1ZXJ5IHBhcmFtXHJcbiAgICAgIGlmIChmaWx0ZXJWYWx1ZXMgJiYgZmlsdGVyVmFsdWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvLyBjcmVhdGUgdGhlIGZpbHRlckNsYXVzZXMgZGVyaXZlZCBmcm9tIHRoZSBxdWVyeSBwYXJhbXNcclxuICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBmaWx0ZXJWYWx1ZXMpIHtcclxuICAgICAgICAgIGxldCBmaWx0ZXJDbGF1c2UgPSBGaWx0ZXJDbGF1c2UucGFyc2UoZmlsdGVyVmFsdWVzW2luZGV4XSk7XHJcbiAgICAgICAgICBjb25zdCBwYXJzZWQgPSBuZXcgRmlsdGVyQ2xhdXNlKGZpbHRlckNsYXVzZSEubWVtYmVyLCBmaWx0ZXJDbGF1c2UhLnZhbHVlLCBmaWx0ZXJDbGF1c2UhLm9wZXJhdG9yLCBmaWx0ZXJDbGF1c2UhLmRhdGFUeXBlLCB0aGlzLnNlYXJjaE9wdGlvbnMpO1xyXG4gICAgICAgICAgaWYgKHBhcnNlZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGZpbHRlclJlc3VsdC5wdXNoKHBhcnNlZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmlsdGVyUmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRSb3V0ZVBhcmFtcyhsb2NhdGlvbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlciQubmF2aWdhdGUoW10sIHtcclxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSQsIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgdmlldzogdGhpcy52aWV3LFxyXG4gICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcclxuICAgICAgICBwYWdlc2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoLFxyXG4gICAgICAgIHNvcnQ6IHRoaXMuc29ydCxcclxuICAgICAgICBkaXI6IHRoaXMuc29ydGRpcixcclxuICAgICAgICBmaWx0ZXI6IHRoaXMuZmlsdGVyQ2xhdXNlc1RvU3RyaW5nKHRoaXMuZmlsdGVycylcclxuICAgICAgfSwgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJywgc2tpcExvY2F0aW9uQ2hhbmdlOiBsb2NhdGlvbkNoYW5nZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlckNsYXVzZXNUb1N0cmluZyhmaWx0ZXJzOiBGaWx0ZXJDbGF1c2VbXSB8IHVuZGVmaW5lZCkge1xyXG4gICAgcmV0dXJuIGZpbHRlcnM/Lm1hcCgoZjogRmlsdGVyQ2xhdXNlKSA9PiB7XHJcbiAgICAgIGlmIChmLmRhdGFUeXBlID09PSAnZGF0ZXRpbWUnKSB7XHJcbiAgICAgICAgZi52YWx1ZSA9IChuZXcgRGF0ZShmLnZhbHVlKSkudG9JU09TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZi50b1N0cmluZygpO1xyXG4gICAgfSkuam9pbignLCcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFjdGlvbkhhbmRsZXIoJGV2ZW50OiBWaWV3QWN0aW9uKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnQmFzZUxpc3RDb21wb25lbnQgYWN0aW9uSGFuZGxlcicsICRldmVudCk7XHJcbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ3JlZnJlc2gnKSB7XHJcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkKCk6IHZvaWQge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ0Jhc2VMaXN0Q29tcG9uZW50IExPQUQnKTtcclxuICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICB0aGlzLmxvYWRTdWIkID0gdGhpcy5sb2FkSXRlbXMoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5jb3VudCA9IHJlc3VsdCA/IHJlc3VsdC5jb3VudCA6IDA7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSByZXN1bHQ/Lml0ZW1zO1xyXG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlck1ldGEoKTtcclxuICAgIH0sIGVyciA9PiB7XHJcbiAgICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgICAgdGhpcy51cGRhdGVIZWFkZXJNZXRhKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlSGVhZGVyTWV0YSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5tZXRhSXRlbXM/LmZpbHRlcihtID0+IG0ua2V5ID09PSAnY291bnQnKVswXTtcclxuICAgIGlmIChjb3VudCkge1xyXG4gICAgICB0aGlzLmNvdW50ID09PSAxID8gY291bnQudGV4dCA9IGAke3RoaXMuY291bnR9IM6xz4DOv8+Ezq3Ou861z4POvM6xYCA6IGNvdW50LnRleHQgPSBgJHt0aGlzLmNvdW50fSDOsc+Azr/PhM61zrvOrc+DzrzOsc+EzrFgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFic3RyYWN0IGxvYWRJdGVtcygpOiBPYnNlcnZhYmxlPElSZXN1bHRTZXQ8VD4gfCBudWxsIHwgdW5kZWZpbmVkPjtcclxuXHJcbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICB0aGlzLnNlYXJjaCA9IG51bGw7XHJcbiAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICB0aGlzLnVwZGF0ZUhlYWRlck1ldGEoKTtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhZ2VDaGFuZ2VkKHBhZ2U6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFnZSAhPT0gcGFnZSkge1xyXG4gICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xyXG4gICAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhZ2VTaXplQ2hhbmdlZChwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdlU2l6ZSAhPT0gcGFnZVNpemUpIHtcclxuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xyXG4gICAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNvcnRDaGFuZ2VkKHNvcnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ2Jhc2UtbGlzdCBzb3J0Q2hhbmdlZCcsIHNvcnQpO1xyXG4gICAgaWYgKHRoaXMuc29ydCAhPT0gc29ydCkge1xyXG4gICAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNvcnQgPSBzb3J0O1xyXG4gICAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNvcnRkaXJDaGFuZ2VkKHNvcnRkaXI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc29ydGRpciAhPT0gc29ydGRpcikge1xyXG4gICAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNvcnRkaXIgPSBzb3J0ZGlyO1xyXG4gICAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkdmFuY2VkU2VhcmNoQ2hhbmdlZChmaWx0ZXJzOiBGaWx0ZXJDbGF1c2VbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICB0aGlzLmZpbHRlcnMgPSBmaWx0ZXJzO1xyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoQ2hhbmdlZChzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvdW50ID0gMDtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoVGV4dDtcclxuICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
231
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { autoLoad: [{
232
+ type: Input,
233
+ args: ['auto-load']
234
+ }] } });
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9oZWxwZXJzL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQWdCLE1BQU0sc0NBQXNDLENBQUM7QUFDbkcsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBNkIsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBMEMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHakMsTUFBTSxPQUFnQixpQkFBaUI7SUFxQnJDLFlBQW9CLE1BQXNCLEVBQVUsT0FBZTtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFwQjVELFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBQ3JDLFNBQUksR0FBVyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2xDLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQzVCLFlBQU8sR0FBaUIsRUFBRSxDQUFDO1FBQzNCLGdCQUFXLEdBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsU0FBSSxHQUFrQixFQUFFLENBQUM7UUFDekIsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDNUIsV0FBTSxHQUFrQixFQUFFLENBQUM7UUFDM0IsWUFBTyxHQUFt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QXFCLENBQUMsT0FBdUI7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQXlCO1FBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs4R0F0UG1CLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFHQURoQixFQUFFOzsyRkFDSCxpQkFBaUI7a0JBRHRDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO3dHQW9CTCxRQUFRO3NCQUEzQixLQUFLO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJDbGF1c2UsIFF1ZXJ5UGFyYW1ldGVycywgU2VhcmNoT3B0aW9uIH0gZnJvbSAnLi8uLi9jb250cm9scy9hZHZhbmNlZC1zZWFyY2gvbW9kZWxzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSGVhZGVyTWV0YUl0ZW0sIElSZXN1bHRTZXQsIE1lbnVPcHRpb24sIFJvdXRlclZpZXdBY3Rpb24sIFZpZXdBY3Rpb24sIExpc3RWaWV3VHlwZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9pY29ucyc7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTGlzdENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgaXRlbXM6IFRbXSB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xyXG4gIHB1YmxpYyB2aWV3OiBzdHJpbmcgPSBMaXN0Vmlld1R5cGUuVGlsZXM7XHJcbiAgcHVibGljIHRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgYWN0aW9uczogVmlld0FjdGlvbltdID0gW107XHJcbiAgcHVibGljIGxvYWRlckl0ZW1zOiBhbnlbXSA9IFsxLCAyLCAzLCA0LCA1XTtcclxuICBwdWJsaWMgcGFnZSA9IDE7XHJcbiAgcHVibGljIHBhZ2VTaXplID0gMjA7XHJcbiAgcHVibGljIGNvdW50ID0gMDtcclxuICBwdWJsaWMgc29ydDogc3RyaW5nIHwgbnVsbCA9ICcnO1xyXG4gIHB1YmxpYyBzb3J0ZGlyOiBzdHJpbmcgfCBudWxsID0gJyc7XHJcbiAgcHVibGljIHNlYXJjaDogc3RyaW5nIHwgbnVsbCA9ICcnO1xyXG4gIHB1YmxpYyBmaWx0ZXJzOiBGaWx0ZXJDbGF1c2VbXSA9IFtdO1xyXG4gIHB1YmxpYyBzZWFyY2hPcHRpb25zOiBTZWFyY2hPcHRpb25bXSA9IFtdO1xyXG4gIHB1YmxpYyBzb3J0T3B0aW9uczogTWVudU9wdGlvbltdID0gW107XHJcbiAgcHVibGljIG1ldGFJdGVtczogSGVhZGVyTWV0YUl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyBhYnN0cmFjdCBuZXdJdGVtTGluazogc3RyaW5nIHwgbnVsbDtcclxuICBwcml2YXRlIHJvdXRlU3ViJDogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgbG9hZFN1YiQ6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoJ2F1dG8tbG9hZCcpIGF1dG9Mb2FkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZSQ6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlciQ6IFJvdXRlcikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3V0ZVN1YiQpIHtcclxuICAgICAgdGhpcy5yb3V0ZVN1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMubG9hZFN1YiQpIHtcclxuICAgICAgdGhpcy5sb2FkU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFZpZXdBY3Rpb25zKCk6IE9ic2VydmFibGU8Vmlld0FjdGlvbltdPiB7XHJcbiAgICBjb25zdCBhY3Rpb25zID0gW1xyXG4gICAgICBuZXcgVmlld0FjdGlvbignc2VhcmNoJywgbnVsbCwgbnVsbCwgSWNvbnMuU2VhcmNoLCAnzrHOvc6xzrbOrs+EzrfPg863JyksXHJcbiAgICAgIG5ldyBWaWV3QWN0aW9uKCdyZWZyZXNoJywgbnVsbCwgbnVsbCwgSWNvbnMuUmVmcmVzaCwgJ86xzr3Osc69zq3Pic+Dzrcgz4PPhM6/zrnPh861zq/Pic69JylcclxuICAgIF07XHJcbiAgICBpZiAodGhpcy5uZXdJdGVtTGluaykge1xyXG4gICAgICBhY3Rpb25zLnB1c2gobmV3IFJvdXRlclZpZXdBY3Rpb24oSWNvbnMuQWRkLCB0aGlzLm5ld0l0ZW1MaW5rLCAncmlnaHRwYW5lJywgJ8+Az4HOv8+DzrjOrs66zrcgzr3Orc6xz4IgzrXOs86zz4HOsc+Gzq7PgjsnKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YoYWN0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0Vmlld0FjdGlvbnMoKS5zdWJzY3JpYmUoYWN0aW9ucyA9PiB7XHJcbiAgICAgIHRoaXMuYWN0aW9ucyA9IGFjdGlvbnMgfHwgW107XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm1ldGFJdGVtcyA9IFtcclxuICAgICAgeyBrZXk6ICdjb3VudCcsIGljb246IEljb25zLkl0ZW1zQ291bnQsIHRleHQ6ICfPgM6xz4HOsc66zrHOu8+OIM+AzrXPgc65zrzOrc69zrXPhM61Li4uJyB9XHJcbiAgICBdO1xyXG5cclxuICAgIC8vIGRpc2FibGVkIGV4dGVybmFsIHJvdXRlIGNoYW5nZXMgbW9uaXRvcmluZyBkdWUgdG8gc3luYyBpc3N1ZXMgLSB3aGljaCBpcyBiYWQgOikgLSByZWZyZXNoIGZyb20gdXJsIHdpbGwgbm90IHdvcmtcclxuICAgIC8vIHVudGlsIGkgY29tZSB1cCB3aXRoIGEgc29sdXRpb24uLi5cclxuXHJcbiAgICB0aGlzLnJvdXRlU3ViJCA9IHRoaXMucm91dGUkLnF1ZXJ5UGFyYW1NYXAuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXMua2V5cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGNoYW5naW5nIHRoZSB2aWV3IG1vZGUgZG9lcyBub3QgcmVxdWlyZSByZWxvYWRpbmcuLi5cclxuICAgICAgdGhpcy52aWV3ID0gcGFyYW1zLmdldCgndmlldycpIHx8IExpc3RWaWV3VHlwZS5UaWxlcztcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3JvdXRlIGNoYW5nZXMgJywgdGhpcy52aWV3KTtcclxuXHJcbiAgICAgIGlmIChwYXJhbXMuZ2V0KCdzZWFyY2gnKSAhPT0gbnVsbCAmJiBwYXJhbXMuZ2V0KCdzZWFyY2gnKSAhPT0gdGhpcy5zZWFyY2gpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZWQocGFyYW1zLmdldCgnc2VhcmNoJykpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBwYWdlID0gKyhwYXJhbXMuZ2V0KCdwYWdlJykgfHwgMSk7XHJcbiAgICAgIGlmIChwYWdlICE9PSB0aGlzLnBhZ2UpIHtcclxuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzaXplID0gKyhwYXJhbXMuZ2V0KCdwYWdlc2l6ZScpIHx8IDIwKTtcclxuICAgICAgaWYgKHRoaXMucGFnZVNpemUgIT09IHNpemUpIHtcclxuICAgICAgICB0aGlzLnBhZ2VTaXplID0gc2l6ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHBhcmFtcy5nZXQoJ3NlYXJjaCcpICE9PSB0aGlzLnNlYXJjaCkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoID0gcGFyYW1zLmdldCgnc2VhcmNoJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChwYXJhbXMuZ2V0KCdzb3J0JykgIT09IHRoaXMuc29ydCkge1xyXG4gICAgICAgIHRoaXMuc29ydCA9IHBhcmFtcy5nZXQoJ3NvcnQnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHBhcmFtcy5nZXQoJ2RpcicpICE9PSB0aGlzLnNvcnRkaXIpIHtcclxuICAgICAgICB0aGlzLnNvcnRkaXIgPSBwYXJhbXMuZ2V0KCdkaXInKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBpbml0aWFsaXplIGZpbHRlcnMgdGhhdCBtYXkgcmVzaWRlIGluIHRoZSBxdWVyeSBzdHJpbmdcclxuICAgICAgdGhpcy5maWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzRnJvbShwYXJhbXMpO1xyXG4gICAgfSk7XHJcbiAgICAvLyBqdXN0IHRvIHN5bmMgcGFyYW1zIGluIHF1ZXJ5XHJcbiAgICB0aGlzLnNldFJvdXRlUGFyYW1zKHRydWUpO1xyXG4gICAgaWYodGhpcy5hdXRvTG9hZCkgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICogR2V0IGZpbHRlcnMgZnJvbSBhIHF1ZXJ5c3RyaW5nXHJcbiAqIEBwYXJhbSBxdWVyeVBhcmFtTWFwXHJcbiAqIEByZXR1cm5zIGZpbHRlcnMgZm91bmQgZnJvbSBhIHBhcmFtTWFwXHJcbiAqL1xyXG4gIHByaXZhdGUgZ2V0RmlsdGVyc0Zyb20ocXVlcnlQYXJhbU1hcDogUGFyYW1NYXApOiBGaWx0ZXJDbGF1c2VbXSB7XHJcbiAgICBsZXQgZmlsdGVyUmVzdWx0OiBGaWx0ZXJDbGF1c2VbXSA9IFtdO1xyXG4gICAgaWYgKHF1ZXJ5UGFyYW1NYXAuaGFzKFF1ZXJ5UGFyYW1ldGVycy5GSUxURVIpICYmIHF1ZXJ5UGFyYW1NYXAuZ2V0KFF1ZXJ5UGFyYW1ldGVycy5GSUxURVIpIS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBmaWx0ZXJWYWx1ZSA9IHF1ZXJ5UGFyYW1NYXAuZ2V0KFF1ZXJ5UGFyYW1ldGVycy5GSUxURVIpO1xyXG4gICAgICBjb25zdCBmaWx0ZXJWYWx1ZXMgPSBmaWx0ZXJWYWx1ZT8uc3BsaXQoXCIsXCIpOyAvLyB3ZSBtYXkgaGF2ZSBtdWx0aXBsZSBmaWx0ZXJzIGluIGZpbHRlciBxdWVyeSBwYXJhbVxyXG4gICAgICBpZiAoZmlsdGVyVmFsdWVzICYmIGZpbHRlclZhbHVlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgLy8gY3JlYXRlIHRoZSBmaWx0ZXJDbGF1c2VzIGRlcml2ZWQgZnJvbSB0aGUgcXVlcnkgcGFyYW1zXHJcbiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZmlsdGVyVmFsdWVzKSB7XHJcbiAgICAgICAgICBsZXQgZmlsdGVyQ2xhdXNlID0gRmlsdGVyQ2xhdXNlLnBhcnNlKGZpbHRlclZhbHVlc1tpbmRleF0pO1xyXG4gICAgICAgICAgY29uc3QgcGFyc2VkID0gbmV3IEZpbHRlckNsYXVzZShmaWx0ZXJDbGF1c2UhLm1lbWJlciwgZmlsdGVyQ2xhdXNlIS52YWx1ZSwgZmlsdGVyQ2xhdXNlIS5vcGVyYXRvciwgZmlsdGVyQ2xhdXNlIS5kYXRhVHlwZSwgdGhpcy5zZWFyY2hPcHRpb25zKTtcclxuICAgICAgICAgIGlmIChwYXJzZWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQucHVzaChwYXJzZWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpbHRlclJlc3VsdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Um91dGVQYXJhbXMobG9jYXRpb25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0ZXIkLm5hdmlnYXRlKFtdLCB7XHJcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUkLCBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIHZpZXc6IHRoaXMudmlldyxcclxuICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXHJcbiAgICAgICAgcGFnZXNpemU6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaCxcclxuICAgICAgICBzb3J0OiB0aGlzLnNvcnQsXHJcbiAgICAgICAgZGlyOiB0aGlzLnNvcnRkaXIsXHJcbiAgICAgICAgZmlsdGVyOiB0aGlzLmZpbHRlckNsYXVzZXNUb1N0cmluZyh0aGlzLmZpbHRlcnMpXHJcbiAgICAgIH0sIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsIHNraXBMb2NhdGlvbkNoYW5nZTogbG9jYXRpb25DaGFuZ2VcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWx0ZXJDbGF1c2VzVG9TdHJpbmcoZmlsdGVyczogRmlsdGVyQ2xhdXNlW10gfCB1bmRlZmluZWQpIHtcclxuICAgIHJldHVybiBmaWx0ZXJzPy5tYXAoKGY6IEZpbHRlckNsYXVzZSkgPT4ge1xyXG4gICAgICBpZiAoZi5kYXRhVHlwZSA9PT0gJ2RhdGV0aW1lJykge1xyXG4gICAgICAgIGYudmFsdWUgPSAobmV3IERhdGUoZi52YWx1ZSkpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGYudG9TdHJpbmcoKTtcclxuICAgIH0pLmpvaW4oJywnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhY3Rpb25IYW5kbGVyKCRldmVudDogVmlld0FjdGlvbik6IHZvaWQge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ0Jhc2VMaXN0Q29tcG9uZW50IGFjdGlvbkhhbmRsZXInLCAkZXZlbnQpO1xyXG4gICAgaWYgKCRldmVudC5rZXkgPT09ICdyZWZyZXNoJykge1xyXG4gICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZCgpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdCYXNlTGlzdENvbXBvbmVudCBMT0FEJyk7XHJcbiAgICB0aGlzLmNvdW50ID0gMDtcclxuICAgIHRoaXMuaXRlbXMgPSBudWxsO1xyXG4gICAgdGhpcy5sb2FkU3ViJCA9IHRoaXMubG9hZEl0ZW1zKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuY291bnQgPSByZXN1bHQgPyByZXN1bHQuY291bnQgOiAwO1xyXG4gICAgICB0aGlzLml0ZW1zID0gcmVzdWx0Py5pdGVtcztcclxuICAgICAgdGhpcy51cGRhdGVIZWFkZXJNZXRhKCk7XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmNvdW50ID0gMDtcclxuICAgICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICAgIHRoaXMudXBkYXRlSGVhZGVyTWV0YSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUhlYWRlck1ldGEoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb3VudCA9IHRoaXMubWV0YUl0ZW1zPy5maWx0ZXIobSA9PiBtLmtleSA9PT0gJ2NvdW50JylbMF07XHJcbiAgICBpZiAoY291bnQpIHtcclxuICAgICAgdGhpcy5jb3VudCA9PT0gMSA/IGNvdW50LnRleHQgPSBgJHt0aGlzLmNvdW50fSDOsc+Azr/PhM6tzrvOtc+DzrzOsWAgOiBjb3VudC50ZXh0ID0gYCR7dGhpcy5jb3VudH0gzrHPgM6/z4TOtc67zq3Pg868zrHPhM6xYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhYnN0cmFjdCBsb2FkSXRlbXMoKTogT2JzZXJ2YWJsZTxJUmVzdWx0U2V0PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZD47XHJcblxyXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgdGhpcy5wYWdlID0gMTtcclxuICAgIHRoaXMuaXRlbXMgPSBudWxsO1xyXG4gICAgdGhpcy5zZWFyY2ggPSBudWxsO1xyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgdGhpcy51cGRhdGVIZWFkZXJNZXRhKCk7XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhZ2UgIT09IHBhZ2UpIHtcclxuICAgICAgdGhpcy5wYWdlID0gcGFnZTtcclxuICAgICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgICB0aGlzLmxvYWQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdlU2l6ZUNoYW5nZWQocGFnZVNpemU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFnZVNpemUgIT09IHBhZ2VTaXplKSB7XHJcbiAgICAgIHRoaXMucGFnZVNpemUgPSBwYWdlU2l6ZTtcclxuICAgICAgdGhpcy5wYWdlID0gMTtcclxuICAgICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzb3J0Q2hhbmdlZChzb3J0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdiYXNlLWxpc3Qgc29ydENoYW5nZWQnLCBzb3J0KTtcclxuICAgIGlmICh0aGlzLnNvcnQgIT09IHNvcnQpIHtcclxuICAgICAgdGhpcy5wYWdlID0gMTtcclxuICAgICAgdGhpcy5zb3J0ID0gc29ydDtcclxuICAgICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzb3J0ZGlyQ2hhbmdlZChzb3J0ZGlyOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNvcnRkaXIgIT09IHNvcnRkaXIpIHtcclxuICAgICAgdGhpcy5wYWdlID0gMTtcclxuICAgICAgdGhpcy5zb3J0ZGlyID0gc29ydGRpcjtcclxuICAgICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZHZhbmNlZFNlYXJjaENoYW5nZWQoZmlsdGVyczogRmlsdGVyQ2xhdXNlW10pOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgdGhpcy5wYWdlID0gMTtcclxuICAgIHRoaXMuaXRlbXMgPSBudWxsO1xyXG4gICAgdGhpcy5maWx0ZXJzID0gZmlsdGVycztcclxuICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlYXJjaENoYW5nZWQoc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICB0aGlzLnNlYXJjaCA9IHNlYXJjaFRleHQ7XHJcbiAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -27,10 +27,13 @@ export class ShellHeaderComponent {
27
27
  // tslint:disable-next-line:no-input-rename
28
28
  this.showUserNameOnHeader = false;
29
29
  // tslint:disable-next-line:no-input-rename
30
+ this.showPictureOnHeader = true;
31
+ // tslint:disable-next-line:no-input-rename
30
32
  this.showAlerts = false;
31
33
  // tslint:disable-next-line:no-input-rename
32
34
  this.showLangs = false;
33
35
  this.border = true;
36
+ this.busy = false;
34
37
  this.sectionLinks = of([]);
35
38
  this.mobileMenuExpanded = false;
36
39
  this.userMenuExpanded = false;
@@ -89,11 +92,11 @@ export class ShellHeaderComponent {
89
92
  }
90
93
  }
91
94
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellHeaderComponent, deps: [{ token: AuthService }, { token: Router }, { token: ActivatedRoute }, { token: SHELL_CONFIG }, { token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellHeaderComponent, selector: "lib-shell-header", inputs: { sectionLinksPath: ["section-links", "sectionLinksPath"], profileMenuVisible: ["profile-menu", "profileMenuVisible"], showUserNameOnHeader: ["show-userName", "showUserNameOnHeader"], showAlerts: ["show-alerts", "showAlerts"], showLangs: ["show-langs", "showLangs"], border: "border" }, ngImport: i0, template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-logo-container\">\r\n <div>\r\n <a href=\"#\" [routerLink]=\"['/']\"><img alt=\"app logo\" class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <div class=\"shell-header-link-container-inner\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link'\"\r\n [link-active-class]=\"'nav-link-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profileActions\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'shell-header-menu-rounded-button'\"\r\n [link-active-class]=\"'shell-header-menu-rounded-button-active'\">\r\n </lib-nav-links-list>\r\n\r\n\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'hidden':'block h-6 w-6'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'block h-6 w-6':'hidden'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\" *ngIf=\"mobileMenuExpanded\" id=\"mobile-menu\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n\r\n <div *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </div>\r\n\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <!--\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n -->\r\n </div>\r\n </div>\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</nav>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i4.LanguageSelectionComponent, selector: "lib-language-selection" }, { kind: "component", type: i5.NavLinksListComponent, selector: "lib-nav-links-list", inputs: ["links", "active-fragment", "link-class", "link-active-class", "container-class", "show-icons", "show-text", "large-icons"] }, { kind: "component", type: i6.NotificationsIndicatorComponent, selector: "lib-notifications-indicator" }, { kind: "component", type: i7.UserProfileMenuComponent, selector: "lib-user-profile-menu", inputs: ["show-user-name"] }] }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellHeaderComponent, selector: "lib-shell-header", inputs: { sectionLinksPath: ["section-links", "sectionLinksPath"], profileMenuVisible: ["profile-menu", "profileMenuVisible"], showUserNameOnHeader: ["show-userName", "showUserNameOnHeader"], showPictureOnHeader: ["show-picture", "showPictureOnHeader"], showAlerts: ["show-alerts", "showAlerts"], showLangs: ["show-langs", "showLangs"], border: "border", busy: "busy" }, ngImport: i0, template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\" [class.busy]=\"busy\">\r\n <div class=\"shell-header-logo-container\">\r\n <div>\r\n <a href=\"#\" [routerLink]=\"['/']\"><img alt=\"app logo\" class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <div class=\"shell-header-link-container-inner\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link'\"\r\n [link-active-class]=\"'nav-link-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profileActions\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'shell-header-menu-rounded-button'\"\r\n [link-active-class]=\"'shell-header-menu-rounded-button-active'\">\r\n </lib-nav-links-list>\r\n\r\n\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\" [show-picture]=\"showPictureOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'hidden':'block h-6 w-6'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'block h-6 w-6':'hidden'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\" *ngIf=\"mobileMenuExpanded\" id=\"mobile-menu\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n\r\n <div *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </div>\r\n\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <!--\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n -->\r\n </div>\r\n </div>\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</nav>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i4.LanguageSelectionComponent, selector: "lib-language-selection" }, { kind: "component", type: i5.NavLinksListComponent, selector: "lib-nav-links-list", inputs: ["links", "active-fragment", "link-class", "link-active-class", "container-class", "show-icons", "show-text", "large-icons"] }, { kind: "component", type: i6.NotificationsIndicatorComponent, selector: "lib-notifications-indicator" }, { kind: "component", type: i7.UserProfileMenuComponent, selector: "lib-user-profile-menu", inputs: ["show-user-name", "show-picture"] }] }); }
93
96
  }
94
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellHeaderComponent, decorators: [{
95
98
  type: Component,
96
- args: [{ selector: 'lib-shell-header', template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-logo-container\">\r\n <div>\r\n <a href=\"#\" [routerLink]=\"['/']\"><img alt=\"app logo\" class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <div class=\"shell-header-link-container-inner\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link'\"\r\n [link-active-class]=\"'nav-link-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profileActions\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'shell-header-menu-rounded-button'\"\r\n [link-active-class]=\"'shell-header-menu-rounded-button-active'\">\r\n </lib-nav-links-list>\r\n\r\n\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'hidden':'block h-6 w-6'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'block h-6 w-6':'hidden'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\" *ngIf=\"mobileMenuExpanded\" id=\"mobile-menu\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n\r\n <div *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </div>\r\n\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <!--\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n -->\r\n </div>\r\n </div>\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</nav>\r\n" }]
99
+ args: [{ selector: 'lib-shell-header', template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\" [class.busy]=\"busy\">\r\n <div class=\"shell-header-logo-container\">\r\n <div>\r\n <a href=\"#\" [routerLink]=\"['/']\"><img alt=\"app logo\" class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <div class=\"shell-header-link-container-inner\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link'\"\r\n [link-active-class]=\"'nav-link-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profileActions\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'shell-header-menu-rounded-button'\"\r\n [link-active-class]=\"'shell-header-menu-rounded-button-active'\">\r\n </lib-nav-links-list>\r\n\r\n\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\" [show-picture]=\"showPictureOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'hidden':'block h-6 w-6'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'block h-6 w-6':'hidden'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\" *ngIf=\"mobileMenuExpanded\" id=\"mobile-menu\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n\r\n <div *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </div>\r\n\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <!--\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n -->\r\n </div>\r\n </div>\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</nav>\r\n" }]
97
100
  }], ctorParameters: () => [{ type: i8.AuthService, decorators: [{
98
101
  type: Inject,
99
102
  args: [AuthService]
@@ -118,6 +121,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
118
121
  }], showUserNameOnHeader: [{
119
122
  type: Input,
120
123
  args: ['show-userName']
124
+ }], showPictureOnHeader: [{
125
+ type: Input,
126
+ args: ['show-picture']
121
127
  }], showAlerts: [{
122
128
  type: Input,
123
129
  args: ['show-alerts']
@@ -126,5 +132,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
126
132
  args: ['show-langs']
127
133
  }], border: [{
128
134
  type: Input
135
+ }], busy: [{
136
+ type: Input
129
137
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWhlYWRlci9zaGVsbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtaGVhZGVyL3NoZWxsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFTLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRcEQsTUFBTSxPQUFPLG9CQUFvQjtJQXVCL0IsWUFDaUMsV0FBd0IsRUFDN0IsTUFBYyxFQUNOLEtBQXFCLEVBQzFCLE1BQVcsRUFDZCxLQUFVO1FBSkwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBM0J0QywyQ0FBMkM7UUFDbkIscUJBQWdCLEdBQUcsTUFBTSxDQUFDO1FBQ2xE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QUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBUztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5RyxDQUFDO0lBQ0gsQ0FBQzs4R0FsRlUsb0JBQW9CLGtCQXdCckIsV0FBVyxhQUNYLE1BQU0sYUFDTixjQUFjLGFBQ2QsWUFBWSxhQUNaLFNBQVM7a0dBNUJSLG9CQUFvQiwrVkNkakMsa2xNQThJQTs7MkZEaElhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFFRSxrQkFBa0I7OzBCQTJCekIsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLFNBQVM7eUNBMUJLLGdCQUFnQjtzQkFBdkMsS0FBSzt1QkFBQyxlQUFlO2dCQUVDLGtCQUFrQjtzQkFBeEMsS0FBSzt1QkFBQyxjQUFjO2dCQUVHLG9CQUFvQjtzQkFBM0MsS0FBSzt1QkFBQyxlQUFlO2dCQUVBLFVBQVU7c0JBQS9CLEtBQUs7dUJBQUMsYUFBYTtnQkFFQyxTQUFTO3NCQUE3QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ1YsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBFdmVudCwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOYXZMaW5rIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBBUFBfTElOS1MsIFNIRUxMX0NPTkZJRyB9IGZyb20gJy4uLy4uLy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJ29pZGMtY2xpZW50LXRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ2xpYi1zaGVsbC1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hlbGxIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2VjdGlvbi1saW5rcycpIHNlY3Rpb25MaW5rc1BhdGggPSAnbWFpbic7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgncHJvZmlsZS1tZW51JykgcHJvZmlsZU1lbnVWaXNpYmxlID0gdHJ1ZTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzaG93LXVzZXJOYW1lJykgc2hvd1VzZXJOYW1lT25IZWFkZXI6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzaG93LWFsZXJ0cycpIHNob3dBbGVydHM6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzaG93LWxhbmdzJykgc2hvd0xhbmdzOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYm9yZGVyID0gdHJ1ZTtcclxuICBwdWJsaWMgc2VjdGlvbkxpbmtzOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT4gPSBvZihbXSk7XHJcbiAgcHVibGljIG1vYmlsZU1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyB1c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIHJvdXRlU3ViamVjdDogT2JzZXJ2YWJsZTxFdmVudD47XHJcbiAgcHJvdGVjdGVkIHJvdXRlclN1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHByb3RlY3RlZCB1c2VyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJvdGVjdGVkIHN0YXR1c1N1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB1c2VyOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGF2YXRhck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBhY3RpdmVGcmFnbWVudDogYW55IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChBdXRoU2VydmljZSkgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIEBJbmplY3QoUm91dGVyKSBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBASW5qZWN0KEFjdGl2YXRlZFJvdXRlKSBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQEluamVjdChTSEVMTF9DT05GSUcpIHB1YmxpYyBjb25maWc6IGFueSxcclxuICAgIEBJbmplY3QoQVBQX0xJTktTKSBwdWJsaWMgbGlua3M6IGFueSkge1xyXG4gICAgdGhpcy5yb3V0ZVN1YmplY3QgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZUZyYWdtZW50ID0gdGhpcy5yb3V0ZS5mcmFnbWVudC5waXBlKHNoYXJlKCkpO1xyXG4gICAgdGhpcy5zZWN0aW9uTGlua3MgPSB0aGlzLmxpbmtzW3RoaXMuc2VjdGlvbkxpbmtzUGF0aF0gYXMgT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xyXG4gICAgdGhpcy5yb3V0ZXJTdWIkID0gdGhpcy5yb3V0ZVN1YmplY3Quc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLm1vYmlsZU1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnVzZXJNZW51RXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2FkVXNlcigpLnN1YnNjcmliZSgodXNlcikgPT4ge1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xyXG4gICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIH0pO1xyXG4gICAgLy8gRGV0ZWN0IHVzZXIgY2hhbmdlcyBhbmQgZGlzcGxheSAvIG9yIG5vdCB1c2VyIGluZm8gYWNjb3JkaW5nbHkuLi5cclxuICAgIHRoaXMudXNlclN1YiQgPSB0aGlzLmF1dGhTZXJ2aWNlLnVzZXIkLnN1YnNjcmliZSgodXNlcjogYW55KSA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbEhlYWRlckNvbXBvbmVudCB1c2VyIHN1YnNjcmlwdGlvbicpO1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5yb3V0ZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMucm91dGVyU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogY2hlY2sgYXV0aGVudGljYXRlZCB1c2VyIGhlcmUgYmVmb3JlIHdlIHN0YXJ0IHBvbGxpbmcgc2VydmVyIHN0YXR1c1xyXG4gICAgaWYgKHRoaXMuc3RhdHVzU3ViJCkge1xyXG4gICAgICB0aGlzLnN0YXR1c1N1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnVzZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMudXNlclN1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp0eXBlZGVmXHJcbiAgcHVibGljIG9uQ2xpY2tPdXRzaWRlKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnVzZXJNZW51RXhwYW5kZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaWduaW4oZXZlbnQ6IGFueSB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdXRoU2VydmljZS5zaWduaW5SZWRpcmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDdXJyZW50VXNlcih1c2VyOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlciA9IHVzZXI7XHJcbiAgICBpZiAodXNlciAmJiB1c2VyLnByb2ZpbGUgJiYgdXNlci5wcm9maWxlLmdpdmVuX25hbWUgJiYgdXNlci5wcm9maWxlLmZhbWlseV9uYW1lKSB7XHJcbiAgICAgIHRoaXMuYXZhdGFyTmFtZSA9IGAke3VzZXIucHJvZmlsZS5naXZlbl9uYW1lLmNoYXJBdCgwKX0ke3VzZXIucHJvZmlsZS5mYW1pbHlfbmFtZS5jaGFyQXQoMCl9YC50b1VwcGVyQ2FzZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiIsIjxuYXY+XHJcbiAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1wYWRkaW5nc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1ib3JkZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1tZW51LWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbG9nby1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgW3JvdXRlckxpbmtdPVwiWycvJ11cIj48aW1nIGFsdD1cImFwcCBsb2dvXCIgY2xhc3M9XCJhcHAtbG9nb1wiIFtzcmNdPVwiY29uZmlnLmFwcExvZ29cIiBbYWx0XT1cImNvbmZpZy5hcHBMb2dvQWx0XCIgLz48L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1saW5rLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1saW5rLWNvbnRhaW5lci1pbm5lclwiPlxyXG4gICAgICAgICAgICA8bGliLW5hdi1saW5rcy1saXN0XHJcbiAgICAgICAgICAgICAgW2xpbmtzXT1cInNlY3Rpb25MaW5rc1wiXHJcbiAgICAgICAgICAgICAgW2FjdGl2ZS1mcmFnbWVudF09XCJhY3RpdmVGcmFnbWVudFwiXHJcbiAgICAgICAgICAgICAgW2xpbmstY2xhc3NdPVwiJ25hdi1saW5rJ1wiXHJcbiAgICAgICAgICAgICAgW2xpbmstYWN0aXZlLWNsYXNzXT1cIiduYXYtbGluay1hY3RpdmUnXCI+XHJcbiAgICAgICAgICAgIDwvbGliLW5hdi1saW5rcy1saXN0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbWQtdmlzaWJsZVwiPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbGlua3MtZmFyLWNvbnRhaW5lclwiIChjbGlja091dHNpZGUpPVwib25DbGlja091dHNpZGUoJGV2ZW50KVwiPlxyXG5cclxuICAgICAgICAgICAgPGxpYi1uYXYtbGlua3MtbGlzdFxyXG4gICAgICAgICAgICAgIFtsaW5rc109XCJsaW5rcy5wcm9maWxlQWN0aW9uc1wiXHJcbiAgICAgICAgICAgICAgW2FjdGl2ZS1mcmFnbWVudF09XCJhY3RpdmVGcmFnbWVudFwiXHJcbiAgICAgICAgICAgICAgW2xpbmstY2xhc3NdPVwiJ3NoZWxsLWhlYWRlci1tZW51LXJvdW5kZWQtYnV0dG9uJ1wiXHJcbiAgICAgICAgICAgICAgW2xpbmstYWN0aXZlLWNsYXNzXT1cIidzaGVsbC1oZWFkZXItbWVudS1yb3VuZGVkLWJ1dHRvbi1hY3RpdmUnXCI+XHJcbiAgICAgICAgICAgIDwvbGliLW5hdi1saW5rcy1saXN0PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gUHJvZmlsZSBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2ZpbGVNZW51VmlzaWJsZVwiIGNsYXNzPVwibWwtNFwiPlxyXG4gICAgICAgICAgICAgIDxsaWItdXNlci1wcm9maWxlLW1lbnUgW3Nob3ctdXNlci1uYW1lXT1cInNob3dVc2VyTmFtZU9uSGVhZGVyXCI+PC9saWItdXNlci1wcm9maWxlLW1lbnU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBOb3RpZmljYXRpb25zIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0FsZXJ0cyAmJiB1c2VyXCIgY2xhc3M9XCJtbC00XCI+XHJcbiAgICAgICAgICAgICAgPGxpYi1ub3RpZmljYXRpb25zLWluZGljYXRvcj48L2xpYi1ub3RpZmljYXRpb25zLWluZGljYXRvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIGxhbmd1YWdlcyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dMYW5nc1wiIGNsYXNzPVwibWwtNFwiPlxyXG4gICAgICAgICAgICAgIDxsaWItbGFuZ3VhZ2Utc2VsZWN0aW9uPjwvbGliLWxhbmd1YWdlLXNlbGVjdGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LWJ1dHRvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgIDwhLS0gTW9iaWxlIG1lbnUgYnV0dG9uIC0tPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vYmlsZU1lbnVFeHBhbmRlZCA9ICFtb2JpbGVNZW51RXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1vYmlsZS1tZW51LWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJtb2JpbGUtbWVudVwiXHJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwibW9iaWxlTWVudUV4cGFuZGVkXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPk9wZW4gbWFpbiBtZW51PC9zcGFuPlxyXG4gICAgICAgICAgICA8IS0tSGVyb2ljb24gbmFtZTogb3V0bGluZS9tZW51ICBNZW51IG9wZW46IFwiaGlkZGVuXCIsIE1lbnUgY2xvc2VkOiBcImJsb2NrXCItLT5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgIFtjbGFzc109XCJtb2JpbGVNZW51RXhwYW5kZWQgPyAnaGlkZGVuJzonYmxvY2sgaC02IHctNidcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk00IDZoMTZNNCAxMmgxNk00IDE4aDE2XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwhLS1IZXJvaWNvbiBuYW1lOiBvdXRsaW5lL3ggTWVudSBvcGVuOiBcImJsb2NrXCIsIE1lbnUgY2xvc2VkOiBcImhpZGRlblwiLS0+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICBbY2xhc3NdPVwibW9iaWxlTWVudUV4cGFuZGVkID8gJ2Jsb2NrIGgtNiB3LTYnOidoaWRkZW4nXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNiAxOEwxOCA2TTYgNmwxMiAxMlwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBNb2JpbGUgbWVudSwgc2hvdy9oaWRlIGJhc2VkIG9uIG1lbnUgc3RhdGUuIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2JpbGUtbWVudS1jb250YWluZXJcIiAqbmdJZj1cIm1vYmlsZU1lbnVFeHBhbmRlZFwiIGlkPVwibW9iaWxlLW1lbnVcIj5cclxuICAgIDxsaWItbmF2LWxpbmtzLWxpc3RcclxuICAgICAgW2xpbmtzXT1cInNlY3Rpb25MaW5rc1wiXHJcbiAgICAgIFthY3RpdmUtZnJhZ21lbnRdPVwiYWN0aXZlRnJhZ21lbnRcIlxyXG4gICAgICBbbGluay1jbGFzc109XCInbmF2LWxpbmstbW9iaWxlJ1wiXHJcbiAgICAgIFtsaW5rLWFjdGl2ZS1jbGFzc109XCInbmF2LWxpbmstbW9iaWxlLWFjdGl2ZSdcIlxyXG4gICAgICBbY29udGFpbmVyLWNsYXNzXT1cIidtb2JpbGUtbWVudS1saW5rLWNvbnRhaW5lcidcIj5cclxuICAgIDwvbGliLW5hdi1saW5rcy1saXN0PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCIhdXNlclwiPlxyXG4gICAgICA8YSBocmVmPVwiI1wiIChjbGljayk9XCJzaWduaW4oJGV2ZW50KVwiIGNsYXNzPVwibmF2LWxpbmstbW9iaWxlXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJtcy1JY29uIG1zLUljb24tLVNpZ25pbiBtci0yXCI+PC9pPs6jz43Ovc60zrXPg863XHJcbiAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtbWVudS11c2VyLWluZm8tY29udGFpbmVyXCIgKm5nSWY9XCJ1c2VyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtbWVudS11c2VyLWluZm8tY29udGFpbmVyLWlubmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTBcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9iaWxlLW1lbnUtYXZhdGFyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vYmlsZS1tZW51LWF2YXRhci1uYW1lXCI+e3sgdGhpcy5hdmF0YXJOYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC0zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLW1lbnUtdXNlci1uYW1lXCI+e3sgdXNlci5wcm9maWxlLm5hbWUgfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtbWVudS11c2VyLWVtYWlsXCI+e3sgdXNlci5wcm9maWxlLmVtYWlsIH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLVxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtb2JpbGUtbWVudS1yb3VuZGVkLWJ1dHRvblwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+VmlldyBub3RpZmljYXRpb25zPC9zcGFuPlxyXG4gICAgICAgICAgPHN2ZyBjbGFzcz1cIm1vYmlsZS1tZW51LXJvdW5kZWQtYnV0dG9uLWljb24tc3R5bGVcIlxyXG4gICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICBkPVwiTTE1IDE3aDVsLTEuNDA1LTEuNDA1QTIuMDMyIDIuMDMyIDAgMDExOCAxNC4xNThWMTFhNi4wMDIgNi4wMDIgMCAwMC00LTUuNjU5VjVhMiAyIDAgMTAtNCAwdi4zNDFDNy42NyA2LjE2NSA2IDguMzg4IDYgMTF2My4xNTljMCAuNTM4LS4yMTQgMS4wNTUtLjU5NSAxLjQzNkw0IDE3aDVtNiAwdjFhMyAzIDAgMTEtNiAwdi0xbTYgMEg5XCIgLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxsaWItbmF2LWxpbmtzLWxpc3RcclxuICAgICAgICAgIFtsaW5rc109XCJsaW5rcy5wcm9maWxlXCJcclxuICAgICAgICAgIFthY3RpdmUtZnJhZ21lbnRdPVwiYWN0aXZlRnJhZ21lbnRcIlxyXG4gICAgICAgICAgW2xpbmstY2xhc3NdPVwiJ25hdi1saW5rLW1vYmlsZSdcIlxyXG4gICAgICAgICAgW2xpbmstYWN0aXZlLWNsYXNzXT1cIiduYXYtbGluay1tb2JpbGUtYWN0aXZlJ1wiXHJcbiAgICAgICAgICBbY29udGFpbmVyLWNsYXNzXT1cIidtb2JpbGUtbWVudS1saW5rLWNvbnRhaW5lcidcIj5cclxuICAgICAgPC9saWItbmF2LWxpbmtzLWxpc3Q+XHJcbiAgPC9kaXY+XHJcbjwvbmF2PlxyXG4iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWhlYWRlci9zaGVsbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtaGVhZGVyL3NoZWxsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFTLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRcEQsTUFBTSxPQUFPLG9CQUFvQjtJQTBCL0IsWUFDaUMsV0FBd0IsRUFDN0IsTUFBYyxFQUNOLEtBQXFCLEVBQzFCLE1BQVcsRUFDZCxLQUFVO1FBSkwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBOUJ0QywyQ0FBMkM7UUFDbkIscUJBQWdCLEdBQUcsTUFBTSxDQUFDO1FBQ2xE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QkFBQyxZQUFZO2dCQUNWLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BpbmRpY2UvbmctYXV0aCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIEluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciwgc2hhcmUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XHJcbmltcG9ydCB7IEFQUF9MSU5LUywgU0hFTExfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnb2lkYy1jbGllbnQtdHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnbGliLXNoZWxsLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzZWN0aW9uLWxpbmtzJykgc2VjdGlvbkxpbmtzUGF0aCA9ICdtYWluJztcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdwcm9maWxlLW1lbnUnKSBwcm9maWxlTWVudVZpc2libGUgPSB0cnVlO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Nob3ctdXNlck5hbWUnKSBzaG93VXNlck5hbWVPbkhlYWRlcjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Nob3ctcGljdHVyZScpIHNob3dQaWN0dXJlT25IZWFkZXI6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Nob3ctYWxlcnRzJykgc2hvd0FsZXJ0czogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Nob3ctbGFuZ3MnKSBzaG93TGFuZ3M6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBib3JkZXIgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VjdGlvbkxpbmtzOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT4gPSBvZihbXSk7XHJcbiAgcHVibGljIG1vYmlsZU1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyB1c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIHJvdXRlU3ViamVjdDogT2JzZXJ2YWJsZTxFdmVudD47XHJcbiAgcHJvdGVjdGVkIHJvdXRlclN1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHByb3RlY3RlZCB1c2VyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJvdGVjdGVkIHN0YXR1c1N1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB1c2VyOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGF2YXRhck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBhY3RpdmVGcmFnbWVudDogYW55IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChBdXRoU2VydmljZSkgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIEBJbmplY3QoUm91dGVyKSBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBASW5qZWN0KEFjdGl2YXRlZFJvdXRlKSBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQEluamVjdChTSEVMTF9DT05GSUcpIHB1YmxpYyBjb25maWc6IGFueSxcclxuICAgIEBJbmplY3QoQVBQX0xJTktTKSBwdWJsaWMgbGlua3M6IGFueSkge1xyXG4gICAgdGhpcy5yb3V0ZVN1YmplY3QgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZUZyYWdtZW50ID0gdGhpcy5yb3V0ZS5mcmFnbWVudC5waXBlKHNoYXJlKCkpO1xyXG4gICAgdGhpcy5zZWN0aW9uTGlua3MgPSB0aGlzLmxpbmtzW3RoaXMuc2VjdGlvbkxpbmtzUGF0aF0gYXMgT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xyXG4gICAgdGhpcy5yb3V0ZXJTdWIkID0gdGhpcy5yb3V0ZVN1YmplY3Quc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLm1vYmlsZU1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnVzZXJNZW51RXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2FkVXNlcigpLnN1YnNjcmliZSgodXNlcikgPT4ge1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xyXG4gICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIH0pO1xyXG4gICAgLy8gRGV0ZWN0IHVzZXIgY2hhbmdlcyBhbmQgZGlzcGxheSAvIG9yIG5vdCB1c2VyIGluZm8gYWNjb3JkaW5nbHkuLi5cclxuICAgIHRoaXMudXNlclN1YiQgPSB0aGlzLmF1dGhTZXJ2aWNlLnVzZXIkLnN1YnNjcmliZSgodXNlcjogYW55KSA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbEhlYWRlckNvbXBvbmVudCB1c2VyIHN1YnNjcmlwdGlvbicpO1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5yb3V0ZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMucm91dGVyU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogY2hlY2sgYXV0aGVudGljYXRlZCB1c2VyIGhlcmUgYmVmb3JlIHdlIHN0YXJ0IHBvbGxpbmcgc2VydmVyIHN0YXR1c1xyXG4gICAgaWYgKHRoaXMuc3RhdHVzU3ViJCkge1xyXG4gICAgICB0aGlzLnN0YXR1c1N1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnVzZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMudXNlclN1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp0eXBlZGVmXHJcbiAgcHVibGljIG9uQ2xpY2tPdXRzaWRlKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnVzZXJNZW51RXhwYW5kZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaWduaW4oZXZlbnQ6IGFueSB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdXRoU2VydmljZS5zaWduaW5SZWRpcmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDdXJyZW50VXNlcih1c2VyOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlciA9IHVzZXI7XHJcbiAgICBpZiAodXNlciAmJiB1c2VyLnByb2ZpbGUgJiYgdXNlci5wcm9maWxlLmdpdmVuX25hbWUgJiYgdXNlci5wcm9maWxlLmZhbWlseV9uYW1lKSB7XHJcbiAgICAgIHRoaXMuYXZhdGFyTmFtZSA9IGAke3VzZXIucHJvZmlsZS5naXZlbl9uYW1lLmNoYXJBdCgwKX0ke3VzZXIucHJvZmlsZS5mYW1pbHlfbmFtZS5jaGFyQXQoMCl9YC50b1VwcGVyQ2FzZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiIsIjxuYXY+XHJcbiAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1wYWRkaW5nc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1ib3JkZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1tZW51LWNvbnRhaW5lclwiIFtjbGFzcy5idXN5XT1cImJ1c3lcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLWxvZ28tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCI+PGltZyBhbHQ9XCJhcHAgbG9nb1wiIGNsYXNzPVwiYXBwLWxvZ29cIiBbc3JjXT1cImNvbmZpZy5hcHBMb2dvXCIgW2FsdF09XCJjb25maWcuYXBwTG9nb0FsdFwiIC8+PC9hPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbGluay1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbGluay1jb250YWluZXItaW5uZXJcIj5cclxuICAgICAgICAgICAgPGxpYi1uYXYtbGlua3MtbGlzdFxyXG4gICAgICAgICAgICAgIFtsaW5rc109XCJzZWN0aW9uTGlua3NcIlxyXG4gICAgICAgICAgICAgIFthY3RpdmUtZnJhZ21lbnRdPVwiYWN0aXZlRnJhZ21lbnRcIlxyXG4gICAgICAgICAgICAgIFtsaW5rLWNsYXNzXT1cIiduYXYtbGluaydcIlxyXG4gICAgICAgICAgICAgIFtsaW5rLWFjdGl2ZS1jbGFzc109XCInbmF2LWxpbmstYWN0aXZlJ1wiPlxyXG4gICAgICAgICAgICA8L2xpYi1uYXYtbGlua3MtbGlzdD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLW1kLXZpc2libGVcIj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLWxpbmtzLWZhci1jb250YWluZXJcIiAoY2xpY2tPdXRzaWRlKT1cIm9uQ2xpY2tPdXRzaWRlKCRldmVudClcIj5cclxuXHJcbiAgICAgICAgICAgIDxsaWItbmF2LWxpbmtzLWxpc3RcclxuICAgICAgICAgICAgICBbbGlua3NdPVwibGlua3MucHJvZmlsZUFjdGlvbnNcIlxyXG4gICAgICAgICAgICAgIFthY3RpdmUtZnJhZ21lbnRdPVwiYWN0aXZlRnJhZ21lbnRcIlxyXG4gICAgICAgICAgICAgIFtsaW5rLWNsYXNzXT1cIidzaGVsbC1oZWFkZXItbWVudS1yb3VuZGVkLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgIFtsaW5rLWFjdGl2ZS1jbGFzc109XCInc2hlbGwtaGVhZGVyLW1lbnUtcm91bmRlZC1idXR0b24tYWN0aXZlJ1wiPlxyXG4gICAgICAgICAgICA8L2xpYi1uYXYtbGlua3MtbGlzdD5cclxuXHJcblxyXG4gICAgICAgICAgICA8IS0tIFByb2ZpbGUgZHJvcGRvd24gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9maWxlTWVudVZpc2libGVcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICA8bGliLXVzZXItcHJvZmlsZS1tZW51IFtzaG93LXVzZXItbmFtZV09XCJzaG93VXNlck5hbWVPbkhlYWRlclwiIFtzaG93LXBpY3R1cmVdPVwic2hvd1BpY3R1cmVPbkhlYWRlclwiPjwvbGliLXVzZXItcHJvZmlsZS1tZW51PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gTm90aWZpY2F0aW9ucyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dBbGVydHMgJiYgdXNlclwiIGNsYXNzPVwibWwtNFwiPlxyXG4gICAgICAgICAgICAgIDxsaWItbm90aWZpY2F0aW9ucy1pbmRpY2F0b3I+PC9saWItbm90aWZpY2F0aW9ucy1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBsYW5ndWFnZXMgZHJvcGRvd24gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TGFuZ3NcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICA8bGliLWxhbmd1YWdlLXNlbGVjdGlvbj48L2xpYi1sYW5ndWFnZS1zZWxlY3Rpb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtbWVudS1idXR0b24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8IS0tIE1vYmlsZSBtZW51IGJ1dHRvbiAtLT5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtb2JpbGVNZW51RXhwYW5kZWQgPSAhbW9iaWxlTWVudUV4cGFuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtb2JpbGUtbWVudS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwibW9iaWxlLW1lbnVcIlxyXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm1vYmlsZU1lbnVFeHBhbmRlZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5PcGVuIG1haW4gbWVudTwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLUhlcm9pY29uIG5hbWU6IG91dGxpbmUvbWVudSAgTWVudSBvcGVuOiBcImhpZGRlblwiLCBNZW51IGNsb3NlZDogXCJibG9ja1wiLS0+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICBbY2xhc3NdPVwibW9iaWxlTWVudUV4cGFuZGVkID8gJ2hpZGRlbic6J2Jsb2NrIGgtNiB3LTYnXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNCA2aDE2TTQgMTJoMTZNNCAxOGgxNlwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8IS0tSGVyb2ljb24gbmFtZTogb3V0bGluZS94IE1lbnUgb3BlbjogXCJibG9ja1wiLCBNZW51IGNsb3NlZDogXCJoaWRkZW5cIi0tPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vYmlsZU1lbnVFeHBhbmRlZCA/ICdibG9jayBoLTYgdy02JzonaGlkZGVuJ1wiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTYgMThMMTggNk02IDZsMTIgMTJcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gTW9iaWxlIG1lbnUsIHNob3cvaGlkZSBiYXNlZCBvbiBtZW51IHN0YXRlLiAtLT5cclxuICA8ZGl2IGNsYXNzPVwibW9iaWxlLW1lbnUtY29udGFpbmVyXCIgKm5nSWY9XCJtb2JpbGVNZW51RXhwYW5kZWRcIiBpZD1cIm1vYmlsZS1tZW51XCI+XHJcbiAgICA8bGliLW5hdi1saW5rcy1saXN0XHJcbiAgICAgIFtsaW5rc109XCJzZWN0aW9uTGlua3NcIlxyXG4gICAgICBbYWN0aXZlLWZyYWdtZW50XT1cImFjdGl2ZUZyYWdtZW50XCJcclxuICAgICAgW2xpbmstY2xhc3NdPVwiJ25hdi1saW5rLW1vYmlsZSdcIlxyXG4gICAgICBbbGluay1hY3RpdmUtY2xhc3NdPVwiJ25hdi1saW5rLW1vYmlsZS1hY3RpdmUnXCJcclxuICAgICAgW2NvbnRhaW5lci1jbGFzc109XCInbW9iaWxlLW1lbnUtbGluay1jb250YWluZXInXCI+XHJcbiAgICA8L2xpYi1uYXYtbGlua3MtbGlzdD5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiIXVzZXJcIj5cclxuICAgICAgPGEgaHJlZj1cIiNcIiAoY2xpY2spPVwic2lnbmluKCRldmVudClcIiBjbGFzcz1cIm5hdi1saW5rLW1vYmlsZVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwibXMtSWNvbiBtcy1JY29uLS1TaWduaW4gbXItMlwiPjwvaT7Oo8+Nzr3OtM61z4POt1xyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLW1lbnUtdXNlci1pbmZvLWNvbnRhaW5lclwiICpuZ0lmPVwidXNlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLW1lbnUtdXNlci1pbmZvLWNvbnRhaW5lci1pbm5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vYmlsZS1tZW51LWF2YXRhci1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtb2JpbGUtbWVudS1hdmF0YXItbmFtZVwiPnt7IHRoaXMuYXZhdGFyTmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWwtM1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LXVzZXItbmFtZVwiPnt7IHVzZXIucHJvZmlsZS5uYW1lIH19PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLW1lbnUtdXNlci1lbWFpbFwiPnt7IHVzZXIucHJvZmlsZS5lbWFpbCB9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS1cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibW9iaWxlLW1lbnUtcm91bmRlZC1idXR0b25cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlZpZXcgbm90aWZpY2F0aW9uczwvc3Bhbj5cclxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJtb2JpbGUtbWVudS1yb3VuZGVkLWJ1dHRvbi1pY29uLXN0eWxlXCJcclxuICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgZD1cIk0xNSAxN2g1bC0xLjQwNS0xLjQwNUEyLjAzMiAyLjAzMiAwIDAxMTggMTQuMTU4VjExYTYuMDAyIDYuMDAyIDAgMDAtNC01LjY1OVY1YTIgMiAwIDEwLTQgMHYuMzQxQzcuNjcgNi4xNjUgNiA4LjM4OCA2IDExdjMuMTU5YzAgLjUzOC0uMjE0IDEuMDU1LS41OTUgMS40MzZMNCAxN2g1bTYgMHYxYTMgMyAwIDExLTYgMHYtMW02IDBIOVwiIC8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bGliLW5hdi1saW5rcy1saXN0XHJcbiAgICAgICAgICBbbGlua3NdPVwibGlua3MucHJvZmlsZVwiXHJcbiAgICAgICAgICBbYWN0aXZlLWZyYWdtZW50XT1cImFjdGl2ZUZyYWdtZW50XCJcclxuICAgICAgICAgIFtsaW5rLWNsYXNzXT1cIiduYXYtbGluay1tb2JpbGUnXCJcclxuICAgICAgICAgIFtsaW5rLWFjdGl2ZS1jbGFzc109XCInbmF2LWxpbmstbW9iaWxlLWFjdGl2ZSdcIlxyXG4gICAgICAgICAgW2NvbnRhaW5lci1jbGFzc109XCInbW9iaWxlLW1lbnUtbGluay1jb250YWluZXInXCI+XHJcbiAgICAgIDwvbGliLW5hdi1saW5rcy1saXN0PlxyXG4gIDwvZGl2PlxyXG48L25hdj5cclxuIl19
@@ -18,6 +18,7 @@ export class ShellLayoutComponent {
18
18
  this._componentLoaderFactory = _componentLoaderFactory;
19
19
  this._config = _config;
20
20
  this._dynamicComponentHosts = null;
21
+ this.busy = false;
21
22
  this._routerSub$ = null;
22
23
  this.showRightPaneSM = false;
23
24
  this.activeConfig = new DefaultShellConfig();
@@ -32,9 +33,8 @@ export class ShellLayoutComponent {
32
33
  setTimeout(() => { this.loaded = true; }, 200);
33
34
  }
34
35
  ngOnInit() {
35
- this._routerSub$ = this._router
36
- .events
37
- .pipe(filter((event) => event instanceof ActivationStart)).subscribe((event) => {
36
+ this._routerSub$ = this._router.events.pipe(filter((event) => event instanceof ActivationStart))
37
+ .subscribe((event) => {
38
38
  if (event?.snapshot) {
39
39
  if (event?.snapshot?.data) {
40
40
  if (event?.snapshot?.data.shell) {
@@ -73,18 +73,20 @@ export class ShellLayoutComponent {
73
73
  }
74
74
  }
75
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellLayoutComponent, deps: [{ token: i1.Router }, { token: i2.ComponentLoaderFactory }, { token: SHELL_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellLayoutComponent, selector: "lib-shell-layout", inputs: { sidebarFooterTemplate: "sidebarFooterTemplate" }, viewQueries: [{ propertyName: "_dynamicComponentHosts", predicate: DynamicComponentHostDirective, descendants: true }], ngImport: i0, template: "<div [class.hidden]=\"!loaded\"\r\n [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\"\r\n class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\"\r\n class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\"\r\n [sidebarFooterTemplate]=\"sidebarFooterTemplate\">\r\n </lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.ShellSidebarLayoutComponent, selector: "lib-shell-sidebar-layout", inputs: ["config", "sidebarFooterTemplate"] }, { kind: "component", type: i5.ShellStackedLayoutComponent, selector: "lib-shell-stacked-layout", inputs: ["config"] }, { kind: "component", type: i6.SidePaneComponent, selector: "lib-side-pane", inputs: ["visible"], outputs: ["onComplete", "onOpen", "onClose"] }, { kind: "component", type: i7.ToasterContainerComponent, selector: "lib-toaster-container" }] }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellLayoutComponent, selector: "lib-shell-layout", inputs: { busy: "busy", sidebarFooterTemplate: "sidebarFooterTemplate" }, viewQueries: [{ propertyName: "_dynamicComponentHosts", predicate: DynamicComponentHostDirective, descendants: true }], ngImport: i0, template: "<div [class.hidden]=\"!loaded\" [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\" class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\" [busy]=\"busy\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\" class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\" [busy]=\"busy\"\r\n [sidebarFooterTemplate]=\"sidebarFooterTemplate\">\r\n </lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.ShellSidebarLayoutComponent, selector: "lib-shell-sidebar-layout", inputs: ["config", "sidebarFooterTemplate", "busy"] }, { kind: "component", type: i5.ShellStackedLayoutComponent, selector: "lib-shell-stacked-layout", inputs: ["config", "busy"] }, { kind: "component", type: i6.SidePaneComponent, selector: "lib-side-pane", inputs: ["visible", "pane-size"], outputs: ["onComplete", "onOpen", "onClose"] }, { kind: "component", type: i7.ToasterContainerComponent, selector: "lib-toaster-container" }] }); }
77
77
  }
78
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellLayoutComponent, decorators: [{
79
79
  type: Component,
80
- args: [{ selector: 'lib-shell-layout', template: "<div [class.hidden]=\"!loaded\"\r\n [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\"\r\n class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\"\r\n class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\"\r\n [sidebarFooterTemplate]=\"sidebarFooterTemplate\">\r\n </lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>" }]
80
+ args: [{ selector: 'lib-shell-layout', template: "<div [class.hidden]=\"!loaded\" [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\" class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\" [busy]=\"busy\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\" class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\" [busy]=\"busy\"\r\n [sidebarFooterTemplate]=\"sidebarFooterTemplate\">\r\n </lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>" }]
81
81
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.ComponentLoaderFactory }, { type: undefined, decorators: [{
82
82
  type: Inject,
83
83
  args: [SHELL_CONFIG]
84
84
  }] }], propDecorators: { _dynamicComponentHosts: [{
85
85
  type: ViewChildren,
86
86
  args: [DynamicComponentHostDirective]
87
+ }], busy: [{
88
+ type: Input
87
89
  }], sidebarFooterTemplate: [{
88
90
  type: Input
89
91
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWxheW91dC9zaGVsbC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtbGF5b3V0L3NoZWxsLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBNEMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlKLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBT3JHLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFDVSxPQUFlLEVBQ2YsdUJBQStDLEVBQ3pCLE9BQWlDO1FBRnZELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBQ3pCLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBTlosMkJBQXNCLEdBQW9ELElBQUksQ0FBQztRQUM1SCxnQkFBVyxHQUF3QixJQUFJLENBQUM7UUFjekMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBaUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3RELFdBQU0sR0FB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QjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQVV6QixNQUFNOzJCQUFDLFlBQVk7eUNBTitCLHNCQUFzQjtzQkFBMUUsWUFBWTt1QkFBQyw2QkFBNkI7Z0JBYzNCLHFCQUFxQjtzQkFBcEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIEluamVjdCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyVmlld0NoZWNrZWQsIFRlbXBsYXRlUmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNIRUxMX0NPTkZJRyB9IGZyb20gJy4vLi4vLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgSVNoZWxsQ29uZmlnLCBEZWZhdWx0U2hlbGxDb25maWcgfSBmcm9tICcuLy4uLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudEhvc3REaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2R5bmFtaWMtY29tcG9uZW50LWhvc3QuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50TG9hZGVyRmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbXBvbmVudC1sb2FkZXIvY29tcG9uZW50LWxvYWRlci5mYWN0b3J5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNoZWxsLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsLWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcclxuICBAVmlld0NoaWxkcmVuKER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlKSBwcml2YXRlIF9keW5hbWljQ29tcG9uZW50SG9zdHM6IFF1ZXJ5TGlzdDxEeW5hbWljQ29tcG9uZW50SG9zdERpcmVjdGl2ZT4gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9yb3V0ZXJTdWIkOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgX2NvbXBvbmVudExvYWRlckZhY3Rvcnk6IENvbXBvbmVudExvYWRlckZhY3RvcnksXHJcbiAgICBASW5qZWN0KFNIRUxMX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBJU2hlbGxDb25maWcgfCB1bmRlZmluZWRcclxuICApIHtcclxuICAgIGlmICghX2NvbmZpZykge1xyXG4gICAgICBfY29uZmlnID0gbmV3IERlZmF1bHRTaGVsbENvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVDb25maWcgPSBfY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcHVibGljIHNpZGViYXJGb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcHVibGljIHNob3dSaWdodFBhbmVTTSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhY3RpdmVDb25maWc6IElTaGVsbENvbmZpZyA9IG5ldyBEZWZhdWx0U2hlbGxDb25maWcoKTtcclxuICBwdWJsaWMgbG9hZGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVTaWRlYmFyID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5sb2FkZWQgPSB0cnVlOyB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcm91dGVyU3ViJCA9IHRoaXMuX3JvdXRlclxyXG4gICAgICAuZXZlbnRzXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgQWN0aXZhdGlvblN0YXJ0KVxyXG4gICAgICApLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoKGV2ZW50IGFzIEFjdGl2YXRpb25TdGFydCk/LnNuYXBzaG90KSB7XHJcbiAgICAgICAgICBpZiAoKGV2ZW50IGFzIEFjdGl2YXRpb25TdGFydCk/LnNuYXBzaG90Py5kYXRhKSB7XHJcbiAgICAgICAgICAgIGlmICgoZXZlbnQgYXMgQWN0aXZhdGlvblN0YXJ0KT8uc25hcHNob3Q/LmRhdGEuc2hlbGwpIHtcclxuICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbmZpZyA9IChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdC5kYXRhLnNoZWxsIGFzIElTaGVsbENvbmZpZztcclxuICAgICAgICAgICAgICBpZiAodGhpcy5hY3RpdmVDb25maWcuY3VzdG9tSGVhZGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRDdXN0b21Db21wb25lbnRzKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnID0gdGhpcy5fY29uZmlnID8gdGhpcy5fY29uZmlnIDogbmV3IERlZmF1bHRTaGVsbENvbmZpZygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRDdXN0b21Db21wb25lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRDdXN0b21Db21wb25lbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2R5bmFtaWNDb21wb25lbnRIb3N0cyAmJiB0aGlzLl9keW5hbWljQ29tcG9uZW50SG9zdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmxvYWRDdXN0b21Db21wb25lbnQodGhpcy5fZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoKF8pID0+IF8uaG9zdE5hbWUgPT09ICdIZWFkZXInKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fcm91dGVyU3ViJCkge1xyXG4gICAgICB0aGlzLl9yb3V0ZXJTdWIkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRDdXN0b21Db21wb25lbnQoaG9zdDogRHluYW1pY0NvbXBvbmVudEhvc3REaXJlY3RpdmUgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmIChob3N0KSB7XHJcbiAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSBob3N0LnZpZXdDb250YWluZXJSZWY7XHJcbiAgICAgIGlmICh2aWV3Q29udGFpbmVyUmVmICYmIHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkge1xyXG4gICAgICAgIGNvbnN0IGNsZiA9IHRoaXMuX2NvbXBvbmVudExvYWRlckZhY3RvcnkuY3JlYXRlTG9hZGVyKHZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgICAgIGNsZi5hdHRhY2godGhpcy5hY3RpdmVDb25maWcuY3VzdG9tSGVhZGVyQ29tcG9uZW50KS50byh2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQpLnNob3coKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzcy5oaWRkZW5dPVwiIWxvYWRlZFwiXHJcbiAgICAgW2NsYXNzLmJsb2NrXT1cImxvYWRlZFwiPlxyXG4gIDwhLS0gU1RBQ0tFRCBMQVlPVVQgLS0+XHJcbiAgPGRpdiAqbmdJZj1cIihhY3RpdmVDb25maWcubGF5b3V0ID09PSAnU3RhY2tlZCcgfHwgIWFjdGl2ZUNvbmZpZy5sYXlvdXQpXCJcclxuICAgICAgIGNsYXNzPVwic2hlbGwtY29udGFpbmVyIGFjdGl2ZS1zaWRlLXBhbmVcIj5cclxuICAgIDxsaWItc2hlbGwtc3RhY2tlZC1sYXlvdXQgW2NvbmZpZ109XCJhY3RpdmVDb25maWdcIj48L2xpYi1zaGVsbC1zdGFja2VkLWxheW91dD5cclxuICA8L2Rpdj5cclxuICA8IS0tIFNJREVCQVIgTEFZT1VUIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCJhY3RpdmVDb25maWcubGF5b3V0ID09PSAnU2lkZWJhcidcIlxyXG4gICAgICAgY2xhc3M9XCJzaWRlYmFyIHNoZWxsLWNvbnRhaW5lciBhY3RpdmUtc2lkZS1wYW5lXCI+XHJcbiAgICA8bGliLXNoZWxsLXNpZGViYXItbGF5b3V0IFtjb25maWddPVwiYWN0aXZlQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpZGViYXJGb290ZXJUZW1wbGF0ZV09XCJzaWRlYmFyRm9vdGVyVGVtcGxhdGVcIj5cclxuICAgIDwvbGliLXNoZWxsLXNpZGViYXItbGF5b3V0PlxyXG4gIDwvZGl2PlxyXG4gIDxsaWItc2lkZS1wYW5lICNyaWdodFBhbmU+XHJcbiAgICA8cm91dGVyLW91dGxldCBuYW1lPVwicmlnaHRwYW5lXCJcclxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJyaWdodFBhbmUub25TaWRlUGFuZUFjdGl2YXRlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgIChkZWFjdGl2YXRlKT1cInJpZ2h0UGFuZS5vblNpZGVQYW5lRGVhY3RpdmF0ZWQoJGV2ZW50KVwiPlxyXG4gICAgPC9yb3V0ZXItb3V0bGV0PlxyXG4gIDwvbGliLXNpZGUtcGFuZT5cclxuICA8bGliLXRvYXN0ZXItY29udGFpbmVyPjwvbGliLXRvYXN0ZXItY29udGFpbmVyPlxyXG48L2Rpdj4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWxheW91dC9zaGVsbC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtbGF5b3V0L3NoZWxsLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBNEMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlKLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBSXJHLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBb0IsT0FBZSxFQUFVLHVCQUErQyxFQUFnQyxPQUFpQztRQUF6SSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVUsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF3QjtRQUFnQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQUx4RywyQkFBc0IsR0FBb0QsSUFBSSxDQUFDO1FBQzNILFNBQUksR0FBWSxLQUFLLENBQUM7UUFFdkIsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDO1FBU3pDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQWlCLElBQUksa0JB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LGdEQ1o3Qyw2K0JBa0JNOzsyRkRQTyxvQkFBb0I7a0JBRGhDLFNBQVM7K0JBQWEsa0JBQWtCOzswQkFPd0QsTUFBTTsyQkFBQyxZQUFZO3lDQUw3RCxzQkFBc0I7c0JBQTFFLFlBQVk7dUJBQUMsNkJBQTZCO2dCQUNsQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ1UscUJBQXFCO3NCQUFwQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgVGVtcGxhdGVSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU0hFTExfQ09ORklHIH0gZnJvbSAnLi8uLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBJU2hlbGxDb25maWcsIERlZmF1bHRTaGVsbENvbmZpZyB9IGZyb20gJy4vLi4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50SG9zdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQtaG9zdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMb2FkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tcG9uZW50LWxvYWRlci9jb21wb25lbnQtbG9hZGVyLmZhY3RvcnknO1xyXG5cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiAnbGliLXNoZWxsLWxheW91dCcsIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnIH0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcclxuICBAVmlld0NoaWxkcmVuKER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlKSBwcml2YXRlIF9keW5hbWljQ29tcG9uZW50SG9zdHM6IFF1ZXJ5TGlzdDxEeW5hbWljQ29tcG9uZW50SG9zdERpcmVjdGl2ZT4gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBidXN5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNpZGViYXJGb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcHJpdmF0ZSBfcm91dGVyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JvdXRlcjogUm91dGVyLCBwcml2YXRlIF9jb21wb25lbnRMb2FkZXJGYWN0b3J5OiBDb21wb25lbnRMb2FkZXJGYWN0b3J5LCBASW5qZWN0KFNIRUxMX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBJU2hlbGxDb25maWcgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmICghX2NvbmZpZykge1xyXG4gICAgICBfY29uZmlnID0gbmV3IERlZmF1bHRTaGVsbENvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVDb25maWcgPSBfY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dSaWdodFBhbmVTTSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhY3RpdmVDb25maWc6IElTaGVsbENvbmZpZyA9IG5ldyBEZWZhdWx0U2hlbGxDb25maWcoKTtcclxuICBwdWJsaWMgbG9hZGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVTaWRlYmFyID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5sb2FkZWQgPSB0cnVlOyB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcm91dGVyU3ViJCA9IHRoaXMuX3JvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIEFjdGl2YXRpb25TdGFydCkpXHJcbiAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICBpZiAoKGV2ZW50IGFzIEFjdGl2YXRpb25TdGFydCk/LnNuYXBzaG90KSB7XHJcbiAgICAgICAgaWYgKChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdD8uZGF0YSkge1xyXG4gICAgICAgICAgaWYgKChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdD8uZGF0YS5zaGVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbmZpZyA9IChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdC5kYXRhLnNoZWxsIGFzIElTaGVsbENvbmZpZztcclxuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdEN1c3RvbUNvbXBvbmVudHMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVDb25maWcgPSB0aGlzLl9jb25maWcgPyB0aGlzLl9jb25maWcgOiBuZXcgRGVmYXVsdFNoZWxsQ29uZmlnKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRDdXN0b21Db21wb25lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRDdXN0b21Db21wb25lbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2R5bmFtaWNDb21wb25lbnRIb3N0cyAmJiB0aGlzLl9keW5hbWljQ29tcG9uZW50SG9zdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmxvYWRDdXN0b21Db21wb25lbnQodGhpcy5fZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoKF8pID0+IF8uaG9zdE5hbWUgPT09ICdIZWFkZXInKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fcm91dGVyU3ViJCkge1xyXG4gICAgICB0aGlzLl9yb3V0ZXJTdWIkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRDdXN0b21Db21wb25lbnQoaG9zdDogRHluYW1pY0NvbXBvbmVudEhvc3REaXJlY3RpdmUgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmIChob3N0KSB7XHJcbiAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSBob3N0LnZpZXdDb250YWluZXJSZWY7XHJcbiAgICAgIGlmICh2aWV3Q29udGFpbmVyUmVmICYmIHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkge1xyXG4gICAgICAgIGNvbnN0IGNsZiA9IHRoaXMuX2NvbXBvbmVudExvYWRlckZhY3RvcnkuY3JlYXRlTG9hZGVyKHZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgICAgIGNsZi5hdHRhY2godGhpcy5hY3RpdmVDb25maWcuY3VzdG9tSGVhZGVyQ29tcG9uZW50KS50byh2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQpLnNob3coKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzcy5oaWRkZW5dPVwiIWxvYWRlZFwiIFtjbGFzcy5ibG9ja109XCJsb2FkZWRcIj5cclxuICA8IS0tIFNUQUNLRUQgTEFZT1VUIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCIoYWN0aXZlQ29uZmlnLmxheW91dCA9PT0gJ1N0YWNrZWQnIHx8ICFhY3RpdmVDb25maWcubGF5b3V0KVwiIGNsYXNzPVwic2hlbGwtY29udGFpbmVyIGFjdGl2ZS1zaWRlLXBhbmVcIj5cclxuICAgIDxsaWItc2hlbGwtc3RhY2tlZC1sYXlvdXQgW2NvbmZpZ109XCJhY3RpdmVDb25maWdcIiBbYnVzeV09XCJidXN5XCI+PC9saWItc2hlbGwtc3RhY2tlZC1sYXlvdXQ+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBTSURFQkFSIExBWU9VVCAtLT5cclxuICA8ZGl2ICpuZ0lmPVwiYWN0aXZlQ29uZmlnLmxheW91dCA9PT0gJ1NpZGViYXInXCIgY2xhc3M9XCJzaWRlYmFyIHNoZWxsLWNvbnRhaW5lciBhY3RpdmUtc2lkZS1wYW5lXCI+XHJcbiAgICA8bGliLXNoZWxsLXNpZGViYXItbGF5b3V0IFtjb25maWddPVwiYWN0aXZlQ29uZmlnXCIgW2J1c3ldPVwiYnVzeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaWRlYmFyRm9vdGVyVGVtcGxhdGVdPVwic2lkZWJhckZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICA8L2xpYi1zaGVsbC1zaWRlYmFyLWxheW91dD5cclxuICA8L2Rpdj5cclxuICA8bGliLXNpZGUtcGFuZSAjcmlnaHRQYW5lPlxyXG4gICAgPHJvdXRlci1vdXRsZXQgbmFtZT1cInJpZ2h0cGFuZVwiXHJcbiAgICAgICAgICAgICAgICAgICAoYWN0aXZhdGUpPVwicmlnaHRQYW5lLm9uU2lkZVBhbmVBY3RpdmF0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAoZGVhY3RpdmF0ZSk9XCJyaWdodFBhbmUub25TaWRlUGFuZURlYWN0aXZhdGVkKCRldmVudClcIj5cclxuICAgIDwvcm91dGVyLW91dGxldD5cclxuICA8L2xpYi1zaWRlLXBhbmU+XHJcbiAgPGxpYi10b2FzdGVyLWNvbnRhaW5lcj48L2xpYi10b2FzdGVyLWNvbnRhaW5lcj5cclxuPC9kaXY+Il19
@@ -21,11 +21,11 @@ export class ShellSidebarHeaderComponent extends ShellHeaderComponent {
21
21
  this.links = links;
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarHeaderComponent, deps: [{ token: AuthService }, { token: Router }, { token: ActivatedRoute }, { token: SHELL_CONFIG }, { token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellSidebarHeaderComponent, selector: "lib-shell-sidebar-header", usesInheritance: true, ngImport: i0, template: "<div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i3.LanguageSelectionComponent, selector: "lib-language-selection" }, { kind: "component", type: i4.NotificationsIndicatorComponent, selector: "lib-notifications-indicator" }, { kind: "component", type: i5.UserProfileMenuComponent, selector: "lib-user-profile-menu", inputs: ["show-user-name"] }] }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellSidebarHeaderComponent, selector: "lib-shell-sidebar-header", usesInheritance: true, ngImport: i0, template: "<div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\" [show-picture]=\"showPictureOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i3.LanguageSelectionComponent, selector: "lib-language-selection" }, { kind: "component", type: i4.NotificationsIndicatorComponent, selector: "lib-notifications-indicator" }, { kind: "component", type: i5.UserProfileMenuComponent, selector: "lib-user-profile-menu", inputs: ["show-user-name", "show-picture"] }] }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarHeaderComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'lib-shell-sidebar-header', template: "<div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n" }]
28
+ args: [{ selector: 'lib-shell-sidebar-header', template: "<div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\" [show-picture]=\"showPictureOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n" }]
29
29
  }], ctorParameters: () => [{ type: i6.AuthService, decorators: [{
30
30
  type: Inject,
31
31
  args: [AuthService]
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
42
42
  type: Inject,
43
43
  args: [APP_LINKS]
44
44
  }] }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1oZWFkZXIvc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1oZWFkZXIvc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsb0JBQW9CO0lBQ25FLFlBQTJDLFdBQXdCLEVBQ3pDLE1BQWMsRUFDTixLQUFxQixFQUMxQixNQUFXLEVBQ2QsS0FBVTtRQUNsQyxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBTFIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO0lBRXBDLENBQUM7OEdBUFUsMkJBQTJCLGtCQUNsQixXQUFXLGFBQ3ZCLE1BQU0sYUFDTixjQUFjLGFBQ2QsWUFBWSxhQUNaLFNBQVM7a0dBTE4sMkJBQTJCLHVGQ1p4Qyxpa0NBdUJBOzsyRkRYYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFJdkIsTUFBTTsyQkFBQyxXQUFXOzswQkFDOUIsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFQUF9MSU5LUywgU0hFTExfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgU2hlbGxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9zaGVsbC1oZWFkZXIvc2hlbGwtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoZWxsTGF5b3V0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNoZWxsLXNpZGViYXItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbFNpZGViYXJIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBTaGVsbEhlYWRlckNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBdXRoU2VydmljZSkgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICBASW5qZWN0KFJvdXRlcikgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgQEluamVjdChTSEVMTF9DT05GSUcpIHB1YmxpYyBjb25maWc6IGFueSxcclxuICBASW5qZWN0KEFQUF9MSU5LUykgcHVibGljIGxpbmtzOiBhbnkpIHtcclxuICAgIHN1cGVyKGF1dGhTZXJ2aWNlLCByb3V0ZXIsIHJvdXRlLCBjb25maWcsIGxpbmtzKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItcGFkZGluZ3NcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItYm9yZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1tZW51LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLW1kLXZpc2libGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbGlua3MtZmFyLWNvbnRhaW5lclwiIChjbGlja091dHNpZGUpPVwib25DbGlja091dHNpZGUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBQcm9maWxlIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2ZpbGVNZW51VmlzaWJsZVwiIGNsYXNzPVwibWwtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaWItdXNlci1wcm9maWxlLW1lbnUgW3Nob3ctdXNlci1uYW1lXT1cInNob3dVc2VyTmFtZU9uSGVhZGVyXCI+PC9saWItdXNlci1wcm9maWxlLW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gTm90aWZpY2F0aW9ucyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93QWxlcnRzICYmIHVzZXJcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPjwvbGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGxhbmd1YWdlcyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TGFuZ3NcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLWxhbmd1YWdlLXNlbGVjdGlvbj48L2xpYi1sYW5ndWFnZS1zZWxlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIFxyXG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1oZWFkZXIvc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1oZWFkZXIvc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsb0JBQW9CO0lBQ25FLFlBQTJDLFdBQXdCLEVBQ3pDLE1BQWMsRUFDTixLQUFxQixFQUMxQixNQUFXLEVBQ2QsS0FBVTtRQUNsQyxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBTFIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO0lBRXBDLENBQUM7OEdBUFUsMkJBQTJCLGtCQUNsQixXQUFXLGFBQ3ZCLE1BQU0sYUFDTixjQUFjLGFBQ2QsWUFBWSxhQUNaLFNBQVM7a0dBTE4sMkJBQTJCLHVGQ1p4Qyx3bUNBdUJBOzsyRkRYYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFJdkIsTUFBTTsyQkFBQyxXQUFXOzswQkFDOUIsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFQUF9MSU5LUywgU0hFTExfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgU2hlbGxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9zaGVsbC1oZWFkZXIvc2hlbGwtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoZWxsTGF5b3V0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNoZWxsLXNpZGViYXItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbFNpZGViYXJIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBTaGVsbEhlYWRlckNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBdXRoU2VydmljZSkgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICBASW5qZWN0KFJvdXRlcikgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgQEluamVjdChTSEVMTF9DT05GSUcpIHB1YmxpYyBjb25maWc6IGFueSxcclxuICBASW5qZWN0KEFQUF9MSU5LUykgcHVibGljIGxpbmtzOiBhbnkpIHtcclxuICAgIHN1cGVyKGF1dGhTZXJ2aWNlLCByb3V0ZXIsIHJvdXRlLCBjb25maWcsIGxpbmtzKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItcGFkZGluZ3NcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItYm9yZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1tZW51LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLW1kLXZpc2libGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbGlua3MtZmFyLWNvbnRhaW5lclwiIChjbGlja091dHNpZGUpPVwib25DbGlja091dHNpZGUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBQcm9maWxlIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2ZpbGVNZW51VmlzaWJsZVwiIGNsYXNzPVwibWwtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaWItdXNlci1wcm9maWxlLW1lbnUgW3Nob3ctdXNlci1uYW1lXT1cInNob3dVc2VyTmFtZU9uSGVhZGVyXCIgW3Nob3ctcGljdHVyZV09XCJzaG93UGljdHVyZU9uSGVhZGVyXCI+PC9saWItdXNlci1wcm9maWxlLW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gTm90aWZpY2F0aW9ucyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93QWxlcnRzICYmIHVzZXJcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPjwvbGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGxhbmd1YWdlcyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TGFuZ3NcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLWxhbmd1YWdlLXNlbGVjdGlvbj48L2xpYi1sYW5ndWFnZS1zZWxlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIFxyXG4iXX0=