@elderbyte/ngx-starter 14.1.1 → 14.2.0
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.
- package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +29 -11
- package/esm2020/lib/components/public_api.mjs +2 -1
- package/esm2020/lib/components/shell/elder-shell.module.mjs +5 -4
- package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +51 -14
- package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +47 -22
- package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +62 -0
- package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +62 -0
- package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +72 -0
- package/esm2020/lib/components/theme/elder-theme.module.mjs +47 -0
- package/esm2020/lib/components/theme/elder-theme.service.mjs +123 -0
- package/esm2020/lib/components/theme/known-elder-themes.mjs +6 -0
- package/esm2020/lib/components/theme/public_api.mjs +2 -0
- package/esm2020/lib/components/theme/theme-spec.mjs +15 -0
- package/fesm2015/elderbyte-ngx-starter.mjs +536 -117
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +535 -117
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +10 -5
- package/lib/components/public_api.d.ts +1 -0
- package/lib/components/shell/elder-shell.module.d.ts +2 -1
- package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +33 -6
- package/lib/components/shell/shell/elder-shell.component.d.ts +16 -6
- package/lib/components/theme/elder-theme-applier.directive.d.ts +36 -0
- package/lib/components/theme/elder-theme-preference.service.d.ts +33 -0
- package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +37 -0
- package/lib/components/theme/elder-theme.module.d.ts +18 -0
- package/lib/components/theme/elder-theme.service.d.ts +51 -0
- package/lib/components/theme/known-elder-themes.d.ts +5 -0
- package/lib/components/theme/public_api.d.ts +1 -0
- package/lib/components/theme/theme-spec.d.ts +18 -0
- package/package.json +1 -1
- package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.scss +0 -0
- package/theming/_elder-scrollbar-theme.scss +1 -1
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ContentChild, Directive, Input, TemplateRef, ViewChild } from '@angular/core';
|
|
2
2
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
-
import {
|
|
3
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
|
+
import { takeUntil, tap } from 'rxjs/operators';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../elder-shell.service";
|
|
6
7
|
import * as i2 from "../drawers/elder-route-outlet-drawer.service";
|
|
7
|
-
import * as i3 from "
|
|
8
|
-
import * as i4 from "@angular/
|
|
9
|
-
import * as i5 from "@angular/
|
|
10
|
-
import * as i6 from "@angular/material/
|
|
11
|
-
import * as i7 from "@angular/material/
|
|
12
|
-
import * as i8 from "@angular/material/
|
|
13
|
-
import * as i9 from "
|
|
14
|
-
import * as i10 from "
|
|
8
|
+
import * as i3 from "../../theme/elder-theme.service";
|
|
9
|
+
import * as i4 from "@angular/common";
|
|
10
|
+
import * as i5 from "@angular/router";
|
|
11
|
+
import * as i6 from "@angular/material/sidenav";
|
|
12
|
+
import * as i7 from "@angular/material/toolbar";
|
|
13
|
+
import * as i8 from "@angular/material/icon";
|
|
14
|
+
import * as i9 from "@angular/material/button";
|
|
15
|
+
import * as i10 from "../../navigation/toolbar/toolbar/elder-toolbar.component";
|
|
16
|
+
import * as i11 from "@angular/flex-layout/flex";
|
|
17
|
+
import * as i12 from "../../theme/elder-theme-applier.directive";
|
|
15
18
|
export class ElderShellSideLeftDirective {
|
|
16
19
|
constructor(templateRef, viewContainer) {
|
|
17
20
|
this.templateRef = templateRef;
|
|
@@ -54,10 +57,11 @@ export class ElderShellComponent {
|
|
|
54
57
|
* Constructor *
|
|
55
58
|
* *
|
|
56
59
|
**************************************************************************/
|
|
57
|
-
constructor(shellService, outletDrawerService, changeDetectorRef) {
|
|
60
|
+
constructor(shellService, outletDrawerService, changeDetectorRef, themeService) {
|
|
58
61
|
this.shellService = shellService;
|
|
59
62
|
this.outletDrawerService = outletDrawerService;
|
|
60
63
|
this.changeDetectorRef = changeDetectorRef;
|
|
64
|
+
this.themeService = themeService;
|
|
61
65
|
/***************************************************************************
|
|
62
66
|
* *
|
|
63
67
|
* Fields *
|
|
@@ -66,11 +70,12 @@ export class ElderShellComponent {
|
|
|
66
70
|
this.logger = LoggerFactory.getLogger('ElderShellComponent');
|
|
67
71
|
/** Controls if the SideNav toggle should be displayed. Default: true */
|
|
68
72
|
this.sideNavToggleEnabled = true;
|
|
69
|
-
this.color = 'primary';
|
|
70
|
-
this.menuColor = 'accent';
|
|
71
73
|
this.leftSideAutoFocus = false;
|
|
72
74
|
this.rightSideAutoFocus = false;
|
|
73
75
|
this.rightSideOutletName = 'side';
|
|
76
|
+
this.destroy$ = new Subject();
|
|
77
|
+
this.color = 'primary';
|
|
78
|
+
this.menuColor$ = new BehaviorSubject('accent');
|
|
74
79
|
this.headerTemplate$ = shellService.activeSlotTemplate('header').pipe(tap(() => this.checkSoon()));
|
|
75
80
|
this.centerTemplate$ = shellService.activeSlotTemplate('center').pipe(tap(() => this.checkSoon()));
|
|
76
81
|
this.footerTemplate$ = shellService.activeSlotTemplate('footer').pipe(tap(() => this.checkSoon()));
|
|
@@ -82,10 +87,27 @@ export class ElderShellComponent {
|
|
|
82
87
|
**************************************************************************/
|
|
83
88
|
ngOnInit() {
|
|
84
89
|
this.outletDrawerService.registerOutletDrawer(this.rightSideOutletName, this.rightSideDrawer);
|
|
85
|
-
this.
|
|
90
|
+
this.outletDrawerService
|
|
91
|
+
.drawerVisibilityChange
|
|
92
|
+
.pipe(takeUntil(this.destroy$))
|
|
93
|
+
.subscribe(drawer => this.changeDetectorRef.markForCheck());
|
|
86
94
|
this.leftSideContentOpen$ = this.shellService.navigationOpenChange;
|
|
95
|
+
this.themeService.activeTheme$.pipe(takeUntil(this.destroy$)).subscribe(theme => this.adjustColorsForTheme(theme));
|
|
87
96
|
}
|
|
88
97
|
ngOnDestroy() {
|
|
98
|
+
this.destroy$.next();
|
|
99
|
+
this.destroy$.complete();
|
|
100
|
+
}
|
|
101
|
+
/***************************************************************************
|
|
102
|
+
* *
|
|
103
|
+
* Properties *
|
|
104
|
+
* *
|
|
105
|
+
**************************************************************************/
|
|
106
|
+
set menuColor(c) {
|
|
107
|
+
this.menuColor$.next(c);
|
|
108
|
+
}
|
|
109
|
+
get menuColor() {
|
|
110
|
+
return this.menuColor$.getValue();
|
|
89
111
|
}
|
|
90
112
|
/***************************************************************************
|
|
91
113
|
* *
|
|
@@ -117,6 +139,9 @@ export class ElderShellComponent {
|
|
|
117
139
|
* Private methods *
|
|
118
140
|
* *
|
|
119
141
|
**************************************************************************/
|
|
142
|
+
adjustColorsForTheme(theme) {
|
|
143
|
+
this.menuColor = theme?.dark ? 'primary' : 'accent';
|
|
144
|
+
}
|
|
120
145
|
isContained(child, id) {
|
|
121
146
|
if (child.id === id) {
|
|
122
147
|
return true;
|
|
@@ -141,16 +166,12 @@ export class ElderShellComponent {
|
|
|
141
166
|
}, 5);
|
|
142
167
|
}
|
|
143
168
|
}
|
|
144
|
-
ElderShellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderShellComponent, deps: [{ token: i1.ElderShellService }, { token: i2.ElderRouteOutletDrawerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
145
|
-
ElderShellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ElderShellComponent, selector: "elder-shell, ebs-shell", inputs: { sideNavToggleEnabled: "sideNavToggleEnabled",
|
|
169
|
+
ElderShellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderShellComponent, deps: [{ token: i1.ElderShellService }, { token: i2.ElderRouteOutletDrawerService }, { token: i0.ChangeDetectorRef }, { token: i3.ElderThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
170
|
+
ElderShellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ElderShellComponent, selector: "elder-shell, ebs-shell", inputs: { sideNavToggleEnabled: "sideNavToggleEnabled", leftSideAutoFocus: "leftSideAutoFocus", rightSideAutoFocus: "rightSideAutoFocus", color: "color", menuColor: "menuColor" }, queries: [{ propertyName: "sideContentLeft", first: true, predicate: ElderShellSideLeftDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "sideContentRight", first: true, predicate: ElderShellSideRightDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "centerContent", first: true, predicate: ElderShellCenterDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "rightSideDrawer", first: true, predicate: ["rightSideDetail"], descendants: true, static: true }], ngImport: i0, template: "\n<mat-sidenav-container\n elderThemeApplier\n style=\"height:100%; width: 100%\"\n (backdropClick)=\"onBackdropClick($event)\"\n>\n\n <!-- Left Side Nav -->\n <mat-sidenav position=\"start\"\n mode=\"over\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"leftSideAutoFocus\"\n [opened]=\"leftSideContentOpen$ | async\"\n (closed)=\"closeLeftSideContent()\">\n <div fxFill fxLayout=\"column\">\n <ng-container *ngTemplateOutlet=\"sideContentLeft || fallbackSideContentLeft;\"></ng-container>\n </div>\n </mat-sidenav>\n\n <!-- Main Content -->\n <mat-sidenav-content>\n <div fxLayout=\"column\" fxFill>\n <ng-container *ngTemplateOutlet=\"centerContent || fallbackCenterContent;\"></ng-container>\n </div>\n </mat-sidenav-content>\n\n <!-- Right Side Detail -->\n <mat-sidenav mode=\"over\" #rightSideDetail id=\"elder-right-side-detail\"\n position=\"end\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"rightSideAutoFocus\"\n [disableClose]=\"true\" (keydown.escape)=\"onEscapeRightSide($event)\">\n <div fxFill fxLayout=\"column\">\n <ng-container *ngTemplateOutlet=\"sideContentRight || fallbackSideContentRight;\"></ng-container>\n </div>\n </mat-sidenav>\n\n</mat-sidenav-container>\n\n<ng-template #fallbackSideContentLeft>\n <div fxLayout=\"column\" fxFlex>\n <p class=\"noselect\">No Left Side Content Defined!</p>\n </div>\n</ng-template>\n\n<ng-template #fallbackSideContentRight>\n <router-outlet name=\"side\" class=\"router-flex\"></router-outlet>\n</ng-template>\n\n<ng-template #fallbackCenterContent>\n <div fxLayout=\"column\" fxFill>\n\n <!-- Header -->\n <ng-container *ngTemplateOutlet=\"(headerTemplate$ | async) || defaultHeaderTemplate\"></ng-container>\n\n <!-- Center -->\n <ng-container *ngTemplateOutlet=\"(centerTemplate$ | async) || defaultCenterTemplate\"></ng-container>\n\n <!-- Footer -->\n <ng-container *ngTemplateOutlet=\"(footerTemplate$ | async) || defaultFooterTemplate\"></ng-container>\n\n </div>\n</ng-template>\n\n\n<ng-template #defaultHeaderTemplate>\n\n <elder-toolbar [color]=\"color\">\n\n <!-- Toolbar Prefix: Sidenav Toggle -->\n <mat-toolbar *ngIf=\"sideNavToggleEnabled\" fxFlex=\"0\"\n fxLayout=\"row\" fxLayoutAlign=\"center center\"\n [color]=\"menuColor$ | async\">\n <button mat-icon-button type=\"button\" (click)=\"toggleSideNav()\">\n <mat-icon>menu</mat-icon>\n </button>\n </mat-toolbar>\n\n </elder-toolbar>\n\n</ng-template>\n\n<ng-template #defaultCenterTemplate>\n\n <!-- Primary Router Outlet -->\n <router-outlet class=\"router-flex\"></router-outlet>\n\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <!-- Default Footer is empty -->\n</ng-template>\n", styles: ["mat-sidenav{margin:0;height:100%;overflow:hidden}mat-sidenav-container{margin:0;width:100%;height:100%;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i6.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.ElderToolbarComponent, selector: "elder-toolbar, ebs-toolbar", inputs: ["color"] }, { kind: "directive", type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i11.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i12.ElderThemeApplierDirective, selector: "[elderThemeApplier]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
146
171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderShellComponent, decorators: [{
|
|
147
172
|
type: Component,
|
|
148
|
-
args: [{ selector: 'elder-shell, ebs-shell', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<mat-sidenav-container
|
|
149
|
-
}], ctorParameters: function () { return [{ type: i1.ElderShellService }, { type: i2.ElderRouteOutletDrawerService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { sideNavToggleEnabled: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], color: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], menuColor: [{
|
|
173
|
+
args: [{ selector: 'elder-shell, ebs-shell', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<mat-sidenav-container\n elderThemeApplier\n style=\"height:100%; width: 100%\"\n (backdropClick)=\"onBackdropClick($event)\"\n>\n\n <!-- Left Side Nav -->\n <mat-sidenav position=\"start\"\n mode=\"over\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"leftSideAutoFocus\"\n [opened]=\"leftSideContentOpen$ | async\"\n (closed)=\"closeLeftSideContent()\">\n <div fxFill fxLayout=\"column\">\n <ng-container *ngTemplateOutlet=\"sideContentLeft || fallbackSideContentLeft;\"></ng-container>\n </div>\n </mat-sidenav>\n\n <!-- Main Content -->\n <mat-sidenav-content>\n <div fxLayout=\"column\" fxFill>\n <ng-container *ngTemplateOutlet=\"centerContent || fallbackCenterContent;\"></ng-container>\n </div>\n </mat-sidenav-content>\n\n <!-- Right Side Detail -->\n <mat-sidenav mode=\"over\" #rightSideDetail id=\"elder-right-side-detail\"\n position=\"end\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"rightSideAutoFocus\"\n [disableClose]=\"true\" (keydown.escape)=\"onEscapeRightSide($event)\">\n <div fxFill fxLayout=\"column\">\n <ng-container *ngTemplateOutlet=\"sideContentRight || fallbackSideContentRight;\"></ng-container>\n </div>\n </mat-sidenav>\n\n</mat-sidenav-container>\n\n<ng-template #fallbackSideContentLeft>\n <div fxLayout=\"column\" fxFlex>\n <p class=\"noselect\">No Left Side Content Defined!</p>\n </div>\n</ng-template>\n\n<ng-template #fallbackSideContentRight>\n <router-outlet name=\"side\" class=\"router-flex\"></router-outlet>\n</ng-template>\n\n<ng-template #fallbackCenterContent>\n <div fxLayout=\"column\" fxFill>\n\n <!-- Header -->\n <ng-container *ngTemplateOutlet=\"(headerTemplate$ | async) || defaultHeaderTemplate\"></ng-container>\n\n <!-- Center -->\n <ng-container *ngTemplateOutlet=\"(centerTemplate$ | async) || defaultCenterTemplate\"></ng-container>\n\n <!-- Footer -->\n <ng-container *ngTemplateOutlet=\"(footerTemplate$ | async) || defaultFooterTemplate\"></ng-container>\n\n </div>\n</ng-template>\n\n\n<ng-template #defaultHeaderTemplate>\n\n <elder-toolbar [color]=\"color\">\n\n <!-- Toolbar Prefix: Sidenav Toggle -->\n <mat-toolbar *ngIf=\"sideNavToggleEnabled\" fxFlex=\"0\"\n fxLayout=\"row\" fxLayoutAlign=\"center center\"\n [color]=\"menuColor$ | async\">\n <button mat-icon-button type=\"button\" (click)=\"toggleSideNav()\">\n <mat-icon>menu</mat-icon>\n </button>\n </mat-toolbar>\n\n </elder-toolbar>\n\n</ng-template>\n\n<ng-template #defaultCenterTemplate>\n\n <!-- Primary Router Outlet -->\n <router-outlet class=\"router-flex\"></router-outlet>\n\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <!-- Default Footer is empty -->\n</ng-template>\n", styles: ["mat-sidenav{margin:0;height:100%;overflow:hidden}mat-sidenav-container{margin:0;width:100%;height:100%;overflow:hidden}\n"] }]
|
|
174
|
+
}], ctorParameters: function () { return [{ type: i1.ElderShellService }, { type: i2.ElderRouteOutletDrawerService }, { type: i0.ChangeDetectorRef }, { type: i3.ElderThemeService }]; }, propDecorators: { sideNavToggleEnabled: [{
|
|
154
175
|
type: Input
|
|
155
176
|
}], leftSideAutoFocus: [{
|
|
156
177
|
type: Input
|
|
@@ -168,5 +189,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
168
189
|
}], rightSideDrawer: [{
|
|
169
190
|
type: ViewChild,
|
|
170
191
|
args: ['rightSideDetail', { static: true }]
|
|
192
|
+
}], color: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], menuColor: [{
|
|
195
|
+
type: Input
|
|
171
196
|
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC9zaGVsbC9lbGRlci1zaGVsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NoZWxsL3NoZWxsL2VsZGVyLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUdMLFdBQVcsRUFDWCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBS25DLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQzs7d0hBSGxDLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsMENBQTBDLEVBQUM7O0FBUWpFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQzs7eUhBSGxDLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhD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QixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUlDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixZQUFZO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl2RSxnQkFBZ0I7c0JBRHRCLFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXhFLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXJFLGVBQWU7c0JBRHJCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyU2hlbGxTZXJ2aWNlfSBmcm9tICcuLi9lbGRlci1zaGVsbC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7RWxkZXJSb3V0ZU91dGxldERyYXdlclNlcnZpY2V9IGZyb20gJy4uL2RyYXdlcnMvZWxkZXItcm91dGUtb3V0bGV0LWRyYXdlci5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tlbGRlclNoZWxsU2lkZUxlZnRdLCBbZWJzU2hlbGxTaWRlTGVmdF0nfSlcbmV4cG9ydCBjbGFzcyBFbGRlclNoZWxsU2lkZUxlZnREaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHsgfVxufVxuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tlbGRlclNoZWxsU2lkZVJpZ2h0XSwgW2Vic1NoZWxsU2lkZVJpZ2h0XSd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2hlbGxTaWRlUmlnaHREaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHsgfVxufVxuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tlbGRlclNoZWxsQ2VudGVyXSwgW2Vic1NoZWxsQ2VudGVyXSd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2hlbGxDZW50ZXJEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHsgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1zaGVsbCwgZWJzLXNoZWxsJywgLy8gZWJzLSogcHJlZml4IGlzIGRlcHJlY2F0ZWQhXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1zaGVsbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLXNoZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2hlbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcignRWxkZXJTaGVsbENvbXBvbmVudCcpO1xuXG4gIC8qKiBDb250cm9scyBpZiB0aGUgU2lkZU5hdiB0b2dnbGUgc2hvdWxkIGJlIGRpc3BsYXllZC4gRGVmYXVsdDogdHJ1ZSAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2lkZU5hdlRvZ2dsZUVuYWJsZWQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZW51Q29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdhY2NlbnQnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsZWZ0U2lkZUF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByaWdodFNpZGVBdXRvRm9jdXMgPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2hlbGxTaWRlTGVmdERpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzaWRlQ29udGVudExlZnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNoZWxsU2lkZVJpZ2h0RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHNpZGVDb250ZW50UmlnaHQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNoZWxsQ2VudGVyRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGNlbnRlckNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgncmlnaHRTaWRlRGV0YWlsJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHJpZ2h0U2lkZURyYXdlcjogTWF0U2lkZW5hdjtcblxuICBwdWJsaWMgcmlnaHRTaWRlT3V0bGV0TmFtZSA9ICdzaWRlJztcblxuICBwdWJsaWMgbGVmdFNpZGVDb250ZW50T3BlbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cblxuICBwdWJsaWMgcmVhZG9ubHkgaGVhZGVyVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuICBwdWJsaWMgcmVhZG9ubHkgY2VudGVyVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuICBwdWJsaWMgcmVhZG9ubHkgZm9vdGVyVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gIHByaXZhdGUgX3N1YjogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2hlbGxTZXJ2aWNlOiBFbGRlclNoZWxsU2VydmljZSxcbiAgICBwcml2YXRlIG91dGxldERyYXdlclNlcnZpY2U6IEVsZGVyUm91dGVPdXRsZXREcmF3ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuaGVhZGVyVGVtcGxhdGUkID0gc2hlbGxTZXJ2aWNlLmFjdGl2ZVNsb3RUZW1wbGF0ZSgnaGVhZGVyJykucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmNoZWNrU29vbigpKVxuICAgICk7XG4gICAgdGhpcy5jZW50ZXJUZW1wbGF0ZSQgPSBzaGVsbFNlcnZpY2UuYWN0aXZlU2xvdFRlbXBsYXRlKCdjZW50ZXInKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMuY2hlY2tTb29uKCkpXG4gICAgKTtcbiAgICB0aGlzLmZvb3RlclRlbXBsYXRlJCA9IHNoZWxsU2VydmljZS5hY3RpdmVTbG90VGVtcGxhdGUoJ2Zvb3RlcicpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5jaGVja1Nvb24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3V0bGV0RHJhd2VyU2VydmljZS5yZWdpc3Rlck91dGxldERyYXdlcihcbiAgICAgIHRoaXMucmlnaHRTaWRlT3V0bGV0TmFtZSxcbiAgICAgIHRoaXMucmlnaHRTaWRlRHJhd2VyXG4gICAgKTtcblxuICAgIHRoaXMuX3N1YiA9IHRoaXMub3V0bGV0RHJhd2VyU2VydmljZS5kcmF3ZXJWaXNpYmlsaXR5Q2hhbmdlLnN1YnNjcmliZShcbiAgICAgIGRyYXdlciA9PiAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICAgICk7XG5cbiAgICB0aGlzLmxlZnRTaWRlQ29udGVudE9wZW4kID0gIHRoaXMuc2hlbGxTZXJ2aWNlLm5hdmlnYXRpb25PcGVuQ2hhbmdlO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY2xvc2VMZWZ0U2lkZUNvbnRlbnQoKSB7XG4gICAgdGhpcy5zaGVsbFNlcnZpY2UuY2xvc2VTaWRlTmF2KCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2lkZU5hdigpOiB2b2lkIHtcbiAgICB0aGlzLnNoZWxsU2VydmljZS50b2dnbGVTaWRlbmF2KCk7XG4gIH1cblxuICBwdWJsaWMgb25CYWNrZHJvcENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaGVsbFNlcnZpY2UuaXNTaWRlQ29udGVudEFjdGl2ZSgpKSB7XG4gICAgICB0aGlzLnNoZWxsU2VydmljZS5jbG9zZVNpZGVDb250ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRXNjYXBlUmlnaHRTaWRlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAodGFyZ2V0ICYmIHRoaXMuaXNDb250YWluZWQodGFyZ2V0LCAnZWxkZXItcmlnaHQtc2lkZS1kZXRhaWwnKSkge1xuICAgICAgLy8gRW5zdXJlIHdlIG9ubHkgcmVhY3QgdG8gRXNjIEV2ZW50cyB0YXJnZXRlZCBhdCBvdXIgc2lkZSBuYXYhXG4gICAgICBpZiAodGhpcy5zaGVsbFNlcnZpY2UuaXNTaWRlQ29udGVudEFjdGl2ZSgpKSB7XG4gICAgICAgIHRoaXMuc2hlbGxTZXJ2aWNlLmNsb3NlU2lkZUNvbnRlbnQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGlzQ29udGFpbmVkKGNoaWxkOiBIVE1MRWxlbWVudCwgaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuXG4gICAgaWYgKGNoaWxkLmlkID09PSBpZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IG1heERlcHRoID0gMTtcbiAgICBsZXQgZGVwdGggPSAwO1xuICAgIGxldCBub2RlID0gY2hpbGQucGFyZW50Tm9kZSBhcyBIVE1MRWxlbWVudDtcbiAgICB3aGlsZSAobm9kZSkge1xuICAgICAgaWYgKG5vZGUuaWQgPT09IGlkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgbm9kZSA9IG5vZGUucGFyZW50Tm9kZSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGlmIChtYXhEZXB0aCA+PSArK2RlcHRoKSB7IGJyZWFrOyB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tTb29uKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9LCA1KTtcbiAgfVxufVxuIiwiXG48bWF0LXNpZGVuYXYtY29udGFpbmVyIHN0eWxlPVwiaGVpZ2h0OjEwMCU7IHdpZHRoOiAxMDAlXCIgKGJhY2tkcm9wQ2xpY2spPVwib25CYWNrZHJvcENsaWNrKCRldmVudClcIj5cblxuICA8IS0tIExlZnQgU2lkZSBOYXYgLS0+XG4gIDxtYXQtc2lkZW5hdiBwb3NpdGlvbj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgIG1vZGU9XCJvdmVyXCJcbiAgICAgICAgICAgICAgIFtmaXhlZEluVmlld3BvcnRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbYXV0b0ZvY3VzXT1cImxlZnRTaWRlQXV0b0ZvY3VzXCJcbiAgICAgICAgICAgICAgIFtvcGVuZWRdPVwibGVmdFNpZGVDb250ZW50T3BlbiQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAoY2xvc2VkKT1cImNsb3NlTGVmdFNpZGVDb250ZW50KClcIj5cbiAgICA8ZGl2IGZ4RmlsbCBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNpZGVDb250ZW50TGVmdCB8fCBmYWxsYmFja1NpZGVDb250ZW50TGVmdDtcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtc2lkZW5hdj5cblxuICA8IS0tIE1haW4gQ29udGVudCAtLT5cbiAgPG1hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmlsbD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZW50ZXJDb250ZW50IHx8IGZhbGxiYWNrQ2VudGVyQ29udGVudDtcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuXG4gIDwhLS0gUmlnaHQgU2lkZSBEZXRhaWwgLS0+XG4gIDxtYXQtc2lkZW5hdiBtb2RlPVwib3ZlclwiICNyaWdodFNpZGVEZXRhaWwgaWQ9XCJlbGRlci1yaWdodC1zaWRlLWRldGFpbFwiXG4gICAgICAgICAgICAgICBwb3NpdGlvbj1cImVuZFwiXG4gICAgICAgICAgICAgICBbZml4ZWRJblZpZXdwb3J0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgW2F1dG9Gb2N1c109XCJyaWdodFNpZGVBdXRvRm9jdXNcIlxuICAgICAgICAgICAgICAgW2Rpc2FibGVDbG9zZV09XCJ0cnVlXCIgKGtleWRvd24uZXNjYXBlKT1cIm9uRXNjYXBlUmlnaHRTaWRlKCRldmVudClcIj5cbiAgICA8ZGl2IGZ4RmlsbCBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNpZGVDb250ZW50UmlnaHQgfHwgZmFsbGJhY2tTaWRlQ29udGVudFJpZ2h0O1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L21hdC1zaWRlbmF2PlxuXG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNmYWxsYmFja1NpZGVDb250ZW50TGVmdD5cbiAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD5cbiAgICA8cCBjbGFzcz1cIm5vc2VsZWN0XCI+Tm8gTGVmdCBTaWRlIENvbnRlbnQgRGVmaW5lZCE8L3A+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmYWxsYmFja1NpZGVDb250ZW50UmlnaHQ+XG4gIDxyb3V0ZXItb3V0bGV0IG5hbWU9XCJzaWRlXCIgY2xhc3M9XCJyb3V0ZXItZmxleFwiPjwvcm91dGVyLW91dGxldD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmFsbGJhY2tDZW50ZXJDb250ZW50PlxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGaWxsPlxuXG4gICAgPCEtLSBIZWFkZXIgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIihoZWFkZXJUZW1wbGF0ZSQgfCBhc3luYykgfHwgZGVmYXVsdEhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIENlbnRlciAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiKGNlbnRlclRlbXBsYXRlJCB8IGFzeW5jKSB8fCBkZWZhdWx0Q2VudGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRm9vdGVyIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIoZm9vdGVyVGVtcGxhdGUkIHwgYXN5bmMpIHx8IGRlZmF1bHRGb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRIZWFkZXJUZW1wbGF0ZT5cblxuICA8ZWxkZXItdG9vbGJhciBbY29sb3JdPVwiY29sb3JcIj5cblxuICAgIDwhLS0gVG9vbGJhciBQcmVmaXg6IFNpZGVuYXYgVG9nZ2xlIC0tPlxuICAgIDxtYXQtdG9vbGJhciAqbmdJZj1cInNpZGVOYXZUb2dnbGVFbmFibGVkXCIgZnhGbGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxuICAgICAgICAgICAgICAgICBbY29sb3JdPVwibWVudUNvbG9yXCI+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVNpZGVOYXYoKVwiPlxuICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICA8L2VsZGVyLXRvb2xiYXI+XG5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENlbnRlclRlbXBsYXRlPlxuXG4gIDwhLS0gUHJpbWFyeSBSb3V0ZXIgT3V0bGV0IC0tPlxuICA8cm91dGVyLW91dGxldCBjbGFzcz1cInJvdXRlci1mbGV4XCI+PC9yb3V0ZXItb3V0bGV0PlxuXG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRGb290ZXJUZW1wbGF0ZT5cbiAgPCEtLSBEZWZhdWx0IEZvb3RlciBpcyBlbXB0eSAtLT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC9zaGVsbC9lbGRlci1zaGVsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NoZWxsL3NoZWxsL2VsZGVyLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUdMLFdBQVcsRUFDWCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTzlDLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQzs7d0hBSGxDLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsMENBQTBDLEVBQUM7O0FBUWpFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENB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LDRCQUE0QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl4RSxhQUFhO3NCQURuQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlyRSxlQUFlO3NCQURyQixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFldkMsS0FBSztzQkFEWCxLQUFLO2dCQWtFSyxTQUFTO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyU2hlbGxTZXJ2aWNlfSBmcm9tICcuLi9lbGRlci1zaGVsbC5zZXJ2aWNlJztcbmltcG9ydCB7TWF0U2lkZW5hdn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQge0VsZGVyUm91dGVPdXRsZXREcmF3ZXJTZXJ2aWNlfSBmcm9tICcuLi9kcmF3ZXJzL2VsZGVyLXJvdXRlLW91dGxldC1kcmF3ZXIuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7RWxkZXJUaGVtZVNlcnZpY2V9IGZyb20gJy4uLy4uL3RoZW1lL2VsZGVyLXRoZW1lLnNlcnZpY2UnO1xuaW1wb3J0IHtUaGVtZVNwZWN9IGZyb20gJy4uLy4uL3RoZW1lL3RoZW1lLXNwZWMnO1xuXG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2VsZGVyU2hlbGxTaWRlTGVmdF0sIFtlYnNTaGVsbFNpZGVMZWZ0XSd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2hlbGxTaWRlTGVmdERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikgeyB9XG59XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2VsZGVyU2hlbGxTaWRlUmlnaHRdLCBbZWJzU2hlbGxTaWRlUmlnaHRdJ30pXG5leHBvcnQgY2xhc3MgRWxkZXJTaGVsbFNpZGVSaWdodERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikgeyB9XG59XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2VsZGVyU2hlbGxDZW50ZXJdLCBbZWJzU2hlbGxDZW50ZXJdJ30pXG5leHBvcnQgY2xhc3MgRWxkZXJTaGVsbENlbnRlckRpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikgeyB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXNoZWxsLCBlYnMtc2hlbGwnLCAvLyBlYnMtKiBwcmVmaXggaXMgZGVwcmVjYXRlZCFcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLXNoZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItc2hlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTaGVsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCdFbGRlclNoZWxsQ29tcG9uZW50Jyk7XG5cbiAgLyoqIENvbnRyb2xzIGlmIHRoZSBTaWRlTmF2IHRvZ2dsZSBzaG91bGQgYmUgZGlzcGxheWVkLiBEZWZhdWx0OiB0cnVlICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaWRlTmF2VG9nZ2xlRW5hYmxlZCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxlZnRTaWRlQXV0b0ZvY3VzID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJpZ2h0U2lkZUF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTaGVsbFNpZGVMZWZ0RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHNpZGVDb250ZW50TGVmdDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2hlbGxTaWRlUmlnaHREaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgc2lkZUNvbnRlbnRSaWdodDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2hlbGxDZW50ZXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgY2VudGVyQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdyaWdodFNpZGVEZXRhaWwnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgcmlnaHRTaWRlRHJhd2VyOiBNYXRTaWRlbmF2O1xuXG4gIHB1YmxpYyByaWdodFNpZGVPdXRsZXROYW1lID0gJ3NpZGUnO1xuXG4gIHB1YmxpYyBsZWZ0U2lkZUNvbnRlbnRPcGVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuXG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG4gIHB1YmxpYyByZWFkb25seSBjZW50ZXJUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG4gIHB1YmxpYyByZWFkb25seSBmb290ZXJUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XG5cbiAgcHVibGljIHJlYWRvbmx5IG1lbnVDb2xvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRoZW1lUGFsZXR0ZT4oJ2FjY2VudCcpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2hlbGxTZXJ2aWNlOiBFbGRlclNoZWxsU2VydmljZSxcbiAgICBwcml2YXRlIG91dGxldERyYXdlclNlcnZpY2U6IEVsZGVyUm91dGVPdXRsZXREcmF3ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdGhlbWVTZXJ2aWNlOiBFbGRlclRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLmhlYWRlclRlbXBsYXRlJCA9IHNoZWxsU2VydmljZS5hY3RpdmVTbG90VGVtcGxhdGUoJ2hlYWRlcicpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5jaGVja1Nvb24oKSlcbiAgICApO1xuICAgIHRoaXMuY2VudGVyVGVtcGxhdGUkID0gc2hlbGxTZXJ2aWNlLmFjdGl2ZVNsb3RUZW1wbGF0ZSgnY2VudGVyJykucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmNoZWNrU29vbigpKVxuICAgICk7XG4gICAgdGhpcy5mb290ZXJUZW1wbGF0ZSQgPSBzaGVsbFNlcnZpY2UuYWN0aXZlU2xvdFRlbXBsYXRlKCdmb290ZXInKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMuY2hlY2tTb29uKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm91dGxldERyYXdlclNlcnZpY2UucmVnaXN0ZXJPdXRsZXREcmF3ZXIoXG4gICAgICB0aGlzLnJpZ2h0U2lkZU91dGxldE5hbWUsXG4gICAgICB0aGlzLnJpZ2h0U2lkZURyYXdlclxuICAgICk7XG5cbiAgICB0aGlzLm91dGxldERyYXdlclNlcnZpY2VcbiAgICAgIC5kcmF3ZXJWaXNpYmlsaXR5Q2hhbmdlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGRyYXdlciA9PiAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSk7XG5cbiAgICB0aGlzLmxlZnRTaWRlQ29udGVudE9wZW4kID0gIHRoaXMuc2hlbGxTZXJ2aWNlLm5hdmlnYXRpb25PcGVuQ2hhbmdlO1xuXG4gICAgdGhpcy50aGVtZVNlcnZpY2UuYWN0aXZlVGhlbWUkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICApLnN1YnNjcmliZSh0aGVtZSA9PiB0aGlzLmFkanVzdENvbG9yc0ZvclRoZW1lKHRoZW1lKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtZW51Q29sb3IoYzogVGhlbWVQYWxldHRlKSB7XG4gICAgdGhpcy5tZW51Q29sb3IkLm5leHQoYyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lbnVDb2xvcigpOiBUaGVtZVBhbGV0dGUge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb2xvciQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBjbG9zZUxlZnRTaWRlQ29udGVudCgpIHtcbiAgICB0aGlzLnNoZWxsU2VydmljZS5jbG9zZVNpZGVOYXYoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTaWRlTmF2KCk6IHZvaWQge1xuICAgIHRoaXMuc2hlbGxTZXJ2aWNlLnRvZ2dsZVNpZGVuYXYoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJhY2tkcm9wQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNoZWxsU2VydmljZS5pc1NpZGVDb250ZW50QWN0aXZlKCkpIHtcbiAgICAgIHRoaXMuc2hlbGxTZXJ2aWNlLmNsb3NlU2lkZUNvbnRlbnQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Fc2NhcGVSaWdodFNpZGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGlmICh0YXJnZXQgJiYgdGhpcy5pc0NvbnRhaW5lZCh0YXJnZXQsICdlbGRlci1yaWdodC1zaWRlLWRldGFpbCcpKSB7XG4gICAgICAvLyBFbnN1cmUgd2Ugb25seSByZWFjdCB0byBFc2MgRXZlbnRzIHRhcmdldGVkIGF0IG91ciBzaWRlIG5hdiFcbiAgICAgIGlmICh0aGlzLnNoZWxsU2VydmljZS5pc1NpZGVDb250ZW50QWN0aXZlKCkpIHtcbiAgICAgICAgdGhpcy5zaGVsbFNlcnZpY2UuY2xvc2VTaWRlQ29udGVudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgYWRqdXN0Q29sb3JzRm9yVGhlbWUodGhlbWU6IFRoZW1lU3BlYyk6IHZvaWQge1xuICAgIHRoaXMubWVudUNvbG9yID0gdGhlbWU/LmRhcmsgPyAncHJpbWFyeScgOiAnYWNjZW50JztcbiAgfVxuXG4gIHByaXZhdGUgaXNDb250YWluZWQoY2hpbGQ6IEhUTUxFbGVtZW50LCBpZDogc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICBpZiAoY2hpbGQuaWQgPT09IGlkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgbWF4RGVwdGggPSAxO1xuICAgIGxldCBkZXB0aCA9IDA7XG4gICAgbGV0IG5vZGUgPSBjaGlsZC5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50O1xuICAgIHdoaWxlIChub2RlKSB7XG4gICAgICBpZiAobm9kZS5pZCA9PT0gaWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50O1xuICAgICAgaWYgKG1heERlcHRoID49ICsrZGVwdGgpIHsgYnJlYWs7IH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1Nvb24oKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIDUpO1xuICB9XG59XG4iLCJcbjxtYXQtc2lkZW5hdi1jb250YWluZXJcbiAgZWxkZXJUaGVtZUFwcGxpZXJcbiAgc3R5bGU9XCJoZWlnaHQ6MTAwJTsgd2lkdGg6IDEwMCVcIlxuICAoYmFja2Ryb3BDbGljayk9XCJvbkJhY2tkcm9wQ2xpY2soJGV2ZW50KVwiXG4+XG5cbiAgPCEtLSBMZWZ0IFNpZGUgTmF2IC0tPlxuICA8bWF0LXNpZGVuYXYgcG9zaXRpb249XCJzdGFydFwiXG4gICAgICAgICAgICAgICBtb2RlPVwib3ZlclwiXG4gICAgICAgICAgICAgICBbZml4ZWRJblZpZXdwb3J0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgW2F1dG9Gb2N1c109XCJsZWZ0U2lkZUF1dG9Gb2N1c1wiXG4gICAgICAgICAgICAgICBbb3BlbmVkXT1cImxlZnRTaWRlQ29udGVudE9wZW4kIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgKGNsb3NlZCk9XCJjbG9zZUxlZnRTaWRlQ29udGVudCgpXCI+XG4gICAgPGRpdiBmeEZpbGwgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlQ29udGVudExlZnQgfHwgZmFsbGJhY2tTaWRlQ29udGVudExlZnQ7XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXNpZGVuYXY+XG5cbiAgPCEtLSBNYWluIENvbnRlbnQgLS0+XG4gIDxtYXQtc2lkZW5hdi1jb250ZW50PlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZpbGw+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2VudGVyQ29udGVudCB8fCBmYWxsYmFja0NlbnRlckNvbnRlbnQ7XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXNpZGVuYXYtY29udGVudD5cblxuICA8IS0tIFJpZ2h0IFNpZGUgRGV0YWlsIC0tPlxuICA8bWF0LXNpZGVuYXYgbW9kZT1cIm92ZXJcIiAjcmlnaHRTaWRlRGV0YWlsIGlkPVwiZWxkZXItcmlnaHQtc2lkZS1kZXRhaWxcIlxuICAgICAgICAgICAgICAgcG9zaXRpb249XCJlbmRcIlxuICAgICAgICAgICAgICAgW2ZpeGVkSW5WaWV3cG9ydF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFthdXRvRm9jdXNdPVwicmlnaHRTaWRlQXV0b0ZvY3VzXCJcbiAgICAgICAgICAgICAgIFtkaXNhYmxlQ2xvc2VdPVwidHJ1ZVwiIChrZXlkb3duLmVzY2FwZSk9XCJvbkVzY2FwZVJpZ2h0U2lkZSgkZXZlbnQpXCI+XG4gICAgPGRpdiBmeEZpbGwgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlQ29udGVudFJpZ2h0IHx8IGZhbGxiYWNrU2lkZUNvbnRlbnRSaWdodDtcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtc2lkZW5hdj5cblxuPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZmFsbGJhY2tTaWRlQ29udGVudExlZnQ+XG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXg+XG4gICAgPHAgY2xhc3M9XCJub3NlbGVjdFwiPk5vIExlZnQgU2lkZSBDb250ZW50IERlZmluZWQhPC9wPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmFsbGJhY2tTaWRlQ29udGVudFJpZ2h0PlxuICA8cm91dGVyLW91dGxldCBuYW1lPVwic2lkZVwiIGNsYXNzPVwicm91dGVyLWZsZXhcIj48L3JvdXRlci1vdXRsZXQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ZhbGxiYWNrQ2VudGVyQ29udGVudD5cbiAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmlsbD5cblxuICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIoaGVhZGVyVGVtcGxhdGUkIHwgYXN5bmMpIHx8IGRlZmF1bHRIZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBDZW50ZXIgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIihjZW50ZXJUZW1wbGF0ZSQgfCBhc3luYykgfHwgZGVmYXVsdENlbnRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEZvb3RlciAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiKGZvb3RlclRlbXBsYXRlJCB8IGFzeW5jKSB8fCBkZWZhdWx0Rm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0SGVhZGVyVGVtcGxhdGU+XG5cbiAgPGVsZGVyLXRvb2xiYXIgW2NvbG9yXT1cImNvbG9yXCI+XG5cbiAgICA8IS0tIFRvb2xiYXIgUHJlZml4OiBTaWRlbmF2IFRvZ2dsZSAtLT5cbiAgICA8bWF0LXRvb2xiYXIgKm5nSWY9XCJzaWRlTmF2VG9nZ2xlRW5hYmxlZFwiIGZ4RmxleD1cIjBcIlxuICAgICAgICAgICAgICAgICBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIm1lbnVDb2xvciQgfCBhc3luY1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVTaWRlTmF2KClcIj5cbiAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtdG9vbGJhcj5cblxuICA8L2VsZGVyLXRvb2xiYXI+XG5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENlbnRlclRlbXBsYXRlPlxuXG4gIDwhLS0gUHJpbWFyeSBSb3V0ZXIgT3V0bGV0IC0tPlxuICA8cm91dGVyLW91dGxldCBjbGFzcz1cInJvdXRlci1mbGV4XCI+PC9yb3V0ZXItb3V0bGV0PlxuXG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRGb290ZXJUZW1wbGF0ZT5cbiAgPCEtLSBEZWZhdWx0IEZvb3RlciBpcyBlbXB0eSAtLT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./elder-theme.service";
|
|
7
|
+
export class ElderThemeApplierDirective {
|
|
8
|
+
/***************************************************************************
|
|
9
|
+
* *
|
|
10
|
+
* Constructor *
|
|
11
|
+
* *
|
|
12
|
+
**************************************************************************/
|
|
13
|
+
constructor(themeService, renderer) {
|
|
14
|
+
this.themeService = themeService;
|
|
15
|
+
this.renderer = renderer;
|
|
16
|
+
/***************************************************************************
|
|
17
|
+
* *
|
|
18
|
+
* Fields *
|
|
19
|
+
* *
|
|
20
|
+
**************************************************************************/
|
|
21
|
+
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
22
|
+
this.destroy$ = new Subject();
|
|
23
|
+
}
|
|
24
|
+
/***************************************************************************
|
|
25
|
+
* *
|
|
26
|
+
* Life Cycle *
|
|
27
|
+
* *
|
|
28
|
+
**************************************************************************/
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
this.themeService
|
|
31
|
+
.activeTheme$
|
|
32
|
+
.pipe(takeUntil(this.destroy$), filter(theme => !!theme))
|
|
33
|
+
.subscribe(activeTheme => this.activateTheme(activeTheme));
|
|
34
|
+
}
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
this.destroy$.next();
|
|
37
|
+
this.destroy$.complete();
|
|
38
|
+
}
|
|
39
|
+
/***************************************************************************
|
|
40
|
+
* *
|
|
41
|
+
* Private methods *
|
|
42
|
+
* *
|
|
43
|
+
**************************************************************************/
|
|
44
|
+
activateTheme(theme) {
|
|
45
|
+
if (theme.cssClass != this.activeThemeCss) {
|
|
46
|
+
this.renderer.addClass(document.body, theme.cssClass);
|
|
47
|
+
if (this.activeThemeCss) {
|
|
48
|
+
this.renderer.removeClass(document.body, this.activeThemeCss);
|
|
49
|
+
}
|
|
50
|
+
this.activeThemeCss = theme.cssClass;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
ElderThemeApplierDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemeApplierDirective, deps: [{ token: i1.ElderThemeService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
55
|
+
ElderThemeApplierDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: ElderThemeApplierDirective, selector: "[elderThemeApplier]", ngImport: i0 });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemeApplierDirective, decorators: [{
|
|
57
|
+
type: Directive,
|
|
58
|
+
args: [{
|
|
59
|
+
selector: '[elderThemeApplier]'
|
|
60
|
+
}]
|
|
61
|
+
}], ctorParameters: function () { return [{ type: i1.ElderThemeService }, { type: i0.Renderer2 }]; } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUtYXBwbGllci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RoZW1lL2VsZGVyLXRoZW1lLWFwcGxpZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQUtqRCxNQUFNLE9BQU8sMEJBQTBCO0lBY3JDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixZQUErQixFQUMvQixRQUFtQjtRQURuQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXBCdEM7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFJeEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFXdEMsQ0FBQztJQUVMOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ1QsSUFBSSxDQUFDLFlBQVk7YUFDZCxZQUFZO2FBQ1osSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsYUFBYSxDQUFDLEtBQWdCO1FBQ3BDLElBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDL0Q7WUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7U0FDdEM7SUFDSCxDQUFDOzt1SEE1RFUsMEJBQTBCOzJHQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtFbGRlclRoZW1lU2VydmljZX0gZnJvbSAnLi9lbGRlci10aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RoZW1lU3BlY30gZnJvbSAnLi90aGVtZS1zcGVjJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyVGhlbWVBcHBsaWVyXSdcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUaGVtZUFwcGxpZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgYWN0aXZlVGhlbWVDc3M6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRoZW1lU2VydmljZTogRWxkZXJUaGVtZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoZW1lU2VydmljZVxuICAgICAgICAgIC5hY3RpdmVUaGVtZSRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIGZpbHRlcih0aGVtZSA9PiAhIXRoZW1lKVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKGFjdGl2ZVRoZW1lID0+IHRoaXMuYWN0aXZhdGVUaGVtZShhY3RpdmVUaGVtZSkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgYWN0aXZhdGVUaGVtZSh0aGVtZTogVGhlbWVTcGVjKTogdm9pZCB7XG4gICAgaWYodGhlbWUuY3NzQ2xhc3MgIT0gdGhpcy5hY3RpdmVUaGVtZUNzcykge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCB0aGVtZS5jc3NDbGFzcyk7XG4gICAgICBpZiAodGhpcy5hY3RpdmVUaGVtZUNzcykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksIHRoaXMuYWN0aXZlVGhlbWVDc3MpO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3RpdmVUaGVtZUNzcyA9IHRoZW1lLmNzc0NsYXNzO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./elder-theme.service";
|
|
4
|
+
import * as i2 from "@elderbyte/ngx-simple-webstorage";
|
|
5
|
+
export class ElderThemePreferenceService {
|
|
6
|
+
/***************************************************************************
|
|
7
|
+
* *
|
|
8
|
+
* Constructor *
|
|
9
|
+
* *
|
|
10
|
+
**************************************************************************/
|
|
11
|
+
constructor(themeService, localStorage) {
|
|
12
|
+
this.themeService = themeService;
|
|
13
|
+
this.localStorage = localStorage;
|
|
14
|
+
/***************************************************************************
|
|
15
|
+
* *
|
|
16
|
+
* Fields *
|
|
17
|
+
* *
|
|
18
|
+
**************************************************************************/
|
|
19
|
+
this.THEME_PREFERENCE_KEY = 'theme.preference';
|
|
20
|
+
let preferenceThemeId = localStorage.getItem(this.THEME_PREFERENCE_KEY);
|
|
21
|
+
if (!preferenceThemeId) {
|
|
22
|
+
preferenceThemeId = this.guessInitialTheme()?.id;
|
|
23
|
+
}
|
|
24
|
+
if (preferenceThemeId) {
|
|
25
|
+
this.activateThemeAndSave(preferenceThemeId);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/***************************************************************************
|
|
29
|
+
* *
|
|
30
|
+
* Public API *
|
|
31
|
+
* *
|
|
32
|
+
**************************************************************************/
|
|
33
|
+
activateThemeAndSave(themeId) {
|
|
34
|
+
this.themeService.activateTheme(themeId);
|
|
35
|
+
this.localStorage.setItem(this.THEME_PREFERENCE_KEY, themeId);
|
|
36
|
+
}
|
|
37
|
+
/***************************************************************************
|
|
38
|
+
* *
|
|
39
|
+
* Private methods *
|
|
40
|
+
* *
|
|
41
|
+
**************************************************************************/
|
|
42
|
+
guessInitialTheme() {
|
|
43
|
+
let initialTheme;
|
|
44
|
+
if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
|
|
45
|
+
initialTheme = this.themeService.themesSnapshot
|
|
46
|
+
.find(t => t.dark);
|
|
47
|
+
}
|
|
48
|
+
if (!initialTheme) {
|
|
49
|
+
initialTheme = this.themeService.defaultThemeSnapshot;
|
|
50
|
+
}
|
|
51
|
+
return initialTheme;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
ElderThemePreferenceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemePreferenceService, deps: [{ token: i1.ElderThemeService }, { token: i2.WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
+
ElderThemePreferenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemePreferenceService, providedIn: 'root' });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemePreferenceService, decorators: [{
|
|
57
|
+
type: Injectable,
|
|
58
|
+
args: [{
|
|
59
|
+
providedIn: 'root'
|
|
60
|
+
}]
|
|
61
|
+
}], ctorParameters: function () { return [{ type: i1.ElderThemeService }, { type: i2.WebLocalStorage }]; } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUtcHJlZmVyZW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aGVtZS9lbGRlci10aGVtZS1wcmVmZXJlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEzQyxNQUFNLE9BQU8sMkJBQTJCO0lBVXRDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixZQUErQixFQUMvQixZQUE2QjtRQUQ3QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBaEJoRDs7OztvRkFJNEU7UUFFM0QseUJBQW9CLEdBQUcsa0JBQWtCLENBQUM7UUFZekQsSUFBSSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBVyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxpQkFBaUIsRUFBQztZQUNyQixpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLENBQUM7U0FDbEQ7UUFDRCxJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxvQkFBb0IsQ0FBQyxPQUFlO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGlCQUFpQjtRQUN2QixJQUFJLFlBQXVCLENBQUM7UUFDNUIsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUMsT0FBTyxFQUFFO1lBQzdELFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWM7aUJBQzVDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUM7U0FDdkQ7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzt3SEF4RFUsMkJBQTJCOzRIQUEzQiwyQkFBMkIsY0FGMUIsTUFBTTsyRkFFUCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbGRlclRoZW1lU2VydmljZX0gZnJvbSAnLi9lbGRlci10aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7V2ViTG9jYWxTdG9yYWdlfSBmcm9tICdAZWxkZXJieXRlL25neC1zaW1wbGUtd2Vic3RvcmFnZSc7XG5pbXBvcnQge1RoZW1lU3BlY30gZnJvbSAnLi90aGVtZS1zcGVjJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUaGVtZVByZWZlcmVuY2VTZXJ2aWNlIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IFRIRU1FX1BSRUZFUkVOQ0VfS0VZID0gJ3RoZW1lLnByZWZlcmVuY2UnO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhlbWVTZXJ2aWNlOiBFbGRlclRoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZTogV2ViTG9jYWxTdG9yYWdlXG4gICkge1xuICAgIGxldCBwcmVmZXJlbmNlVGhlbWVJZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuVEhFTUVfUFJFRkVSRU5DRV9LRVkpIGFzIHN0cmluZztcbiAgICBpZiAoIXByZWZlcmVuY2VUaGVtZUlkKXtcbiAgICAgIHByZWZlcmVuY2VUaGVtZUlkID0gdGhpcy5ndWVzc0luaXRpYWxUaGVtZSgpPy5pZDtcbiAgICB9XG4gICAgaWYgKHByZWZlcmVuY2VUaGVtZUlkKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlVGhlbWVBbmRTYXZlKHByZWZlcmVuY2VUaGVtZUlkKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgYWN0aXZhdGVUaGVtZUFuZFNhdmUodGhlbWVJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50aGVtZVNlcnZpY2UuYWN0aXZhdGVUaGVtZSh0aGVtZUlkKTtcbiAgICB0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuVEhFTUVfUFJFRkVSRU5DRV9LRVksIHRoZW1lSWQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBndWVzc0luaXRpYWxUaGVtZSgpOiBUaGVtZVNwZWMgfCBudWxsIHtcbiAgICBsZXQgaW5pdGlhbFRoZW1lOiBUaGVtZVNwZWM7XG4gICAgaWYgKHdpbmRvdy5tYXRjaE1lZGlhKFwiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKVwiKS5tYXRjaGVzKSB7XG4gICAgICBpbml0aWFsVGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS50aGVtZXNTbmFwc2hvdFxuICAgICAgICAuZmluZCh0ID0+IHQuZGFyayk7XG4gICAgfVxuICAgIGlmICghaW5pdGlhbFRoZW1lKSB7XG4gICAgICBpbml0aWFsVGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWVTbmFwc2hvdDtcbiAgICB9XG4gICAgcmV0dXJuIGluaXRpYWxUaGVtZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
+
import { combineLatest } from 'rxjs';
|
|
4
|
+
import { map, tap } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../elder-theme.service";
|
|
7
|
+
import * as i2 from "../elder-theme-preference.service";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@angular/material/slide-toggle";
|
|
10
|
+
import * as i5 from "@angular/material/icon";
|
|
11
|
+
import * as i6 from "@angular/forms";
|
|
12
|
+
export class ElderThemeToggleComponent {
|
|
13
|
+
/***************************************************************************
|
|
14
|
+
* *
|
|
15
|
+
* Constructor *
|
|
16
|
+
* *
|
|
17
|
+
**************************************************************************/
|
|
18
|
+
constructor(themeService, themePreferenceService) {
|
|
19
|
+
this.themeService = themeService;
|
|
20
|
+
this.themePreferenceService = themePreferenceService;
|
|
21
|
+
/***************************************************************************
|
|
22
|
+
* *
|
|
23
|
+
* Fields *
|
|
24
|
+
* *
|
|
25
|
+
**************************************************************************/
|
|
26
|
+
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
27
|
+
this.activeToggleTheme$ = combineLatest([
|
|
28
|
+
this.themeService.defaultTheme$,
|
|
29
|
+
this.themeService.activeTheme$
|
|
30
|
+
]).pipe(map(([defaultTheme, activeTheme]) => this.decideToggleTheme(defaultTheme, activeTheme)), tap(tt => this.logger.info('Active toggle theme: ' + tt)));
|
|
31
|
+
}
|
|
32
|
+
/***************************************************************************
|
|
33
|
+
* *
|
|
34
|
+
* Public API *
|
|
35
|
+
* *
|
|
36
|
+
**************************************************************************/
|
|
37
|
+
onToggle(tggl) {
|
|
38
|
+
const themes = this.themeService.themesSnapshot;
|
|
39
|
+
const defaultTheme = this.themeService.defaultThemeSnapshot;
|
|
40
|
+
let theme;
|
|
41
|
+
if (tggl) {
|
|
42
|
+
theme = themes
|
|
43
|
+
.find(theme => theme.id !== defaultTheme?.id);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
theme = defaultTheme;
|
|
47
|
+
}
|
|
48
|
+
if (theme) {
|
|
49
|
+
this.themePreferenceService.activateThemeAndSave(theme.id);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/***************************************************************************
|
|
53
|
+
* *
|
|
54
|
+
* Private methods *
|
|
55
|
+
* *
|
|
56
|
+
**************************************************************************/
|
|
57
|
+
decideToggleTheme(defaultTheme, activeTheme) {
|
|
58
|
+
if (defaultTheme?.id === activeTheme?.id) {
|
|
59
|
+
return 'default';
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return 'secondary';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
ElderThemeToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemeToggleComponent, deps: [{ token: i1.ElderThemeService }, { token: i2.ElderThemePreferenceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
+
ElderThemeToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ElderThemeToggleComponent, selector: "elder-theme-toggle", ngImport: i0, template: "<mat-slide-toggle *ngIf=\"activeToggleTheme$ | async as activeToggleTheme\"\n [ngModel]=\"activeToggleTheme !== 'default'\"\n color=\"primary\"\n (ngModelChange)=\"onToggle($event)\"\n>\n <mat-icon color=\"primary\">\n brightness_2\n </mat-icon>\n</mat-slide-toggle>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemeToggleComponent, decorators: [{
|
|
69
|
+
type: Component,
|
|
70
|
+
args: [{ selector: 'elder-theme-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-slide-toggle *ngIf=\"activeToggleTheme$ | async as activeToggleTheme\"\n [ngModel]=\"activeToggleTheme !== 'default'\"\n color=\"primary\"\n (ngModelChange)=\"onToggle($event)\"\n>\n <mat-icon color=\"primary\">\n brightness_2\n </mat-icon>\n</mat-slide-toggle>\n" }]
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i1.ElderThemeService }, { type: i2.ElderThemePreferenceService }]; } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGhlbWUvZWxkZXItdGhlbWUtdG9nZ2xlL2VsZGVyLXRoZW1lLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RoZW1lL2VsZGVyLXRoZW1lLXRvZ2dsZS9lbGRlci10aGVtZS10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVl4QyxNQUFNLE9BQU8seUJBQXlCO0lBWXBDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixZQUErQixFQUMvQixzQkFBbUQ7UUFEbkQsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQy9CLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBNkI7UUFsQnRFOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBY3ZFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQ3JDO1lBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWTtTQUMvQixDQUFDLENBQUMsSUFBSSxDQUNQLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDLEVBQ3ZGLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQzFELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsQ0FBQyxJQUFhO1FBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUE7UUFDM0QsSUFBSSxLQUFnQixDQUFDO1FBQ3JCLElBQUcsSUFBSSxFQUFFO1lBQ1AsS0FBSyxHQUFHLE1BQU07aUJBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNMLEtBQUssR0FBRyxZQUFZLENBQUM7U0FDdEI7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGlCQUFpQixDQUN2QixZQUF1QixFQUN2QixXQUFzQjtRQUV0QixJQUFHLFlBQVksRUFBRSxFQUFFLEtBQUssV0FBVyxFQUFFLEVBQUUsRUFBQztZQUN0QyxPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFPO1lBQ04sT0FBTyxXQUFXLENBQUM7U0FDcEI7SUFDSCxDQUFDOztzSEFwRVUseUJBQXlCOzBHQUF6Qix5QkFBeUIsMERDaEJ0QyxzUkFTQTsyRkRPYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VsZGVyVGhlbWVTZXJ2aWNlfSBmcm9tICcuLi9lbGRlci10aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1RoZW1lU3BlY30gZnJvbSAnLi4vdGhlbWUtc3BlYyc7XG5pbXBvcnQge0VsZGVyVGhlbWVQcmVmZXJlbmNlU2VydmljZX0gZnJvbSAnLi4vZWxkZXItdGhlbWUtcHJlZmVyZW5jZS5zZXJ2aWNlJztcblxudHlwZSBUb2dnbGVUaGVtZSA9ICdkZWZhdWx0JyB8ICdzZWNvbmRhcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci10aGVtZS10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItdGhlbWUtdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItdGhlbWUtdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVGhlbWVUb2dnbGVDb21wb25lbnQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVG9nZ2xlVGhlbWUkOiBPYnNlcnZhYmxlPFRvZ2dsZVRoZW1lPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRoZW1lU2VydmljZTogRWxkZXJUaGVtZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aGVtZVByZWZlcmVuY2VTZXJ2aWNlOiBFbGRlclRoZW1lUHJlZmVyZW5jZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmVUb2dnbGVUaGVtZSQgPSBjb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWUkLFxuICAgICAgICB0aGlzLnRoZW1lU2VydmljZS5hY3RpdmVUaGVtZSRcbiAgICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtkZWZhdWx0VGhlbWUsIGFjdGl2ZVRoZW1lXSkgPT4gdGhpcy5kZWNpZGVUb2dnbGVUaGVtZShkZWZhdWx0VGhlbWUsIGFjdGl2ZVRoZW1lKSksXG4gICAgICB0YXAodHQgPT4gdGhpcy5sb2dnZXIuaW5mbygnQWN0aXZlIHRvZ2dsZSB0aGVtZTogJyArIHR0KSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uVG9nZ2xlKHRnZ2w6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCB0aGVtZXMgPSB0aGlzLnRoZW1lU2VydmljZS50aGVtZXNTbmFwc2hvdDtcbiAgICBjb25zdCBkZWZhdWx0VGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWVTbmFwc2hvdFxuICAgIGxldCB0aGVtZTogVGhlbWVTcGVjO1xuICAgIGlmKHRnZ2wpIHtcbiAgICAgIHRoZW1lID0gdGhlbWVzXG4gICAgICAgIC5maW5kKHRoZW1lID0+IHRoZW1lLmlkICE9PSBkZWZhdWx0VGhlbWU/LmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhlbWUgPSBkZWZhdWx0VGhlbWU7XG4gICAgfVxuICAgIGlmICh0aGVtZSkge1xuICAgICAgdGhpcy50aGVtZVByZWZlcmVuY2VTZXJ2aWNlLmFjdGl2YXRlVGhlbWVBbmRTYXZlKHRoZW1lLmlkKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGRlY2lkZVRvZ2dsZVRoZW1lKFxuICAgIGRlZmF1bHRUaGVtZTogVGhlbWVTcGVjLFxuICAgIGFjdGl2ZVRoZW1lOiBUaGVtZVNwZWNcbiAgKTogVG9nZ2xlVGhlbWUge1xuICAgIGlmKGRlZmF1bHRUaGVtZT8uaWQgPT09IGFjdGl2ZVRoZW1lPy5pZCl7XG4gICAgICByZXR1cm4gJ2RlZmF1bHQnO1xuICAgIH0gZWxzZSAge1xuICAgICAgcmV0dXJuICdzZWNvbmRhcnknO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1zbGlkZS10b2dnbGUgKm5nSWY9XCJhY3RpdmVUb2dnbGVUaGVtZSQgfCBhc3luYyBhcyBhY3RpdmVUb2dnbGVUaGVtZVwiXG4gIFtuZ01vZGVsXT1cImFjdGl2ZVRvZ2dsZVRoZW1lICE9PSAnZGVmYXVsdCdcIlxuICBjb2xvcj1cInByaW1hcnlcIlxuICAobmdNb2RlbENoYW5nZSk9XCJvblRvZ2dsZSgkZXZlbnQpXCJcbj5cbiAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgIGJyaWdodG5lc3NfMlxuICA8L21hdC1pY29uPlxuPC9tYXQtc2xpZGUtdG9nZ2xlPlxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ElderThemeApplierDirective } from './elder-theme-applier.directive';
|
|
4
|
+
import { ElderThemeToggleComponent } from './elder-theme-toggle/elder-theme-toggle.component';
|
|
5
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
6
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
+
import { FormsModule } from '@angular/forms';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export { ThemeSpec } from './theme-spec';
|
|
10
|
+
export { KnownElderThemes } from './known-elder-themes';
|
|
11
|
+
export { ElderThemeService } from './elder-theme.service';
|
|
12
|
+
export { ElderThemePreferenceService } from './elder-theme-preference.service';
|
|
13
|
+
export { ElderThemeApplierDirective } from './elder-theme-applier.directive';
|
|
14
|
+
export { ElderThemeToggleComponent } from './elder-theme-toggle/elder-theme-toggle.component';
|
|
15
|
+
export class ElderThemeModule {
|
|
16
|
+
}
|
|
17
|
+
ElderThemeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
ElderThemeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: ElderThemeModule, declarations: [ElderThemeApplierDirective,
|
|
19
|
+
ElderThemeToggleComponent], imports: [CommonModule,
|
|
20
|
+
MatSlideToggleModule,
|
|
21
|
+
MatIconModule,
|
|
22
|
+
FormsModule], exports: [ElderThemeApplierDirective,
|
|
23
|
+
ElderThemeToggleComponent] });
|
|
24
|
+
ElderThemeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemeModule, imports: [CommonModule,
|
|
25
|
+
MatSlideToggleModule,
|
|
26
|
+
MatIconModule,
|
|
27
|
+
FormsModule] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ElderThemeModule, decorators: [{
|
|
29
|
+
type: NgModule,
|
|
30
|
+
args: [{
|
|
31
|
+
imports: [
|
|
32
|
+
CommonModule,
|
|
33
|
+
MatSlideToggleModule,
|
|
34
|
+
MatIconModule,
|
|
35
|
+
FormsModule
|
|
36
|
+
],
|
|
37
|
+
declarations: [
|
|
38
|
+
ElderThemeApplierDirective,
|
|
39
|
+
ElderThemeToggleComponent
|
|
40
|
+
],
|
|
41
|
+
exports: [
|
|
42
|
+
ElderThemeApplierDirective,
|
|
43
|
+
ElderThemeToggleComponent
|
|
44
|
+
]
|
|
45
|
+
}]
|
|
46
|
+
}] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aGVtZS9lbGRlci10aGVtZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFM0MsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQW9CNUYsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQVJ6QiwwQkFBMEI7UUFDMUIseUJBQXlCLGFBUHpCLFlBQVk7UUFDWixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLFdBQVcsYUFPWCwwQkFBMEI7UUFDMUIseUJBQXlCOzhHQUdoQixnQkFBZ0IsWUFkekIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsV0FBVzsyRkFXRixnQkFBZ0I7a0JBaEI1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixXQUFXO3FCQUNaO29CQUNELFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDBCQUEwQjt3QkFDMUIseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWxkZXJUaGVtZUFwcGxpZXJEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLXRoZW1lLWFwcGxpZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVsZGVyVGhlbWVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLXRoZW1lLXRvZ2dsZS9lbGRlci10aGVtZS10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7TWF0U2xpZGVUb2dnbGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQge1RoZW1lU3BlY30gZnJvbSAnLi90aGVtZS1zcGVjJztcbmV4cG9ydCB7S25vd25FbGRlclRoZW1lc30gZnJvbSAnLi9rbm93bi1lbGRlci10aGVtZXMnO1xuZXhwb3J0IHtFbGRlclRoZW1lU2VydmljZX0gZnJvbSAnLi9lbGRlci10aGVtZS5zZXJ2aWNlJztcbmV4cG9ydCB7RWxkZXJUaGVtZVByZWZlcmVuY2VTZXJ2aWNlfSBmcm9tICcuL2VsZGVyLXRoZW1lLXByZWZlcmVuY2Uuc2VydmljZSc7XG5leHBvcnQge0VsZGVyVGhlbWVBcHBsaWVyRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXRoZW1lLWFwcGxpZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJUaGVtZVRvZ2dsZUNvbXBvbmVudH0gZnJvbSAnLi9lbGRlci10aGVtZS10b2dnbGUvZWxkZXItdGhlbWUtdG9nZ2xlLmNvbXBvbmVudCc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJUaGVtZUFwcGxpZXJEaXJlY3RpdmUsXG4gICAgRWxkZXJUaGVtZVRvZ2dsZUNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWxkZXJUaGVtZUFwcGxpZXJEaXJlY3RpdmUsXG4gICAgRWxkZXJUaGVtZVRvZ2dsZUNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVGhlbWVNb2R1bGUgeyB9XG4iXX0=
|