@rxap/layout 18.0.3-dev.1 → 18.1.0-dev.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 (212) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +267 -1
  3. package/compodoc/changelog.html +16 -0
  4. package/compodoc/components/AppsButtonComponent.html +197 -153
  5. package/compodoc/components/BaseLayoutComponent.html +351 -0
  6. package/compodoc/components/DefaultHeaderComponent.html +545 -0
  7. package/compodoc/components/FooterComponent.html +58 -79
  8. package/compodoc/components/HeaderComponent.html +49 -294
  9. package/compodoc/components/LanguageSelectorComponent.html +6 -54
  10. package/compodoc/components/LayoutComponent.html +69 -464
  11. package/compodoc/components/MinimalLayoutComponent.html +349 -0
  12. package/compodoc/components/NavigationComponent.html +116 -312
  13. package/compodoc/components/NavigationItemComponent.html +130 -361
  14. package/compodoc/components/NavigationProgressBarComponent.html +41 -107
  15. package/compodoc/components/ReleaseInfoComponent.html +536 -0
  16. package/compodoc/components/SettingsButtonComponent.html +186 -225
  17. package/compodoc/components/SidenavComponent.html +566 -142
  18. package/compodoc/components/SidenavToggleButtonComponent.html +71 -91
  19. package/compodoc/components/SignOutComponent.html +7 -60
  20. package/compodoc/components/UserProfileIconComponent.html +97 -161
  21. package/compodoc/dependencies.html +9 -25
  22. package/compodoc/directives/FooterDirective-1.html +293 -0
  23. package/compodoc/directives/FooterDirective.html +8 -86
  24. package/compodoc/directives/HeaderDirective.html +293 -0
  25. package/compodoc/index.html +177 -2
  26. package/compodoc/injectables/ExternalAppsService.html +1311 -0
  27. package/compodoc/injectables/FooterService.html +573 -0
  28. package/compodoc/injectables/HeaderService.html +576 -0
  29. package/compodoc/injectables/LayoutService.html +899 -0
  30. package/compodoc/injectables/LogoService.html +411 -0
  31. package/compodoc/injectables/NavigationService.html +46 -57
  32. package/compodoc/interfaces/ReleaseInfoModule.html +385 -0
  33. package/compodoc/interfaces/SettingsMenuItem.html +385 -0
  34. package/compodoc/js/menu-wc.js +24 -40
  35. package/compodoc/js/menu-wc_es5.js +1 -1
  36. package/compodoc/js/search/search_index.js +2 -2
  37. package/compodoc/miscellaneous/functions.html +532 -0
  38. package/compodoc/miscellaneous/typealiases.html +40 -2
  39. package/compodoc/miscellaneous/variables.html +123 -9
  40. package/compodoc/overview.html +2 -10
  41. package/compodoc/properties.html +1 -1
  42. package/docs/assets/highlight.css +42 -0
  43. package/docs/assets/navigation.js +1 -1
  44. package/docs/assets/search.js +1 -1
  45. package/docs/classes/AppsButtonComponent.html +8 -8
  46. package/docs/classes/BaseLayoutComponent.html +2 -0
  47. package/docs/classes/DefaultHeaderComponent.html +7 -0
  48. package/docs/classes/ExternalAppsService.html +19 -0
  49. package/docs/classes/FooterComponent.html +5 -3
  50. package/docs/classes/FooterDirective.html +2 -2
  51. package/docs/classes/FooterService.html +14 -0
  52. package/docs/classes/HeaderComponent.html +6 -8
  53. package/docs/classes/HeaderDirective.html +8 -0
  54. package/docs/classes/HeaderService.html +14 -0
  55. package/docs/classes/LayoutComponent.html +4 -12
  56. package/docs/classes/LayoutService.html +20 -0
  57. package/docs/classes/LogoService.html +7 -0
  58. package/docs/classes/MinimalLayoutComponent.html +2 -0
  59. package/docs/classes/NavigationComponent.html +7 -8
  60. package/docs/classes/NavigationItemComponent.html +6 -9
  61. package/docs/classes/NavigationProgressBarComponent.html +3 -3
  62. package/docs/classes/NavigationService.html +3 -3
  63. package/docs/classes/ReleaseInfoComponent.html +6 -0
  64. package/docs/classes/SettingsButtonComponent.html +6 -11
  65. package/docs/classes/SidenavComponent.html +17 -5
  66. package/docs/classes/SidenavFooterDirective.html +2 -2
  67. package/docs/classes/SidenavHeaderDirective.html +2 -2
  68. package/docs/classes/SidenavToggleButtonComponent.html +4 -3
  69. package/docs/classes/UserProfileIconComponent.html +5 -4
  70. package/docs/documentation.json +9635 -9292
  71. package/docs/functions/IsNavigationDividerItem.html +1 -1
  72. package/docs/functions/IsNavigationInsertItem.html +1 -1
  73. package/docs/functions/IsNavigationItem.html +1 -1
  74. package/docs/functions/provideLayout.html +1 -0
  75. package/docs/functions/widthDefaultHeaderComponent.html +1 -0
  76. package/docs/functions/withExternalApps.html +1 -0
  77. package/docs/functions/withFooterComponents.html +1 -0
  78. package/docs/functions/withHeaderComponents.html +1 -0
  79. package/docs/functions/withNavigationConfig.html +1 -0
  80. package/docs/functions/withNavigationInserts.html +1 -0
  81. package/docs/functions/withReleaseInfoModules.html +1 -0
  82. package/docs/functions/withSettingsMenuItems.html +1 -0
  83. package/docs/index.html +65 -2
  84. package/docs/interfaces/NavigationDividerItem.html +2 -2
  85. package/docs/interfaces/NavigationInsertItem.html +2 -2
  86. package/docs/interfaces/NavigationItem.html +2 -2
  87. package/docs/interfaces/NavigationStatus.html +2 -2
  88. package/docs/interfaces/ReleaseInfoModule.html +4 -0
  89. package/docs/interfaces/SettingsMenuItem.html +4 -0
  90. package/docs/modules.html +31 -17
  91. package/docs/types/ExternalApp.html +1 -0
  92. package/docs/types/ExtractUsernameFromProfileFn.html +1 -1
  93. package/docs/types/Navigation.html +1 -1
  94. package/docs/types/NavigationWithInserts.html +1 -1
  95. package/docs/types/SettingsMenuItemComponent.html +1 -0
  96. package/docs/variables/EXTRACT_USERNAME_FROM_PROFILE.html +1 -1
  97. package/docs/variables/RXAP_EXTERNAL_APP.html +1 -0
  98. package/docs/variables/RXAP_EXTERNAL_APP_FILTER.html +1 -0
  99. package/docs/variables/RXAP_FOOTER_COMPONENT.html +1 -1
  100. package/docs/variables/RXAP_HEADER_COMPONENT.html +1 -1
  101. package/docs/variables/RXAP_LAYOUT_APPS_GRID.html +1 -1
  102. package/docs/variables/RXAP_LOGO_CONFIG.html +1 -1
  103. package/docs/variables/RXAP_NAVIGATION_CONFIG.html +1 -1
  104. package/docs/variables/RXAP_NAVIGATION_CONFIG_INSERTS.html +1 -1
  105. package/docs/variables/RXAP_RELEASE_INFO_MODULE.html +1 -0
  106. package/docs/variables/RXAP_SETTINGS_MENU_ITEM.html +1 -0
  107. package/docs/variables/RXAP_SETTINGS_MENU_ITEM_COMPONENT.html +1 -0
  108. package/esm2022/index.mjs +35 -40
  109. package/esm2022/lib/base-layout/base-layout.component.mjs +16 -0
  110. package/esm2022/lib/default-header/apps-button/apps-button.component.mjs +40 -0
  111. package/esm2022/lib/default-header/default-header.component.mjs +32 -0
  112. package/esm2022/lib/default-header/settings-button/settings-button.component.mjs +73 -0
  113. package/esm2022/lib/default-header/sidenav-toggle-button/sidenav-toggle-button.component.mjs +24 -0
  114. package/esm2022/lib/default-header/user-profile-icon/user-profile-icon.component.mjs +35 -0
  115. package/esm2022/lib/external-apps.service.mjs +99 -0
  116. package/esm2022/lib/footer/footer.component.mjs +13 -13
  117. package/esm2022/lib/footer/footer.directive.mjs +30 -0
  118. package/esm2022/lib/footer.service.mjs +58 -0
  119. package/esm2022/lib/header/header.component.mjs +17 -65
  120. package/esm2022/lib/header/header.directive.mjs +30 -0
  121. package/esm2022/lib/header.service.mjs +60 -0
  122. package/esm2022/lib/layout/layout.component.mjs +33 -47
  123. package/esm2022/lib/layout.service.mjs +93 -0
  124. package/esm2022/lib/logo.service.mjs +23 -0
  125. package/esm2022/lib/minimal-layout/minimal-layout.component.mjs +14 -0
  126. package/esm2022/lib/navigation/navigation-item/navigation-item.component.mjs +30 -64
  127. package/esm2022/lib/navigation/navigation.component.mjs +22 -48
  128. package/esm2022/lib/navigation-progress-bar/navigation-progress-bar.component.mjs +23 -0
  129. package/esm2022/lib/navigation.service.mjs +141 -0
  130. package/esm2022/lib/provide.mjs +80 -0
  131. package/esm2022/lib/release-info/release-info.component.mjs +28 -0
  132. package/esm2022/lib/sidenav/sidenav.component.mjs +50 -33
  133. package/esm2022/lib/tokens.mjs +10 -1
  134. package/esm2022/lib/types.mjs +1 -1
  135. package/fesm2022/rxap-layout.mjs +856 -833
  136. package/fesm2022/rxap-layout.mjs.map +1 -1
  137. package/index.d.ts +18 -19
  138. package/lib/base-layout/base-layout.component.d.ts +5 -0
  139. package/lib/default-header/apps-button/apps-button.component.d.ts +15 -0
  140. package/lib/default-header/default-header.component.d.ts +11 -0
  141. package/lib/{header → default-header}/settings-button/settings-button.component.d.ts +6 -14
  142. package/lib/{header → default-header}/sidenav-toggle-button/sidenav-toggle-button.component.d.ts +3 -5
  143. package/lib/default-header/user-profile-icon/user-profile-icon.component.d.ts +10 -0
  144. package/lib/external-apps.service.d.ts +26 -0
  145. package/lib/footer/footer.component.d.ts +3 -3
  146. package/lib/{footer.directive.d.ts → footer/footer.directive.d.ts} +2 -4
  147. package/lib/footer.service.d.ts +32 -0
  148. package/lib/header/header.component.d.ts +6 -12
  149. package/lib/header/header.directive.d.ts +12 -0
  150. package/lib/header.service.d.ts +34 -0
  151. package/lib/layout/layout.component.d.ts +4 -17
  152. package/lib/layout.service.d.ts +26 -0
  153. package/lib/logo.service.d.ts +10 -0
  154. package/lib/minimal-layout/minimal-layout.component.d.ts +5 -0
  155. package/lib/navigation/navigation-item/navigation-item.component.d.ts +10 -18
  156. package/lib/navigation/navigation.component.d.ts +10 -15
  157. package/lib/{header/navigation-progress-bar → navigation-progress-bar}/navigation-progress-bar.component.d.ts +1 -3
  158. package/lib/{navigation/navigation.service.d.ts → navigation.service.d.ts} +4 -5
  159. package/lib/provide.d.ts +13 -0
  160. package/lib/release-info/release-info.component.d.ts +9 -0
  161. package/lib/sidenav/sidenav.component.d.ts +18 -6
  162. package/lib/tokens.d.ts +12 -3
  163. package/lib/types.d.ts +15 -4
  164. package/package.json +30 -66
  165. package/theme.css +1 -1
  166. package/docs/classes/AppUrlService.html +0 -13
  167. package/docs/classes/AuthenticationServiceMock.html +0 -3
  168. package/docs/classes/LanguageSelectorComponent.html +0 -3
  169. package/docs/classes/LayoutComponentService.html +0 -15
  170. package/docs/classes/ReplaceRouterPathsPipe.html +0 -4
  171. package/docs/classes/ReplaceRouterPathsService.html +0 -3
  172. package/docs/classes/ResetButtonComponent.html +0 -3
  173. package/docs/classes/SidenavComponentService.html +0 -5
  174. package/docs/classes/SignOutComponent.html +0 -4
  175. package/docs/classes/ToggleWindowSidenavButtonComponent.html +0 -5
  176. package/docs/classes/VersionComponent.html +0 -7
  177. package/docs/classes/WindowContainerSidenavComponent.html +0 -10
  178. package/docs/interfaces/ExternalApps.html +0 -8
  179. package/docs/interfaces/LogoConfig.html +0 -4
  180. package/esm2022/lib/app-url.service.mjs +0 -78
  181. package/esm2022/lib/authentication.service.mock.mjs +0 -13
  182. package/esm2022/lib/footer.directive.mjs +0 -40
  183. package/esm2022/lib/header/apps-button/apps-button.component.mjs +0 -46
  184. package/esm2022/lib/header/language-selector/language-selector.component.mjs +0 -35
  185. package/esm2022/lib/header/navigation-progress-bar/navigation-progress-bar.component.mjs +0 -30
  186. package/esm2022/lib/header/reset-button/reset-button.component.mjs +0 -23
  187. package/esm2022/lib/header/settings-button/settings-button.component.mjs +0 -87
  188. package/esm2022/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.mjs +0 -26
  189. package/esm2022/lib/header/sign-out/sign-out.component.mjs +0 -23
  190. package/esm2022/lib/header/user-profile-icon/user-profile-icon.component.mjs +0 -45
  191. package/esm2022/lib/layout/layout.component.service.mjs +0 -77
  192. package/esm2022/lib/navigation/navigation.service.mjs +0 -145
  193. package/esm2022/lib/navigation/replace-router-paths.pipe.mjs +0 -22
  194. package/esm2022/lib/navigation/replace-router-paths.service.mjs +0 -15
  195. package/esm2022/lib/sidenav/sidenav.component.service.mjs +0 -22
  196. package/esm2022/lib/sidenav/version/version.component.mjs +0 -28
  197. package/esm2022/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.mjs +0 -30
  198. package/esm2022/lib/window-container-sidenav/window-container-sidenav.component.mjs +0 -54
  199. package/lib/app-url.service.d.ts +0 -29
  200. package/lib/authentication.service.mock.d.ts +0 -6
  201. package/lib/header/apps-button/apps-button.component.d.ts +0 -16
  202. package/lib/header/language-selector/language-selector.component.d.ts +0 -8
  203. package/lib/header/reset-button/reset-button.component.d.ts +0 -8
  204. package/lib/header/sign-out/sign-out.component.d.ts +0 -9
  205. package/lib/header/user-profile-icon/user-profile-icon.component.d.ts +0 -15
  206. package/lib/layout/layout.component.service.d.ts +0 -25
  207. package/lib/navigation/replace-router-paths.pipe.d.ts +0 -11
  208. package/lib/navigation/replace-router-paths.service.d.ts +0 -7
  209. package/lib/sidenav/sidenav.component.service.d.ts +0 -11
  210. package/lib/sidenav/version/version.component.d.ts +0 -14
  211. package/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.d.ts +0 -9
  212. package/lib/window-container-sidenav/window-container-sidenav.component.d.ts +0 -17
