@indice/ng-components 0.3.12 → 0.4.0-beta.1

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 (169) hide show
  1. package/fesm2022/indice-ng-components.mjs +314 -279
  2. package/fesm2022/indice-ng-components.mjs.map +1 -1
  3. package/index.d.ts +1894 -3
  4. package/package.json +8 -10
  5. package/esm2022/indice-ng-components.mjs +0 -5
  6. package/esm2022/lib/controls/advanced-search/advanced-search.component.mjs +0 -161
  7. package/esm2022/lib/controls/advanced-search/models.mjs +0 -109
  8. package/esm2022/lib/controls/avatar-initials/avatar-initials.component.mjs +0 -48
  9. package/esm2022/lib/controls/breadcrumb/breadcrumb-item.mjs +0 -14
  10. package/esm2022/lib/controls/breadcrumb/breadcrumb.component.mjs +0 -26
  11. package/esm2022/lib/controls/collapsible-panel/collapsible-panel.component.mjs +0 -20
  12. package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -118
  13. package/esm2022/lib/controls/content-tile/content-tile.component.mjs +0 -91
  14. package/esm2022/lib/controls/date-picker/date-picker.component.mjs +0 -300
  15. package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -72
  16. package/esm2022/lib/controls/enhanced-combobox/enhanced-combobox.component.mjs +0 -115
  17. package/esm2022/lib/controls/kpi-tile/kpi-tile.component.mjs +0 -43
  18. package/esm2022/lib/controls/language-selection/language-selection.component.mjs +0 -31
  19. package/esm2022/lib/controls/list-view/list-column.component.mjs +0 -25
  20. package/esm2022/lib/controls/list-view/list-details-section.component.mjs +0 -17
  21. package/esm2022/lib/controls/list-view/list-tile.component.mjs +0 -17
  22. package/esm2022/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
  23. package/esm2022/lib/controls/list-view/list-view.component.mjs +0 -211
  24. package/esm2022/lib/controls/nav-links-list/nav-links-list.component.mjs +0 -54
  25. package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
  26. package/esm2022/lib/controls/pager/pager.component.mjs +0 -130
  27. package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +0 -46
  28. package/esm2022/lib/controls/side-pane/side-pane.component.mjs +0 -106
  29. package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -29
  30. package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +0 -49
  31. package/esm2022/lib/controls/stepper/lib-step-info.directive.mjs +0 -16
  32. package/esm2022/lib/controls/stepper/lib-step-label.directive.mjs +0 -16
  33. package/esm2022/lib/controls/stepper/lib-step.component.mjs +0 -81
  34. package/esm2022/lib/controls/stepper/lib-stepper.component.mjs +0 -108
  35. package/esm2022/lib/controls/stepper/types/step-selected-event.mjs +0 -4
  36. package/esm2022/lib/controls/stepper/types/stepper-type.mjs +0 -12
  37. package/esm2022/lib/controls/tabs/lib-tab-group.component.mjs +0 -66
  38. package/esm2022/lib/controls/tabs/lib-tab-label.directive.mjs +0 -16
  39. package/esm2022/lib/controls/tabs/lib-tab.component.mjs +0 -64
  40. package/esm2022/lib/controls/toaster/toaster-container.component.mjs +0 -28
  41. package/esm2022/lib/controls/toaster/toaster.component.mjs +0 -31
  42. package/esm2022/lib/controls/toggle/toggle.component.mjs +0 -64
  43. package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +0 -87
  44. package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +0 -34
  45. package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -75
  46. package/esm2022/lib/directives/click-outside.directive.mjs +0 -189
  47. package/esm2022/lib/directives/dynamic-component-host.directive.mjs +0 -17
  48. package/esm2022/lib/helpers/base-list.component.mjs +0 -235
  49. package/esm2022/lib/icons.mjs +0 -36
  50. package/esm2022/lib/layouts/shell/shell-footer/shell-footer.component.mjs +0 -19
  51. package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -138
  52. package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -92
  53. package/esm2022/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +0 -54
  54. package/esm2022/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +0 -45
  55. package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -33
  56. package/esm2022/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +0 -24
  57. package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +0 -86
  58. package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -103
  59. package/esm2022/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -106
  60. package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
  61. package/esm2022/lib/ng-components.module.mjs +0 -324
  62. package/esm2022/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
  63. package/esm2022/lib/pages/auth/auth-renew/auth-renew.component.mjs +0 -31
  64. package/esm2022/lib/pages/auth/logged-out/logged-out.component.mjs +0 -28
  65. package/esm2022/lib/pages/http-status/error/error.component.mjs +0 -17
  66. package/esm2022/lib/pages/http-status/page-not-found/page-not-found.component.mjs +0 -15
  67. package/esm2022/lib/pages/http-status/unauthorized/unauthorized.component.mjs +0 -14
  68. package/esm2022/lib/pipes/address.pipe.mjs +0 -21
  69. package/esm2022/lib/pipes/duration-format.pipe.mjs +0 -64
  70. package/esm2022/lib/pipes/short-number.pipe.mjs +0 -43
  71. package/esm2022/lib/services/breadcrumb.service.mjs +0 -181
  72. package/esm2022/lib/services/component-loader/component-loader-options.class.mjs +0 -8
  73. package/esm2022/lib/services/component-loader/component-loader.class.mjs +0 -188
  74. package/esm2022/lib/services/component-loader/component-loader.factory.mjs +0 -32
  75. package/esm2022/lib/services/component-loader/content-ref.class.mjs +0 -13
  76. package/esm2022/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
  77. package/esm2022/lib/services/modal-service/modal-container-component.mjs +0 -126
  78. package/esm2022/lib/services/modal-service/modal-options.class.mjs +0 -35
  79. package/esm2022/lib/services/modal-service/modal-service.mjs +0 -220
  80. package/esm2022/lib/services/modal-service/modal-styles.class.mjs +0 -11
  81. package/esm2022/lib/services/modal-service/modal.class.mjs +0 -27
  82. package/esm2022/lib/services/toaster.service.mjs +0 -26
  83. package/esm2022/lib/services/user-settings.service.mjs +0 -35
  84. package/esm2022/lib/services/utilities.service.mjs +0 -47
  85. package/esm2022/lib/tokens.mjs +0 -8
  86. package/esm2022/lib/types.mjs +0 -143
  87. package/esm2022/public-api.mjs +0 -77
  88. package/lib/controls/advanced-search/advanced-search.component.d.ts +0 -42
  89. package/lib/controls/advanced-search/models.d.ts +0 -92
  90. package/lib/controls/avatar-initials/avatar-initials.component.d.ts +0 -14
  91. package/lib/controls/breadcrumb/breadcrumb-item.d.ts +0 -7
  92. package/lib/controls/breadcrumb/breadcrumb.component.d.ts +0 -12
  93. package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +0 -10
  94. package/lib/controls/combobox/combobox.component.d.ts +0 -34
  95. package/lib/controls/content-tile/content-tile.component.d.ts +0 -34
  96. package/lib/controls/date-picker/date-picker.component.d.ts +0 -53
  97. package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +0 -26
  98. package/lib/controls/enhanced-combobox/enhanced-combobox.component.d.ts +0 -37
  99. package/lib/controls/kpi-tile/kpi-tile.component.d.ts +0 -15
  100. package/lib/controls/language-selection/language-selection.component.d.ts +0 -14
  101. package/lib/controls/list-view/list-column.component.d.ts +0 -9
  102. package/lib/controls/list-view/list-details-section.component.d.ts +0 -7
  103. package/lib/controls/list-view/list-tile.component.d.ts +0 -7
  104. package/lib/controls/list-view/list-view-empty-state.component.d.ts +0 -11
  105. package/lib/controls/list-view/list-view.component.d.ts +0 -62
  106. package/lib/controls/nav-links-list/nav-links-list.component.d.ts +0 -21
  107. package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +0 -22
  108. package/lib/controls/pager/pager.component.d.ts +0 -36
  109. package/lib/controls/progress-bar/progress-bar.component.d.ts +0 -16
  110. package/lib/controls/side-pane/side-pane.component.d.ts +0 -28
  111. package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +0 -12
  112. package/lib/controls/stats-grid/stats-grid.component.d.ts +0 -16
  113. package/lib/controls/stepper/lib-step-info.directive.d.ts +0 -8
  114. package/lib/controls/stepper/lib-step-label.directive.d.ts +0 -8
  115. package/lib/controls/stepper/lib-step.component.d.ts +0 -34
  116. package/lib/controls/stepper/lib-stepper.component.d.ts +0 -43
  117. package/lib/controls/stepper/types/step-selected-event.d.ts +0 -12
  118. package/lib/controls/stepper/types/stepper-type.d.ts +0 -10
  119. package/lib/controls/tabs/lib-tab-group.component.d.ts +0 -21
  120. package/lib/controls/tabs/lib-tab-label.directive.d.ts +0 -8
  121. package/lib/controls/tabs/lib-tab.component.d.ts +0 -24
  122. package/lib/controls/toaster/toaster-container.component.d.ts +0 -13
  123. package/lib/controls/toaster/toaster.component.d.ts +0 -15
  124. package/lib/controls/toggle/toggle.component.d.ts +0 -19
  125. package/lib/controls/toggle-button/toggle-button.component.d.ts +0 -25
  126. package/lib/controls/toggle-buttons-list/toggle-buttons-list.component.d.ts +0 -15
  127. package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +0 -25
  128. package/lib/directives/click-outside.directive.d.ts +0 -40
  129. package/lib/directives/dynamic-component-host.directive.d.ts +0 -9
  130. package/lib/helpers/base-list.component.d.ts +0 -55
  131. package/lib/icons.d.ts +0 -34
  132. package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +0 -8
  133. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +0 -40
  134. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +0 -27
  135. package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +0 -20
  136. package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +0 -14
  137. package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +0 -16
  138. package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +0 -11
  139. package/lib/layouts/views/form-layout/form-layout.component.d.ts +0 -26
  140. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +0 -44
  141. package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +0 -29
  142. package/lib/layouts/views/view-layout/view-layout.component.d.ts +0 -31
  143. package/lib/ng-components.module.d.ts +0 -70
  144. package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +0 -13
  145. package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +0 -12
  146. package/lib/pages/auth/logged-out/logged-out.component.d.ts +0 -12
  147. package/lib/pages/http-status/error/error.component.d.ts +0 -8
  148. package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +0 -8
  149. package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +0 -8
  150. package/lib/pipes/address.pipe.d.ts +0 -8
  151. package/lib/pipes/duration-format.pipe.d.ts +0 -8
  152. package/lib/pipes/short-number.pipe.d.ts +0 -7
  153. package/lib/services/breadcrumb.service.d.ts +0 -29
  154. package/lib/services/component-loader/component-loader-options.class.d.ts +0 -30
  155. package/lib/services/component-loader/component-loader.class.d.ts +0 -92
  156. package/lib/services/component-loader/component-loader.factory.d.ts +0 -24
  157. package/lib/services/component-loader/content-ref.class.d.ts +0 -12
  158. package/lib/services/modal-service/modal-backdrop-component.d.ts +0 -20
  159. package/lib/services/modal-service/modal-container-component.d.ts +0 -33
  160. package/lib/services/modal-service/modal-options.class.d.ts +0 -81
  161. package/lib/services/modal-service/modal-service.d.ts +0 -58
  162. package/lib/services/modal-service/modal-styles.class.d.ts +0 -10
  163. package/lib/services/modal-service/modal.class.d.ts +0 -43
  164. package/lib/services/toaster.service.d.ts +0 -11
  165. package/lib/services/user-settings.service.d.ts +0 -13
  166. package/lib/services/utilities.service.d.ts +0 -11
  167. package/lib/tokens.d.ts +0 -10
  168. package/lib/types.d.ts +0 -188
  169. package/public-api.d.ts +0 -67
