@elderbyte/ngx-starter 15.0.3-mdc → 15.0.4-mdc
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/nav/nav-link/elder-nav-link.component.mjs +19 -5
- package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +6 -5
- package/fesm2015/elderbyte-ngx-starter.mjs +78 -65
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +78 -65
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +5 -1
- package/package.json +1 -1
- package/src/lib/components/navigation/nav/_elder-nav-theme.scss +12 -2
- package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.scss +1 -1
- package/src/lib/components/panels/flat/_elder-panel-theme.scss +1 -0
- package/theming/_elder-mdc-support.scss +20 -0
|
@@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, HostBinding, Input, Output, ViewChi
|
|
|
2
2
|
import { BehaviorSubject, Subject, switchMap } from 'rxjs';
|
|
3
3
|
import { combineLatestWith, filter, map, startWith, takeUntil } from 'rxjs/operators';
|
|
4
4
|
import { RouterLinkActive } from '@angular/router';
|
|
5
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "../nav-list/elder-nav-list.component";
|
|
7
8
|
import * as i2 from "@angular/common";
|
|
@@ -38,6 +39,7 @@ export class ElderNavLinkComponent {
|
|
|
38
39
|
this.tabIndex = -1;
|
|
39
40
|
this.queryParams = {};
|
|
40
41
|
this.clicked = new Subject();
|
|
42
|
+
this._disabled = false;
|
|
41
43
|
this._routerLink$ = new BehaviorSubject('');
|
|
42
44
|
this._href$ = new BehaviorSubject('');
|
|
43
45
|
this._target$ = new BehaviorSubject('_blank');
|
|
@@ -90,14 +92,24 @@ export class ElderNavLinkComponent {
|
|
|
90
92
|
get value() {
|
|
91
93
|
return this._value;
|
|
92
94
|
}
|
|
95
|
+
set disabled(v) {
|
|
96
|
+
this._disabled = coerceBooleanProperty(v);
|
|
97
|
+
}
|
|
98
|
+
get disabled() {
|
|
99
|
+
return this._disabled;
|
|
100
|
+
}
|
|
93
101
|
/***************************************************************************
|
|
94
102
|
* *
|
|
95
103
|
* Public API *
|
|
96
104
|
* *
|
|
97
105
|
**************************************************************************/
|
|
98
106
|
itemClick(event) {
|
|
99
|
-
|
|
100
|
-
|
|
107
|
+
if (!this._disabled) {
|
|
108
|
+
this.clicked.next(new NavItemClicked(event, this.value));
|
|
109
|
+
if (this.value != null) {
|
|
110
|
+
this.navList.value = this.value;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
101
113
|
}
|
|
102
114
|
/***************************************************************************
|
|
103
115
|
* *
|
|
@@ -109,10 +121,10 @@ export class ElderNavLinkComponent {
|
|
|
109
121
|
}
|
|
110
122
|
}
|
|
111
123
|
ElderNavLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavLinkComponent, deps: [{ token: i1.ElderNavListComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
-
ElderNavLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderNavLinkComponent, selector: "elder-nav-link", inputs: { title: "title", queryParamsHandling: "queryParamsHandling", queryParams: "queryParams", icon: "icon", fontIcon: "fontIcon", fontSet: "fontSet", svgIcon: "svgIcon", routerLink: "routerLink", href: "href", target: "target", value: "value" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.tabindex": "this.tabIndex" } }, viewQueries: [{ propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true }], ngImport: i0, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a
|
|
124
|
+
ElderNavLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderNavLinkComponent, selector: "elder-nav-link", inputs: { title: "title", queryParamsHandling: "queryParamsHandling", queryParams: "queryParams", icon: "icon", fontIcon: "fontIcon", fontSet: "fontSet", svgIcon: "svgIcon", routerLink: "routerLink", href: "href", target: "target", value: "value", disabled: "disabled" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.tabindex": "this.tabIndex" } }, viewQueries: [{ propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true }], ngImport: i0, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a *ngIf=\"model.href as href\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [href]=\"href\"\n [target]=\"model.hrefTarget\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Simple Button -->\n <a *ngIf=\"!model.href && !model.routerLink\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n (click)=\"itemClick($event)\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n</ng-container>\n\n\n<ng-template #defaultLinkTemplate>\n <div class=\"layout-row place-start-center gap-md noselect\">\n <mat-icon *ngIf=\"!(!icon && !title)\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n <span *ngIf=\"title\" class=\"noselect\">\n {{ title | translate}}\n </span>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:4px;overflow:hidden;transition:background .5s}.nav-link .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
113
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavLinkComponent, decorators: [{
|
|
114
126
|
type: Component,
|
|
115
|
-
args: [{ selector: 'elder-nav-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a
|
|
127
|
+
args: [{ selector: 'elder-nav-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a *ngIf=\"model.href as href\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [href]=\"href\"\n [target]=\"model.hrefTarget\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Simple Button -->\n <a *ngIf=\"!model.href && !model.routerLink\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n (click)=\"itemClick($event)\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n</ng-container>\n\n\n<ng-template #defaultLinkTemplate>\n <div class=\"layout-row place-start-center gap-md noselect\">\n <mat-icon *ngIf=\"!(!icon && !title)\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n <span *ngIf=\"title\" class=\"noselect\">\n {{ title | translate}}\n </span>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:4px;overflow:hidden;transition:background .5s}.nav-link .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}\n"] }]
|
|
116
128
|
}], ctorParameters: function () { return [{ type: i1.ElderNavListComponent }]; }, propDecorators: { tabIndex: [{
|
|
117
129
|
type: HostBinding,
|
|
118
130
|
args: ['attr.tabindex']
|
|
@@ -143,5 +155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
143
155
|
type: Input
|
|
144
156
|
}], value: [{
|
|
145
157
|
type: Input
|
|
158
|
+
}], disabled: [{
|
|
159
|
+
type: Input
|
|
146
160
|
}] } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdi9uYXYtbGluay9lbGRlci1uYXYtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1saW5rL2VsZGVyLW5hdi1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQy9GLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFHdEUsTUFBTSxZQUFZO0lBQ2hCLFlBQ2tCLFVBQWtCLEVBQ2xCLElBQVksRUFDWixVQUFrQjtRQUZsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBRXBDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ2tCLEtBQWlCLEVBQ2pCLEtBQVU7UUFEVixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFVBQUssR0FBTCxLQUFL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QUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJVSxPQUFPO3NCQUR0QixNQUFNO2dCQXNFSCxnQkFBZ0I7c0JBRG5CLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQU1qQyxVQUFVO3NCQURwQixLQUFLO2dCQU1LLElBQUk7c0JBRGQsS0FBSztnQkFNSyxNQUFNO3NCQURoQixLQUFLO2dCQU1LLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHRha2VXaGlsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXJMaW5rQWN0aXZlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtFbGRlck5hdkxpc3RDb21wb25lbnR9IGZyb20gJy4uL25hdi1saXN0L2VsZGVyLW5hdi1saXN0LmNvbXBvbmVudCc7XG5cbmNsYXNzIE5hdkl0ZW1Nb2RlbCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByb3V0ZXJMaW5rOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhyZWY6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaHJlZlRhcmdldDogc3RyaW5nLFxuICApIHtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTmF2SXRlbUNsaWNrZWQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXZlbnQ6IE1vdXNlRXZlbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBhbnlcbiAgKSB7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbmF2LWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbmF2LWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1uYXYtbGluay5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck5hdkxpbmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiSW5kZXggPSAtMTtcblxuICByZWFkb25seSBtb2RlbCQ6IE9ic2VydmFibGU8TmF2SXRlbU1vZGVsPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlQYXJhbXNIYW5kbGluZzogUXVlcnlQYXJhbXNIYW5kbGluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlQYXJhbXM6IHtcbiAgICBbazogc3RyaW5nXTogYW55O1xuICB9ID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9udEljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9udFNldDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdmdJY29uOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBjbGlja2VkID0gbmV3IFN1YmplY3Q8TmF2SXRlbUNsaWNrZWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyTGluayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ocmVmJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ19ibGFuaycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXJMaW5rQWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Um91dGVyTGlua0FjdGl2ZT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdkxpc3Q6IEVsZGVyTmF2TGlzdENvbXBvbmVudFxuICApIHtcbiAgICB0aGlzLm1vZGVsJCA9IHRoaXMuX3JvdXRlckxpbmskLnBpcGUoXG4gICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLl9ocmVmJCksXG4gICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLl90YXJnZXQkKSxcbiAgICAgIG1hcCgoW1tyb3V0ZXJMaW5rLCBocmVmXSwgdGFyZ2V0XSkgPT4gbmV3IE5hdkl0ZW1Nb2RlbChyb3V0ZXJMaW5rLCBocmVmLCB0YXJnZXQpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcm91dGVyTGlua0FjdGl2ZSQucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGZpbHRlcihybGEgPT4gISFybGEpLFxuICAgICAgc3dpdGNoTWFwKHJsYSA9PiB7XG4gICAgICAgIHJldHVybiBybGEuaXNBY3RpdmVDaGFuZ2UucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgocmxhLmlzQWN0aXZlKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZShhY3RpdmUgPT4gdGhpcy5fYWN0aXZlJC5uZXh0KGFjdGl2ZSkpO1xuXG4gICAgdGhpcy5uYXZMaXN0LnZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBtYXAodmFsdWUgPT4gdGhpcy5pc0N1cnJlbnRWYWx1ZUFjdGl2ZSksXG4gICAgKS5zdWJzY3JpYmUoYWN0aXZlID0+IHRoaXMuX2FjdGl2ZSQubmV4dChhY3RpdmUpKTtcblxuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUkLm5leHQodGhpcy5pc0N1cnJlbnRWYWx1ZUFjdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlJDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoUm91dGVyTGlua0FjdGl2ZSwge3N0YXRpYzogZmFsc2V9KVxuICBzZXQgcm91dGVyTGlua0FjdGl2ZShybGE6IFJvdXRlckxpbmtBY3RpdmUpIHtcbiAgICB0aGlzLl9yb3V0ZXJMaW5rQWN0aXZlJC5uZXh0KHJsYSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJvdXRlckxpbmsodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3JvdXRlckxpbmskLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBocmVmKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9ocmVmJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFyZ2V0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90YXJnZXQkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHY7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGl0ZW1DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2xpY2tlZC5uZXh0KG5ldyBOYXZJdGVtQ2xpY2tlZChldmVudCwgdGhpcy52YWx1ZSkpO1xuICAgIHRoaXMubmF2TGlzdC52YWx1ZSA9IHRoaXMudmFsdWU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBpc0N1cnJlbnRWYWx1ZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXZMaXN0LmlzQWN0aXZlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8IS0tIFJvdXRlciBMaW5rIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsJCB8IGFzeW5jIGFzIG1vZGVsXCI+XG4gIDxhICpuZ0lmPVwibW9kZWwucm91dGVyTGluayBhcyByb3V0ZXJMaW5rXCJcbiAgICAgbWF0UmlwcGxlXG4gICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWxpbmtcbiAgICAgICAgIG1kYy1saXN0LWl0ZW0gbWRjLWxpc3QtaXRlbS0td2l0aC1vbmUtbGluZVwiXG4gICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIlxuICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgcm91dGVyTGlua0FjdGl2ZT1cImR1bW15XCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWFjdGl2ZV09XCJhY3RpdmUkIHwgYXN5bmNcIlxuICAgICBbY2xhc3MubmF2LWxpbmstaW5hY3RpdmVdPVwiKGFjdGl2ZSQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdExpbmtUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2E+XG5cbiAgPCEtLSBIcmVmIExpbmsgLS0+XG4gIDxhIG1hdFJpcHBsZSAqbmdJZj1cIm1vZGVsLmhyZWYgYXMgaHJlZlwiXG4gICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWxpbmtcbiAgICAgICAgICAgICAgbWRjLWxpc3QtaXRlbSBtZGMtbGlzdC1pdGVtLS13aXRoLW9uZS1saW5lXCJcbiAgICAgW2hyZWZdPVwiaHJlZlwiXG4gICAgIFt0YXJnZXRdPVwibW9kZWwuaHJlZlRhcmdldFwiXG4gICAgIFtjbGFzcy5uYXYtbGluay1hY3RpdmVdPVwiYWN0aXZlJCB8IGFzeW5jXCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWluYWN0aXZlXT1cIihhY3RpdmUkIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRMaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9hPlxuXG4gIDwhLS0gU2ltcGxlIEJ1dHRvbiAtLT5cbiAgPGEgbWF0UmlwcGxlICpuZ0lmPVwiIW1vZGVsLmhyZWYgJiYgIW1vZGVsLnJvdXRlckxpbmtcIlxuICAgICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIG5hdi1saW5rXG4gICAgICAgICAgICBtZGMtbGlzdC1pdGVtIG1kYy1saXN0LWl0ZW0tLXdpdGgtb25lLWxpbmVcIlxuICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIlxuICAgICBbY2xhc3MubmF2LWxpbmstYWN0aXZlXT1cImFjdGl2ZSQgfCBhc3luY1wiXG4gICAgIFtjbGFzcy5uYXYtbGluay1pbmFjdGl2ZV09XCIoYWN0aXZlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctY29udGFpbmVyPlxuXG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExpbmtUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1tZCBub3NlbGVjdFwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIiEoIWljb24gJiYgIXRpdGxlKVwiXG4gICAgICAgICAgICAgIFtmb250SWNvbl09XCJmb250SWNvblwiXG4gICAgICAgICAgICAgIFtmb250U2V0XT1cImZvbnRTZXRcIj5cbiAgICAgIHt7aWNvbn19XG4gICAgPC9tYXQtaWNvbj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJzdmdJY29uXCJcbiAgICAgICAgICAgICAgW3N2Z0ljb25dPVwic3ZnSWNvblwiXG4gICAgPjwvbWF0LWljb24+XG4gICAgPHNwYW4gKm5nSWY9XCJ0aXRsZVwiIGNsYXNzPVwibm9zZWxlY3RcIj5cbiAgICAgIHt7IHRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICA8L3NwYW4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdi9uYXYtbGluay9lbGRlci1uYXYtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1saW5rL2VsZGVyLW5hdi1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQy9GLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQWUscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFFMUUsTUFBTSxZQUFZO0lBQ2hCLFlBQ2tCLFVBQWtCLEVBQ2xCLElBQVksRUFDWixVQUFrQjtRQUZsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBRXBDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ2tCLEtBQWlCLEVBQ2pCLEtBQVU7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QUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7a0hBdEtVLHFCQUFxQjtzR0FBckIscUJBQXFCLHFkQXlHckIsZ0JBQWdCLGdEQ3ZJN0IsbTFFQWlFQTsyRkRuQ2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzRHQVVqQixRQUFRO3NCQUFyQyxXQUFXO3VCQUFDLGVBQWU7Z0JBS3JCLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFNQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSVUsT0FBTztzQkFEdEIsTUFBTTtnQkF1RUgsZ0JBQWdCO3NCQURuQixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFNakMsVUFBVTtzQkFEcEIsS0FBSztnQkFNSyxJQUFJO3NCQURkLEtBQUs7Z0JBTUssTUFBTTtzQkFEaEIsS0FBSztnQkFNSyxLQUFLO3NCQURmLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHRha2VXaGlsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXJMaW5rQWN0aXZlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtFbGRlck5hdkxpc3RDb21wb25lbnR9IGZyb20gJy4uL25hdi1saXN0L2VsZGVyLW5hdi1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5jbGFzcyBOYXZJdGVtTW9kZWwge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcm91dGVyTGluazogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBocmVmOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhyZWZUYXJnZXQ6IHN0cmluZyxcbiAgKSB7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5hdkl0ZW1DbGlja2VkIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGV2ZW50OiBNb3VzZUV2ZW50LFxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZTogYW55XG4gICkge1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLW5hdi1saW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLW5hdi1saW5rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItbmF2LWxpbmsuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJOYXZMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYkluZGV4ID0gLTE7XG5cbiAgcmVhZG9ubHkgbW9kZWwkOiBPYnNlcnZhYmxlPE5hdkl0ZW1Nb2RlbD47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IFF1ZXJ5UGFyYW1zSGFuZGxpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5UGFyYW1zOiB7XG4gICAgW2s6IHN0cmluZ106IGFueTtcbiAgfSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvbnRJY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvbnRTZXQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc3ZnSWNvbjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgY2xpY2tlZCA9IG5ldyBTdWJqZWN0PE5hdkl0ZW1DbGlja2VkPigpO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlckxpbmskID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaHJlZiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90YXJnZXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdfYmxhbmsnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyTGlua0FjdGl2ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJvdXRlckxpbmtBY3RpdmU+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3ZhbHVlOiBhbnk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXZMaXN0OiBFbGRlck5hdkxpc3RDb21wb25lbnRcbiAgKSB7XG4gICAgdGhpcy5tb2RlbCQgPSB0aGlzLl9yb3V0ZXJMaW5rJC5waXBlKFxuICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5faHJlZiQpLFxuICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5fdGFyZ2V0JCksXG4gICAgICBtYXAoKFtbcm91dGVyTGluaywgaHJlZl0sIHRhcmdldF0pID0+IG5ldyBOYXZJdGVtTW9kZWwocm91dGVyTGluaywgaHJlZiwgdGFyZ2V0KSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3JvdXRlckxpbmtBY3RpdmUkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBmaWx0ZXIocmxhID0+ICEhcmxhKSxcbiAgICAgIHN3aXRjaE1hcChybGEgPT4ge1xuICAgICAgICByZXR1cm4gcmxhLmlzQWN0aXZlQ2hhbmdlLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKHJsYS5pc0FjdGl2ZSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoYWN0aXZlID0+IHRoaXMuX2FjdGl2ZSQubmV4dChhY3RpdmUpKTtcblxuICAgIHRoaXMubmF2TGlzdC52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgbWFwKHZhbHVlID0+IHRoaXMuaXNDdXJyZW50VmFsdWVBY3RpdmUpLFxuICAgICkuc3Vic2NyaWJlKGFjdGl2ZSA9PiB0aGlzLl9hY3RpdmUkLm5leHQoYWN0aXZlKSk7XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5fYWN0aXZlJC5uZXh0KHRoaXMuaXNDdXJyZW50VmFsdWVBY3RpdmUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZSQ7XG4gIH1cblxuICBAVmlld0NoaWxkKFJvdXRlckxpbmtBY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcbiAgc2V0IHJvdXRlckxpbmtBY3RpdmUocmxhOiBSb3V0ZXJMaW5rQWN0aXZlKSB7XG4gICAgdGhpcy5fcm91dGVyTGlua0FjdGl2ZSQubmV4dChybGEpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByb3V0ZXJMaW5rKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yb3V0ZXJMaW5rJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaHJlZih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faHJlZiQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhcmdldCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGFyZ2V0JC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2O1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodjogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBpdGVtQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsaWNrZWQubmV4dChuZXcgTmF2SXRlbUNsaWNrZWQoZXZlbnQsIHRoaXMudmFsdWUpKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5uYXZMaXN0LnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBpc0N1cnJlbnRWYWx1ZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXZMaXN0LmlzQWN0aXZlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8IS0tIFJvdXRlciBMaW5rIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsJCB8IGFzeW5jIGFzIG1vZGVsXCI+XG4gIDxhICpuZ0lmPVwibW9kZWwucm91dGVyTGluayBhcyByb3V0ZXJMaW5rXCJcbiAgICAgbWF0UmlwcGxlIFttYXRSaXBwbGVEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWxpbmtcbiAgICAgICAgIG1kYy1saXN0LWl0ZW0gbWRjLWxpc3QtaXRlbS0td2l0aC1vbmUtbGluZVwiXG4gICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIlxuICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgcm91dGVyTGlua0FjdGl2ZT1cImR1bW15XCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWNsaWNrYWJsZV09XCIhZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstYWN0aXZlXT1cImFjdGl2ZSQgfCBhc3luY1wiXG4gICAgIFtjbGFzcy5uYXYtbGluay1pbmFjdGl2ZV09XCIoYWN0aXZlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cblxuICA8IS0tIEhyZWYgTGluayAtLT5cbiAgPGEgKm5nSWY9XCJtb2RlbC5ocmVmIGFzIGhyZWZcIlxuICAgICBtYXRSaXBwbGUgW21hdFJpcHBsZURpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBuYXYtbGlua1xuICAgICAgICAgICAgICBtZGMtbGlzdC1pdGVtIG1kYy1saXN0LWl0ZW0tLXdpdGgtb25lLWxpbmVcIlxuICAgICBbaHJlZl09XCJocmVmXCJcbiAgICAgW3RhcmdldF09XCJtb2RlbC5ocmVmVGFyZ2V0XCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWNsaWNrYWJsZV09XCIhZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstYWN0aXZlXT1cImFjdGl2ZSQgfCBhc3luY1wiXG4gICAgIFtjbGFzcy5uYXYtbGluay1pbmFjdGl2ZV09XCIoYWN0aXZlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cblxuICA8IS0tIFNpbXBsZSBCdXR0b24gLS0+XG4gIDxhICpuZ0lmPVwiIW1vZGVsLmhyZWYgJiYgIW1vZGVsLnJvdXRlckxpbmtcIlxuICAgICBtYXRSaXBwbGUgW21hdFJpcHBsZURpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBuYXYtbGlua1xuICAgICAgICAgICAgbWRjLWxpc3QtaXRlbSBtZGMtbGlzdC1pdGVtLS13aXRoLW9uZS1saW5lXCJcbiAgICAgKGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWNsaWNrYWJsZV09XCIhZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstYWN0aXZlXT1cImFjdGl2ZSQgfCBhc3luY1wiXG4gICAgIFtjbGFzcy5uYXYtbGluay1pbmFjdGl2ZV09XCIoYWN0aXZlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctY29udGFpbmVyPlxuXG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExpbmtUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1tZCBub3NlbGVjdFwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIiEoIWljb24gJiYgIXRpdGxlKVwiXG4gICAgICAgICAgICAgIFtmb250SWNvbl09XCJmb250SWNvblwiXG4gICAgICAgICAgICAgIFtmb250U2V0XT1cImZvbnRTZXRcIj5cbiAgICAgIHt7aWNvbn19XG4gICAgPC9tYXQtaWNvbj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJzdmdJY29uXCJcbiAgICAgICAgICAgICAgW3N2Z0ljb25dPVwic3ZnSWNvblwiXG4gICAgPjwvbWF0LWljb24+XG4gICAgPHNwYW4gKm5nSWY9XCJ0aXRsZVwiIGNsYXNzPVwibm9zZWxlY3RcIj5cbiAgICAgIHt7IHRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICA8L3NwYW4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -3,8 +3,9 @@ import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
|
|
|
3
3
|
import { ToastType } from '../toast-type';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/material/snack-bar";
|
|
6
|
-
import * as i2 from "@angular/
|
|
7
|
-
import * as i3 from "@angular/material/
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/material/icon";
|
|
8
|
+
import * as i4 from "@angular/material/button";
|
|
8
9
|
export class StandardToastComponent {
|
|
9
10
|
/***************************************************************************
|
|
10
11
|
* *
|
|
@@ -62,12 +63,12 @@ export class StandardToastComponent {
|
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
StandardToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
StandardToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: StandardToastComponent, selector: "elder-standard-toast", ngImport: i0, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\"
|
|
66
|
+
StandardToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: StandardToastComponent, selector: "elder-standard-toast", ngImport: i0, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{icon(toast.type)}}</mat-icon>\n <span\n class=\"toast-title mat-subtitle-2 noselect\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n >{{toast.status}}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n <span class=\"mat-body noselect\" matSnackBarLabel *ngIf=\"toast.message\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.message}}</span>\n\n <span></span>\n\n <!-- Toast Detail -->\n <span class=\"mat-small noselect\" matSnackBarLabel *ngIf=\"toast.detail\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{trimDetailText(toast.detail, 200)}}</span>\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button mat-button matSnackBarAction type=\"button\" [color]=\"iconColor(toast.type)\" (click)=\"close()\">Ok</button>\n </div>\n\n</div>\n", styles: [".toast-title{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: i1.MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: i1.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
66
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: StandardToastComponent, decorators: [{
|
|
67
68
|
type: Component,
|
|
68
|
-
args: [{ selector: 'elder-standard-toast', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\"
|
|
69
|
+
args: [{ selector: 'elder-standard-toast', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{icon(toast.type)}}</mat-icon>\n <span\n class=\"toast-title mat-subtitle-2 noselect\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n >{{toast.status}}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n <span class=\"mat-body noselect\" matSnackBarLabel *ngIf=\"toast.message\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.message}}</span>\n\n <span></span>\n\n <!-- Toast Detail -->\n <span class=\"mat-small noselect\" matSnackBarLabel *ngIf=\"toast.detail\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{trimDetailText(toast.detail, 200)}}</span>\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button mat-button matSnackBarAction type=\"button\" [color]=\"iconColor(toast.type)\" (click)=\"close()\">Ok</button>\n </div>\n\n</div>\n", styles: [".toast-title{font-size:16px}\n"] }]
|
|
69
70
|
}], ctorParameters: function () { return [{ type: i1.MatSnackBarRef }, { type: undefined, decorators: [{
|
|
70
71
|
type: Inject,
|
|
71
72
|
args: [MAT_SNACK_BAR_DATA]
|
|
72
73
|
}] }]; } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90b2FzdHMvc3RhbmRhcmQtdG9hc3Qvc3RhbmRhcmQtdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90b2FzdHMvc3RhbmRhcmQtdG9hc3Qvc3RhbmRhcmQtdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFpQixNQUFNLDZCQUE2QixDQUFDO0FBRS9FLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVN4QyxNQUFNLE9BQU8sc0JBQXNCO0lBV2pDOzs7O2dGQUk0RTtJQUU1RSxZQUNrQixXQUFtRCxFQUN2QixLQUFZO1FBRHhDLGdCQUFXLEdBQVgsV0FBVyxDQUF3QztRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBakIxRDs7OztvRkFJNEU7UUFFNUQsY0FBUyxHQUFHLFNBQVMsQ0FBQztJQWF0QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLFFBQVE7SUFDUixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLEtBQUs7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBZTtRQUM5QixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sU0FBUyxDQUFDO1lBQ3pDLEtBQUssU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDO1lBQ3hDLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sU0FBUyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVNLElBQUksQ0FBQyxJQUFlO1FBQ3pCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUM7WUFDdEMsS0FBSyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUM7WUFDekMsS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUM7WUFDckMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLElBQVksRUFBRSxNQUFjO1FBQ2hELElBQUksSUFBSSxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDdkM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzttSEFsRVUsc0JBQXNCLGdEQW1CdkIsa0JBQWtCO3VHQW5CakIsc0JBQXNCLDREQ1puQywwc0NBaUNBOzJGRHJCYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07OzBCQXFCNUMsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TUFUX1NOQUNLX0JBUl9EQVRBLCBNYXRTbmFja0JhclJlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7VG9hc3R9IGZyb20gJy4uL3RvYXN0JztcbmltcG9ydCB7VG9hc3RUeXBlfSBmcm9tICcuLi90b2FzdC10eXBlJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItc3RhbmRhcmQtdG9hc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RhbmRhcmQtdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGFuZGFyZC10b2FzdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTdGFuZGFyZFRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVhZG9ubHkgVG9hc3RUeXBlID0gVG9hc3RUeXBlO1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHNuYWNrQmFyUmVmOiBNYXRTbmFja0JhclJlZjxTdGFuZGFyZFRvYXN0Q29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9TTkFDS19CQVJfREFUQSkgcHVibGljIHJlYWRvbmx5IHRvYXN0OiBUb2FzdFxuICApIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuc25hY2tCYXJSZWYuZGlzbWlzcygpO1xuICB9XG5cbiAgcHVibGljIGljb25Db2xvcih0eXBlOiBUb2FzdFR5cGUpOiBUaGVtZVBhbGV0dGUge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBUb2FzdFR5cGUuU3VjY2VzczogcmV0dXJuICdwcmltYXJ5JztcbiAgICAgIGNhc2UgVG9hc3RUeXBlLldhcm5pbmc6IHJldHVybiAnYWNjZW50JztcbiAgICAgIGNhc2UgVG9hc3RUeXBlLkVycm9yOiByZXR1cm4gJ3dhcm4nO1xuICAgICAgZGVmYXVsdDogcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaWNvbih0eXBlOiBUb2FzdFR5cGUpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBUb2FzdFR5cGUuU3VjY2VzczogcmV0dXJuICdpbmZvJztcbiAgICAgIGNhc2UgVG9hc3RUeXBlLldhcm5pbmc6IHJldHVybiAnd2FybmluZyc7XG4gICAgICBjYXNlIFRvYXN0VHlwZS5FcnJvcjogcmV0dXJuICdlcnJvcic7XG4gICAgICBkZWZhdWx0OiByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRyaW1EZXRhaWxUZXh0KHRleHQ6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh0ZXh0Py5sZW5ndGggPiBsZW5ndGgpIHtcbiAgICAgIHJldHVybiB0ZXh0LnN1YnN0cigwLCBsZW5ndGgpICsgJy4uLic7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0ZXh0O1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBnYXAteHMgbWF0LW1kYy1zbmFjay1iYXItY29udGFpbmVyXCI+XG5cbiAgPCEtLSBJY29uIGFuZCBTdGF0dXMgLS0+XG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBnYXAtc21cIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJub3NlbGVjdFwiPnt7aWNvbih0b2FzdC50eXBlKX19PC9tYXQtaWNvbj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJ0b2FzdC10aXRsZSBtYXQtc3VidGl0bGUtMiBub3NlbGVjdFwiXG4gICAgICBbY2xhc3MuZWxkZXItd2Fybi10ZXh0XT1cInRvYXN0LnR5cGUgPT09IFRvYXN0VHlwZS5FcnJvclwiXG4gICAgPnt7dG9hc3Quc3RhdHVzfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxzcGFuPjwvc3Bhbj5cblxuICA8IS0tIFRvYXN0IE1lc3NhZ2UgLS0+XG4gIDxzcGFuIGNsYXNzPVwibWF0LWJvZHkgbm9zZWxlY3RcIiBtYXRTbmFja0JhckxhYmVsICpuZ0lmPVwidG9hc3QubWVzc2FnZVwiXG4gICAgICAgIFtjbGFzcy5lbGRlci13YXJuLXRleHRdPVwidG9hc3QudHlwZSA9PT0gVG9hc3RUeXBlLkVycm9yXCJcbiAgICAgICAgW2NsYXNzLmVsZGVyLWFjY2VudC10ZXh0XT1cInRvYXN0LnR5cGUgPT09IFRvYXN0VHlwZS5XYXJuaW5nXCJcbiAgPnt7dG9hc3QubWVzc2FnZX19PC9zcGFuPlxuXG4gIDxzcGFuPjwvc3Bhbj5cblxuICA8IS0tIFRvYXN0IERldGFpbCAtLT5cbiAgPHNwYW4gY2xhc3M9XCJtYXQtc21hbGwgbm9zZWxlY3RcIiBtYXRTbmFja0JhckxhYmVsICpuZ0lmPVwidG9hc3QuZGV0YWlsXCJcbiAgICAgICAgW2NsYXNzLmVsZGVyLXdhcm4tdGV4dF09XCJ0b2FzdC50eXBlID09PSBUb2FzdFR5cGUuRXJyb3JcIlxuICAgICAgICBbY2xhc3MuZWxkZXItYWNjZW50LXRleHRdPVwidG9hc3QudHlwZSA9PT0gVG9hc3RUeXBlLldhcm5pbmdcIlxuICA+e3t0cmltRGV0YWlsVGV4dCh0b2FzdC5kZXRhaWwsIDIwMCl9fTwvc3Bhbj5cblxuICA8IS0tIEFjdGlvbnMgLS0+XG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWVuZC1jZW50ZXJcIiBtYXRTbmFja0JhckFjdGlvbnM+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdFNuYWNrQmFyQWN0aW9uIHR5cGU9XCJidXR0b25cIiBbY29sb3JdPVwiaWNvbkNvbG9yKHRvYXN0LnR5cGUpXCIgKGNsaWNrKT1cImNsb3NlKClcIj5PazwvYnV0dG9uPlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
|