@@ -1,72 +1,24 @@
1
- import { AsyncPipe, NgClass, NgIf, } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Inject, Input, Optional, } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatOptionModule, } from '@angular/material/core';
6
- import { MatFormFieldModule } from '@angular/material/form-field';
7
- import { MatIconModule } from '@angular/material/icon';
8
- import { MatMenuModule } from '@angular/material/menu';
9
- import { MatSelectModule } from '@angular/material/select';
10
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
11
- import { MatToolbarModule } from '@angular/material/toolbar';
12
- import { DataSourceCollectionDirective } from '@rxap/data-source/directive';
13
- import { StopPropagationDirective } from '@rxap/directives';
14
- import { HeaderService } from '@rxap/services';
15
- import { LayoutComponentService } from '../layout/layout.component.service';
16
- import { RXAP_HEADER_COMPONENT } from '../tokens';
17
- import { AppsButtonComponent } from './apps-button/apps-button.component';
18
- import { NavigationProgressBarComponent } from './navigation-progress-bar/navigation-progress-bar.component';
19
- import { SettingsButtonComponent } from './settings-button/settings-button.component';
20
- import { SidenavToggleButtonComponent } from './sidenav-toggle-button/sidenav-toggle-button.component';
21
- import { UserProfileIconComponent } from './user-profile-icon/user-profile-icon.component';
1
+ import { CdkPortalOutlet } from '@angular/cdk/portal';
2
+ import { ChangeDetectionStrategy, Component, computed, inject, input, } from '@angular/core';
3
+ import { MatToolbar, MatToolbarRow, } from '@angular/material/toolbar';
4
+ import { HeaderService } from '../header.service';
22
5
  import * as i0 from "@angular/core";