@@ -1,138 +0,0 @@
1
- import { AuthService } from '@indice/ng-auth';
2
- import { Component, Inject, Input } from '@angular/core';
3
- import { ActivatedRoute, NavigationStart, Router } from '@angular/router';
4
- import { filter, share } from 'rxjs/operators';
5
- import { APP_LINKS, SHELL_CONFIG } from '../../../tokens';
6
- import { of } from 'rxjs';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@angular/router";
10
- import * as i3 from "../../../directives/click-outside.directive";
11
- import * as i4 from "../../../controls/language-selection/language-selection.component";
12
- import * as i5 from "../../../controls/nav-links-list/nav-links-list.component";
13
- import * as i6 from "../../../controls/notifications-indicator/notifications-indicator.component";
14
- import * as i7 from "../../../controls/user-profile-menu/user-profile-menu.component";
15
- import * as i8 from "@indice/ng-auth";
16
- export class ShellHeaderComponent {
17
- constructor(authService, router, route, config, links) {
18
- this.authService = authService;
19
- this.router = router;
20
- this.route = route;
21
- this.config = config;
22
- this.links = links;
23
- // tslint:disable-next-line:no-input-rename
24
- this.sectionLinksPath = 'main';
25
- // tslint:disable-next-line:no-input-rename
26
- this.profileMenuVisible = true;
27
- // tslint:disable-next-line:no-input-rename
28
- this.showUserNameOnHeader = false;
29
- // tslint:disable-next-line:no-input-rename
30
- this.showPictureOnHeader = true;
31
- // tslint:disable-next-line:no-input-rename
32
- this.showAlerts = false;
33
- // tslint:disable-next-line:no-input-rename
34
- this.showLangs = false;
35
- this.border = true;
36
- this.busy = false;
37
- this.sectionLinks = of([]);
38
- this.mobileMenuExpanded = false;
39
- this.userMenuExpanded = false;
40
- this.routerSub$ = null;
41
- this.userSub$ = null;
42
- this.statusSub$ = null;
43
- this.user = null;
44
- this.avatarName = null;
45
- this.activeFragment = null;
46
- this.routeSubject = this.router.events.pipe(filter((event) => event instanceof NavigationStart));
47
- }
48
- ngOnInit() {
49
- this.activeFragment = this.route.fragment.pipe(share());
50
- this.sectionLinks = this.links[this.sectionLinksPath];
51
- this.routerSub$ = this.routeSubject.subscribe((event) => {
52
- this.mobileMenuExpanded = false;
53
- this.userMenuExpanded = false;
54
- });
55
- this.authService.loadUser().subscribe((user) => {
56
- this.setCurrentUser(user);
57
- }, error => {
58
- console.error(error);
59
- });
60
- // Detect user changes and display / or not user info accordingly...
61
- this.userSub$ = this.authService.user$.subscribe((user) => {
62
- // console.log('ShellHeaderComponent user subscription');
63
- this.setCurrentUser(user);
64
- });
65
- }
66
- ngOnDestroy() {
67
- if (this.routerSub$) {
68
- this.routerSub$.unsubscribe();
69
- }
70
- // TODO: check authenticated user here before we start polling server status
71
- if (this.statusSub$) {
72
- this.statusSub$.unsubscribe();
73
- }
74
- if (this.userSub$) {
75
- this.userSub$.unsubscribe();
76
- }
77
- }
78
- // tslint:disable-next-line:typedef
79
- onClickOutside($event) {
80
- this.userMenuExpanded = false;
81
- }
82
- signin(event) {
83
- if (event) {
84
- event.preventDefault();
85
- }
86
- this.authService.signinRedirect();
87
- }
88
- setCurrentUser(user) {
89
- this.user = user;
90
- if (user && user.profile && user.profile.given_name && user.profile.given_name !== undefined && user.profile.family_name && user.profile.family_name !== undefined) {
91
- this.avatarName = `${user.profile.given_name.charAt(0)}${user.profile.family_name.charAt(0)}`.toUpperCase();
92
- }
93
- }
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 }); }
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"] }] }); }
96
- }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellHeaderComponent, decorators: [{
98
- type: Component,
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" }]
100
- }], ctorParameters: () => [{ type: i8.AuthService, decorators: [{
101
- type: Inject,
102
- args: [AuthService]
103
- }] }, { type: i2.Router, decorators: [{
104
- type: Inject,
105
- args: [Router]
106
- }] }, { type: i2.ActivatedRoute, decorators: [{
107
- type: Inject,
108
- args: [ActivatedRoute]
109
- }] }, { type: undefined, decorators: [{
110
- type: Inject,
111
- args: [SHELL_CONFIG]
112
- }] }, { type: undefined, decorators: [{
113
- type: Inject,
114
- args: [APP_LINKS]
115
- }] }], propDecorators: { sectionLinksPath: [{
116
- type: Input,
117
- args: ['section-links']
118
- }], profileMenuVisible: [{
119
- type: Input,
120
- args: ['profile-menu']
121
- }], showUserNameOnHeader: [{
122
- type: Input,
123
- args: ['show-userName']
124
- }], showPictureOnHeader: [{
125
- type: Input,
126
- args: ['show-picture']
127
- }], showAlerts: [{
128
- type: Input,
129
- args: ['show-alerts']
130
- }], showLangs: [{
131
- type: Input,
132
- args: ['show-langs']
133
- }], border: [{
134
- type: Input
135
- }], busy: [{
136
- type: Input
137
- }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWhlYWRlci9zaGVsbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtaGVhZGVyL3NoZWxsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFTLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRcEQsTUFBTSxPQUFPLG9CQUFvQjtJQTBCL0IsWUFDaUMsV0FBd0IsRUFDN0IsTUFBYyxFQUNOLEtBQXFCLEVBQzFCLE1BQVcsRUFDZCxLQUFVO1FBSkwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBOUJ0QywyQ0FBMkM7UUFDbkIscUJBQWdCLEdBQUcsTUFBTSxDQUFDO1FBQ2xE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QkFBekMsS0FBSzt1QkFBQyxjQUFjO2dCQUVDLFVBQVU7c0JBQS9CLEtBQUs7dUJBQUMsYUFBYTtnQkFFQyxTQUFTO3NCQUE3QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ1YsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGluZGljZS9uZy1hdXRoJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgRXZlbnQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyLCBzaGFyZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgQVBQX0xJTktTLCBTSEVMTF9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdvaWRjLWNsaWVudC10cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoZWxsSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NlY3Rpb24tbGlua3MnKSBzZWN0aW9uTGlua3NQYXRoID0gJ21haW4nO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Byb2ZpbGUtbWVudScpIHByb2ZpbGVNZW51VmlzaWJsZSA9IHRydWU7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy11c2VyTmFtZScpIHNob3dVc2VyTmFtZU9uSGVhZGVyOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy1waWN0dXJlJykgc2hvd1BpY3R1cmVPbkhlYWRlcjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHRydWU7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy1hbGVydHMnKSBzaG93QWxlcnRzOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy1sYW5ncycpIHNob3dMYW5nczogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGJvcmRlciA9IHRydWU7XHJcbiAgQElucHV0KCkgYnVzeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZWN0aW9uTGlua3M6IE9ic2VydmFibGU8TmF2TGlua1tdPiA9IG9mKFtdKTtcclxuICBwdWJsaWMgbW9iaWxlTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgcHVibGljIHVzZXJNZW51RXhwYW5kZWQgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgcm91dGVTdWJqZWN0OiBPYnNlcnZhYmxlPEV2ZW50PjtcclxuICBwcm90ZWN0ZWQgcm91dGVyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJvdGVjdGVkIHVzZXJTdWIkOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgc3RhdHVzU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIHVzZXI6IFVzZXIgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgYXZhdGFyTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGFjdGl2ZUZyYWdtZW50OiBhbnkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KEF1dGhTZXJ2aWNlKSBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgQEluamVjdChSb3V0ZXIpIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcclxuICAgIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBASW5qZWN0KFNIRUxMX0NPTkZJRykgcHVibGljIGNvbmZpZzogYW55LFxyXG4gICAgQEluamVjdChBUFBfTElOS1MpIHB1YmxpYyBsaW5rczogYW55KSB7XHJcbiAgICB0aGlzLnJvdXRlU3ViamVjdCA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlRnJhZ21lbnQgPSB0aGlzLnJvdXRlLmZyYWdtZW50LnBpcGUoc2hhcmUoKSk7XHJcbiAgICB0aGlzLnNlY3Rpb25MaW5rcyA9IHRoaXMubGlua3NbdGhpcy5zZWN0aW9uTGlua3NQYXRoXSBhcyBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XHJcbiAgICB0aGlzLnJvdXRlclN1YiQgPSB0aGlzLnJvdXRlU3ViamVjdC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMubW9iaWxlTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudXNlck1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvYWRVc2VyKCkuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0Q3VycmVudFVzZXIodXNlcik7XHJcbiAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgfSk7XHJcbiAgICAvLyBEZXRlY3QgdXNlciBjaGFuZ2VzIGFuZCBkaXNwbGF5IC8gb3Igbm90IHVzZXIgaW5mbyBhY2NvcmRpbmdseS4uLlxyXG4gICAgdGhpcy51c2VyU3ViJCA9IHRoaXMuYXV0aFNlcnZpY2UudXNlciQuc3Vic2NyaWJlKCh1c2VyOiBhbnkpID0+IHtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ1NoZWxsSGVhZGVyQ29tcG9uZW50IHVzZXIgc3Vic2NyaXB0aW9uJyk7XHJcbiAgICAgIHRoaXMuc2V0Q3VycmVudFVzZXIodXNlcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cclxuICAgIGlmICh0aGlzLnJvdXRlclN1YiQpIHtcclxuICAgICAgdGhpcy5yb3V0ZXJTdWIkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiBjaGVjayBhdXRoZW50aWNhdGVkIHVzZXIgaGVyZSBiZWZvcmUgd2Ugc3RhcnQgcG9sbGluZyBzZXJ2ZXIgc3RhdHVzXHJcbiAgICBpZiAodGhpcy5zdGF0dXNTdWIkKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudXNlclN1YiQpIHtcclxuICAgICAgdGhpcy51c2VyU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnR5cGVkZWZcclxuICBwdWJsaWMgb25DbGlja091dHNpZGUoJGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMudXNlck1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNpZ25pbihldmVudDogYW55IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25pblJlZGlyZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnRVc2VyKHVzZXI6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VyID0gdXNlcjtcclxuICAgIGlmICh1c2VyICYmIHVzZXIucHJvZmlsZSAmJiB1c2VyLnByb2ZpbGUuZ2l2ZW5fbmFtZSAmJiB1c2VyLnByb2ZpbGUuZ2l2ZW5fbmFtZSAhPT0gdW5kZWZpbmVkICYmIHVzZXIucHJvZmlsZS5mYW1pbHlfbmFtZSAmJiB1c2VyLnByb2ZpbGUuZmFtaWx5X25hbWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmF2YXRhck5hbWUgPSBgJHt1c2VyLnByb2ZpbGUuZ2l2ZW5fbmFtZS5jaGFyQXQoMCl9JHt1c2VyLnByb2ZpbGUuZmFtaWx5X25hbWUuY2hhckF0KDApfWAudG9VcHBlckNhc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4iLCI8bmF2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItcGFkZGluZ3NcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItYm9yZGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbWVudS1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1sb2dvLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBbcm91dGVyTGlua109XCJbJy8nXVwiPjxpbWcgYWx0PVwiYXBwIGxvZ29cIiBjbGFzcz1cImFwcC1sb2dvXCIgW3NyY109XCJjb25maWcuYXBwTG9nb1wiIFthbHRdPVwiY29uZmlnLmFwcExvZ29BbHRcIiAvPjwvYT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLWxpbmstY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLWxpbmstY29udGFpbmVyLWlubmVyXCI+XHJcbiAgICAgICAgICAgIDxsaWItbmF2LWxpbmtzLWxpc3RcclxuICAgICAgICAgICAgICBbbGlua3NdPVwic2VjdGlvbkxpbmtzXCJcclxuICAgICAgICAgICAgICBbYWN0aXZlLWZyYWdtZW50XT1cImFjdGl2ZUZyYWdtZW50XCJcclxuICAgICAgICAgICAgICBbbGluay1jbGFzc109XCInbmF2LWxpbmsnXCJcclxuICAgICAgICAgICAgICBbbGluay1hY3RpdmUtY2xhc3NdPVwiJ25hdi1saW5rLWFjdGl2ZSdcIj5cclxuICAgICAgICAgICAgPC9saWItbmF2LWxpbmtzLWxpc3Q+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1tZC12aXNpYmxlXCI+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1saW5rcy1mYXItY29udGFpbmVyXCIgKGNsaWNrT3V0c2lkZSk9XCJvbkNsaWNrT3V0c2lkZSgkZXZlbnQpXCI+XHJcblxyXG4gICAgICAgICAgICA8bGliLW5hdi1saW5rcy1saXN0XHJcbiAgICAgICAgICAgICAgW2xpbmtzXT1cImxpbmtzLnByb2ZpbGVBY3Rpb25zXCJcclxuICAgICAgICAgICAgICBbYWN0aXZlLWZyYWdtZW50XT1cImFjdGl2ZUZyYWdtZW50XCJcclxuICAgICAgICAgICAgICBbbGluay1jbGFzc109XCInc2hlbGwtaGVhZGVyLW1lbnUtcm91bmRlZC1idXR0b24nXCJcclxuICAgICAgICAgICAgICBbbGluay1hY3RpdmUtY2xhc3NdPVwiJ3NoZWxsLWhlYWRlci1tZW51LXJvdW5kZWQtYnV0dG9uLWFjdGl2ZSdcIj5cclxuICAgICAgICAgICAgPC9saWItbmF2LWxpbmtzLWxpc3Q+XHJcblxyXG5cclxuICAgICAgICAgICAgPCEtLSBQcm9maWxlIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvZmlsZU1lbnVWaXNpYmxlXCIgY2xhc3M9XCJtbC00XCI+XHJcbiAgICAgICAgICAgICAgPGxpYi11c2VyLXByb2ZpbGUtbWVudSBbc2hvdy11c2VyLW5hbWVdPVwic2hvd1VzZXJOYW1lT25IZWFkZXJcIiBbc2hvdy1waWN0dXJlXT1cInNob3dQaWN0dXJlT25IZWFkZXJcIj48L2xpYi11c2VyLXByb2ZpbGUtbWVudT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE5vdGlmaWNhdGlvbnMgZHJvcGRvd24gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93QWxlcnRzICYmIHVzZXJcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICA8bGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPjwvbGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gbGFuZ3VhZ2VzIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0xhbmdzXCIgY2xhc3M9XCJtbC00XCI+XHJcbiAgICAgICAgICAgICAgPGxpYi1sYW5ndWFnZS1zZWxlY3Rpb24+PC9saWItbGFuZ3VhZ2Utc2VsZWN0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLW1lbnUtYnV0dG9uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPCEtLSBNb2JpbGUgbWVudSBidXR0b24gLS0+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9iaWxlTWVudUV4cGFuZGVkID0gIW1vYmlsZU1lbnVFeHBhbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9iaWxlLW1lbnUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cIm1vYmlsZS1tZW51XCJcclxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJtb2JpbGVNZW51RXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+T3BlbiBtYWluIG1lbnU8L3NwYW4+XHJcbiAgICAgICAgICAgIDwhLS1IZXJvaWNvbiBuYW1lOiBvdXRsaW5lL21lbnUgIE1lbnUgb3BlbjogXCJoaWRkZW5cIiwgTWVudSBjbG9zZWQ6IFwiYmxvY2tcIi0tPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vYmlsZU1lbnVFeHBhbmRlZCA/ICdoaWRkZW4nOidibG9jayBoLTYgdy02J1wiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTQgNmgxNk00IDEyaDE2TTQgMThoMTZcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPCEtLUhlcm9pY29uIG5hbWU6IG91dGxpbmUveCBNZW51IG9wZW46IFwiYmxvY2tcIiwgTWVudSBjbG9zZWQ6IFwiaGlkZGVuXCItLT5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgIFtjbGFzc109XCJtb2JpbGVNZW51RXhwYW5kZWQgPyAnYmxvY2sgaC02IHctNic6J2hpZGRlbidcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk02IDE4TDE4IDZNNiA2bDEyIDEyXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8IS0tIE1vYmlsZSBtZW51LCBzaG93L2hpZGUgYmFzZWQgb24gbWVudSBzdGF0ZS4gLS0+XHJcbiAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LWNvbnRhaW5lclwiICpuZ0lmPVwibW9iaWxlTWVudUV4cGFuZGVkXCIgaWQ9XCJtb2JpbGUtbWVudVwiPlxyXG4gICAgPGxpYi1uYXYtbGlua3MtbGlzdFxyXG4gICAgICBbbGlua3NdPVwic2VjdGlvbkxpbmtzXCJcclxuICAgICAgW2FjdGl2ZS1mcmFnbWVudF09XCJhY3RpdmVGcmFnbWVudFwiXHJcbiAgICAgIFtsaW5rLWNsYXNzXT1cIiduYXYtbGluay1tb2JpbGUnXCJcclxuICAgICAgW2xpbmstYWN0aXZlLWNsYXNzXT1cIiduYXYtbGluay1tb2JpbGUtYWN0aXZlJ1wiXHJcbiAgICAgIFtjb250YWluZXItY2xhc3NdPVwiJ21vYmlsZS1tZW51LWxpbmstY29udGFpbmVyJ1wiPlxyXG4gICAgPC9saWItbmF2LWxpbmtzLWxpc3Q+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiF1c2VyXCI+XHJcbiAgICAgIDxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cInNpZ25pbigkZXZlbnQpXCIgY2xhc3M9XCJuYXYtbGluay1tb2JpbGVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cIm1zLUljb24gbXMtSWNvbi0tU2lnbmluIG1yLTJcIj48L2k+zqPPjc69zrTOtc+DzrdcclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LXVzZXItaW5mby1jb250YWluZXJcIiAqbmdJZj1cInVzZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LXVzZXItaW5mby1jb250YWluZXItaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtb2JpbGUtbWVudS1hdmF0YXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9iaWxlLW1lbnUtYXZhdGFyLW5hbWVcIj57eyB0aGlzLmF2YXRhck5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1sLTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtbWVudS11c2VyLW5hbWVcIj57eyB1c2VyLnByb2ZpbGUubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LXVzZXItZW1haWxcIj57eyB1c2VyLnByb2ZpbGUuZW1haWwgfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tXHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1vYmlsZS1tZW51LXJvdW5kZWQtYnV0dG9uXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5WaWV3IG5vdGlmaWNhdGlvbnM8L3NwYW4+XHJcbiAgICAgICAgICA8c3ZnIGNsYXNzPVwibW9iaWxlLW1lbnUtcm91bmRlZC1idXR0b24taWNvbi1zdHlsZVwiXHJcbiAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMTUgMTdoNWwtMS40MDUtMS40MDVBMi4wMzIgMi4wMzIgMCAwMTE4IDE0LjE1OFYxMWE2LjAwMiA2LjAwMiAwIDAwLTQtNS42NTlWNWEyIDIgMCAxMC00IDB2LjM0MUM3LjY3IDYuMTY1IDYgOC4zODggNiAxMXYzLjE1OWMwIC41MzgtLjIxNCAxLjA1NS0uNTk1IDEuNDM2TDQgMTdoNW02IDB2MWEzIDMgMCAxMS02IDB2LTFtNiAwSDlcIiAvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGxpYi1uYXYtbGlua3MtbGlzdFxyXG4gICAgICAgICAgW2xpbmtzXT1cImxpbmtzLnByb2ZpbGVcIlxyXG4gICAgICAgICAgW2FjdGl2ZS1mcmFnbWVudF09XCJhY3RpdmVGcmFnbWVudFwiXHJcbiAgICAgICAgICBbbGluay1jbGFzc109XCInbmF2LWxpbmstbW9iaWxlJ1wiXHJcbiAgICAgICAgICBbbGluay1hY3RpdmUtY2xhc3NdPVwiJ25hdi1saW5rLW1vYmlsZS1hY3RpdmUnXCJcclxuICAgICAgICAgIFtjb250YWluZXItY2xhc3NdPVwiJ21vYmlsZS1tZW51LWxpbmstY29udGFpbmVyJ1wiPlxyXG4gICAgICA8L2xpYi1uYXYtbGlua3MtbGlzdD5cclxuICA8L2Rpdj5cclxuPC9uYXY+XHJcbiJdfQ==
@@ -1,92 +0,0 @@
1
- import { Component, Inject, ViewChildren, Input } from '@angular/core';
2
- import { ActivationStart } from '@angular/router';
3
- import { filter } from 'rxjs/operators';
4
- import { SHELL_CONFIG } from './../../../tokens';
5
- import { DefaultShellConfig } from './../../../types';
6
- import { DynamicComponentHostDirective } from '../../../directives/dynamic-component-host.directive';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/router";
9
- import * as i2 from "../../../services/component-loader/component-loader.factory";
10
- import * as i3 from "@angular/common";
11
- import * as i4 from "../shell-sidebar-layout/shell-sidebar-layout.component";
12
- import * as i5 from "../shell-stacked-layout/shell-stacked-layout.component";
13
- import * as i6 from "../../../controls/side-pane/side-pane.component";
14
- import * as i7 from "../../../controls/toaster/toaster-container.component";
15
- export class ShellLayoutComponent {
16
- constructor(_router, _componentLoaderFactory, _config) {
17
- this._router = _router;
18
- this._componentLoaderFactory = _componentLoaderFactory;
19
- this._config = _config;
20
- this._dynamicComponentHosts = null;
21
- this.busy = false;
22
- this._routerSub$ = null;
23
- this.showRightPaneSM = false;
24
- this.activeConfig = new DefaultShellConfig();
25
- this.loaded = false;
26
- this.hideSidebar = false;
27
- if (!_config) {
28
- _config = new DefaultShellConfig();
29
- }
30
- this.activeConfig = _config;
31
- }
32
- ngAfterViewChecked() {
33
- setTimeout(() => { this.loaded = true; }, 200);
34
- }
35
- ngOnInit() {
36
- this._routerSub$ = this._router.events.pipe(filter((event) => event instanceof ActivationStart))
37
- .subscribe((event) => {
38
- if (event?.snapshot) {
39
- if (event?.snapshot?.data) {
40
- if (event?.snapshot?.data.shell) {
41
- this.activeConfig = event?.snapshot.data.shell;
42
- if (this.activeConfig.customHeaderComponent) {
43
- this.initCustomComponents();
44
- }
45
- }
46
- else {
47
- this.activeConfig = this._config ? this._config : new DefaultShellConfig();
48
- }
49
- }
50
- }
51
- });
52
- }
53
- ngAfterViewInit() {
54
- this.initCustomComponents();
55
- }
56
- initCustomComponents() {
57
- if (this._dynamicComponentHosts && this._dynamicComponentHosts.length > 0) {
58
- this.loadCustomComponent(this._dynamicComponentHosts.find((_) => _.hostName === 'Header'));
59
- }
60
- }
61
- ngOnDestroy() {
62
- if (this._routerSub$) {
63
- this._routerSub$.unsubscribe();
64
- }
65
- }
66
- loadCustomComponent(host) {
67
- if (host) {
68
- const viewContainerRef = host.viewContainerRef;
69
- if (viewContainerRef && this.activeConfig.customHeaderComponent) {
70
- const clf = this._componentLoaderFactory.createLoader(viewContainerRef);
71
- clf.attach(this.activeConfig.customHeaderComponent).to(viewContainerRef.element).show();
72
- }
73
- }
74
- }
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: { 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
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellLayoutComponent, decorators: [{
79
- type: Component,
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
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.ComponentLoaderFactory }, { type: undefined, decorators: [{
82
- type: Inject,
83
- args: [SHELL_CONFIG]
84
- }] }], propDecorators: { _dynamicComponentHosts: [{
85
- type: ViewChildren,
86
- args: [DynamicComponentHostDirective]
87
- }], busy: [{
88
- type: Input
89
- }], sidebarFooterTemplate: [{
90
- type: Input
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWxheW91dC9zaGVsbC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtbGF5b3V0L3NoZWxsLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBNEMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlKLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBSXJHLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBb0IsT0FBZSxFQUFVLHVCQUErQyxFQUFnQyxPQUFpQztRQUF6SSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVUsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF3QjtRQUFnQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQUx4RywyQkFBc0IsR0FBb0QsSUFBSSxDQUFDO1FBQzNILFNBQUksR0FBWSxLQUFLLENBQUM7UUFFdkIsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDO1FBU3pDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQWlCLElBQUksa0JB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LGdEQ1o3Qyw2K0JBa0JNOzsyRkRQTyxvQkFBb0I7a0JBRGhDLFNBQVM7K0JBQWEsa0JBQWtCOzswQkFPd0QsTUFBTTsyQkFBQyxZQUFZO3lDQUw3RCxzQkFBc0I7c0JBQTFFLFlBQVk7dUJBQUMsNkJBQTZCO2dCQUNsQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ1UscUJBQXFCO3NCQUFwQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgVGVtcGxhdGVSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU0hFTExfQ09ORklHIH0gZnJvbSAnLi8uLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBJU2hlbGxDb25maWcsIERlZmF1bHRTaGVsbENvbmZpZyB9IGZyb20gJy4vLi4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50SG9zdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQtaG9zdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMb2FkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tcG9uZW50LWxvYWRlci9jb21wb25lbnQtbG9hZGVyLmZhY3RvcnknO1xyXG5cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiAnbGliLXNoZWxsLWxheW91dCcsIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnIH0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcclxuICBAVmlld0NoaWxkcmVuKER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlKSBwcml2YXRlIF9keW5hbWljQ29tcG9uZW50SG9zdHM6IFF1ZXJ5TGlzdDxEeW5hbWljQ29tcG9uZW50SG9zdERpcmVjdGl2ZT4gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBidXN5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNpZGViYXJGb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcHJpdmF0ZSBfcm91dGVyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JvdXRlcjogUm91dGVyLCBwcml2YXRlIF9jb21wb25lbnRMb2FkZXJGYWN0b3J5OiBDb21wb25lbnRMb2FkZXJGYWN0b3J5LCBASW5qZWN0KFNIRUxMX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBJU2hlbGxDb25maWcgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmICghX2NvbmZpZykge1xyXG4gICAgICBfY29uZmlnID0gbmV3IERlZmF1bHRTaGVsbENvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVDb25maWcgPSBfY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dSaWdodFBhbmVTTSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhY3RpdmVDb25maWc6IElTaGVsbENvbmZpZyA9IG5ldyBEZWZhdWx0U2hlbGxDb25maWcoKTtcclxuICBwdWJsaWMgbG9hZGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVTaWRlYmFyID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5sb2FkZWQgPSB0cnVlOyB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcm91dGVyU3ViJCA9IHRoaXMuX3JvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIEFjdGl2YXRpb25TdGFydCkpXHJcbiAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICBpZiAoKGV2ZW50IGFzIEFjdGl2YXRpb25TdGFydCk/LnNuYXBzaG90KSB7XHJcbiAgICAgICAgaWYgKChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdD8uZGF0YSkge1xyXG4gICAgICAgICAgaWYgKChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdD8uZGF0YS5zaGVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbmZpZyA9IChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdC5kYXRhLnNoZWxsIGFzIElTaGVsbENvbmZpZztcclxuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdEN1c3RvbUNvbXBvbmVudHMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVDb25maWcgPSB0aGlzLl9jb25maWcgPyB0aGlzLl9jb25maWcgOiBuZXcgRGVmYXVsdFNoZWxsQ29uZmlnKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRDdXN0b21Db21wb25lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRDdXN0b21Db21wb25lbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2R5bmFtaWNDb21wb25lbnRIb3N0cyAmJiB0aGlzLl9keW5hbWljQ29tcG9uZW50SG9zdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmxvYWRDdXN0b21Db21wb25lbnQodGhpcy5fZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoKF8pID0+IF8uaG9zdE5hbWUgPT09ICdIZWFkZXInKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fcm91dGVyU3ViJCkge1xyXG4gICAgICB0aGlzLl9yb3V0ZXJTdWIkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRDdXN0b21Db21wb25lbnQoaG9zdDogRHluYW1pY0NvbXBvbmVudEhvc3REaXJlY3RpdmUgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmIChob3N0KSB7XHJcbiAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSBob3N0LnZpZXdDb250YWluZXJSZWY7XHJcbiAgICAgIGlmICh2aWV3Q29udGFpbmVyUmVmICYmIHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkge1xyXG4gICAgICAgIGNvbnN0IGNsZiA9IHRoaXMuX2NvbXBvbmVudExvYWRlckZhY3RvcnkuY3JlYXRlTG9hZGVyKHZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgICAgIGNsZi5hdHRhY2godGhpcy5hY3RpdmVDb25maWcuY3VzdG9tSGVhZGVyQ29tcG9uZW50KS50byh2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQpLnNob3coKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzcy5oaWRkZW5dPVwiIWxvYWRlZFwiIFtjbGFzcy5ibG9ja109XCJsb2FkZWRcIj5cclxuICA8IS0tIFNUQUNLRUQgTEFZT1VUIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCIoYWN0aXZlQ29uZmlnLmxheW91dCA9PT0gJ1N0YWNrZWQnIHx8ICFhY3RpdmVDb25maWcubGF5b3V0KVwiIGNsYXNzPVwic2hlbGwtY29udGFpbmVyIGFjdGl2ZS1zaWRlLXBhbmVcIj5cclxuICAgIDxsaWItc2hlbGwtc3RhY2tlZC1sYXlvdXQgW2NvbmZpZ109XCJhY3RpdmVDb25maWdcIiBbYnVzeV09XCJidXN5XCI+PC9saWItc2hlbGwtc3RhY2tlZC1sYXlvdXQ+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBTSURFQkFSIExBWU9VVCAtLT5cclxuICA8ZGl2ICpuZ0lmPVwiYWN0aXZlQ29uZmlnLmxheW91dCA9PT0gJ1NpZGViYXInXCIgY2xhc3M9XCJzaWRlYmFyIHNoZWxsLWNvbnRhaW5lciBhY3RpdmUtc2lkZS1wYW5lXCI+XHJcbiAgICA8bGliLXNoZWxsLXNpZGViYXItbGF5b3V0IFtjb25maWddPVwiYWN0aXZlQ29uZmlnXCIgW2J1c3ldPVwiYnVzeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaWRlYmFyRm9vdGVyVGVtcGxhdGVdPVwic2lkZWJhckZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICA8L2xpYi1zaGVsbC1zaWRlYmFyLWxheW91dD5cclxuICA8L2Rpdj5cclxuICA8bGliLXNpZGUtcGFuZSAjcmlnaHRQYW5lPlxyXG4gICAgPHJvdXRlci1vdXRsZXQgbmFtZT1cInJpZ2h0cGFuZVwiXHJcbiAgICAgICAgICAgICAgICAgICAoYWN0aXZhdGUpPVwicmlnaHRQYW5lLm9uU2lkZVBhbmVBY3RpdmF0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAoZGVhY3RpdmF0ZSk9XCJyaWdodFBhbmUub25TaWRlUGFuZURlYWN0aXZhdGVkKCRldmVudClcIj5cclxuICAgIDwvcm91dGVyLW91dGxldD5cclxuICA8L2xpYi1zaWRlLXBhbmU+XHJcbiAgPGxpYi10b2FzdGVyLWNvbnRhaW5lcj48L2xpYi10b2FzdGVyLWNvbnRhaW5lcj5cclxuPC9kaXY+Il19
@@ -1,54 +0,0 @@
1
- import { Component, Inject, Input } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import { APP_LINKS } from '../../../tokens';
4
- import { ActivatedRoute, Router } from '@angular/router';
5
- import { share } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../controls/nav-links-list/nav-links-list.component";
8
- import * as i2 from "@angular/router";
9
- export class ShellSidebarComponent {
10
- constructor(router, route, links) {
11
- this.router = router;
12
- this.route = route;
13
- this.links = links;
14
- this.sectionLinksPath = 'main';
15
- this.shellConfig = undefined;
16
- this.sticky = false;
17
- this.sectionLinks = of([]);
18
- this.activeFragment = null;
19
- }
20
- get activeNavLinkClass() {
21
- const linkClasses = 'sidebar ' + (this.sticky ? 'nav-link-active-b' : 'nav-link-active-l') + ' group';
22
- console.log('activeNavLinkClass getter ', linkClasses);
23
- return linkClasses;
24
- }
25
- ngOnInit() {
26
- this.activeFragment = this.route.fragment.pipe(share());
27
- this.sectionLinks = this.links[this.sectionLinksPath];
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarComponent, deps: [{ token: Router }, { token: ActivatedRoute }, { token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellSidebarComponent, selector: "lib-shell-sidebar", inputs: { sectionLinksPath: ["section-links", "sectionLinksPath"], shellConfig: ["config", "shellConfig"], sticky: "sticky" }, ngImport: i0, template: "<!-- Sidebar component, swap this element with another sidebar if you like -->\r\n<div class=\"shell-sidebar-component-container\">\r\n <div class=\"shell-sidebar-component-links-container sidebar\">\r\n <lib-nav-links-list [show-icons]=\"true\"\r\n [show-text]=\"!sticky\"\r\n [large-icons]=\"sticky\"\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'sidebar nav-link group'\"\r\n [link-active-class]=\"'sidebar nav-link-active-b group'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</div>", dependencies: [{ kind: "component", type: i1.NavLinksListComponent, selector: "lib-nav-links-list", inputs: ["links", "active-fragment", "link-class", "link-active-class", "container-class", "show-icons", "show-text", "large-icons"] }] }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'lib-shell-sidebar', template: "<!-- Sidebar component, swap this element with another sidebar if you like -->\r\n<div class=\"shell-sidebar-component-container\">\r\n <div class=\"shell-sidebar-component-links-container sidebar\">\r\n <lib-nav-links-list [show-icons]=\"true\"\r\n [show-text]=\"!sticky\"\r\n [large-icons]=\"sticky\"\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'sidebar nav-link group'\"\r\n [link-active-class]=\"'sidebar nav-link-active-b group'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</div>" }]
35
- }], ctorParameters: () => [{ type: i2.Router, decorators: [{
36
- type: Inject,
37
- args: [Router]
38
- }] }, { type: i2.ActivatedRoute, decorators: [{
39
- type: Inject,
40
- args: [ActivatedRoute]
41
- }] }, { type: undefined, decorators: [{
42
- type: Inject,
43
- args: [APP_LINKS]
44
- }] }], propDecorators: { sectionLinksPath: [{
45
- type: Input,
46
- args: ['section-links']
47
- }], shellConfig: [{
48
- type: Input,
49
- args: ['config']
50
- }], sticky: [{
51
- type: Input,
52
- args: ['sticky']
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvbGF5b3V0cy9zaGVsbC9zaGVsbC1zaWRlYmFyL3NoZWxsLXNpZGViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci9zaGVsbC1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU12QyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQzRCLE1BQWMsRUFDTixLQUFxQixFQUM3QixLQUFVO1FBRlYsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzdCLFVBQUssR0FBTCxLQUFLLENBQUs7UUFHZCxxQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDakMsZ0JBQVcsR0FBNkIsU0FBUyxDQUFDO1FBQ2xELFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDbEMsaUJBQVksR0FBMEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLG1CQUFjLEdBQWUsSUFBSSxDQUFDO0lBTnJDLENBQUM7SUFRTCxJQUFXLGtCQUFrQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDdEcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN2RCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBMEIsQ0FBQztJQUNqRixDQUFDOzhHQXRCVSxxQkFBcUIsa0JBRXRCLE1BQU0sYUFDTixjQUFjLGFBQ2QsU0FBUztrR0FKUixxQkFBcUIsd0xDWmxDLG9xQkFZTTs7MkZEQU8scUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG1CQUFtQjs7MEJBSzFCLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxTQUFTO3lDQUdLLGdCQUFnQjtzQkFBdkMsS0FBSzt1QkFBQyxlQUFlO2dCQUNMLFdBQVc7c0JBQTNCLEtBQUs7dUJBQUMsUUFBUTtnQkFDRSxNQUFNO3NCQUF0QixLQUFLO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2hlbGxDb25maWcsIE5hdkxpbmsgfSBmcm9tICcuLy4uLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFQUF9MSU5LUyB9IGZyb20gJy4uLy4uLy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBzaGFyZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNoZWxsLXNpZGViYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC1zaWRlYmFyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hlbGxTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoUm91dGVyKSBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBASW5qZWN0KEFjdGl2YXRlZFJvdXRlKSBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQEluamVjdChBUFBfTElOS1MpIHB1YmxpYyBsaW5rczogYW55XHJcbiAgKSB7IH1cclxuXHJcbiAgQElucHV0KCdzZWN0aW9uLWxpbmtzJykgc2VjdGlvbkxpbmtzUGF0aCA9ICdtYWluJztcclxuICBASW5wdXQoJ2NvbmZpZycpIHNoZWxsQ29uZmlnOiBJU2hlbGxDb25maWcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCdzdGlja3knKSBzdGlja3k6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VjdGlvbkxpbmtzOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT4gPSBvZihbXSk7XHJcbiAgcHVibGljIGFjdGl2ZUZyYWdtZW50OiBhbnkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHVibGljIGdldCBhY3RpdmVOYXZMaW5rQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGxpbmtDbGFzc2VzID0gJ3NpZGViYXIgJyArICh0aGlzLnN0aWNreSA/ICduYXYtbGluay1hY3RpdmUtYicgOiAnbmF2LWxpbmstYWN0aXZlLWwnKSArICcgZ3JvdXAnO1xyXG4gICAgY29uc29sZS5sb2coJ2FjdGl2ZU5hdkxpbmtDbGFzcyBnZXR0ZXIgJywgbGlua0NsYXNzZXMpO1xyXG4gICAgcmV0dXJuIGxpbmtDbGFzc2VzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVGcmFnbWVudCA9IHRoaXMucm91dGUuZnJhZ21lbnQucGlwZShzaGFyZSgpKTtcclxuICAgIHRoaXMuc2VjdGlvbkxpbmtzID0gdGhpcy5saW5rc1t0aGlzLnNlY3Rpb25MaW5rc1BhdGhdIGFzIE9ic2VydmFibGU8TmF2TGlua1tdPjtcclxuICB9XHJcbn1cclxuIiwiPCEtLSBTaWRlYmFyIGNvbXBvbmVudCwgc3dhcCB0aGlzIGVsZW1lbnQgd2l0aCBhbm90aGVyIHNpZGViYXIgaWYgeW91IGxpa2UgLS0+XHJcbjxkaXYgY2xhc3M9XCJzaGVsbC1zaWRlYmFyLWNvbXBvbmVudC1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2hlbGwtc2lkZWJhci1jb21wb25lbnQtbGlua3MtY29udGFpbmVyIHNpZGViYXJcIj5cclxuICAgIDxsaWItbmF2LWxpbmtzLWxpc3QgW3Nob3ctaWNvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93LXRleHRdPVwiIXN0aWNreVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYXJnZS1pY29uc109XCJzdGlja3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGlua3NdPVwic2VjdGlvbkxpbmtzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZS1mcmFnbWVudF09XCJhY3RpdmVGcmFnbWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rLWNsYXNzXT1cIidzaWRlYmFyIG5hdi1saW5rIGdyb3VwJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rLWFjdGl2ZS1jbGFzc109XCInc2lkZWJhciBuYXYtbGluay1hY3RpdmUtYiBncm91cCdcIj5cclxuICAgIDwvbGliLW5hdi1saW5rcy1saXN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -1,45 +0,0 @@
1
- import { AuthService } from '@indice/ng-auth';
2
- import { Component, Inject } from '@angular/core';
3
- import { ActivatedRoute, Router } from '@angular/router';
4
- import { APP_LINKS, SHELL_CONFIG } from '../../../tokens';
5
- import { ShellHeaderComponent } from '../shell-header/shell-header.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "../../../directives/click-outside.directive";
9
- import * as i3 from "../../../controls/language-selection/language-selection.component";
10
- import * as i4 from "../../../controls/notifications-indicator/notifications-indicator.component";
11
- import * as i5 from "../../../controls/user-profile-menu/user-profile-menu.component";
12
- import * as i6 from "@indice/ng-auth";
13
- import * as i7 from "@angular/router";
14
- export class ShellSidebarHeaderComponent extends ShellHeaderComponent {
15
- constructor(authService, router, route, config, links) {
16
- super(authService, router, route, config, links);
17
- this.authService = authService;
18
- this.router = router;
19
- this.route = route;
20
- this.config = config;
21
- this.links = links;
22
- }
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\" [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
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarHeaderComponent, decorators: [{
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\" [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
- }], ctorParameters: () => [{ type: i6.AuthService, decorators: [{
30
- type: Inject,
31
- args: [AuthService]
32
- }] }, { type: i7.Router, decorators: [{
33
- type: Inject,
34
- args: [Router]
35
- }] }, { type: i7.ActivatedRoute, decorators: [{
36
- type: Inject,
37
- args: [ActivatedRoute]
38
- }] }, { type: undefined, decorators: [{
39
- type: Inject,
40
- args: [SHELL_CONFIG]
41
- }] }, { type: undefined, decorators: [{
42
- type: Inject,
43
- args: [APP_LINKS]
44
- }] }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1oZWFkZXIvc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1oZWFkZXIvc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsb0JBQW9CO0lBQ25FLFlBQTJDLFdBQXdCLEVBQ3pDLE1BQWMsRUFDTixLQUFxQixFQUMxQixNQUFXLEVBQ2QsS0FBVTtRQUNsQyxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBTFIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO0lBRXBDLENBQUM7OEdBUFUsMkJBQTJCLGtCQUNsQixXQUFXLGFBQ3ZCLE1BQU0sYUFDTixjQUFjLGFBQ2QsWUFBWSxhQUNaLFNBQVM7a0dBTE4sMkJBQTJCLHVGQ1p4Qyx3bUNBdUJBOzsyRkRYYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFJdkIsTUFBTTsyQkFBQyxXQUFXOzswQkFDOUIsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFQUF9MSU5LUywgU0hFTExfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgU2hlbGxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9zaGVsbC1oZWFkZXIvc2hlbGwtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoZWxsTGF5b3V0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNoZWxsLXNpZGViYXItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbFNpZGViYXJIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBTaGVsbEhlYWRlckNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBdXRoU2VydmljZSkgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICBASW5qZWN0KFJvdXRlcikgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgQEluamVjdChTSEVMTF9DT05GSUcpIHB1YmxpYyBjb25maWc6IGFueSxcclxuICBASW5qZWN0KEFQUF9MSU5LUykgcHVibGljIGxpbmtzOiBhbnkpIHtcclxuICAgIHN1cGVyKGF1dGhTZXJ2aWNlLCByb3V0ZXIsIHJvdXRlLCBjb25maWcsIGxpbmtzKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItcGFkZGluZ3NcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItYm9yZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1tZW51LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLW1kLXZpc2libGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbGlua3MtZmFyLWNvbnRhaW5lclwiIChjbGlja091dHNpZGUpPVwib25DbGlja091dHNpZGUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBQcm9maWxlIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2ZpbGVNZW51VmlzaWJsZVwiIGNsYXNzPVwibWwtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaWItdXNlci1wcm9maWxlLW1lbnUgW3Nob3ctdXNlci1uYW1lXT1cInNob3dVc2VyTmFtZU9uSGVhZGVyXCIgW3Nob3ctcGljdHVyZV09XCJzaG93UGljdHVyZU9uSGVhZGVyXCI+PC9saWItdXNlci1wcm9maWxlLW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gTm90aWZpY2F0aW9ucyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93QWxlcnRzICYmIHVzZXJcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPjwvbGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGxhbmd1YWdlcyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TGFuZ3NcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLWxhbmd1YWdlLXNlbGVjdGlvbj48L2xpYi1sYW5ndWFnZS1zZWxlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIFxyXG4iXX0=
@@ -1,33 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../services/user-settings.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/router";
6
- import * as i4 from "../../../controls/breadcrumb/breadcrumb.component";
7
- import * as i5 from "../shell-sidebar/shell-sidebar.component";
8
- import * as i6 from "../shell-sidebar-header/shell-sidebar-header.component";
9
- export class ShellSidebarLayoutComponent {
10
- constructor(_userSettings) {
11
- this._userSettings = _userSettings;
12
- this.busy = false;
13
- this.showMobileSidebar = this._userSettings.get('MobileSideBar');
14
- }
15
- ngOnInit() { }
16
- toggleMobileSidebar() {
17
- this.showMobileSidebar = !this.showMobileSidebar;
18
- this._userSettings.set('MobileSideBar', this.showMobileSidebar);
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarLayoutComponent, deps: [{ token: i1.UserSettingsService }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellSidebarLayoutComponent, selector: "lib-shell-sidebar-layout", inputs: { config: "config", sidebarFooterTemplate: "sidebarFooterTemplate", busy: "busy" }, ngImport: i0, template: "<div>\r\n <div class=\"sidebar-off-canvas-menu-container\" role=\"dialog\" aria-modal=\"true\">\r\n <div class=\"sidebar-off-canvas-menu-backdrop\"\r\n [class.sidebar-off-canvas-menu-backdrop-opacity-100]=\"!showMobileSidebar\">\r\n </div>\r\n <div class=\"sidebar-off-canvas-menu-container-inner\"\r\n [class.sidebar-off-canvas-menu-container-inner-active]=\"!showMobileSidebar\"\r\n [class.sidebar-off-canvas-menu-container-inner-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-off-canvas-layout-container\">\r\n <div class=\"sidebar-off-canvas-toggle-button-container\">\r\n <button type=\"button\" class=\"sidebar-off-canvas-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Close sidebar</span>\r\n <svg class=\"h-6 w-6 text-white\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"sidebar-off-canvas-app-logo-container\">\r\n <img alt=\"image\" class=\"shell-sidebar-logo\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n <lib-shell-sidebar></lib-shell-sidebar>\r\n </div>\r\n <div class=\"sidebar-dummy-element\" aria-hidden=\"true\"></div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-outer-container\">\r\n <div class=\"sidebar-static-menu-container\"\r\n [class.sidebar-static-menu-container-active]=\"!showMobileSidebar\"\r\n [class.sidebar-static-menu-container-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-container-inner\">\r\n <div class=\"sidebar-static-menu-app-logo-container\">\r\n <img alt=\"image\" *ngIf=\"!showMobileSidebar\" class=\"shell-sidebar-logo\" [src]=\"config?.appLogo\" [alt]=\"config?.appLogoAlt\">\r\n <button *ngIf=\"showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-shell-sidebar [sticky]=\"showMobileSidebar\"></lib-shell-sidebar>\r\n </div>\r\n <div class=\"flex flex-shrink-0 bg-gray-700 p-4\" *ngIf=\"!showMobileSidebar && sidebarFooterTemplate\">\r\n <div class=\"group block flex-shrink-0\">\r\n <div class=\"flex items-center\">\r\n <div>\r\n <p class=\"text-sm font-medium text-gray-400\">\r\n <ng-container [ngTemplateOutlet]=\"sidebarFooterTemplate\"></ng-container>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-wrapper\" [class.sidebar-static-menu-wrapper-expanded]=\"!showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-sticky-header-container\" [class.busy]=\"busy\" *ngIf=\"config?.showHeader\">\r\n <button *ngIf=\"showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button-md\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <button *ngIf=\"!showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <div class=\"sidebar-static-menu-header-container\" [class.busy]=\"busy\">\r\n <div class=\"sidebar-static-menu-header-near-container\" [class.busy]=\"busy\">\r\n <div class=\"sidebar-static-menu-header-app-logo-container\" *ngIf=\"showMobileSidebar\">\r\n <img alt=\"image\" class=\"shell-sidebar-logo\" [src]=\"config?.appLogo\" [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-header-between-container\" [class.busy]=\"busy\"></div>\r\n <div class=\"sidebar-static-menu-header-far-container\" [class.busy]=\"busy\">\r\n <lib-shell-sidebar-header [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\"\r\n [busy]=\"busy\"\r\n [show-picture]=\"config?.showPictureOnHeader\">\r\n </lib-shell-sidebar-header>\r\n </div>\r\n </div>\r\n </div>\r\n <div flex-1>\r\n <main class=\"shell-content-container-fluid\" [class.busy]=\"busy\">\r\n <lib-breadcrumb *ngIf=\"config?.breadcrumb || false\"></lib-breadcrumb>\r\n <div class=\"shell-content-container-inner\" [class.busy]=\"busy\">\r\n <router-outlet *ngIf=\"(config && config.layout === 'Sidebar')\"></router-outlet>\r\n </div>\r\n </main>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.BreadcrumbComponent, selector: "lib-breadcrumb" }, { kind: "component", type: i5.ShellSidebarComponent, selector: "lib-shell-sidebar", inputs: ["section-links", "config", "sticky"] }, { kind: "component", type: i6.ShellSidebarHeaderComponent, selector: "lib-shell-sidebar-header" }] }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarLayoutComponent, decorators: [{
24
- type: Component,
25
- args: [{ selector: 'lib-shell-sidebar-layout', template: "<div>\r\n <div class=\"sidebar-off-canvas-menu-container\" role=\"dialog\" aria-modal=\"true\">\r\n <div class=\"sidebar-off-canvas-menu-backdrop\"\r\n [class.sidebar-off-canvas-menu-backdrop-opacity-100]=\"!showMobileSidebar\">\r\n </div>\r\n <div class=\"sidebar-off-canvas-menu-container-inner\"\r\n [class.sidebar-off-canvas-menu-container-inner-active]=\"!showMobileSidebar\"\r\n [class.sidebar-off-canvas-menu-container-inner-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-off-canvas-layout-container\">\r\n <div class=\"sidebar-off-canvas-toggle-button-container\">\r\n <button type=\"button\" class=\"sidebar-off-canvas-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Close sidebar</span>\r\n <svg class=\"h-6 w-6 text-white\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"sidebar-off-canvas-app-logo-container\">\r\n <img alt=\"image\" class=\"shell-sidebar-logo\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n <lib-shell-sidebar></lib-shell-sidebar>\r\n </div>\r\n <div class=\"sidebar-dummy-element\" aria-hidden=\"true\"></div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-outer-container\">\r\n <div class=\"sidebar-static-menu-container\"\r\n [class.sidebar-static-menu-container-active]=\"!showMobileSidebar\"\r\n [class.sidebar-static-menu-container-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-container-inner\">\r\n <div class=\"sidebar-static-menu-app-logo-container\">\r\n <img alt=\"image\" *ngIf=\"!showMobileSidebar\" class=\"shell-sidebar-logo\" [src]=\"config?.appLogo\" [alt]=\"config?.appLogoAlt\">\r\n <button *ngIf=\"showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-shell-sidebar [sticky]=\"showMobileSidebar\"></lib-shell-sidebar>\r\n </div>\r\n <div class=\"flex flex-shrink-0 bg-gray-700 p-4\" *ngIf=\"!showMobileSidebar && sidebarFooterTemplate\">\r\n <div class=\"group block flex-shrink-0\">\r\n <div class=\"flex items-center\">\r\n <div>\r\n <p class=\"text-sm font-medium text-gray-400\">\r\n <ng-container [ngTemplateOutlet]=\"sidebarFooterTemplate\"></ng-container>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-wrapper\" [class.sidebar-static-menu-wrapper-expanded]=\"!showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-sticky-header-container\" [class.busy]=\"busy\" *ngIf=\"config?.showHeader\">\r\n <button *ngIf=\"showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button-md\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <button *ngIf=\"!showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <div class=\"sidebar-static-menu-header-container\" [class.busy]=\"busy\">\r\n <div class=\"sidebar-static-menu-header-near-container\" [class.busy]=\"busy\">\r\n <div class=\"sidebar-static-menu-header-app-logo-container\" *ngIf=\"showMobileSidebar\">\r\n <img alt=\"image\" class=\"shell-sidebar-logo\" [src]=\"config?.appLogo\" [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-header-between-container\" [class.busy]=\"busy\"></div>\r\n <div class=\"sidebar-static-menu-header-far-container\" [class.busy]=\"busy\">\r\n <lib-shell-sidebar-header [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\"\r\n [busy]=\"busy\"\r\n [show-picture]=\"config?.showPictureOnHeader\">\r\n </lib-shell-sidebar-header>\r\n </div>\r\n </div>\r\n </div>\r\n <div flex-1>\r\n <main class=\"shell-content-container-fluid\" [class.busy]=\"busy\">\r\n <lib-breadcrumb *ngIf=\"config?.breadcrumb || false\"></lib-breadcrumb>\r\n <div class=\"shell-content-container-inner\" [class.busy]=\"busy\">\r\n <router-outlet *ngIf=\"(config && config.layout === 'Sidebar')\"></router-outlet>\r\n </div>\r\n </main>\r\n </div>\r\n </div>\r\n</div>" }]
26
- }], ctorParameters: () => [{ type: i1.UserSettingsService }], propDecorators: { config: [{
27
- type: Input
28
- }], sidebarFooterTemplate: [{
29
- type: Input
30
- }], busy: [{
31
- type: Input
32
- }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc2lkZWJhci1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1sYXlvdXQvc2hlbGwtc2lkZWJhci1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1sYXlvdXQvc2hlbGwtc2lkZWJhci1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVN4RixNQUFNLE9BQU8sMkJBQTJCO0lBS3RDLFlBQW9CLGFBQWtDO1FBQWxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUY3QyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBRzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBSU0sUUFBUSxLQUFXLENBQUM7SUFFcEIsbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEUsQ0FBQzs4R0FoQlUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsNEpDVHhDLHE3TEFnR007OzJGRHZGTywyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMEJBQTBCO3dGQUkzQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ1UscUJBQXFCO3NCQUFwQyxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElTaGVsbENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgVXNlclNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXItc2V0dGluZ3Muc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zaGVsbC1zaWRlYmFyLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsLXNpZGViYXItbGF5b3V0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hlbGxTaWRlYmFyTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb25maWc6IElTaGVsbENvbmZpZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgc2lkZWJhckZvb3RlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBidXN5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdXNlclNldHRpbmdzOiBVc2VyU2V0dGluZ3NTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNob3dNb2JpbGVTaWRlYmFyID0gdGhpcy5fdXNlclNldHRpbmdzLmdldCgnTW9iaWxlU2lkZUJhcicpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dNb2JpbGVTaWRlYmFyOiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZU1vYmlsZVNpZGViYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dNb2JpbGVTaWRlYmFyID0gIXRoaXMuc2hvd01vYmlsZVNpZGViYXI7XHJcbiAgICB0aGlzLl91c2VyU2V0dGluZ3Muc2V0KCdNb2JpbGVTaWRlQmFyJywgdGhpcy5zaG93TW9iaWxlU2lkZWJhcik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWNvbnRhaW5lclwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWJhY2tkcm9wXCJcclxuICAgICAgICAgW2NsYXNzLnNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWJhY2tkcm9wLW9wYWNpdHktMTAwXT1cIiFzaG93TW9iaWxlU2lkZWJhclwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1vZmYtY2FudmFzLW1lbnUtY29udGFpbmVyLWlubmVyXCJcclxuICAgICAgICAgW2NsYXNzLnNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWNvbnRhaW5lci1pbm5lci1hY3RpdmVdPVwiIXNob3dNb2JpbGVTaWRlYmFyXCJcclxuICAgICAgICAgW2NsYXNzLnNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWNvbnRhaW5lci1pbm5lci1ub3QtYWN0aXZlXT1cInNob3dNb2JpbGVTaWRlYmFyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLW9mZi1jYW52YXMtbGF5b3V0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLW9mZi1jYW52YXMtdG9nZ2xlLWJ1dHRvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2lkZWJhci1vZmYtY2FudmFzLXRvZ2dsZS1idXR0b25cIiAoY2xpY2spPVwidG9nZ2xlTW9iaWxlU2lkZWJhcigpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPkNsb3NlIHNpZGViYXI8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTYgdy02IHRleHQtd2hpdGVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNiAxOEwxOCA2TTYgNmwxMiAxMlwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItb2ZmLWNhbnZhcy1hcHAtbG9nby1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxpbWcgYWx0PVwiaW1hZ2VcIiBjbGFzcz1cInNoZWxsLXNpZGViYXItbG9nb1wiXHJcbiAgICAgICAgICAgICAgIFtzcmNdPVwiY29uZmlnPy5hcHBMb2dvXCJcclxuICAgICAgICAgICAgICAgW2FsdF09XCJjb25maWc/LmFwcExvZ29BbHRcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bGliLXNoZWxsLXNpZGViYXI+PC9saWItc2hlbGwtc2lkZWJhcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLWR1bW15LWVsZW1lbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaWRlYmFyLXN0YXRpYy1tZW51LW91dGVyLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtY29udGFpbmVyXCJcclxuICAgICAgICAgW2NsYXNzLnNpZGViYXItc3RhdGljLW1lbnUtY29udGFpbmVyLWFjdGl2ZV09XCIhc2hvd01vYmlsZVNpZGViYXJcIlxyXG4gICAgICAgICBbY2xhc3Muc2lkZWJhci1zdGF0aWMtbWVudS1jb250YWluZXItbm90LWFjdGl2ZV09XCJzaG93TW9iaWxlU2lkZWJhclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1jb250YWluZXItaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1hcHAtbG9nby1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxpbWcgYWx0PVwiaW1hZ2VcIiAqbmdJZj1cIiFzaG93TW9iaWxlU2lkZWJhclwiIGNsYXNzPVwic2hlbGwtc2lkZWJhci1sb2dvXCIgW3NyY109XCJjb25maWc/LmFwcExvZ29cIiBbYWx0XT1cImNvbmZpZz8uYXBwTG9nb0FsdFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dNb2JpbGVTaWRlYmFyXCIgIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtdG9nZ2xlLWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVNb2JpbGVTaWRlYmFyKClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+VG9nZ2xlIHNpZGViYXI8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTYgdy02XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTQgNmgxNk00IDEyaDE2TTQgMThoN1wiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGxpYi1zaGVsbC1zaWRlYmFyIFtzdGlja3ldPVwic2hvd01vYmlsZVNpZGViYXJcIj48L2xpYi1zaGVsbC1zaWRlYmFyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1zaHJpbmstMCBiZy1ncmF5LTcwMCBwLTRcIiAqbmdJZj1cIiFzaG93TW9iaWxlU2lkZWJhciAmJiBzaWRlYmFyRm9vdGVyVGVtcGxhdGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAgYmxvY2sgZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS00MDBcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2lkZWJhckZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaWRlYmFyLXN0YXRpYy1tZW51LXdyYXBwZXJcIiBbY2xhc3Muc2lkZWJhci1zdGF0aWMtbWVudS13cmFwcGVyLWV4cGFuZGVkXT1cIiFzaG93TW9iaWxlU2lkZWJhclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtc3RpY2t5LWhlYWRlci1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCIgKm5nSWY9XCJjb25maWc/LnNob3dIZWFkZXJcIj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dNb2JpbGVTaWRlYmFyXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS10b2dnbGUtYnV0dG9uLW1kXCIgKGNsaWNrKT1cInRvZ2dsZU1vYmlsZVNpZGViYXIoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlRvZ2dsZSBzaWRlYmFyPC9zcGFuPlxyXG4gICAgICAgIDxzdmcgY2xhc3M9XCJoLTYgdy02XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNCA2aDE2TTQgMTJoMTZNNCAxOGg3XCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCIhc2hvd01vYmlsZVNpZGViYXJcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzaWRlYmFyLXN0YXRpYy1tZW51LXRvZ2dsZS1idXR0b25cIiAoY2xpY2spPVwidG9nZ2xlTW9iaWxlU2lkZWJhcigpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+VG9nZ2xlIHNpZGViYXI8L3NwYW4+XHJcbiAgICAgICAgPHN2ZyBjbGFzcz1cImgtNiB3LTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk00IDZoMTZNNCAxMmgxNk00IDE4aDdcIiAvPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtaGVhZGVyLWNvbnRhaW5lclwiIFtjbGFzcy5idXN5XT1cImJ1c3lcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1oZWFkZXItbmVhci1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1oZWFkZXItYXBwLWxvZ28tY29udGFpbmVyXCIgKm5nSWY9XCJzaG93TW9iaWxlU2lkZWJhclwiPlxyXG4gICAgICAgICAgICA8aW1nIGFsdD1cImltYWdlXCIgY2xhc3M9XCJzaGVsbC1zaWRlYmFyLWxvZ29cIiBbc3JjXT1cImNvbmZpZz8uYXBwTG9nb1wiIFthbHRdPVwiY29uZmlnPy5hcHBMb2dvQWx0XCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1oZWFkZXItYmV0d2Vlbi1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtaGVhZGVyLWZhci1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCI+XHJcbiAgICAgICAgICA8bGliLXNoZWxsLXNpZGViYXItaGVhZGVyIFtzaG93LXVzZXJOYW1lXT1cImNvbmZpZz8uc2hvd1VzZXJOYW1lT25IZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdy1hbGVydHNdPVwiY29uZmlnPy5zaG93QWxlcnRzT25IZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdy1sYW5nc109XCJjb25maWc/LnNob3dMYW5nc09uSGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2J1c3ldPVwiYnVzeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93LXBpY3R1cmVdPVwiY29uZmlnPy5zaG93UGljdHVyZU9uSGVhZGVyXCI+XHJcbiAgICAgICAgICA8L2xpYi1zaGVsbC1zaWRlYmFyLWhlYWRlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZmxleC0xPlxyXG4gICAgICA8bWFpbiBjbGFzcz1cInNoZWxsLWNvbnRlbnQtY29udGFpbmVyLWZsdWlkXCIgW2NsYXNzLmJ1c3ldPVwiYnVzeVwiPlxyXG4gICAgICAgIDxsaWItYnJlYWRjcnVtYiAqbmdJZj1cImNvbmZpZz8uYnJlYWRjcnVtYiB8fCBmYWxzZVwiPjwvbGliLWJyZWFkY3J1bWI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWNvbnRlbnQtY29udGFpbmVyLWlubmVyXCIgW2NsYXNzLmJ1c3ldPVwiYnVzeVwiPlxyXG4gICAgICAgICAgPHJvdXRlci1vdXRsZXQgKm5nSWY9XCIoY29uZmlnICYmIGNvbmZpZy5sYXlvdXQgPT09ICdTaWRlYmFyJylcIj48L3JvdXRlci1vdXRsZXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWFpbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -1,24 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/router";
5
- import * as i3 from "../../../directives/dynamic-component-host.directive";
6
- import * as i4 from "../shell-footer/shell-footer.component";
7
- import * as i5 from "../shell-header/shell-header.component";
8
- export class ShellStackedLayoutComponent {
9
- constructor() {
10
- this.busy = false;
11
- }
12
- ngOnInit() { }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellStackedLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellStackedLayoutComponent, selector: "lib-shell-stacked-layout", inputs: { config: "config", busy: "busy" }, ngImport: i0, template: "<div class=\"shell-header-container\"\r\n *ngIf=\"config?.showHeader\">\r\n <div [class]=\"config?.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n <ng-container *ngIf=\"config?.customHeaderComponent\">\r\n <div appDynamicComponentHost=\"Header\"></div>\r\n </ng-container>\r\n <lib-shell-header *ngIf=\"!config?.customHeaderComponent\"\r\n [busy]=\"busy\"\r\n [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\">\r\n </lib-shell-header>\r\n </div>\r\n</div>\r\n<main [class]=\"config?.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"config?.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet *ngIf=\"(!config || config.layout === 'Stacked' || !config.layout)\"></router-outlet>\r\n </div>\r\n</main>\r\n<div class=\"shell-footer-container\"\r\n *ngIf=\"config?.showFooter\">\r\n <div [class]=\"config?.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"config?.customFooterComponent\">\r\n <div appDynamicComponentHost\r\n hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!config?.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.DynamicComponentHostDirective, selector: "[appDynamicComponentHost]", inputs: ["hostName"] }, { kind: "component", type: i4.ShellFooterComponent, selector: "lib-shell-footer" }, { kind: "component", type: i5.ShellHeaderComponent, selector: "lib-shell-header", inputs: ["section-links", "profile-menu", "show-userName", "show-picture", "show-alerts", "show-langs", "border", "busy"] }] }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellStackedLayoutComponent, decorators: [{
17
- type: Component,
18
- args: [{ selector: 'lib-shell-stacked-layout', template: "<div class=\"shell-header-container\"\r\n *ngIf=\"config?.showHeader\">\r\n <div [class]=\"config?.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n <ng-container *ngIf=\"config?.customHeaderComponent\">\r\n <div appDynamicComponentHost=\"Header\"></div>\r\n </ng-container>\r\n <lib-shell-header *ngIf=\"!config?.customHeaderComponent\"\r\n [busy]=\"busy\"\r\n [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\">\r\n </lib-shell-header>\r\n </div>\r\n</div>\r\n<main [class]=\"config?.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"config?.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet *ngIf=\"(!config || config.layout === 'Stacked' || !config.layout)\"></router-outlet>\r\n </div>\r\n</main>\r\n<div class=\"shell-footer-container\"\r\n *ngIf=\"config?.showFooter\">\r\n <div [class]=\"config?.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"config?.customFooterComponent\">\r\n <div appDynamicComponentHost\r\n hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!config?.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n</div>" }]
19
- }], ctorParameters: () => [], propDecorators: { config: [{
20
- type: Input
21
- }], busy: [{
22
- type: Input
23
- }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc3RhY2tlZC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc3RhY2tlZC1sYXlvdXQvc2hlbGwtc3RhY2tlZC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc3RhY2tlZC1sYXlvdXQvc2hlbGwtc3RhY2tlZC1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFRekQsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QztRQUdTLFNBQUksR0FBWSxLQUFLLENBQUM7SUFIZixDQUFDO0lBS1YsUUFBUSxLQUFXLENBQUM7OEdBTmhCLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDRHQ1J4QywraURBNEJNOzsyRkRwQk8sMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLDBCQUEwQjt3REFNM0IsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSVNoZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtc3RhY2tlZC1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC1zdGFja2VkLWxheW91dC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoZWxsU3RhY2tlZExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgQElucHV0KCkgY29uZmlnOiBJU2hlbGxDb25maWcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgYnVzeTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLWNvbnRhaW5lclwiXHJcbiAgICAgKm5nSWY9XCJjb25maWc/LnNob3dIZWFkZXJcIj5cclxuICAgIDxkaXYgW2NsYXNzXT1cImNvbmZpZz8uZmx1aWQgPyAnc2hlbGwtaGVhZGVyLWNvbnRhaW5lci1pbm5lci1mbHVpZCcgOiAnc2hlbGwtaGVhZGVyLWNvbnRhaW5lci1pbm5lcidcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy5jdXN0b21IZWFkZXJDb21wb25lbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBhcHBEeW5hbWljQ29tcG9uZW50SG9zdD1cIkhlYWRlclwiPjwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxsaWItc2hlbGwtaGVhZGVyICpuZ0lmPVwiIWNvbmZpZz8uY3VzdG9tSGVhZGVyQ29tcG9uZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYnVzeV09XCJidXN5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdy11c2VyTmFtZV09XCJjb25maWc/LnNob3dVc2VyTmFtZU9uSGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdy1hbGVydHNdPVwiY29uZmlnPy5zaG93QWxlcnRzT25IZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93LWxhbmdzXT1cImNvbmZpZz8uc2hvd0xhbmdzT25IZWFkZXJcIj5cclxuICAgICAgICA8L2xpYi1zaGVsbC1oZWFkZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxtYWluIFtjbGFzc109XCJjb25maWc/LnNob3dIZWFkZXIgPyAnc2hlbGwtY29udGVudC1jb250YWluZXInIDogJ3NoZWxsLWNvbnRlbnQtY29udGFpbmVyLW5vLWhlYWRlcidcIj5cclxuICAgIDxkaXYgW2NsYXNzXT1cImNvbmZpZz8uZmx1aWQgPyAnc2hlbGwtY29udGVudC1jb250YWluZXItaW5uZXItZmx1aWQnIDogJ3NoZWxsLWNvbnRlbnQtY29udGFpbmVyLWlubmVyJ1wiPlxyXG4gICAgICAgIDxyb3V0ZXItb3V0bGV0ICpuZ0lmPVwiKCFjb25maWcgfHwgY29uZmlnLmxheW91dCA9PT0gJ1N0YWNrZWQnIHx8ICFjb25maWcubGF5b3V0KVwiPjwvcm91dGVyLW91dGxldD5cclxuICAgIDwvZGl2PlxyXG48L21haW4+XHJcbjxkaXYgY2xhc3M9XCJzaGVsbC1mb290ZXItY29udGFpbmVyXCJcclxuICAgICAqbmdJZj1cImNvbmZpZz8uc2hvd0Zvb3RlclwiPlxyXG4gICAgPGRpdiBbY2xhc3NdPVwiY29uZmlnPy5mbHVpZCA/ICdzaGVsbC1mb290ZXItY29udGFpbmVyLWlubmVyLWZsdWlkJyA6ICdzaGVsbC1mb290ZXItY29udGFpbmVyLWlubmVyJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LmN1c3RvbUZvb3RlckNvbXBvbmVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGFwcER5bmFtaWNDb21wb25lbnRIb3N0XHJcbiAgICAgICAgICAgICAgICAgaG9zdE5hbWU9XCJGb290ZXJcIj48L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bGliLXNoZWxsLWZvb3RlciAqbmdJZj1cIiFjb25maWc/LmN1c3RvbUZvb3RlckNvbXBvbmVudFwiPjwvbGliLXNoZWxsLWZvb3Rlcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=