23
- import * as i1 from "../layout/layout.component.service";
24
- import * as i2 from "@angular/material/toolbar";
25
- import * as i3 from "@rxap/services";
26
6
  export class HeaderComponent {
27
- constructor(headerComponentService, layoutComponentService, headerComponent) {
28
- this.headerComponentService = headerComponentService;
29
- this.layoutComponentService = layoutComponentService;
30
- this.headerComponent = headerComponent;
31
- this.color = undefined;
32
- this.collapsable = layoutComponentService.collapsable;
33
- this.opened = layoutComponentService.opened;
7
+ constructor() {
8
+ this.color = input();
9
+ this.headerService = inject(HeaderService);
10
+ this.portals = computed(() => this.headerService.portals());
11
+ this.hasPortals = computed(() => this.portals().length > 0);
34
12
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderComponent, deps: [{ token: HeaderService }, { token: i1.LayoutComponentService }, { token: RXAP_HEADER_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: HeaderComponent, isStandalone: true, selector: "rxap-header", inputs: { color: "color" }, ngImport: i0, template: "<mat-toolbar [color]=\"color\" [ngClass]=\"{ open: opened() }\" class=\"mat-elevation-z3 header\">\n <div class=\"w-full flex flex-row gap-x-4 justify-between items-center\">\n <rxap-sidenav-toggle-button *ngIf=\"!collapsable()\"></rxap-sidenav-toggle-button>\n <div class=\"grow\">\n <ng-content></ng-content>\n </div>\n <rxap-apps-button class=\"grow-0\"></rxap-apps-button>\n <rxap-settings-button class=\"grow-0\"></rxap-settings-button>\n <rxap-user-profile-icon class=\"grow-0\"></rxap-user-profile-icon>\n </div>\n</mat-toolbar>\n\n<rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: NavigationProgressBarComponent, selector: "rxap-navigation-progress-bar" }, { kind: "component", type: UserProfileIconComponent, selector: "rxap-user-profile-icon" }, { kind: "component", type: AppsButtonComponent, selector: "rxap-apps-button" }, { kind: "component", type: SettingsButtonComponent, selector: "rxap-settings-button" }, { kind: "component", type: SidenavToggleButtonComponent, selector: "rxap-sidenav-toggle-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: HeaderComponent, isStandalone: true, selector: "rxap-header", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (hasPortals()) {\n <mat-toolbar [color]=\"color()\" class=\"mat-elevation-z1\">\n @for (portal of portals(); track portal) {\n <mat-toolbar-row>\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </mat-toolbar-row>\n }\n </mat-toolbar>\n}\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
15
  }
38
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderComponent, decorators: [{
39
17
  type: Component,
40
18
  args: [{ selector: 'rxap-header', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
41
- MatToolbarModule,
42
- NgClass,
43
- NgIf,
44
- MatButtonModule,
45
- MatMenuModule,
46
- MatIconModule,
47
- MatFormFieldModule,
48
- StopPropagationDirective,
49
- MatSelectModule,
50
- FormsModule,
51
- MatOptionModule,
52
- DataSourceCollectionDirective,
53
- MatSlideToggleModule,
54
- AsyncPipe,
55
- NavigationProgressBarComponent,
56
- UserProfileIconComponent,
57
- AppsButtonComponent,
58
- SettingsButtonComponent,
59
- SidenavToggleButtonComponent,
60
- ], template: "<mat-toolbar [color]=\"color\" [ngClass]=\"{ open: opened() }\" class=\"mat-elevation-z3 header\">\n <div class=\"w-full flex flex-row gap-x-4 justify-between items-center\">\n <rxap-sidenav-toggle-button *ngIf=\"!collapsable()\"></rxap-sidenav-toggle-button>\n <div class=\"grow\">\n <ng-content></ng-content>\n </div>\n <rxap-apps-button class=\"grow-0\"></rxap-apps-button>\n <rxap-settings-button class=\"grow-0\"></rxap-settings-button>\n <rxap-user-profile-icon class=\"grow-0\"></rxap-user-profile-icon>\n </div>\n</mat-toolbar>\n\n<rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n" }]
61
- }], ctorParameters: () => [{ type: i3.HeaderService, decorators: [{
62
- type: Inject,
63
- args: [HeaderService]
64
- }] }, { type: i1.LayoutComponentService }, { type: undefined, decorators: [{
65
- type: Optional
66
- }, {
67
- type: Inject,
68
- args: [RXAP_HEADER_COMPONENT]
69
- }] }], propDecorators: { color: [{
70
- type: Input
71
- }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsSUFBSSxHQUNMLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsZUFBZSxHQUVoQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7O0FBOEIzRixNQUFNLE9BQU8sZUFBZTtJQVExQixZQUVrQixzQkFBcUMsRUFDckMsc0JBQThDLEVBQ1osZUFBb0I7UUFGdEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFlO1FBQ3JDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDWixvQkFBZSxHQUFmLGVBQWUsQ0FBSztRQVRqRSxVQUFLLEdBQWlCLFNBQVMsQ0FBQztRQVdyQyxJQUFJLENBQUMsV0FBVyxHQUFHLHNCQUFzQixDQUFDLFdBQVcsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDOzhHQWhCVSxlQUFlLGtCQVNoQixhQUFhLG1EQUdELHFCQUFxQjtrR0FaaEMsZUFBZSxtR0NoRTVCLHFuQkFhQSx5REQ4QkksZ0JBQWdCLGlKQUNoQixPQUFPLG9GQUNQLElBQUksNEZBQ0osZUFBZSw4QkFDZixhQUFhLDhCQUNiLGFBQWEsOEJBQ2Isa0JBQWtCLDhCQUVsQixlQUFlLDhCQUNmLFdBQVcsOEJBQ1gsZUFBZSw4QkFFZixvQkFBb0IsK0JBRXBCLDhCQUE4Qix5RUFDOUIsd0JBQXdCLG1FQUN4QixtQkFBbUIsNkRBQ25CLHVCQUF1QixpRUFDdkIsNEJBQTRCOzsyRkFHbkIsZUFBZTtrQkE1QjNCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsNkJBQTZCO3dCQUM3QixvQkFBb0I7d0JBQ3BCLFNBQVM7d0JBQ1QsOEJBQThCO3dCQUM5Qix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7cUJBQzdCOzswQkFXRSxNQUFNOzJCQUFDLGFBQWE7OzBCQUdwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjt5Q0FUcEMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBOZ0NsYXNzLFxuICBOZ0lmLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIFNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1xuICBNYXRPcHRpb25Nb2R1bGUsXG4gIFRoZW1lUGFsZXR0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBEYXRhU291cmNlQ29sbGVjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJ0ByeGFwL2RhdGEtc291cmNlL2RpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICdAcnhhcC9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEhlYWRlclNlcnZpY2UgfSBmcm9tICdAcnhhcC9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBMYXlvdXRDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vbGF5b3V0L2xheW91dC5jb21wb25lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSWEFQX0hFQURFUl9DT01QT05FTlQgfSBmcm9tICcuLi90b2tlbnMnO1xuaW1wb3J0IHsgQXBwc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYXBwcy1idXR0b24vYXBwcy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdmlnYXRpb25Qcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNldHRpbmdzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy1idXR0b24vc2V0dGluZ3MtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWRlbmF2VG9nZ2xlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlbmF2LXRvZ2dsZS1idXR0b24vc2lkZW5hdi10b2dnbGUtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyUHJvZmlsZUljb25Db21wb25lbnQgfSBmcm9tICcuL3VzZXItcHJvZmlsZS1pY29uL3VzZXItcHJvZmlsZS1pY29uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3J4YXAtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgRGF0YVNvdXJjZUNvbGxlY3Rpb25EaXJlY3RpdmUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIE5hdmlnYXRpb25Qcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICBVc2VyUHJvZmlsZUljb25Db21wb25lbnQsXG4gICAgQXBwc0J1dHRvbkNvbXBvbmVudCxcbiAgICBTZXR0aW5nc0J1dHRvbkNvbXBvbmVudCxcbiAgICBTaWRlbmF2VG9nZ2xlQnV0dG9uQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2xvcjogVGhlbWVQYWxldHRlID0gdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb2xsYXBzYWJsZTogU2lnbmFsPGJvb2xlYW4+O1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlbmVkOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChIZWFkZXJTZXJ2aWNlKVxuICAgIHB1YmxpYyByZWFkb25seSBoZWFkZXJDb21wb25lbnRTZXJ2aWNlOiBIZWFkZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBsYXlvdXRDb21wb25lbnRTZXJ2aWNlOiBMYXlvdXRDb21wb25lbnRTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUlhBUF9IRUFERVJfQ09NUE9ORU5UKSBwdWJsaWMgaGVhZGVyQ29tcG9uZW50OiBhbnksXG4gICkge1xuICAgIHRoaXMuY29sbGFwc2FibGUgPSBsYXlvdXRDb21wb25lbnRTZXJ2aWNlLmNvbGxhcHNhYmxlO1xuICAgIHRoaXMub3BlbmVkID0gbGF5b3V0Q29tcG9uZW50U2VydmljZS5vcGVuZWQ7XG4gIH1cblxufVxuIiwiPG1hdC10b29sYmFyIFtjb2xvcl09XCJjb2xvclwiIFtuZ0NsYXNzXT1cInsgb3Blbjogb3BlbmVkKCkgfVwiIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16MyBoZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGZsZXgtcm93IGdhcC14LTQganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxuICAgIDxyeGFwLXNpZGVuYXYtdG9nZ2xlLWJ1dHRvbiAqbmdJZj1cIiFjb2xsYXBzYWJsZSgpXCI+PC9yeGFwLXNpZGVuYXYtdG9nZ2xlLWJ1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3Jvd1wiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxyeGFwLWFwcHMtYnV0dG9uIGNsYXNzPVwiZ3Jvdy0wXCI+PC9yeGFwLWFwcHMtYnV0dG9uPlxuICAgIDxyeGFwLXNldHRpbmdzLWJ1dHRvbiBjbGFzcz1cImdyb3ctMFwiPjwvcnhhcC1zZXR0aW5ncy1idXR0b24+XG4gICAgPHJ4YXAtdXNlci1wcm9maWxlLWljb24gY2xhc3M9XCJncm93LTBcIj48L3J4YXAtdXNlci1wcm9maWxlLWljb24+XG4gIDwvZGl2PlxuPC9tYXQtdG9vbGJhcj5cblxuPHJ4YXAtbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXI+PC9yeGFwLW5hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyPlxuIl19
19
+ MatToolbar,
20
+ MatToolbarRow,
21
+ CdkPortalOutlet,
22
+ ], template: "@if (hasPortals()) {\n <mat-toolbar [color]=\"color()\" class=\"mat-elevation-z1\">\n @for (portal of portals(); track portal) {\n <mat-toolbar-row>\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </mat-toolbar-row>\n }\n </mat-toolbar>\n}\n" }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxVQUFVLEVBQ1YsYUFBYSxHQUNkLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWNsRCxNQUFNLE9BQU8sZUFBZTtJQVo1QjtRQWNrQixVQUFLLEdBQUcsS0FBSyxFQUFnQixDQUFDO1FBRTdCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXZDLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztLQUV4RTs4R0FUWSxlQUFlO2tHQUFmLGVBQWUsMk1DM0I1Qix5UkFTQSwwRERhSSxVQUFVLHFHQUNWLGFBQWEseUZBQ2IsZUFBZTs7MkZBR04sZUFBZTtrQkFaM0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1BvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1xuICBNYXRUb29sYmFyLFxuICBNYXRUb29sYmFyUm93LFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7IEhlYWRlclNlcnZpY2UgfSBmcm9tICcuLi9oZWFkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3J4YXAtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0VG9vbGJhcixcbiAgICBNYXRUb29sYmFyUm93LFxuICAgIENka1BvcnRhbE91dGxldCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxUaGVtZVBhbGV0dGU+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJTZXJ2aWNlID0gaW5qZWN0KEhlYWRlclNlcnZpY2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBwb3J0YWxzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5oZWFkZXJTZXJ2aWNlLnBvcnRhbHMoKSk7XG4gIHB1YmxpYyByZWFkb25seSBoYXNQb3J0YWxzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wb3J0YWxzKCkubGVuZ3RoID4gMCk7XG5cbn1cbiIsIkBpZiAoaGFzUG9ydGFscygpKSB7XG4gIDxtYXQtdG9vbGJhciBbY29sb3JdPVwiY29sb3IoKVwiIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16MVwiPlxuICAgIEBmb3IgKHBvcnRhbCBvZiBwb3J0YWxzKCk7IHRyYWNrIHBvcnRhbCkge1xuICAgICAgPG1hdC10b29sYmFyLXJvdz5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwicG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbWF0LXRvb2xiYXItcm93PlxuICAgIH1cbiAgPC9tYXQtdG9vbGJhcj5cbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { TemplatePortal } from '@angular/cdk/portal';
2
+ import { Directive, inject, TemplateRef, ViewContainerRef, } from '@angular/core';
3
+ import { HeaderService } from '../header.service';
4
+ import * as i0 from "@angular/core";
5
+ export class HeaderDirective {
6
+ constructor() {
7
+ this.headerService = inject(HeaderService);
8
+ this.template = inject(TemplateRef);
9
+ this.viewContainerRef = inject(ViewContainerRef);
10
+ }
11
+ ngOnInit() {
12
+ this._portal = new TemplatePortal(this.template, this.viewContainerRef);
13
+ this.headerService.pushPortal(this._portal);
14
+ }
15
+ ngOnDestroy() {
16
+ if (this._portal) {
17
+ this.headerService.removePortal(this._portal);
18
+ }
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: HeaderDirective, isStandalone: true, selector: "[rxapHeader]", ngImport: i0 }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{
26
+ selector: '[rxapHeader]',
27
+ standalone: true,
28
+ }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvaGVhZGVyL2hlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUdOLFdBQVcsRUFDWCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1sRCxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQU9tQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxhQUFRLEdBQXNCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQWU5RDtJQWJRLFFBQVE7UUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksY0FBYyxDQUMvQixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FDdEIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7OEdBbkJVLGVBQWU7a0dBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgaW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2hlYWRlci5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3J4YXBIZWFkZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9wb3J0YWw/OiBUZW1wbGF0ZVBvcnRhbDx2b2lkPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGhlYWRlclNlcnZpY2UgPSBpbmplY3QoSGVhZGVyU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHZvaWQ+ID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9wb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWw8dm9pZD4oXG4gICAgICB0aGlzLnRlbXBsYXRlLFxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICk7XG4gICAgdGhpcy5oZWFkZXJTZXJ2aWNlLnB1c2hQb3J0YWwodGhpcy5fcG9ydGFsKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5fcG9ydGFsKSB7XG4gICAgICB0aGlzLmhlYWRlclNlcnZpY2UucmVtb3ZlUG9ydGFsKHRoaXMuX3BvcnRhbCk7XG4gICAgfVxuICB9XG59XG5cblxuIl19
@@ -0,0 +1,60 @@
1
+ import { ComponentPortal, } from '@angular/cdk/portal';
2
+ import { computed, inject, Injectable, isDevMode, signal, } from '@angular/core';
3
+ import { RXAP_HEADER_COMPONENT } from './tokens';
4
+ import { coerceArray } from '@rxap/utilities';
5
+ import * as i0 from "@angular/core";
6
+ export class HeaderService {
7
+ constructor() {
8
+ this.components = coerceArray(inject(RXAP_HEADER_COMPONENT, { optional: true }));
9
+ /**
10
+ * Represents an array of `Portal` objects with unknown type.
11
+ *
12
+ * @typedef {Array<Portal<unknown>>} SignalPortals
13
+ */
14
+ this.portals = signal(this.components.map(component => new ComponentPortal(component)));
15
+ /**
16
+ * Computes the count of portals.
17
+ *
18
+ * @returns {number} The count of portals.
19
+ */
20
+ this.portalCount = computed(() => this.portals().length);
21
+ }
22
+ /**
23
+ * Adds a portal to the list of portals.
24
+ *
25
+ * @param {Portal<unknown>} portal - The portal to be added.
26
+ *
27
+ * @return {void}
28
+ */
29
+ pushPortal(portal) {
30
+ if (!this.portals().includes(portal)) {
31
+ this.portals.update(portals => [...portals, portal]);
32
+ }
33
+ else {
34
+ if (isDevMode()) {
35
+ console.warn('Can not add the same portal multiple times');
36
+ }
37
+ }
38
+ }
39
+ /**
40
+ * Removes a portal from the list of portals.
41
+ *
42
+ * @param {Portal<unknown>} portal - The portal to be removed.
43
+ * @return {void}
44
+ */
45
+ removePortal(portal) {
46
+ const index = this.portals().indexOf(portal);
47
+ if (index !== -1) {
48
+ this.portals.update(portals => {
49
+ portals.splice(index, 1);
50
+ return portals.slice();
51
+ });
52
+ }
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
55
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderService }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderService, decorators: [{
58
+ type: Injectable
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL2hlYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEdBRWhCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHOUMsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFHbUIsZUFBVSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdGOzs7O1dBSUc7UUFDYSxZQUFPLEdBQUcsTUFBTSxDQUF5QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUczSDs7OztXQUlHO1FBQ2EsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBb0NyRTtJQWpDQzs7Ozs7O09BTUc7SUFDSSxVQUFVLENBQUMsTUFBdUI7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxDQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksWUFBWSxDQUFDLE1BQXVCO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7OEdBbkRVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFBvcnRhbCxcbiAgUG9ydGFsLFxufSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIEluamVjdGFibGUsXG4gIGlzRGV2TW9kZSxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJYQVBfSEVBREVSX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnQHJ4YXAvdXRpbGl0aWVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhlYWRlclNlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50cyA9IGNvZXJjZUFycmF5KGluamVjdChSWEFQX0hFQURFUl9DT01QT05FTlQsIHsgb3B0aW9uYWw6IHRydWUgfSkpO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGFuIGFycmF5IG9mIGBQb3J0YWxgIG9iamVjdHMgd2l0aCB1bmtub3duIHR5cGUuXG4gICAqXG4gICAqIEB0eXBlZGVmIHtBcnJheTxQb3J0YWw8dW5rbm93bj4+fSBTaWduYWxQb3J0YWxzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcG9ydGFscyA9IHNpZ25hbDxBcnJheTxQb3J0YWw8dW5rbm93bj4+Pih0aGlzLmNvbXBvbmVudHMubWFwKGNvbXBvbmVudCA9PiBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCkpKTtcblxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgY291bnQgb2YgcG9ydGFscy5cbiAgICpcbiAgICogQHJldHVybnMge251bWJlcn0gVGhlIGNvdW50IG9mIHBvcnRhbHMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcG9ydGFsQ291bnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBvcnRhbHMoKS5sZW5ndGgpO1xuXG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwb3J0YWwgdG8gdGhlIGxpc3Qgb2YgcG9ydGFscy5cbiAgICpcbiAgICogQHBhcmFtIHtQb3J0YWw8dW5rbm93bj59IHBvcnRhbCAtIFRoZSBwb3J0YWwgdG8gYmUgYWRkZWQuXG4gICAqXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBwdWJsaWMgcHVzaFBvcnRhbChwb3J0YWw6IFBvcnRhbDx1bmtub3duPikge1xuICAgIGlmICghdGhpcy5wb3J0YWxzKCkuaW5jbHVkZXMocG9ydGFsKSkge1xuICAgICAgdGhpcy5wb3J0YWxzLnVwZGF0ZShwb3J0YWxzID0+IFsgLi4ucG9ydGFscywgcG9ydGFsIF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdDYW4gbm90IGFkZCB0aGUgc2FtZSBwb3J0YWwgbXVsdGlwbGUgdGltZXMnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIHBvcnRhbCBmcm9tIHRoZSBsaXN0IG9mIHBvcnRhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9ydGFsPHVua25vd24+fSBwb3J0YWwgLSBUaGUgcG9ydGFsIHRvIGJlIHJlbW92ZWQuXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlUG9ydGFsKHBvcnRhbDogUG9ydGFsPHVua25vd24+KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnBvcnRhbHMoKS5pbmRleE9mKHBvcnRhbCk7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5wb3J0YWxzLnVwZGF0ZShwb3J0YWxzID0+IHtcbiAgICAgICAgcG9ydGFscy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICByZXR1cm4gcG9ydGFscy5zbGljZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -1,61 +1,50 @@
1
1
  import { AsyncPipe, NgClass, NgIf, NgOptimizedImage, NgStyle, } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject, Inject, ViewChild, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, inject, } from '@angular/core';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { MatIconModule } from '@angular/material/icon';
5
5
  import { MatMenuModule } from '@angular/material/menu';
6
- import { MatSidenav, MatSidenavModule, } from '@angular/material/sidenav';
6
+ import { MatSidenavModule } from '@angular/material/sidenav';
7
7
  import { RouterLink, RouterOutlet, } from '@angular/router';
8
- import { DetermineReleaseName, RXAP_ENVIRONMENT, } from '@rxap/environment';
9
- import { IconLoaderService } from '@rxap/icon';
10
- import { StatusIndicatorComponent } from '@rxap/ngx-status-check';
11
8
  import { ThemeService } from '@rxap/ngx-theme';
12
9
  import { IsThemeDensity, ThemeDensity, UserSettingsThemeService, } from '@rxap/ngx-user';
13
10
  import { FooterComponent } from '../footer/footer.component';
14
11
  import { HeaderComponent } from '../header/header.component';
12
+ import { NavigationProgressBarComponent } from '../navigation-progress-bar/navigation-progress-bar.component';
13
+ import { LogoService } from '../logo.service';
15
14
  import { NavigationComponent } from '../navigation/navigation.component';
16
- import { LayoutComponentService } from './layout.component.service';
15
+ import { ReleaseInfoComponent } from '../release-info/release-info.component';
16
+ import { SidenavFooterDirective } from '../sidenav/sidenav-footer.directive';
17
+ import { SidenavComponent } from '../sidenav/sidenav.component';
17
18
  import * as i0 from "@angular/core";
18
- import * as i1 from "./layout.component.service";
19
- import * as i2 from "@rxap/icon";
20
- import * as i3 from "@angular/material/sidenav";
21
- import * as i4 from "@angular/material/icon";
22
- import * as i5 from "@angular/material/button";
23
19
  export class LayoutComponent {
24
- constructor(layoutComponentService, environment, iconLoaderService) {
25
- this.layoutComponentService = layoutComponentService;
26
- this.environment = environment;
20
+ constructor() {
27
21
  this.userSettingsThemeService = inject(UserSettingsThemeService);
28
22
  this.themeService = inject(ThemeService);
29
- iconLoaderService.load();
30
- this.fixedBottomGap = layoutComponentService.fixedBottomGap;
31
- this.fixedTopGap = layoutComponentService.fixedTopGap;
32
- this.pinned = layoutComponentService.pinned;
33
- this.collapsable = layoutComponentService.collapsable;
34
- this.opened = layoutComponentService.opened;
35
- this.sidenavMode = layoutComponentService.mode;
36
- this.logoSrc = this.layoutComponentService.logo.src ?? 'https://via.placeholder.com/256x128px';
37
- this.logoWidth = this.layoutComponentService.logo.width ?? 256;
38
- this.release = DetermineReleaseName(this.environment);
23
+ this.logoService = inject(LogoService);
24
+ this.logoSrc = computed(() => this.logoService.src());
25
+ this.logoWidth = computed(() => this.logoService.width());
26
+ this.logoHeight = computed(() => this.logoService.height());
39
27
  }
40
28
  ngOnDestroy() {
41
29
  this.userSettingsThemeService.stopSync();
42
30
  }
43
31
  ngOnInit() {
44
- this.userSettingsThemeService.startSync();
45
- this.userSettingsThemeService.get().then(theme => {
46
- if (theme.preset && theme.preset !== 'default') {
47
- this.themeService.setTheme(theme.preset, true);
48
- }
49
- if (theme.density && IsThemeDensity(theme.density) && theme.density !== ThemeDensity.Normal) {
50
- this.themeService.setDensity(theme.density, true);
51
- }
52
- if (theme.typography && theme.typography !== 'default') {
53
- this.themeService.setTypography(theme.typography, true);
54
- }
32
+ this.userSettingsThemeService.startSync().then(() => {
33
+ this.userSettingsThemeService.get().then(theme => {
34
+ if (theme.preset && theme.preset !== 'default') {
35
+ this.themeService.setTheme(theme.preset, true);
36
+ }
37
+ if (theme.density && IsThemeDensity(theme.density) && theme.density !== ThemeDensity.Normal) {
38
+ this.themeService.setDensity(theme.density, true);
39
+ }
40
+ if (theme.typography && theme.typography !== 'default') {
41
+ this.themeService.setTypography(theme.typography, true);
42
+ }
43
+ });
55
44
  });
56
45
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.LayoutComponentService }, { token: RXAP_ENVIRONMENT }, { token: i2.IconLoaderService }], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LayoutComponent, isStandalone: true, selector: "rxap-layout", viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<rxap-status-indicator class=\"fixed bottom-0 right-0 z-10\"></rxap-status-indicator>\n<div class=\"flex flex-col h-screen justify-between\">\n <rxap-header class=\"z-10 w-full fixed top-0\"></rxap-header>\n <mat-sidenav-container [ngStyle]=\"{\n 'margin-top.px': fixedTopGap(),\n 'margin-bottom.px': fixedBottomGap(),\n }\" class=\"grow\">\n <mat-sidenav\n #matSidenav=\"matSidenav\"\n [fixedBottomGap]=\"fixedBottomGap()\"\n [fixedInViewport]=\"true\"\n [fixedTopGap]=\"fixedTopGap()\"\n [mode]=\"sidenavMode()\"\n [ngClass]=\"{ collapsable: collapsable() }\"\n class=\"sidenav\"\n [opened]=\"opened()\"\n >\n <div (mouseleave)=\"collapsable() && !pinned() && matSidenav.close()\"\n class=\"h-full py-2 flex flex-col items-center gap-y-5 justify-items-stretch\">\n\n <div (click)=\"layoutComponentService.togglePinned()\" *ngIf=\"collapsable()\"\n class=\"pl-2 self-stretch grow-0 flex flex-row justify-between items-center\">\n <span class=\"text-lg\" i18n>Navigation</span>\n <div class=\"flex flex-row items-center justify-center\" style=\"width: 64px\">\n <button mat-icon-button>\n <mat-icon *ngIf=\"!pinned()\">radio_button_unchecked</mat-icon>\n <mat-icon *ngIf=\"pinned()\">radio_button_checked</mat-icon>\n </button>\n </div>\n </div>\n\n <ul\n (mouseenter)=\"collapsable() && !pinned() && matSidenav.open()\"\n class=\"grow self-stretch\"\n root\n rxap-navigation\n >\n </ul>\n\n <img\n [src]=\"logoSrc\"\n [routerLink]=\"['/']\"\n [width]=\"logoWidth\"\n alt=\"logo\"\n class=\"grow-0 mx-16\"\n />\n <div class=\"grow-0 px-16\">\n <span>{{release}}</span>\n </div>\n </div>\n </mat-sidenav>\n <mat-sidenav-content [ngClass]=\"{ 'ml-16': collapsable() }\" class=\"p-4\">\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n </mat-sidenav-container>\n <rxap-footer class=\"z-10 w-full fixed bottom-0\"></rxap-footer>\n</div>\n<!--<rxap-window-task-bar-container></rxap-window-task-bar-container>-->\n", styles: [":host .sidenav.collapsable:not(.mat-drawer-opened){transform:translate(calc(-100% + 64px))!important;visibility:visible!important;box-shadow:inherit!important;transition-property:transform;transition-delay:.25s;display:flex;border-right:solid 1px rgba(0,0,0,.12)}:host .sidenav.collapsable ::ng-deep .mat-drawer-inner-container::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "rxap-header", inputs: ["color"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i3.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FooterComponent, selector: "rxap-footer" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: NavigationComponent, selector: "ul[rxap-navigation]", inputs: ["items", "level", "root"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: StatusIndicatorComponent, selector: "rxap-status-indicator" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LayoutComponent, isStandalone: true, selector: "rxap-layout", ngImport: i0, template: "<rxap-header class=\"z-10 w-full fixed top-0\"></rxap-header>\n<rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n<rxap-sidenav>\n <router-outlet></router-outlet>\n <ng-template rxapSidenavFooter>\n <img\n [src]=\"logoSrc()\"\n [routerLink]=\"['/']\"\n [width]=\"logoWidth()\"\n [height]=\"logoHeight()\"\n alt=\"logo\"\n class=\"grow-0 mx-16 cursor-pointer\"\n />\n <div class=\"grow-0 px-16 mt-4\">\n <rxap-release-info></rxap-release-info>\n </div>\n </ng-template>\n</rxap-sidenav>\n<rxap-footer class=\"z-10 w-full fixed bottom-0\"></rxap-footer>\n", styles: [":host .collapsable:not(.mat-drawer-opened){transform:translate(calc(-100% + 64px))!important;visibility:visible!important;box-shadow:inherit!important;transition-property:transform;transition-delay:.25s;display:flex;border-right:solid 1px rgba(0,0,0,.12)}:host .collapsable ::ng-deep .mat-drawer-inner-container::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "rxap-header", inputs: ["color"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: FooterComponent, selector: "rxap-footer" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: SidenavComponent, selector: "rxap-sidenav" }, { kind: "component", type: ReleaseInfoComponent, selector: "rxap-release-info" }, { kind: "directive", type: SidenavFooterDirective, selector: "[rxapSidenavFooter]" }, { kind: "component", type: NavigationProgressBarComponent, selector: "rxap-navigation-progress-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
48
  }
60
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LayoutComponent, decorators: [{
61
50
  type: Component,
@@ -72,15 +61,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
72
61
  NgOptimizedImage,
73
62
  NavigationComponent,
74
63
  RouterOutlet,
75
- StatusIndicatorComponent,
76
64
  NgStyle,
77
65
  NgClass,
78
- ], template: "<rxap-status-indicator class=\"fixed bottom-0 right-0 z-10\"></rxap-status-indicator>\n<div class=\"flex flex-col h-screen justify-between\">\n <rxap-header class=\"z-10 w-full fixed top-0\"></rxap-header>\n <mat-sidenav-container [ngStyle]=\"{\n 'margin-top.px': fixedTopGap(),\n 'margin-bottom.px': fixedBottomGap(),\n }\" class=\"grow\">\n <mat-sidenav\n #matSidenav=\"matSidenav\"\n [fixedBottomGap]=\"fixedBottomGap()\"\n [fixedInViewport]=\"true\"\n [fixedTopGap]=\"fixedTopGap()\"\n [mode]=\"sidenavMode()\"\n [ngClass]=\"{ collapsable: collapsable() }\"\n class=\"sidenav\"\n [opened]=\"opened()\"\n >\n <div (mouseleave)=\"collapsable() && !pinned() && matSidenav.close()\"\n class=\"h-full py-2 flex flex-col items-center gap-y-5 justify-items-stretch\">\n\n <div (click)=\"layoutComponentService.togglePinned()\" *ngIf=\"collapsable()\"\n class=\"pl-2 self-stretch grow-0 flex flex-row justify-between items-center\">\n <span class=\"text-lg\" i18n>Navigation</span>\n <div class=\"flex flex-row items-center justify-center\" style=\"width: 64px\">\n <button mat-icon-button>\n <mat-icon *ngIf=\"!pinned()\">radio_button_unchecked</mat-icon>\n <mat-icon *ngIf=\"pinned()\">radio_button_checked</mat-icon>\n </button>\n </div>\n </div>\n\n <ul\n (mouseenter)=\"collapsable() && !pinned() && matSidenav.open()\"\n class=\"grow self-stretch\"\n root\n rxap-navigation\n >\n </ul>\n\n <img\n [src]=\"logoSrc\"\n [routerLink]=\"['/']\"\n [width]=\"logoWidth\"\n alt=\"logo\"\n class=\"grow-0 mx-16\"\n />\n <div class=\"grow-0 px-16\">\n <span>{{release}}</span>\n </div>\n </div>\n </mat-sidenav>\n <mat-sidenav-content [ngClass]=\"{ 'ml-16': collapsable() }\" class=\"p-4\">\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n </mat-sidenav-container>\n <rxap-footer class=\"z-10 w-full fixed bottom-0\"></rxap-footer>\n</div>\n<!--<rxap-window-task-bar-container></rxap-window-task-bar-container>-->\n", styles: [":host .sidenav.collapsable:not(.mat-drawer-opened){transform:translate(calc(-100% + 64px))!important;visibility:visible!important;box-shadow:inherit!important;transition-property:transform;transition-delay:.25s;display:flex;border-right:solid 1px rgba(0,0,0,.12)}:host .sidenav.collapsable ::ng-deep .mat-drawer-inner-container::-webkit-scrollbar{display:none}\n"] }]
79
- }], ctorParameters: () => [{ type: i1.LayoutComponentService }, { type: undefined, decorators: [{
80
- type: Inject,
81
- args: [RXAP_ENVIRONMENT]
82
- }] }, { type: i2.IconLoaderService }], propDecorators: { sidenav: [{
83
- type: ViewChild,
84
- args: [MatSidenav, { static: true }]
85
- }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvbGF5b3V0L2xheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL2xheW91dC9sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsSUFBSSxFQUNKLGdCQUFnQixFQUNoQixPQUFPLEdBQ1IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUlOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBRUwsVUFBVSxFQUNWLGdCQUFnQixHQUNqQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCxVQUFVLEVBQ1YsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLG9CQUFvQixFQUVwQixnQkFBZ0IsR0FDakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxjQUFjLEVBQ2QsWUFBWSxFQUNaLHdCQUF3QixH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Q1YsSUFBSSw2RkFDSixlQUFlLHVEQUNmLGFBQWEsK0JBRWIsbUJBQW1CLG9HQUNuQixZQUFZLDJKQUNaLHdCQUF3QixrRUFDeEIsT0FBTywyRUFDUCxPQUFPOzsyRkFHRSxlQUFlO2tCQXhCM0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixVQUFVO3dCQUNWLElBQUk7d0JBQ0osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLHdCQUF3Qjt3QkFDeEIsT0FBTzt3QkFDUCxPQUFPO3FCQUNSOzswQkFxQkUsTUFBTTsyQkFBQyxnQkFBZ0I7eUVBUHNCLE9BQU87c0JBQXRELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFzeW5jUGlwZSxcbiAgTmdDbGFzcyxcbiAgTmdJZixcbiAgTmdPcHRpbWl6ZWRJbWFnZSxcbiAgTmdTdHlsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2lnbmFsLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7XG4gIE1hdERyYXdlck1vZGUsXG4gIE1hdFNpZGVuYXYsXG4gIE1hdFNpZGVuYXZNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtcbiAgUm91dGVyTGluayxcbiAgUm91dGVyT3V0bGV0LFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgRGV0ZXJtaW5lUmVsZWFzZU5hbWUsXG4gIEVudmlyb25tZW50LFxuICBSWEFQX0VOVklST05NRU5ULFxufSBmcm9tICdAcnhhcC9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBJY29uTG9hZGVyU2VydmljZSB9IGZyb20gJ0ByeGFwL2ljb24nO1xuaW1wb3J0IHsgU3RhdHVzSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnQHJ4YXAvbmd4LXN0YXR1cy1jaGVjayc7XG5pbXBvcnQgeyBUaGVtZVNlcnZpY2UgfSBmcm9tICdAcnhhcC9uZ3gtdGhlbWUnO1xuaW1wb3J0IHtcbiAgSXNUaGVtZURlbnNpdHksXG4gIFRoZW1lRGVuc2l0eSxcbiAgVXNlclNldHRpbmdzVGhlbWVTZXJ2aWNlLFxufSBmcm9tICdAcnhhcC9uZ3gtdXNlcic7XG5pbXBvcnQgeyBGb290ZXJDb21wb25lbnQgfSBmcm9tICcuLi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXRDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi9sYXlvdXQuY29tcG9uZW50LnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3J4YXAtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9sYXlvdXQuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgSGVhZGVyQ29tcG9uZW50LFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIFJvdXRlckxpbmssXG4gICAgTmdJZixcbiAgICBGb290ZXJDb21wb25lbnQsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBOZ09wdGltaXplZEltYWdlLFxuICAgIE5hdmlnYXRpb25Db21wb25lbnQsXG4gICAgUm91dGVyT3V0bGV0LFxuICAgIFN0YXR1c0luZGljYXRvckNvbXBvbmVudCxcbiAgICBOZ1N0eWxlLFxuICAgIE5nQ2xhc3MsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2lkZW5hdk1vZGU6IFNpZ25hbDxNYXREcmF3ZXJNb2RlPjtcbiAgcHVibGljIHJlYWRvbmx5IGZpeGVkQm90dG9tR2FwOiBTaWduYWw8bnVtYmVyPjtcbiAgcHVibGljIHJlYWRvbmx5IGZpeGVkVG9wR2FwOiBTaWduYWw8bnVtYmVyPjtcbiAgcHVibGljIHJlYWRvbmx5IHBpbm5lZDogU2lnbmFsPGJvb2xlYW4+O1xuICBwdWJsaWMgcmVhZG9ubHkgY29sbGFwc2FibGU6IFNpZ25hbDxib29sZWFuPjtcbiAgcHVibGljIHJlYWRvbmx5IGxvZ29TcmM6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGxvZ29XaWR0aDogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVsZWFzZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlbmVkOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgc2lkZW5hdiE6IE1hdFNpZGVuYXY7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1c2VyU2V0dGluZ3NUaGVtZVNlcnZpY2UgPSBpbmplY3QoVXNlclNldHRpbmdzVGhlbWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0aGVtZVNlcnZpY2UgPSBpbmplY3QoVGhlbWVTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0Q29tcG9uZW50U2VydmljZTogTGF5b3V0Q29tcG9uZW50U2VydmljZSxcbiAgICBASW5qZWN0KFJYQVBfRU5WSVJPTk1FTlQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gICAgaWNvbkxvYWRlclNlcnZpY2U6IEljb25Mb2FkZXJTZXJ2aWNlLFxuICApIHtcbiAgICBpY29uTG9hZGVyU2VydmljZS5sb2FkKCk7XG4gICAgdGhpcy5maXhlZEJvdHRvbUdhcCA9IGxheW91dENvbXBvbmVudFNlcnZpY2UuZml4ZWRCb3R0b21HYXA7XG4gICAgdGhpcy5maXhlZFRvcEdhcCA9IGxheW91dENvbXBvbmVudFNlcnZpY2UuZml4ZWRUb3BHYXA7XG4gICAgdGhpcy5waW5uZWQgPSBsYXlvdXRDb21wb25lbnRTZXJ2aWNlLnBpbm5lZDtcbiAgICB0aGlzLmNvbGxhcHNhYmxlID0gbGF5b3V0Q29tcG9uZW50U2VydmljZS5jb2xsYXBzYWJsZTtcbiAgICB0aGlzLm9wZW5lZCA9IGxheW91dENvbXBvbmVudFNlcnZpY2Uub3BlbmVkO1xuICAgIHRoaXMuc2lkZW5hdk1vZGUgPSBsYXlvdXRDb21wb25lbnRTZXJ2aWNlLm1vZGU7XG4gICAgdGhpcy5sb2dvU3JjID0gdGhpcy5sYXlvdXRDb21wb25lbnRTZXJ2aWNlLmxvZ28uc3JjID8/ICdodHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vMjU2eDEyOHB4JztcbiAgICB0aGlzLmxvZ29XaWR0aCA9IHRoaXMubGF5b3V0Q29tcG9uZW50U2VydmljZS5sb2dvLndpZHRoID8/IDI1NjtcbiAgICB0aGlzLnJlbGVhc2UgPSBEZXRlcm1pbmVSZWxlYXNlTmFtZSh0aGlzLmVudmlyb25tZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudXNlclNldHRpbmdzVGhlbWVTZXJ2aWNlLnN0b3BTeW5jKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVzZXJTZXR0aW5nc1RoZW1lU2VydmljZS5zdGFydFN5bmMoKTtcbiAgICB0aGlzLnVzZXJTZXR0aW5nc1RoZW1lU2VydmljZS5nZXQoKS50aGVuKHRoZW1lID0+IHtcbiAgICAgIGlmICh0aGVtZS5wcmVzZXQgJiYgdGhlbWUucHJlc2V0ICE9PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgdGhpcy50aGVtZVNlcnZpY2Uuc2V0VGhlbWUodGhlbWUucHJlc2V0LCB0cnVlKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGVtZS5kZW5zaXR5ICYmIElzVGhlbWVEZW5zaXR5KHRoZW1lLmRlbnNpdHkpICYmIHRoZW1lLmRlbnNpdHkgIT09IFRoZW1lRGVuc2l0eS5Ob3JtYWwpIHtcbiAgICAgICAgdGhpcy50aGVtZVNlcnZpY2Uuc2V0RGVuc2l0eSh0aGVtZS5kZW5zaXR5LCB0cnVlKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGVtZS50eXBvZ3JhcGh5ICYmIHRoZW1lLnR5cG9ncmFwaHkgIT09ICdkZWZhdWx0Jykge1xuICAgICAgICB0aGlzLnRoZW1lU2VydmljZS5zZXRUeXBvZ3JhcGh5KHRoZW1lLnR5cG9ncmFwaHksIHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxyeGFwLXN0YXR1cy1pbmRpY2F0b3IgY2xhc3M9XCJmaXhlZCBib3R0b20tMCByaWdodC0wIHotMTBcIj48L3J4YXAtc3RhdHVzLWluZGljYXRvcj5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtc2NyZWVuIGp1c3RpZnktYmV0d2VlblwiPlxuICA8cnhhcC1oZWFkZXIgY2xhc3M9XCJ6LTEwIHctZnVsbCBmaXhlZCB0b3AtMFwiPjwvcnhhcC1oZWFkZXI+XG4gIDxtYXQtc2lkZW5hdi1jb250YWluZXIgW25nU3R5bGVdPVwie1xuICAgICdtYXJnaW4tdG9wLnB4JzogZml4ZWRUb3BHYXAoKSxcbiAgICAnbWFyZ2luLWJvdHRvbS5weCc6IGZpeGVkQm90dG9tR2FwKCksXG4gIH1cIiBjbGFzcz1cImdyb3dcIj5cbiAgICA8bWF0LXNpZGVuYXZcbiAgICAgICNtYXRTaWRlbmF2PVwibWF0U2lkZW5hdlwiXG4gICAgICBbZml4ZWRCb3R0b21HYXBdPVwiZml4ZWRCb3R0b21HYXAoKVwiXG4gICAgICBbZml4ZWRJblZpZXdwb3J0XT1cInRydWVcIlxuICAgICAgW2ZpeGVkVG9wR2FwXT1cImZpeGVkVG9wR2FwKClcIlxuICAgICAgW21vZGVdPVwic2lkZW5hdk1vZGUoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7IGNvbGxhcHNhYmxlOiBjb2xsYXBzYWJsZSgpIH1cIlxuICAgICAgY2xhc3M9XCJzaWRlbmF2XCJcbiAgICAgIFtvcGVuZWRdPVwib3BlbmVkKClcIlxuICAgID5cbiAgICAgIDxkaXYgKG1vdXNlbGVhdmUpPVwiY29sbGFwc2FibGUoKSAmJiAhcGlubmVkKCkgJiYgbWF0U2lkZW5hdi5jbG9zZSgpXCJcbiAgICAgICAgICAgY2xhc3M9XCJoLWZ1bGwgcHktMiBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAteS01IGp1c3RpZnktaXRlbXMtc3RyZXRjaFwiPlxuXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImxheW91dENvbXBvbmVudFNlcnZpY2UudG9nZ2xlUGlubmVkKClcIiAqbmdJZj1cImNvbGxhcHNhYmxlKClcIlxuICAgICAgICAgICAgIGNsYXNzPVwicGwtMiBzZWxmLXN0cmV0Y2ggZ3Jvdy0wIGZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZ1wiIGkxOG4+TmF2aWdhdGlvbjwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIiBzdHlsZT1cIndpZHRoOiA2NHB4XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIXBpbm5lZCgpXCI+cmFkaW9fYnV0dG9uX3VuY2hlY2tlZDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInBpbm5lZCgpXCI+cmFkaW9fYnV0dG9uX2NoZWNrZWQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDx1bFxuICAgICAgICAgIChtb3VzZWVudGVyKT1cImNvbGxhcHNhYmxlKCkgJiYgIXBpbm5lZCgpICYmIG1hdFNpZGVuYXYub3BlbigpXCJcbiAgICAgICAgICBjbGFzcz1cImdyb3cgc2VsZi1zdHJldGNoXCJcbiAgICAgICAgICByb290XG4gICAgICAgICAgcnhhcC1uYXZpZ2F0aW9uXG4gICAgICAgID5cbiAgICAgICAgPC91bD5cblxuICAgICAgICA8aW1nXG4gICAgICAgICAgW3NyY109XCJsb2dvU3JjXCJcbiAgICAgICAgICBbcm91dGVyTGlua109XCJbJy8nXVwiXG4gICAgICAgICAgW3dpZHRoXT1cImxvZ29XaWR0aFwiXG4gICAgICAgICAgYWx0PVwibG9nb1wiXG4gICAgICAgICAgY2xhc3M9XCJncm93LTAgbXgtMTZcIlxuICAgICAgICAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3Jvdy0wIHB4LTE2XCI+XG4gICAgICAgICAgPHNwYW4+e3tyZWxlYXNlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtc2lkZW5hdj5cbiAgICA8bWF0LXNpZGVuYXYtY29udGVudCBbbmdDbGFzc109XCJ7ICdtbC0xNic6IGNvbGxhcHNhYmxlKCkgfVwiIGNsYXNzPVwicC00XCI+XG4gICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuICA8L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cbiAgPHJ4YXAtZm9vdGVyIGNsYXNzPVwiei0xMCB3LWZ1bGwgZml4ZWQgYm90dG9tLTBcIj48L3J4YXAtZm9vdGVyPlxuPC9kaXY+XG48IS0tPHJ4YXAtd2luZG93LXRhc2stYmFyLWNvbnRhaW5lcj48L3J4YXAtd2luZG93LXRhc2stYmFyLWNvbnRhaW5lcj4tLT5cbiJdfQ==
66
+ SidenavComponent,
67
+ ReleaseInfoComponent,
68
+ SidenavFooterDirective,
69
+ NavigationProgressBarComponent,
70
+ ], template: "<rxap-header class=\"z-10 w-full fixed top-0\"></rxap-header>\n<rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n<rxap-sidenav>\n <router-outlet></router-outlet>\n <ng-template rxapSidenavFooter>\n <img\n [src]=\"logoSrc()\"\n [routerLink]=\"['/']\"\n [width]=\"logoWidth()\"\n [height]=\"logoHeight()\"\n alt=\"logo\"\n class=\"grow-0 mx-16 cursor-pointer\"\n />\n <div class=\"grow-0 px-16 mt-4\">\n <rxap-release-info></rxap-release-info>\n </div>\n </ng-template>\n</rxap-sidenav>\n<rxap-footer class=\"z-10 w-full fixed bottom-0\"></rxap-footer>\n", styles: [":host .collapsable:not(.mat-drawer-opened){transform:translate(calc(-100% + 64px))!important;visibility:visible!important;box-shadow:inherit!important;transition-property:transform;transition-delay:.25s;display:flex;border-right:solid 1px rgba(0,0,0,.12)}:host .collapsable ::ng-deep .mat-drawer-inner-container::-webkit-scrollbar{display:none}\n"] }]
71
+ }] });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvbGF5b3V0L2xheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL2xheW91dC9sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsSUFBSSxFQUNKLGdCQUFnQixFQUNoQixPQUFPLEdBQ1IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxHQUlQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFDTCxVQUFVLEVBQ1YsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxjQUFjLEVBQ2QsWUFBWSxFQUNaLHdCQUF3QixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDOUcsT0FBTyxFQUFF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UCxnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0Qiw4QkFBOEI7cUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBOZ0NsYXNzLFxuICBOZ0lmLFxuICBOZ09wdGltaXplZEltYWdlLFxuICBOZ1N0eWxlLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtcbiAgUm91dGVyTGluayxcbiAgUm91dGVyT3V0bGV0LFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHJ4YXAvbmd4LXRoZW1lJztcbmltcG9ydCB7XG4gIElzVGhlbWVEZW5zaXR5LFxuICBUaGVtZURlbnNpdHksXG4gIFVzZXJTZXR0aW5nc1RoZW1lU2VydmljZSxcbn0gZnJvbSAnQHJ4YXAvbmd4LXVzZXInO1xuaW1wb3J0IHsgRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IExvZ29TZXJ2aWNlIH0gZnJvbSAnLi4vbG9nby5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFJlbGVhc2VJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVsZWFzZS1pbmZvL3JlbGVhc2UtaW5mby5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZW5hdkZvb3RlckRpcmVjdGl2ZSB9IGZyb20gJy4uL3NpZGVuYXYvc2lkZW5hdi1mb290ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNpZGVuYXZDb21wb25lbnQgfSBmcm9tICcuLi9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyeGFwLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vbGF5b3V0LmNvbXBvbmVudC5zY3NzJyBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEhlYWRlckNvbXBvbmVudCxcbiAgICBNYXRTaWRlbmF2TW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE5nSWYsXG4gICAgRm9vdGVyQ29tcG9uZW50LFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTmdPcHRpbWl6ZWRJbWFnZSxcbiAgICBOYXZpZ2F0aW9uQ29tcG9uZW50LFxuICAgIFJvdXRlck91dGxldCxcbiAgICBOZ1N0eWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgU2lkZW5hdkNvbXBvbmVudCxcbiAgICBSZWxlYXNlSW5mb0NvbXBvbmVudCxcbiAgICBTaWRlbmF2Rm9vdGVyRGlyZWN0aXZlLFxuICAgIE5hdmlnYXRpb25Qcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlclNldHRpbmdzVGhlbWVTZXJ2aWNlID0gaW5qZWN0KFVzZXJTZXR0aW5nc1RoZW1lU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGhlbWVTZXJ2aWNlID0gaW5qZWN0KFRoZW1lU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nb1NlcnZpY2UgPSBpbmplY3QoTG9nb1NlcnZpY2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nb1NyYzogU2lnbmFsPHN0cmluZz4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvZ29TZXJ2aWNlLnNyYygpKTtcbiAgcHVibGljIHJlYWRvbmx5IGxvZ29XaWR0aDogU2lnbmFsPG51bWJlcj4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvZ29TZXJ2aWNlLndpZHRoKCkpO1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nb0hlaWdodDogU2lnbmFsPG51bWJlcj4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvZ29TZXJ2aWNlLmhlaWdodCgpKTtcblxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudXNlclNldHRpbmdzVGhlbWVTZXJ2aWNlLnN0b3BTeW5jKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVzZXJTZXR0aW5nc1RoZW1lU2VydmljZS5zdGFydFN5bmMoKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMudXNlclNldHRpbmdzVGhlbWVTZXJ2aWNlLmdldCgpLnRoZW4odGhlbWUgPT4ge1xuICAgICAgICBpZiAodGhlbWUucHJlc2V0ICYmIHRoZW1lLnByZXNldCAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgICAgdGhpcy50aGVtZVNlcnZpY2Uuc2V0VGhlbWUodGhlbWUucHJlc2V0LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhlbWUuZGVuc2l0eSAmJiBJc1RoZW1lRGVuc2l0eSh0aGVtZS5kZW5zaXR5KSAmJiB0aGVtZS5kZW5zaXR5ICE9PSBUaGVtZURlbnNpdHkuTm9ybWFsKSB7XG4gICAgICAgICAgdGhpcy50aGVtZVNlcnZpY2Uuc2V0RGVuc2l0eSh0aGVtZS5kZW5zaXR5LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhlbWUudHlwb2dyYXBoeSAmJiB0aGVtZS50eXBvZ3JhcGh5ICE9PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgICB0aGlzLnRoZW1lU2VydmljZS5zZXRUeXBvZ3JhcGh5KHRoZW1lLnR5cG9ncmFwaHksIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8cnhhcC1oZWFkZXIgY2xhc3M9XCJ6LTEwIHctZnVsbCBmaXhlZCB0b3AtMFwiPjwvcnhhcC1oZWFkZXI+XG48cnhhcC1uYXZpZ2F0aW9uLXByb2dyZXNzLWJhcj48L3J4YXAtbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXI+XG48cnhhcC1zaWRlbmF2PlxuICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gIDxuZy10ZW1wbGF0ZSByeGFwU2lkZW5hdkZvb3Rlcj5cbiAgICA8aW1nXG4gICAgICBbc3JjXT1cImxvZ29TcmMoKVwiXG4gICAgICBbcm91dGVyTGlua109XCJbJy8nXVwiXG4gICAgICBbd2lkdGhdPVwibG9nb1dpZHRoKClcIlxuICAgICAgW2hlaWdodF09XCJsb2dvSGVpZ2h0KClcIlxuICAgICAgYWx0PVwibG9nb1wiXG4gICAgICBjbGFzcz1cImdyb3ctMCBteC0xNiBjdXJzb3ItcG9pbnRlclwiXG4gICAgLz5cbiAgICA8ZGl2IGNsYXNzPVwiZ3Jvdy0wIHB4LTE2IG10LTRcIj5cbiAgICAgIDxyeGFwLXJlbGVhc2UtaW5mbz48L3J4YXAtcmVsZWFzZS1pbmZvPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9yeGFwLXNpZGVuYXY+XG48cnhhcC1mb290ZXIgY2xhc3M9XCJ6LTEwIHctZnVsbCBmaXhlZCBib3R0b20tMFwiPjwvcnhhcC1mb290ZXI+XG4iXX0=
@@ -0,0 +1,93 @@
1
+ import { MediaMatcher } from '@angular/cdk/layout';
2
+ import { computed, effect, inject, Injectable, isDevMode, signal, } from '@angular/core';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
+ import { ConfigService } from '@rxap/config';
5
+ import { ObserveCurrentThemeDensity } from '@rxap/ngx-theme';
6
+ import { Observable } from 'rxjs';
7
+ import { FooterService } from './footer.service';
8
+ import { HeaderService } from './header.service';
9
+ import * as i0 from "@angular/core";
10
+ export class LayoutService {
11
+ constructor() {
12
+ this.currentThemeDensity = toSignal(ObserveCurrentThemeDensity());
13
+ this.footerService = inject(FooterService);
14
+ this.headerService = inject(HeaderService);
15
+ this.config = inject(ConfigService);
16
+ this.mediaMatcher = inject(MediaMatcher);
17
+ const mobileQuery = this.mediaMatcher.matchMedia('(max-width: 959px)');
18
+ this.isMobile = toSignal(new Observable(subscriber => {
19
+ mobileQuery.addEventListener('change', (event) => {
20
+ subscriber.next(event.matches);
21
+ });
22
+ }), { initialValue: mobileQuery.matches });
23
+ const initialCollapsable = this.config.get('navigation.collapsable', true);
24
+ const collapsable = initialCollapsable && !this.isMobile();
25
+ const pinned = this.config.get('navigation.pinned', false);
26
+ const mode = this.config.get('navigation.mode', pinned || !collapsable ? 'side' : 'over');
27
+ const opened = this.config.get('navigation.opened', (!collapsable || pinned) && !this.isMobile());
28
+ const fixedInViewport = this.config.get('navigation.fixedInViewport', true);
29
+ if (isDevMode()) {
30
+ console.log({
31
+ initialCollapsable,
32
+ collapsable,
33
+ pinned,
34
+ mode,
35
+ opened,
36
+ fixedInViewport,
37
+ });
38
+ }
39
+ this.opened = signal(opened);
40
+ this.mode = signal(mode);
41
+ this.pinned = signal(pinned);
42
+ this.collapsable = signal(collapsable);
43
+ this.fixedInViewport = signal(fixedInViewport);
44
+ this.collapsed = computed(() => this.collapsable() && !this.opened() && !this.pinned());
45
+ this.fixedBottomGap = computed(() => {
46
+ const footerPortalCount = this.footerService.portalCount();
47
+ const currentThemeDensity = this.currentThemeDensity() ?? 0;
48
+ return footerPortalCount * (currentThemeDensity * 4 + 64);
49
+ });
50
+ this.fixedTopGap = computed(() => {
51
+ const headerPortalCount = this.headerService.portalCount();
52
+ const currentThemeDensity = this.currentThemeDensity() ?? 0;
53
+ return headerPortalCount * (currentThemeDensity * 4 + 64);
54
+ });
55
+ if (initialCollapsable) {
56
+ effect(() => {
57
+ const isMobile = this.isMobile();
58
+ this.collapsable.set(!isMobile);
59
+ if (!isMobile && !this.pinned()) {
60
+ this.opened.set(false);
61
+ }
62
+ }, { allowSignalWrites: true });
63
+ }
64
+ effect(() => {
65
+ if (this.pinned()) {
66
+ this.mode.set('side');
67
+ this.opened.set(true);
68
+ }
69
+ else {
70
+ this.mode.set('over');
71
+ this.opened.set(false);
72
+ }
73
+ }, { allowSignalWrites: true });
74
+ }
75
+ toggleOpened() {
76
+ this.opened.update(opened => !opened);
77
+ }
78
+ togglePinned() {
79
+ this.pinned.update(pinned => !pinned);
80
+ }
81
+ openSidenav() {
82
+ this.opened.set(true);
83
+ }
84
+ closeSidenav() {
85
+ this.opened.set(false);
86
+ }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
88
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LayoutService }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LayoutService, decorators: [{
91
+ type: Injectable
92
+ }], ctorParameters: () => [] });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL2xheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUdqRCxNQUFNLE9BQU8sYUFBYTtJQWtCeEI7UUFWZ0Isd0JBQW1CLEdBQUcsUUFBUSxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQztRQUs1RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBR25ELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMs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QUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OEdBakdVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lZGlhTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBpc0Rldk1vZGUsXG4gIHNpZ25hbCxcbiAgU2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE1hdERyYXdlck1vZGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcnhhcC9jb25maWcnO1xuaW1wb3J0IHsgT2JzZXJ2ZUN1cnJlbnRUaGVtZURlbnNpdHkgfSBmcm9tICdAcnhhcC9uZ3gtdGhlbWUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9vdGVyU2VydmljZSB9IGZyb20gJy4vZm9vdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4vaGVhZGVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGF5b3V0U2VydmljZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9wZW5lZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG4gIHB1YmxpYyByZWFkb25seSBtb2RlOiBXcml0YWJsZVNpZ25hbDxNYXREcmF3ZXJNb2RlPjtcbiAgcHVibGljIHJlYWRvbmx5IHBpbm5lZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG4gIHB1YmxpYyByZWFkb25seSBjb2xsYXBzYWJsZTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG4gIHB1YmxpYyByZWFkb25seSBmaXhlZEJvdHRvbUdhcDogU2lnbmFsPG51bWJlcj47XG4gIHB1YmxpYyByZWFkb25seSBmaXhlZFRvcEdhcDogU2lnbmFsPG51bWJlcj47XG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50VGhlbWVEZW5zaXR5ID0gdG9TaWduYWwoT2JzZXJ2ZUN1cnJlbnRUaGVtZURlbnNpdHkoKSk7XG4gIHB1YmxpYyByZWFkb25seSBpc01vYmlsZTogU2lnbmFsPGJvb2xlYW4+O1xuICBwdWJsaWMgcmVhZG9ubHkgZml4ZWRJblZpZXdwb3J0OiBXcml0YWJsZVNpZ25hbDxib29sZWFuPjtcbiAgcHVibGljIHJlYWRvbmx5IGNvbGxhcHNlZDogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZm9vdGVyU2VydmljZSA9IGluamVjdChGb290ZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJTZXJ2aWNlID0gaW5qZWN0KEhlYWRlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBtZWRpYU1hdGNoZXIgPSBpbmplY3QoTWVkaWFNYXRjaGVyKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBtb2JpbGVRdWVyeSA9IHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDk1OXB4KScpO1xuICAgIHRoaXMuaXNNb2JpbGUgPSB0b1NpZ25hbChuZXcgT2JzZXJ2YWJsZTxib29sZWFuPihzdWJzY3JpYmVyID0+IHtcbiAgICAgIG1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChldmVudCkgPT4ge1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQoZXZlbnQubWF0Y2hlcyk7XG4gICAgICB9KTtcbiAgICB9KSwgeyBpbml0aWFsVmFsdWU6IG1vYmlsZVF1ZXJ5Lm1hdGNoZXMgfSk7XG5cbiAgICBjb25zdCBpbml0aWFsQ29sbGFwc2FibGUgPSB0aGlzLmNvbmZpZy5nZXQoJ25hdmlnYXRpb24uY29sbGFwc2FibGUnLCB0cnVlKTtcbiAgICBjb25zdCBjb2xsYXBzYWJsZSA9IGluaXRpYWxDb2xsYXBzYWJsZSAmJiAhdGhpcy5pc01vYmlsZSgpO1xuICAgIGNvbnN0IHBpbm5lZCA9IHRoaXMuY29uZmlnLmdldCgnbmF2aWdhdGlvbi5waW5uZWQnLCBmYWxzZSk7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMuY29uZmlnLmdldCgnbmF2aWdhdGlvbi5tb2RlJywgcGlubmVkIHx8ICFjb2xsYXBzYWJsZSA/ICdzaWRlJyA6ICdvdmVyJyk7XG4gICAgY29uc3Qgb3BlbmVkID0gdGhpcy5jb25maWcuZ2V0KCduYXZpZ2F0aW9uLm9wZW5lZCcsICghY29sbGFwc2FibGUgfHwgcGlubmVkKSAmJiAhdGhpcy5pc01vYmlsZSgpKTtcbiAgICBjb25zdCBmaXhlZEluVmlld3BvcnQgPSB0aGlzLmNvbmZpZy5nZXQoJ25hdmlnYXRpb24uZml4ZWRJblZpZXdwb3J0JywgdHJ1ZSk7XG5cbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKHtcbiAgICAgICAgaW5pdGlhbENvbGxhcHNhYmxlLFxuICAgICAgICBjb2xsYXBzYWJsZSxcbiAgICAgICAgcGlubmVkLFxuICAgICAgICBtb2RlLFxuICAgICAgICBvcGVuZWQsXG4gICAgICAgIGZpeGVkSW5WaWV3cG9ydCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gc2lnbmFsKG9wZW5lZCk7XG4gICAgdGhpcy5tb2RlID0gc2lnbmFsKG1vZGUpO1xuICAgIHRoaXMucGlubmVkID0gc2lnbmFsKHBpbm5lZCk7XG4gICAgdGhpcy5jb2xsYXBzYWJsZSA9IHNpZ25hbChjb2xsYXBzYWJsZSk7XG4gICAgdGhpcy5maXhlZEluVmlld3BvcnQgPSBzaWduYWwoZml4ZWRJblZpZXdwb3J0KTtcbiAgICB0aGlzLmNvbGxhcHNlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29sbGFwc2FibGUoKSAmJiAhdGhpcy5vcGVuZWQoKSAmJiAhdGhpcy5waW5uZWQoKSk7XG5cbiAgICB0aGlzLmZpeGVkQm90dG9tR2FwID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgZm9vdGVyUG9ydGFsQ291bnQgPSB0aGlzLmZvb3RlclNlcnZpY2UucG9ydGFsQ291bnQoKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRUaGVtZURlbnNpdHkgPSB0aGlzLmN1cnJlbnRUaGVtZURlbnNpdHkoKSA/PyAwO1xuICAgICAgcmV0dXJuIGZvb3RlclBvcnRhbENvdW50ICogKGN1cnJlbnRUaGVtZURlbnNpdHkgKiA0ICsgNjQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5maXhlZFRvcEdhcCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IGhlYWRlclBvcnRhbENvdW50ID0gdGhpcy5oZWFkZXJTZXJ2aWNlLnBvcnRhbENvdW50KCk7XG4gICAgICBjb25zdCBjdXJyZW50VGhlbWVEZW5zaXR5ID0gdGhpcy5jdXJyZW50VGhlbWVEZW5zaXR5KCkgPz8gMDtcbiAgICAgIHJldHVybiBoZWFkZXJQb3J0YWxDb3VudCAqIChjdXJyZW50VGhlbWVEZW5zaXR5ICogNCArIDY0KTtcbiAgICB9KTtcblxuICAgIGlmIChpbml0aWFsQ29sbGFwc2FibGUpIHtcbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzTW9iaWxlID0gdGhpcy5pc01vYmlsZSgpO1xuICAgICAgICB0aGlzLmNvbGxhcHNhYmxlLnNldCghaXNNb2JpbGUpO1xuICAgICAgICBpZiAoIWlzTW9iaWxlICYmICF0aGlzLnBpbm5lZCgpKSB7XG4gICAgICAgICAgdGhpcy5vcGVuZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSwgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9KTtcbiAgICB9XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnBpbm5lZCgpKSB7XG4gICAgICAgIHRoaXMubW9kZS5zZXQoJ3NpZGUnKTtcbiAgICAgICAgdGhpcy5vcGVuZWQuc2V0KHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RlLnNldCgnb3ZlcicpO1xuICAgICAgICB0aGlzLm9wZW5lZC5zZXQoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlT3BlbmVkKCkge1xuICAgIHRoaXMub3BlbmVkLnVwZGF0ZShvcGVuZWQgPT4gIW9wZW5lZCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUGlubmVkKCkge1xuICAgIHRoaXMucGlubmVkLnVwZGF0ZShwaW5uZWQgPT4gIXBpbm5lZCk7XG4gIH1cblxuICBvcGVuU2lkZW5hdigpIHtcbiAgICB0aGlzLm9wZW5lZC5zZXQodHJ1ZSk7XG4gIH1cblxuICBjbG9zZVNpZGVuYXYoKSB7XG4gICAgdGhpcy5vcGVuZWQuc2V0KGZhbHNlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { computed, inject, Injectable, signal, } from '@angular/core';
2
+ import { ConfigService } from '@rxap/config';
3
+ import { RXAP_LOGO_CONFIG } from './tokens';
4
+ import * as i0 from "@angular/core";
5
+ export class LogoService {
6
+ constructor() {
7
+ this.config = inject(ConfigService);
8
+ this.logo = signal(inject(RXAP_LOGO_CONFIG, { optional: true }) ??
9
+ this.config.get('logo', {
10
+ src: 'logo.png',
11
+ width: 192,
12
+ }));
13
+ this.src = computed(() => this.logo().src);
14
+ this.width = computed(() => this.logo().width);
15
+ this.height = computed(() => this.logo().height);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LogoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LogoService }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LogoService, decorators: [{
21
+ type: Injectable
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9sb2dvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLFdBQVc7SUFEeEI7UUFHbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoQyxTQUFJLEdBQUcsTUFBTSxDQUMzQixNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUN0QixHQUFHLEVBQUUsVUFBVTtnQkFDZixLQUFLLEVBQUUsR0FBRzthQUNYLENBQUMsQ0FDSCxDQUFDO1FBRWMsUUFBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7S0FFN0Q7OEdBZlksV0FBVztrSEFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcnhhcC9jb25maWcnO1xuaW1wb3J0IHsgUlhBUF9MT0dPX0NPTkZJRyB9IGZyb20gJy4vdG9rZW5zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZ29TZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGxvZ28gPSBzaWduYWwoXG4gICAgaW5qZWN0KFJYQVBfTE9HT19DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz9cbiAgICB0aGlzLmNvbmZpZy5nZXQoJ2xvZ28nLCB7XG4gICAgICBzcmM6ICdsb2dvLnBuZycsXG4gICAgICB3aWR0aDogMTkyLFxuICAgIH0pLFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBzcmMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvZ28oKS5zcmMpO1xuICBwdWJsaWMgcmVhZG9ubHkgd2lkdGggPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvZ28oKS53aWR0aCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWlnaHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvZ28oKS5oZWlnaHQpO1xuXG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { ChangeDetectionStrategy, Component, } from '@angular/core';
2
+ import { RouterOutlet } from '@angular/router';
3
+ import { BaseLayoutComponent } from '../base-layout/base-layout.component';
4
+ import { NavigationProgressBarComponent } from '../navigation-progress-bar/navigation-progress-bar.component';
5
+ import * as i0 from "@angular/core";
6
+ export class MinimalLayoutComponent {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: MinimalLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: MinimalLayoutComponent, isStandalone: true, selector: "rxap-minimal-layout", ngImport: i0, template: "<rxap-base-layout>\n <rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n <router-outlet></router-outlet>\n</rxap-base-layout>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: BaseLayoutComponent, selector: "rxap-base-layout" }, { kind: "component", type: NavigationProgressBarComponent, selector: "rxap-navigation-progress-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: MinimalLayoutComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'rxap-minimal-layout', standalone: true, imports: [RouterOutlet, BaseLayoutComponent, NavigationProgressBarComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<rxap-base-layout>\n <rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n <router-outlet></router-outlet>\n</rxap-base-layout>\n" }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hbC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9taW5pbWFsLWxheW91dC9taW5pbWFsLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL21pbmltYWwtbGF5b3V0L21pbmltYWwtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7QUFVOUcsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCO2tHQUF0QixzQkFBc0IsK0VDaEJuQywrSUFJQSwwRERPYSxZQUFZLDJKQUFFLG1CQUFtQiw2REFBRSw4QkFBOEI7OzJGQUtqRSxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSw4QkFBOEIsQ0FBRSxtQkFHN0QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJhc2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWxheW91dC9iYXNlLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnhhcC1taW5pbWFsLWxheW91dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFsgUm91dGVyT3V0bGV0LCBCYXNlTGF5b3V0Q29tcG9uZW50LCBOYXZpZ2F0aW9uUHJvZ3Jlc3NCYXJDb21wb25lbnQgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21pbmltYWwtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21pbmltYWwtbGF5b3V0LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1pbmltYWxMYXlvdXRDb21wb25lbnQge31cbiIsIjxyeGFwLWJhc2UtbGF5b3V0PlxuICA8cnhhcC1uYXZpZ2F0aW9uLXByb2dyZXNzLWJhcj48L3J4YXAtbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXI+XG4gIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbjwvcnhhcC1iYXNlLWxheW91dD5cbiJdfQ==