@skyux/indicators 5.0.0-beta.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/skyux-indicators-testing.umd.js +2 -2
- package/bundles/skyux-indicators-testing.umd.js.map +1 -1
- package/bundles/skyux-indicators.umd.js +655 -523
- package/bundles/skyux-indicators.umd.js.map +1 -1
- package/documentation.json +2260 -2187
- package/esm2015/modules/alert/alert.component.js +25 -14
- package/esm2015/modules/alert/alert.module.js +29 -18
- package/esm2015/modules/chevron/chevron.component.js +21 -13
- package/esm2015/modules/chevron/chevron.module.js +26 -17
- package/esm2015/modules/help-inline/help-inline.component.js +18 -11
- package/esm2015/modules/help-inline/help-inline.module.js +29 -18
- package/esm2015/modules/icon/icon-class-list.pipe.js +11 -10
- package/esm2015/modules/icon/icon-resolver.service.js +9 -11
- package/esm2015/modules/icon/icon-stack-item.js +1 -1
- package/esm2015/modules/icon/icon-stack.component.js +20 -13
- package/esm2015/modules/icon/icon.component.js +25 -16
- package/esm2015/modules/icon/icon.module.js +13 -18
- package/esm2015/modules/key-info/key-info-label.component.js +11 -7
- package/esm2015/modules/key-info/key-info-value.component.js +11 -7
- package/esm2015/modules/key-info/key-info.component.js +15 -11
- package/esm2015/modules/key-info/key-info.module.js +25 -18
- package/esm2015/modules/label/label.component.js +17 -11
- package/esm2015/modules/label/label.module.js +13 -15
- package/esm2015/modules/shared/indicator-description-type.js +1 -1
- package/esm2015/modules/shared/indicator-icon-utility.js +4 -4
- package/esm2015/modules/shared/indicator-icon.js +1 -1
- package/esm2015/modules/shared/sky-indicators-resources.module.js +44 -13
- package/esm2015/modules/status-indicator/status-indicator.component.js +28 -21
- package/esm2015/modules/status-indicator/status-indicator.module.js +26 -17
- package/esm2015/modules/text-highlight/text-highlight.directive.js +19 -16
- package/esm2015/modules/text-highlight/text-highlight.module.js +13 -14
- package/esm2015/modules/tokens/token.component.js +32 -26
- package/esm2015/modules/tokens/tokens.component.js +93 -58
- package/esm2015/modules/tokens/tokens.module.js +26 -19
- package/esm2015/modules/tokens/types/token-selected-event-args.js +1 -1
- package/esm2015/modules/tokens/types/token.js +1 -1
- package/esm2015/modules/tokens/types/tokens-message-type.js +1 -1
- package/esm2015/modules/tokens/types/tokens-message.js +1 -1
- package/esm2015/modules/wait/wait-adapter.service.js +32 -25
- package/esm2015/modules/wait/wait-page-adapter.service.js +9 -7
- package/esm2015/modules/wait/wait-page.component.js +17 -12
- package/esm2015/modules/wait/wait.component.js +31 -27
- package/esm2015/modules/wait/wait.module.js +14 -21
- package/esm2015/modules/wait/wait.service.js +10 -16
- package/esm2015/public-api.js +17 -1
- package/esm2015/skyux-indicators.js +1 -21
- package/esm2015/testing/alert-fixture.js +1 -1
- package/esm2015/testing/label-fixture.js +1 -1
- package/esm2015/testing/wait-fixture.js +1 -1
- package/fesm2015/skyux-indicators-testing.js.map +1 -1
- package/fesm2015/skyux-indicators.js +635 -496
- package/fesm2015/skyux-indicators.js.map +1 -1
- package/modules/alert/alert.component.d.ts +3 -0
- package/modules/alert/alert.module.d.ts +10 -0
- package/modules/chevron/chevron.component.d.ts +3 -0
- package/modules/chevron/chevron.module.d.ts +9 -0
- package/modules/help-inline/help-inline.component.d.ts +3 -0
- package/modules/help-inline/help-inline.module.d.ts +10 -0
- package/modules/icon/icon-class-list.pipe.d.ts +3 -0
- package/modules/icon/icon-resolver.service.d.ts +3 -0
- package/modules/icon/icon-stack.component.d.ts +3 -0
- package/modules/icon/icon.component.d.ts +3 -0
- package/modules/icon/icon.module.d.ts +9 -0
- package/modules/key-info/key-info-label.component.d.ts +3 -0
- package/modules/key-info/key-info-value.component.d.ts +3 -0
- package/modules/key-info/key-info.component.d.ts +3 -0
- package/modules/key-info/key-info.module.d.ts +8 -0
- package/modules/label/label.component.d.ts +3 -0
- package/modules/label/label.module.d.ts +7 -0
- package/modules/shared/sky-indicators-resources.module.d.ts +5 -6
- package/modules/status-indicator/status-indicator.component.d.ts +3 -0
- package/modules/status-indicator/status-indicator.module.d.ts +9 -0
- package/modules/text-highlight/text-highlight.directive.d.ts +3 -0
- package/modules/text-highlight/text-highlight.module.d.ts +5 -0
- package/modules/tokens/token.component.d.ts +3 -0
- package/modules/tokens/tokens.component.d.ts +3 -0
- package/modules/tokens/tokens.module.d.ts +10 -0
- package/modules/wait/wait-adapter.service.d.ts +3 -0
- package/modules/wait/wait-page-adapter.service.d.ts +3 -0
- package/modules/wait/wait-page.component.d.ts +3 -0
- package/modules/wait/wait.component.d.ts +3 -0
- package/modules/wait/wait.module.d.ts +9 -0
- package/modules/wait/wait.service.d.ts +3 -0
- package/package.json +7 -8
- package/public-api.d.ts +14 -0
- package/skyux-indicators.d.ts +1 -20
- package/testing/package.json +0 -1
- package/testing/skyux-indicators-testing.d.ts +1 -0
- package/esm2015/modules/alert/alert.component.ngfactory.js +0 -27
- package/esm2015/modules/alert/alert.component.ngsummary.json +0 -1
- package/esm2015/modules/alert/alert.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/alert/alert.module.ngfactory.js +0 -16
- package/esm2015/modules/alert/alert.module.ngsummary.json +0 -1
- package/esm2015/modules/chevron/chevron.component.ngfactory.js +0 -28
- package/esm2015/modules/chevron/chevron.component.ngsummary.json +0 -1
- package/esm2015/modules/chevron/chevron.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/chevron/chevron.module.ngfactory.js +0 -15
- package/esm2015/modules/chevron/chevron.module.ngsummary.json +0 -1
- package/esm2015/modules/help-inline/help-inline.component.ngfactory.js +0 -28
- package/esm2015/modules/help-inline/help-inline.component.ngsummary.json +0 -1
- package/esm2015/modules/help-inline/help-inline.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/help-inline/help-inline.module.ngfactory.js +0 -16
- package/esm2015/modules/help-inline/help-inline.module.ngsummary.json +0 -1
- package/esm2015/modules/icon/icon-class-list.pipe.ngsummary.json +0 -1
- package/esm2015/modules/icon/icon-resolver.service.ngsummary.json +0 -1
- package/esm2015/modules/icon/icon-stack-item.ngsummary.json +0 -1
- package/esm2015/modules/icon/icon-stack.component.ngfactory.js +0 -22
- package/esm2015/modules/icon/icon-stack.component.ngsummary.json +0 -1
- package/esm2015/modules/icon/icon-stack.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/icon/icon.component.ngfactory.js +0 -21
- package/esm2015/modules/icon/icon.component.ngsummary.json +0 -1
- package/esm2015/modules/icon/icon.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/icon/icon.module.ngfactory.js +0 -13
- package/esm2015/modules/icon/icon.module.ngsummary.json +0 -1
- package/esm2015/modules/icon/types/icon-type.ngsummary.json +0 -1
- package/esm2015/modules/icon/types/icon-variant-type.ngsummary.json +0 -1
- package/esm2015/modules/key-info/key-info-label.component.ngfactory.js +0 -16
- package/esm2015/modules/key-info/key-info-label.component.ngsummary.json +0 -1
- package/esm2015/modules/key-info/key-info-value.component.ngfactory.js +0 -16
- package/esm2015/modules/key-info/key-info-value.component.ngsummary.json +0 -1
- package/esm2015/modules/key-info/key-info.component.ngfactory.js +0 -18
- package/esm2015/modules/key-info/key-info.component.ngsummary.json +0 -1
- package/esm2015/modules/key-info/key-info.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/key-info/key-info.module.ngfactory.js +0 -12
- package/esm2015/modules/key-info/key-info.module.ngsummary.json +0 -1
- package/esm2015/modules/label/label-type.ngsummary.json +0 -1
- package/esm2015/modules/label/label.component.ngfactory.js +0 -22
- package/esm2015/modules/label/label.component.ngsummary.json +0 -1
- package/esm2015/modules/label/label.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/label/label.module.ngfactory.js +0 -14
- package/esm2015/modules/label/label.module.ngsummary.json +0 -1
- package/esm2015/modules/shared/indicator-description-type.ngsummary.json +0 -1
- package/esm2015/modules/shared/indicator-icon-type.ngsummary.json +0 -1
- package/esm2015/modules/shared/indicator-icon-utility.ngsummary.json +0 -1
- package/esm2015/modules/shared/indicator-icon.ngsummary.json +0 -1
- package/esm2015/modules/shared/sky-indicators-resources.module.ngfactory.js +0 -15
- package/esm2015/modules/shared/sky-indicators-resources.module.ngsummary.json +0 -1
- package/esm2015/modules/status-indicator/status-indicator.component.ngfactory.js +0 -25
- package/esm2015/modules/status-indicator/status-indicator.component.ngsummary.json +0 -1
- package/esm2015/modules/status-indicator/status-indicator.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/status-indicator/status-indicator.module.ngfactory.js +0 -16
- package/esm2015/modules/status-indicator/status-indicator.module.ngsummary.json +0 -1
- package/esm2015/modules/text-highlight/text-highlight.directive.ngsummary.json +0 -1
- package/esm2015/modules/text-highlight/text-highlight.module.ngfactory.js +0 -12
- package/esm2015/modules/text-highlight/text-highlight.module.ngsummary.json +0 -1
- package/esm2015/modules/tokens/token.component.ngfactory.js +0 -40
- package/esm2015/modules/tokens/token.component.ngsummary.json +0 -1
- package/esm2015/modules/tokens/token.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/tokens/tokens.component.ngfactory.js +0 -39
- package/esm2015/modules/tokens/tokens.component.ngsummary.json +0 -1
- package/esm2015/modules/tokens/tokens.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/tokens/tokens.module.ngfactory.js +0 -16
- package/esm2015/modules/tokens/tokens.module.ngsummary.json +0 -1
- package/esm2015/modules/tokens/types/token-selected-event-args.ngsummary.json +0 -1
- package/esm2015/modules/tokens/types/token.ngsummary.json +0 -1
- package/esm2015/modules/tokens/types/tokens-message-type.ngsummary.json +0 -1
- package/esm2015/modules/tokens/types/tokens-message.ngsummary.json +0 -1
- package/esm2015/modules/wait/wait-adapter.service.ngsummary.json +0 -1
- package/esm2015/modules/wait/wait-page-adapter.service.ngsummary.json +0 -1
- package/esm2015/modules/wait/wait-page.component.ngfactory.js +0 -21
- package/esm2015/modules/wait/wait-page.component.ngsummary.json +0 -1
- package/esm2015/modules/wait/wait-page.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/wait/wait.component.ngfactory.js +0 -21
- package/esm2015/modules/wait/wait.component.ngsummary.json +0 -1
- package/esm2015/modules/wait/wait.component.scss.shim.ngstyle.js +0 -9
- package/esm2015/modules/wait/wait.module.ngfactory.js +0 -15
- package/esm2015/modules/wait/wait.module.ngsummary.json +0 -1
- package/esm2015/modules/wait/wait.service.ngsummary.json +0 -1
- package/esm2015/public-api.ngsummary.json +0 -1
- package/esm2015/skyux-indicators.ngsummary.json +0 -1
- package/esm2015/testing/alert-fixture.ngsummary.json +0 -1
- package/esm2015/testing/label-fixture.ngsummary.json +0 -1
- package/esm2015/testing/public-api.ngsummary.json +0 -1
- package/esm2015/testing/skyux-indicators-testing.ngsummary.json +0 -1
- package/esm2015/testing/wait-fixture.ngsummary.json +0 -1
- package/modules/alert/alert.component.ngfactory.d.ts +0 -1
- package/modules/alert/alert.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/alert/alert.module.ngfactory.d.ts +0 -3
- package/modules/chevron/chevron.component.ngfactory.d.ts +0 -1
- package/modules/chevron/chevron.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/chevron/chevron.module.ngfactory.d.ts +0 -3
- package/modules/help-inline/help-inline.component.ngfactory.d.ts +0 -1
- package/modules/help-inline/help-inline.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/help-inline/help-inline.module.ngfactory.d.ts +0 -3
- package/modules/icon/icon-stack.component.ngfactory.d.ts +0 -1
- package/modules/icon/icon-stack.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/icon/icon.component.ngfactory.d.ts +0 -1
- package/modules/icon/icon.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/icon/icon.module.ngfactory.d.ts +0 -3
- package/modules/key-info/key-info-label.component.ngfactory.d.ts +0 -1
- package/modules/key-info/key-info-value.component.ngfactory.d.ts +0 -1
- package/modules/key-info/key-info.component.ngfactory.d.ts +0 -1
- package/modules/key-info/key-info.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/key-info/key-info.module.ngfactory.d.ts +0 -3
- package/modules/label/label.component.ngfactory.d.ts +0 -1
- package/modules/label/label.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/label/label.module.ngfactory.d.ts +0 -3
- package/modules/shared/sky-indicators-resources.module.ngfactory.d.ts +0 -3
- package/modules/status-indicator/status-indicator.component.ngfactory.d.ts +0 -1
- package/modules/status-indicator/status-indicator.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/status-indicator/status-indicator.module.ngfactory.d.ts +0 -3
- package/modules/text-highlight/text-highlight.module.ngfactory.d.ts +0 -3
- package/modules/tokens/token.component.ngfactory.d.ts +0 -1
- package/modules/tokens/token.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/tokens/tokens.component.ngfactory.d.ts +0 -1
- package/modules/tokens/tokens.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/tokens/tokens.module.ngfactory.d.ts +0 -3
- package/modules/wait/wait-page.component.ngfactory.d.ts +0 -1
- package/modules/wait/wait-page.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/wait/wait.component.ngfactory.d.ts +0 -1
- package/modules/wait/wait.component.scss.shim.ngstyle.d.ts +0 -1
- package/modules/wait/wait.module.ngfactory.d.ts +0 -3
- package/skyux-indicators.metadata.json +0 -1
- package/testing/skyux-indicators-testing.metadata.json +0 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { ChangeDetectionStrategy,
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChildren, } from '@angular/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { takeUntil } from 'rxjs/operators';
|
|
5
5
|
import { SkyTokensMessageType } from './types/tokens-message-type';
|
|
6
6
|
import { SkyTokenComponent } from './token.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./token.component";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
7
10
|
export class SkyTokensComponent {
|
|
8
11
|
constructor(changeDetector) {
|
|
9
12
|
this.changeDetector = changeDetector;
|
|
@@ -58,7 +61,7 @@ export class SkyTokensComponent {
|
|
|
58
61
|
this._dismissible = value;
|
|
59
62
|
}
|
|
60
63
|
get dismissible() {
|
|
61
|
-
return
|
|
64
|
+
return this._dismissible !== false;
|
|
62
65
|
}
|
|
63
66
|
/**
|
|
64
67
|
* Specifies the token property to display for each item in the tokens list.
|
|
@@ -80,7 +83,7 @@ export class SkyTokensComponent {
|
|
|
80
83
|
this._focusable = value;
|
|
81
84
|
}
|
|
82
85
|
get focusable() {
|
|
83
|
-
return
|
|
86
|
+
return this._focusable !== false;
|
|
84
87
|
}
|
|
85
88
|
/**
|
|
86
89
|
* Specifies an array of tokens to include in the list.
|
|
@@ -136,12 +139,16 @@ export class SkyTokensComponent {
|
|
|
136
139
|
switch (event.key) {
|
|
137
140
|
case 'Left':
|
|
138
141
|
case 'ArrowLeft':
|
|
139
|
-
this.messageStream.next({
|
|
142
|
+
this.messageStream.next({
|
|
143
|
+
type: SkyTokensMessageType.FocusPreviousToken,
|
|
144
|
+
});
|
|
140
145
|
event.preventDefault();
|
|
141
146
|
break;
|
|
142
147
|
case 'Right':
|
|
143
148
|
case 'ArrowRight':
|
|
144
|
-
this.messageStream.next({
|
|
149
|
+
this.messageStream.next({
|
|
150
|
+
type: SkyTokensMessageType.FocusNextToken,
|
|
151
|
+
});
|
|
145
152
|
event.preventDefault();
|
|
146
153
|
break;
|
|
147
154
|
}
|
|
@@ -153,7 +160,7 @@ export class SkyTokensComponent {
|
|
|
153
160
|
}
|
|
154
161
|
}
|
|
155
162
|
removeToken(token) {
|
|
156
|
-
this.tokens = this.tokens.filter(t => t !== token);
|
|
163
|
+
this.tokens = this.tokens.filter((t) => t !== token);
|
|
157
164
|
this.changeDetector.detectChanges();
|
|
158
165
|
}
|
|
159
166
|
focusPreviousToken() {
|
|
@@ -169,9 +176,8 @@ export class SkyTokensComponent {
|
|
|
169
176
|
this.focusActiveToken();
|
|
170
177
|
}
|
|
171
178
|
focusActiveToken() {
|
|
172
|
-
const tokenComponent = this.tokenComponents
|
|
173
|
-
.
|
|
174
|
-
return (this.activeIndex === i);
|
|
179
|
+
const tokenComponent = this.tokenComponents.find((_comp, i) => {
|
|
180
|
+
return this.activeIndex === i;
|
|
175
181
|
});
|
|
176
182
|
if (tokenComponent) {
|
|
177
183
|
tokenComponent.focusElement();
|
|
@@ -214,56 +220,85 @@ export class SkyTokensComponent {
|
|
|
214
220
|
}
|
|
215
221
|
notifyTokenSelected(token) {
|
|
216
222
|
this.tokenSelected.emit({
|
|
217
|
-
token
|
|
223
|
+
token,
|
|
218
224
|
});
|
|
219
225
|
}
|
|
220
226
|
}
|
|
221
|
-
SkyTokensComponent
|
|
222
|
-
{ type:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
227
|
+
SkyTokensComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
228
|
+
SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyTokensComponent, selector: "sky-tokens", inputs: { disabled: "disabled", dismissible: "dismissible", displayWith: "displayWith", trackWith: "trackWith", focusable: "focusable", tokens: "tokens", messageStream: "messageStream" }, outputs: { focusIndexOverRange: "focusIndexOverRange", focusIndexUnderRange: "focusIndexUnderRange", tokenSelected: "tokenSelected", tokensChange: "tokensChange" }, viewQueries: [{ propertyName: "tokenComponents", predicate: SkyTokenComponent, descendants: true }], ngImport: i0, template: "<div\n *ngIf=\"tokens\"\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens && tokens.length ? 'list' : null\"\n>\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n role=\"listitem\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content:before{content:\"\\200b\"}\n"], components: [{ type: i1.SkyTokenComponent, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable"], outputs: ["dismiss", "tokenFocus"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
|
|
229
|
+
trigger('blockAnimationOnLoad', [transition(':enter', [])]),
|
|
230
|
+
trigger('dismiss', [
|
|
231
|
+
transition(':enter', [
|
|
232
|
+
style({
|
|
233
|
+
opacity: 0,
|
|
234
|
+
width: 0,
|
|
235
|
+
}),
|
|
236
|
+
animate('150ms ease-in', style({
|
|
237
|
+
opacity: 1,
|
|
238
|
+
width: '*',
|
|
239
|
+
})),
|
|
240
|
+
]),
|
|
241
|
+
transition(':leave', [
|
|
242
|
+
animate('150ms ease-in', style({
|
|
243
|
+
opacity: 0,
|
|
244
|
+
width: 0,
|
|
245
|
+
})),
|
|
246
|
+
]),
|
|
247
|
+
]),
|
|
248
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensComponent, decorators: [{
|
|
250
|
+
type: Component,
|
|
251
|
+
args: [{
|
|
252
|
+
selector: 'sky-tokens',
|
|
253
|
+
templateUrl: './tokens.component.html',
|
|
254
|
+
styleUrls: ['./tokens.component.scss'],
|
|
255
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
256
|
+
animations: [
|
|
257
|
+
trigger('blockAnimationOnLoad', [transition(':enter', [])]),
|
|
258
|
+
trigger('dismiss', [
|
|
259
|
+
transition(':enter', [
|
|
260
|
+
style({
|
|
261
|
+
opacity: 0,
|
|
262
|
+
width: 0,
|
|
263
|
+
}),
|
|
264
|
+
animate('150ms ease-in', style({
|
|
265
|
+
opacity: 1,
|
|
266
|
+
width: '*',
|
|
267
|
+
})),
|
|
268
|
+
]),
|
|
269
|
+
transition(':leave', [
|
|
270
|
+
animate('150ms ease-in', style({
|
|
271
|
+
opacity: 0,
|
|
272
|
+
width: 0,
|
|
273
|
+
})),
|
|
274
|
+
]),
|
|
240
275
|
]),
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
]
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
};
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3Rva2Vucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLE9BQU8sRUFFUixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxTQUFTLEVBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQVV4QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0sNkJBQTZCLENBQUM7QUFNckMsT0FBTyxFQUNMLGlCQUFpQixFQUNsQixNQUFNLG1CQUFtQixDQUFDO0FBMkMzQixNQUFNLE9BQU8sa0JBQWtCO0lBK0o3QixZQUNVLGNBQWlDO1FBQWpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQW5FM0M7OztXQUdHO1FBRUksd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZEOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUVyRTs7O1dBR0c7UUFFSSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUErQjdDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQWFwQyxzRkFBc0Y7UUFDdEYsc0ZBQXNGO1FBQ3RGLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ25DLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNuQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQTFLRDs7Ozs7T0FLRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxXQUFXLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLFdBQVcsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBU0Q7Ozs7O09BS0c7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUFjO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxNQUFNLENBQUMsS0FBaUI7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLGFBQWEsQ0FBQyxLQUFnQztRQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBNkJEOztPQUVHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLEtBQWE7UUFDbEMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDL0IsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakM7UUFFRCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDYixLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ1YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQW9DTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWU7UUFDakMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQW9CO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLDZDQUE2QztZQUM3QyxRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLEtBQUssTUFBTSxDQUFDO2dCQUNaLEtBQUssV0FBVztvQkFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7b0JBQzNFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsTUFBTTtnQkFFUixLQUFLLE9BQU8sQ0FBQztnQkFDYixLQUFLLFlBQVk7b0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztvQkFDdkUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixNQUFNO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsS0FBZTtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWU7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlO2FBQ3hDLElBQUksQ0FBQyxDQUFDLEtBQXdCLEVBQUUsQ0FBUyxFQUFFLEVBQUU7WUFDNUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLGNBQWMsRUFBRTtZQUNsQixjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsYUFBYTtpQkFDdkMsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzlCO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRTtnQkFDdkMsNkNBQTZDO2dCQUM3QyxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUU7b0JBQ3BCLEtBQUssb0JBQW9CLENBQUMsY0FBYzt3QkFDeEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUN0QixNQUFNO29CQUVOLEtBQUssb0JBQW9CLENBQUMsZ0JBQWdCO3dCQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDeEIsTUFBTTtvQkFFTixLQUFLLG9CQUFvQixDQUFDLGtCQUFrQjt3QkFDNUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7d0JBQzFCLE1BQU07b0JBRU4sS0FBSyxvQkFBb0IsQ0FBQyxjQUFjO3dCQUN4QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3RCLE1BQU07b0JBRU4sS0FBSyxvQkFBb0IsQ0FBQyxpQkFBaUI7d0JBQzNDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO3dCQUN6QixNQUFNO2lCQUNQO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFlO1FBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE1VUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0Qix1d0JBQXNDO2dCQUV0QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTt3QkFDOUIsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7cUJBQ3pCLENBQUM7b0JBQ0YsT0FBTyxDQUFDLFNBQVMsRUFBRTt3QkFDakIsVUFBVSxDQUNSLFFBQVEsRUFDUjs0QkFDRSxLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLENBQUM7NkJBQ1QsQ0FBQzs0QkFDRixPQUFPLENBQ0wsZUFBZSxFQUNmLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixLQUFLLEVBQUUsR0FBRzs2QkFDWCxDQUFDLENBQ0g7eUJBQ0YsQ0FDRjt3QkFDRCxVQUFVLENBQ1IsUUFBUSxFQUNSOzRCQUNFLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLEtBQUssRUFBRSxDQUFDOzZCQUNULENBQUMsQ0FDSDt5QkFDRixDQUNGO3FCQUNGLENBQUM7aUJBQ0g7O2FBQ0Y7OztZQS9FQyxpQkFBaUI7Ozt1QkF3RmhCLEtBQUs7MEJBY0wsS0FBSzswQkFhTCxLQUFLO3dCQWFMLEtBQUs7d0JBU0wsS0FBSztxQkFZTCxLQUFLOzRCQWNMLEtBQUs7a0NBY0wsTUFBTTttQ0FPTixNQUFNOzRCQU1OLE1BQU07MkJBT04sTUFBTTs4QkE0Qk4sWUFBWSxTQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTdWJqZWN0LFxuICBTdWJzY3JpcHRpb25cbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreVRva2VuXG59IGZyb20gJy4vdHlwZXMvdG9rZW4nO1xuXG5pbXBvcnQge1xuICBTa3lUb2tlbnNNZXNzYWdlXG59IGZyb20gJy4vdHlwZXMvdG9rZW5zLW1lc3NhZ2UnO1xuXG5pbXBvcnQge1xuICBTa3lUb2tlbnNNZXNzYWdlVHlwZVxufSBmcm9tICcuL3R5cGVzL3Rva2Vucy1tZXNzYWdlLXR5cGUnO1xuXG5pbXBvcnQge1xuICBTa3lUb2tlblNlbGVjdGVkRXZlbnRBcmdzXG59IGZyb20gJy4vdHlwZXMvdG9rZW4tc2VsZWN0ZWQtZXZlbnQtYXJncyc7XG5cbmltcG9ydCB7XG4gIFNreVRva2VuQ29tcG9uZW50XG59IGZyb20gJy4vdG9rZW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRva2VucycsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2tlbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2tlbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdibG9ja0FuaW1hdGlvbk9uTG9hZCcsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtdKVxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ2Rpc21pc3MnLCBbXG4gICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICB3aWR0aDogMFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAnMTUwbXMgZWFzZS1pbicsXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIHdpZHRoOiAnKidcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICBdXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtcbiAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgJzE1MG1zIGVhc2UtaW4nLFxuICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICB3aWR0aDogMFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIF1cbiAgICAgIClcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNreVRva2Vuc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgdGhlIHRva2VucyBsaXN0IHRvIHByZXZlbnQgdXNlcnMgZnJvbSBzZWxlY3RpbmcgdG9rZW5zLFxuICAgKiBkaXNtaXNzaW5nIHRva2Vucywgb3IgbmF2aWdhdGluZyB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGFycm93IGtleXMuIFdoZW4gdGhlIHRva2VucyBsaXN0XG4gICAqIGlzIGRpc2FibGVkLCB1c2VycyBjYW4gc3RpbGwgcGxhY2UgZm9jdXMgb24gaXRlbXMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gcmVtb3ZlIHRva2VucyBmcm9tIHRoZSBsaXN0IGJ5IHNlbGVjdGluZyB0aGVpciBjbG9zZSBidXR0b25zXG4gICAqIG9yIHByZXNzaW5nIHRoZSBgQmFja3NwYWNlYCBrZXkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNtaXNzaWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNtaXNzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuX2Rpc21pc3NpYmxlICE9PSBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0b2tlbiBwcm9wZXJ0eSB0byBkaXNwbGF5IGZvciBlYWNoIGl0ZW0gaW4gdGhlIHRva2VucyBsaXN0LlxuICAgKiBAZGVmYXVsdCAnbmFtZSdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVdpdGgodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2Rpc3BsYXlXaXRoID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlXaXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlXaXRoIHx8ICduYW1lJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRva2VuIHByb3BlcnR5IHRoYXQgcmVwcmVzZW50cyB0aGUgdG9rZW4ncyB1bmlxdWUgaWRlbnRpZmllci4gV2hlbiB0aGlzIHByb3BlcnR5XG4gICAqIGlzIHNldCwgYW5pbWF0aW9ucyBhcmUgZW5hYmxlZCB3aGVuIGRpc21pc3NpbmcgdG9rZW5zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRyYWNrV2l0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gZm9jdXMgb24gaXRlbXMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGFiaWxpdHkgb2YgdXNlcnMgdG8gc2VsZWN0IHRva2VucywgZGlzbWlzcyB0b2tlbnMsXG4gICAqIG9yIG5hdmlnYXRlIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb2N1c2FibGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fZm9jdXNhYmxlICE9PSBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIGFycmF5IG9mIHRva2VucyB0byBpbmNsdWRlIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0b2tlbnModmFsdWU6IFNreVRva2VuW10pIHtcbiAgICB0aGlzLl90b2tlbnMgPSB2YWx1ZTtcbiAgICB0aGlzLnRva2Vuc0NoYW5nZS5lbWl0KHRoaXMuX3Rva2Vucyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRva2VucygpOiBTa3lUb2tlbltdIHtcbiAgICByZXR1cm4gdGhpcy5fdG9rZW5zIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBvYnNlcnZhYmxlIG9mIGBTa3lUb2tlbnNNZXNzYWdlYCB0aGF0IGNhbiBwbGFjZSBmb2N1cyBvbiBhXG4gICAqIHBhcnRpY3VsYXIgdG9rZW4gb3IgcmVtb3ZlIHRoZSBhY3RpdmUgdG9rZW4gZnJvbSB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWVzc2FnZVN0cmVhbSh2YWx1ZTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPikge1xuICAgIHRoaXMuX21lc3NhZ2VTdHJlYW0gPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRNZXNzYWdlU3RyZWFtKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VTdHJlYW07XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSB0b2tlbnMgbGlzdCB3aXRoIHRoZSBgVGFiYCBrZXlcbiAgICogYW5kIGF0dGVtcHQgdG8gbW92ZSBwYXN0IHRoZSBmaW5hbCB0b2tlbiBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZm9jdXNJbmRleE92ZXJSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2Vyc25hdmlnYXRlIHRocm91Z2ggdGhlIHRva2VucyBsaXN0IHdpdGggdGhlIGBUYWJgIGtleVxuICAgKiBhbmQgYXR0ZW1wdCB0byBtb3ZlIGJlZm9yZSB0aGUgZmlyc3QgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzSW5kZXhVbmRlclJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBhIHRva2VuIGluIHRoZSBsaXN0LiBUaGlzIGV2ZW50IGVtaXRzIHRoZSBzZWxlY3RlZCB0b2tlbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdG9rZW5TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgdG9rZW5zIGluIHRoZSBsaXN0IGNoYW5nZS5cbiAgICogVGhpcyBldmVudCBlbWl0cyBhbiBhcnJheSBvZiB0aGUgdG9rZW5zIGluIHRoZSB1cGRhdGVkIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2Vuc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5bXT4oKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUluZGV4IHx8IDA7XG4gIH1cbiAgcHVibGljIHNldCBhY3RpdmVJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlID49IHRoaXMudG9rZW5zLmxlbmd0aCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnRva2Vucy5sZW5ndGggLSAxO1xuICAgICAgdGhpcy5mb2N1c0luZGV4T3ZlclJhbmdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICB2YWx1ZSA9IDA7XG4gICAgICB0aGlzLmZvY3VzSW5kZXhVbmRlclJhbmdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9hY3RpdmVJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgdHJhY2tUb2tlbkZuOiAoaW5kZXg6IG51bWJlciwgaXRlbTogU2t5VG9rZW4pID0+IGFueTtcblxuICBAVmlld0NoaWxkcmVuKFNreVRva2VuQ29tcG9uZW50KVxuICBwcml2YXRlIHRva2VuQ29tcG9uZW50czogUXVlcnlMaXN0PFNreVRva2VuQ29tcG9uZW50PjtcblxuICBwcml2YXRlIG1lc3NhZ2VTdHJlYW1TdWI6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIF9hY3RpdmVJbmRleDogbnVtYmVyO1xuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfZGlzbWlzc2libGU6IGJvb2xlYW47XG4gIHByaXZhdGUgX2ZvY3VzYWJsZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfdG9rZW5zOiBTa3lUb2tlbltdO1xuICBwcml2YXRlIF9kaXNwbGF5V2l0aDogc3RyaW5nO1xuICBwcml2YXRlIF9tZXNzYWdlU3RyZWFtOiBTdWJqZWN0PFNreVRva2Vuc01lc3NhZ2U+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIC8vIEFuZ3VsYXIgY2FsbHMgdGhlIHRyYWNrQnkgZnVuY3Rpb24gd2l0aG91dCBhcHBseWluZyB0aGUgY29tcG9uZW50IGluc3RhbmNlJ3Mgc2NvcGUuXG4gICAgLy8gVXNlIGEgZmF0LWFycm93IGZ1bmN0aW9uIHNvIHRoZSBjdXJyZW50IGNvbXBvbmVudCBpbnN0YW5jZSdzIHRyYWNrV2l0aCBwcm9wZXJ0eSBjYW5cbiAgICAvLyBiZSByZWZlcmVuY2VkLlxuICAgIHRoaXMudHJhY2tUb2tlbkZuID0gKF9pbmRleCwgaXRlbSkgPT4ge1xuICAgICAgaWYgKHRoaXMudHJhY2tXaXRoKSB7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlW3RoaXMudHJhY2tXaXRoXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uVG9rZW5DbGljayh0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbik7XG4gIH1cblxuICBwdWJsaWMgb25Ub2tlbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpzd2l0Y2gtZGVmYXVsdCAqL1xuICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgY2FzZSAnTGVmdCc6XG4gICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoeyB0eXBlOiBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c1ByZXZpb3VzVG9rZW4gfSk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdSaWdodCc6XG4gICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHsgdHlwZTogU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNOZXh0VG9rZW4gfSk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0VG9rZW4odG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm5vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VucyA9IHRoaXMudG9rZW5zLmZpbHRlcih0ID0+IHQgIT09IHRva2VuKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNQcmV2aW91c1Rva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXgtLTtcbiAgICB0aGlzLmZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0VG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCsrO1xuICAgIHRoaXMuZm9jdXNBY3RpdmVUb2tlbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0xhc3RUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdGhpcy50b2tlbkNvbXBvbmVudHMubGVuZ3RoIC0gMTtcbiAgICB0aGlzLmZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNBY3RpdmVUb2tlbigpOiB2b2lkIHtcbiAgICBjb25zdCB0b2tlbkNvbXBvbmVudCA9IHRoaXMudG9rZW5Db21wb25lbnRzXG4gICAgICAuZmluZCgoX2NvbXA6IFNreVRva2VuQ29tcG9uZW50LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmFjdGl2ZUluZGV4ID09PSBpKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRva2VuQ29tcG9uZW50KSB7XG4gICAgICB0b2tlbkNvbXBvbmVudC5mb2N1c0VsZW1lbnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUFjdGl2ZVRva2VuKCk6IHZvaWQge1xuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnNbdGhpcy5hY3RpdmVJbmRleF07XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB0aGlzLnJlbW92ZVRva2VuKHRva2VuKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRNZXNzYWdlU3RyZWFtKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1lc3NhZ2VTdHJlYW1TdWIpIHtcbiAgICAgIHRoaXMubWVzc2FnZVN0cmVhbVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1lc3NhZ2VTdHJlYW0pIHtcbiAgICAgIHRoaXMubWVzc2FnZVN0cmVhbVN1YiA9IHRoaXMubWVzc2FnZVN0cmVhbVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IFNreVRva2Vuc01lc3NhZ2UpID0+IHtcbiAgICAgICAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQgKi9cbiAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c0xhc3RUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuZm9jdXNMYXN0VG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzQWN0aXZlVG9rZW46XG4gICAgICAgICAgICB0aGlzLmZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuZm9jdXNQcmV2aW91c1Rva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuZm9jdXNOZXh0VG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLlJlbW92ZUFjdGl2ZVRva2VuOlxuICAgICAgICAgICAgdGhpcy5yZW1vdmVBY3RpdmVUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgdGhpcy50b2tlblNlbGVjdGVkLmVtaXQoe1xuICAgICAgdG9rZW5cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
276
|
+
],
|
|
277
|
+
}]
|
|
278
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
|
279
|
+
type: Input
|
|
280
|
+
}], dismissible: [{
|
|
281
|
+
type: Input
|
|
282
|
+
}], displayWith: [{
|
|
283
|
+
type: Input
|
|
284
|
+
}], trackWith: [{
|
|
285
|
+
type: Input
|
|
286
|
+
}], focusable: [{
|
|
287
|
+
type: Input
|
|
288
|
+
}], tokens: [{
|
|
289
|
+
type: Input
|
|
290
|
+
}], messageStream: [{
|
|
291
|
+
type: Input
|
|
292
|
+
}], focusIndexOverRange: [{
|
|
293
|
+
type: Output
|
|
294
|
+
}], focusIndexUnderRange: [{
|
|
295
|
+
type: Output
|
|
296
|
+
}], tokenSelected: [{
|
|
297
|
+
type: Output
|
|
298
|
+
}], tokensChange: [{
|
|
299
|
+
type: Output
|
|
300
|
+
}], tokenComponents: [{
|
|
301
|
+
type: ViewChildren,
|
|
302
|
+
args: [SkyTokenComponent]
|
|
303
|
+
}] } });
|
|
304
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3Rva2Vucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3Rva2Vucy90b2tlbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFtQ3RELE1BQU0sT0FBTyxrQkFBa0I7SUE4SjdCLFlBQW9CLGNBQWlDO1FBQWpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQWxFckQ7OztXQUdHO1FBRUksd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZEOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUVyRTs7O1dBR0c7UUFFSSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUErQjdDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztR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ekIsTUFBTTtnQkFRQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBT0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFRQSxZQUFZO3NCQURsQixNQUFNO2dCQTZCQyxlQUFlO3NCQUR0QixZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUb2tlbiB9IGZyb20gJy4vdHlwZXMvdG9rZW4nO1xuXG5pbXBvcnQgeyBTa3lUb2tlbnNNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy90b2tlbnMtbWVzc2FnZSc7XG5cbmltcG9ydCB7IFNreVRva2Vuc01lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy90b2tlbnMtbWVzc2FnZS10eXBlJztcblxuaW1wb3J0IHsgU2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncyB9IGZyb20gJy4vdHlwZXMvdG9rZW4tc2VsZWN0ZWQtZXZlbnQtYXJncyc7XG5cbmltcG9ydCB7IFNreVRva2VuQ29tcG9uZW50IH0gZnJvbSAnLi90b2tlbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdG9rZW5zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2Vucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2Vucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2Jsb2NrQW5pbWF0aW9uT25Mb2FkJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFtdKV0pLFxuICAgIHRyaWdnZXIoJ2Rpc21pc3MnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTUwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgIHdpZHRoOiAnKicsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcxNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUb2tlbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW5zIGxpc3QgdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyB0b2tlbnMsXG4gICAqIGRpc21pc3NpbmcgdG9rZW5zLCBvciBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW5zIGxpc3RcbiAgICogaXMgZGlzYWJsZWQsIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdGVtcyBpbiB0aGUgbGlzdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgdG9rZW5zIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIHRoZWlyIGNsb3NlIGJ1dHRvbnNcbiAgICogb3IgcHJlc3NpbmcgdGhlIGBCYWNrc3BhY2VgIGtleS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc21pc3NpYmxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNtaXNzaWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0b2tlbiBwcm9wZXJ0eSB0byBkaXNwbGF5IGZvciBlYWNoIGl0ZW0gaW4gdGhlIHRva2VucyBsaXN0LlxuICAgKiBAZGVmYXVsdCAnbmFtZSdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVdpdGgodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2Rpc3BsYXlXaXRoID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlXaXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlXaXRoIHx8ICduYW1lJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRva2VuIHByb3BlcnR5IHRoYXQgcmVwcmVzZW50cyB0aGUgdG9rZW4ncyB1bmlxdWUgaWRlbnRpZmllci4gV2hlbiB0aGlzIHByb3BlcnR5XG4gICAqIGlzIHNldCwgYW5pbWF0aW9ucyBhcmUgZW5hYmxlZCB3aGVuIGRpc21pc3NpbmcgdG9rZW5zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRyYWNrV2l0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gZm9jdXMgb24gaXRlbXMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGFiaWxpdHkgb2YgdXNlcnMgdG8gc2VsZWN0IHRva2VucywgZGlzbWlzcyB0b2tlbnMsXG4gICAqIG9yIG5hdmlnYXRlIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb2N1c2FibGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c2FibGUgIT09IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSBvZiB0b2tlbnMgdG8gaW5jbHVkZSBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdG9rZW5zKHZhbHVlOiBTa3lUb2tlbltdKSB7XG4gICAgdGhpcy5fdG9rZW5zID0gdmFsdWU7XG4gICAgdGhpcy50b2tlbnNDaGFuZ2UuZW1pdCh0aGlzLl90b2tlbnMpO1xuICB9XG5cbiAgcHVibGljIGdldCB0b2tlbnMoKTogU2t5VG9rZW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3Rva2VucyB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gb2JzZXJ2YWJsZSBvZiBgU2t5VG9rZW5zTWVzc2FnZWAgdGhhdCBjYW4gcGxhY2UgZm9jdXMgb24gYVxuICAgKiBwYXJ0aWN1bGFyIHRva2VuIG9yIHJlbW92ZSB0aGUgYWN0aXZlIHRva2VuIGZyb20gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1lc3NhZ2VTdHJlYW0odmFsdWU6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4pIHtcbiAgICB0aGlzLl9tZXNzYWdlU3RyZWFtID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlU3RyZWFtO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgbmF2aWdhdGUgdGhyb3VnaCB0aGUgdG9rZW5zIGxpc3Qgd2l0aCB0aGUgYFRhYmAga2V5XG4gICAqIGFuZCBhdHRlbXB0IHRvIG1vdmUgcGFzdCB0aGUgZmluYWwgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzSW5kZXhPdmVyUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnNuYXZpZ2F0ZSB0aHJvdWdoIHRoZSB0b2tlbnMgbGlzdCB3aXRoIHRoZSBgVGFiYCBrZXlcbiAgICogYW5kIGF0dGVtcHQgdG8gbW92ZSBiZWZvcmUgdGhlIGZpcnN0IHRva2VuIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb2N1c0luZGV4VW5kZXJSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgYSB0b2tlbiBpbiB0aGUgbGlzdC4gVGhpcyBldmVudCBlbWl0cyB0aGUgc2VsZWN0ZWQgdG9rZW4uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2VuU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVRva2VuU2VsZWN0ZWRFdmVudEFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHRva2VucyBpbiB0aGUgbGlzdCBjaGFuZ2UuXG4gICAqIFRoaXMgZXZlbnQgZW1pdHMgYW4gYXJyYXkgb2YgdGhlIHRva2VucyBpbiB0aGUgdXBkYXRlZCBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlbnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVRva2VuW10+KCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVJbmRleCB8fCAwO1xuICB9XG4gIHB1YmxpYyBzZXQgYWN0aXZlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA+PSB0aGlzLnRva2Vucy5sZW5ndGgpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50b2tlbnMubGVuZ3RoIC0gMTtcbiAgICAgIHRoaXMuZm9jdXNJbmRleE92ZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgdmFsdWUgPSAwO1xuICAgICAgdGhpcy5mb2N1c0luZGV4VW5kZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5fYWN0aXZlSW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHRyYWNrVG9rZW5GbjogKGluZGV4OiBudW1iZXIsIGl0ZW06IFNreVRva2VuKSA9PiBhbnk7XG5cbiAgQFZpZXdDaGlsZHJlbihTa3lUb2tlbkNvbXBvbmVudClcbiAgcHJpdmF0ZSB0b2tlbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxTa3lUb2tlbkNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBtZXNzYWdlU3RyZWFtU3ViOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2Rpc21pc3NpYmxlOiBib29sZWFuO1xuICBwcml2YXRlIF9mb2N1c2FibGU6IGJvb2xlYW47XG4gIHByaXZhdGUgX3Rva2VuczogU2t5VG9rZW5bXTtcbiAgcHJpdmF0ZSBfZGlzcGxheVdpdGg6IHN0cmluZztcbiAgcHJpdmF0ZSBfbWVzc2FnZVN0cmVhbTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIC8vIEFuZ3VsYXIgY2FsbHMgdGhlIHRyYWNrQnkgZnVuY3Rpb24gd2l0aG91dCBhcHBseWluZyB0aGUgY29tcG9uZW50IGluc3RhbmNlJ3Mgc2NvcGUuXG4gICAgLy8gVXNlIGEgZmF0LWFycm93IGZ1bmN0aW9uIHNvIHRoZSBjdXJyZW50IGNvbXBvbmVudCBpbnN0YW5jZSdzIHRyYWNrV2l0aCBwcm9wZXJ0eSBjYW5cbiAgICAvLyBiZSByZWZlcmVuY2VkLlxuICAgIHRoaXMudHJhY2tUb2tlbkZuID0gKF9pbmRleCwgaXRlbSkgPT4ge1xuICAgICAgaWYgKHRoaXMudHJhY2tXaXRoKSB7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlW3RoaXMudHJhY2tXaXRoXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uVG9rZW5DbGljayh0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbik7XG4gIH1cblxuICBwdWJsaWMgb25Ub2tlbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpzd2l0Y2gtZGVmYXVsdCAqL1xuICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgY2FzZSAnTGVmdCc6XG4gICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNQcmV2aW91c1Rva2VuLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnUmlnaHQnOlxuICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMubm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZVRva2VuKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zID0gdGhpcy50b2tlbnMuZmlsdGVyKCh0KSA9PiB0ICE9PSB0b2tlbik7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzUHJldmlvdXNUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4LS07XG4gICAgdGhpcy5mb2N1c0FjdGl2ZVRva2VuKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzTmV4dFRva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXgrKztcbiAgICB0aGlzLmZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNMYXN0VG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IHRoaXMudG9rZW5Db21wb25lbnRzLmxlbmd0aCAtIDE7XG4gICAgdGhpcy5mb2N1c0FjdGl2ZVRva2VuKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgY29uc3QgdG9rZW5Db21wb25lbnQgPSB0aGlzLnRva2VuQ29tcG9uZW50cy5maW5kKFxuICAgICAgKF9jb21wOiBTa3lUb2tlbkNvbXBvbmVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUluZGV4ID09PSBpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAodG9rZW5Db21wb25lbnQpIHtcbiAgICAgIHRva2VuQ29tcG9uZW50LmZvY3VzRWxlbWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vuc1t0aGlzLmFjdGl2ZUluZGV4XTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHRoaXMucmVtb3ZlVG9rZW4odG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdE1lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWVzc2FnZVN0cmVhbVN1Yikge1xuICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWVzc2FnZVN0cmVhbSkge1xuICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViID0gdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lUb2tlbnNNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0ICovXG4gICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNMYXN0VG9rZW46XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNMYXN0VG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNBY3RpdmVUb2tlbjpcbiAgICAgICAgICAgICAgdGhpcy5mb2N1c0FjdGl2ZVRva2VuKCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNUb2tlbjpcbiAgICAgICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzVG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNOZXh0VG9rZW46XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNOZXh0VG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuUmVtb3ZlQWN0aXZlVG9rZW46XG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlQWN0aXZlVG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgdGhpcy50b2tlblNlbGVjdGVkLmVtaXQoe1xuICAgICAgdG9rZW4sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJ0b2tlbnNcIlxuICBjbGFzcz1cInNreS10b2tlbnNcIlxuICBbQGJsb2NrQW5pbWF0aW9uT25Mb2FkXVxuICBbYXR0ci5yb2xlXT1cInRva2VucyAmJiB0b2tlbnMubGVuZ3RoID8gJ2xpc3QnIDogbnVsbFwiXG4+XG4gIDxza3ktdG9rZW5cbiAgICAqbmdGb3I9XCJsZXQgdG9rZW4gb2YgdG9rZW5zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja1Rva2VuRm5cIlxuICAgIHJvbGU9XCJsaXN0aXRlbVwiXG4gICAgW0AuZGlzYWJsZWRdPVwiIXRyYWNrV2l0aFwiXG4gICAgW0BkaXNtaXNzXVxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2Rpc21pc3NpYmxlXT1cImRpc21pc3NpYmxlXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgKGRpc21pc3MpPVwicmVtb3ZlVG9rZW4odG9rZW4pXCJcbiAgICAoY2xpY2spPVwib25Ub2tlbkNsaWNrKHRva2VuKVwiXG4gICAgKGtleWRvd24pPVwib25Ub2tlbktleURvd24oJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cInNlbGVjdFRva2VuKHRva2VuKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICh0b2tlbkZvY3VzKT1cImFjdGl2ZUluZGV4ID0gaVwiXG4gID5cbiAgICB7eyB0b2tlbi52YWx1ZVtkaXNwbGF5V2l0aF0gfX1cbiAgPC9za3ktdG9rZW4+XG4gIDxkaXYgY2xhc3M9XCJza3ktdG9rZW5zLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -5,24 +5,31 @@ import { SkyTokenComponent } from './token.component';
|
|
|
5
5
|
import { SkyTokensComponent } from './tokens.component';
|
|
6
6
|
import { SkyIconModule } from '../icon/icon.module';
|
|
7
7
|
import { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
8
9
|
export class SkyTokensModule {
|
|
9
10
|
}
|
|
10
|
-
SkyTokensModule
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
SkyTokensComponent
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
11
|
+
SkyTokensModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
SkyTokensModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensModule, declarations: [SkyTokenComponent, SkyTokensComponent], imports: [CommonModule,
|
|
13
|
+
SkyI18nModule,
|
|
14
|
+
SkyIconModule,
|
|
15
|
+
SkyIndicatorsResourcesModule], exports: [SkyTokenComponent, SkyTokensComponent] });
|
|
16
|
+
SkyTokensModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensModule, imports: [[
|
|
17
|
+
CommonModule,
|
|
18
|
+
SkyI18nModule,
|
|
19
|
+
SkyIconModule,
|
|
20
|
+
SkyIndicatorsResourcesModule,
|
|
21
|
+
]] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
declarations: [SkyTokenComponent, SkyTokensComponent],
|
|
26
|
+
imports: [
|
|
27
|
+
CommonModule,
|
|
28
|
+
SkyI18nModule,
|
|
29
|
+
SkyIconModule,
|
|
30
|
+
SkyIndicatorsResourcesModule,
|
|
31
|
+
],
|
|
32
|
+
exports: [SkyTokenComponent, SkyTokensComponent],
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3Rva2Vucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBWXpGLE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBVFgsaUJBQWlCLEVBQUUsa0JBQWtCLGFBRWxELFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLDRCQUE0QixhQUVwQixpQkFBaUIsRUFBRSxrQkFBa0I7OEdBRXBDLGVBQWUsWUFSakI7WUFDUCxZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYiw0QkFBNEI7U0FDN0I7NEZBR1UsZUFBZTtrQkFWM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQztvQkFDckQsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7aUJBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU2t5STE4bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU2t5VG9rZW5Db21wb25lbnQgfSBmcm9tICcuL3Rva2VuLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVRva2Vuc0NvbXBvbmVudCB9IGZyb20gJy4vdG9rZW5zLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5SW5kaWNhdG9yc1Jlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktaW5kaWNhdG9ycy1yZXNvdXJjZXMubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5VG9rZW5Db21wb25lbnQsIFNreVRva2Vuc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5STE4bk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUluZGljYXRvcnNSZXNvdXJjZXNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lUb2tlbkNvbXBvbmVudCwgU2t5VG9rZW5zQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5zTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc2VsZWN0ZWQtZXZlbnQtYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3R5cGVzL3Rva2VuLXNlbGVjdGVkLWV2ZW50LWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreVRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncyB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0b2tlbi5cbiAgICovXG4gIHRva2VuPzogU2t5VG9rZW47XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3Rva2Vucy90eXBlcy90b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lUb2tlbiB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRva2VuJ3MgY29udGVudHMuXG4gICAqL1xuICB2YWx1ZTogYW55O1xufVxuIl19
|
|
@@ -21,4 +21,4 @@ export var SkyTokensMessageType;
|
|
|
21
21
|
*/
|
|
22
22
|
SkyTokensMessageType[SkyTokensMessageType["RemoveActiveToken"] = 4] = "RemoveActiveToken";
|
|
23
23
|
})(SkyTokensMessageType || (SkyTokensMessageType = {}));
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLW1lc3NhZ2UtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3R5cGVzL3Rva2Vucy1tZXNzYWdlLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksb0JBeUJYO0FBekJELFdBQVksb0JBQW9CO0lBQzlCOztPQUVHO0lBQ0gsbUZBQWtCLENBQUE7SUFFbEI7O09BRUc7SUFDSCx1RkFBb0IsQ0FBQTtJQUVwQjs7T0FFRztJQUNILDJGQUFzQixDQUFBO0lBRXRCOztPQUVHO0lBQ0gsbUZBQWtCLENBQUE7SUFFbEI7O09BRUc7SUFDSCx5RkFBcUIsQ0FBQTtBQUN2QixDQUFDLEVBekJXLG9CQUFvQixLQUFwQixvQkFBb0IsUUF5Qi9CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU2t5VG9rZW5zTWVzc2FnZVR5cGUge1xuICAvKipcbiAgICogUGxhY2VzIGZvY3VzIG9uIHRoZSBsYXN0IHRva2VuIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgRm9jdXNMYXN0VG9rZW4gPSAwLFxuXG4gIC8qKlxuICAgKiBQbGFjZXMgZm9jdXMgb24gdGhlIHRva2VuIHRoYXQgaXMgY3VycmVudGx5IHNlbGVjdGVkLlxuICAgKi9cbiAgRm9jdXNBY3RpdmVUb2tlbiA9IDEsXG5cbiAgLyoqXG4gICAqIFBsYWNlcyBmb2N1cyBvbiB0aGUgdG9rZW4gYmVmb3JlIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdG9rZW4uXG4gICAqL1xuICBGb2N1c1ByZXZpb3VzVG9rZW4gPSAyLFxuXG4gIC8qKlxuICAgKiBQbGFjZXMgZm9jdXMgb24gdGhlIHRva2VuIGFmdGVyIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdG9rZW4uXG4gICAqL1xuICBGb2N1c05leHRUb2tlbiA9IDMsXG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIHRva2VuIHRoYXQgaXMgY3VycmVudGx5IHNlbGVjdGVkIGZyb20gdGhlIGxpc3Qgb2YgdG9rZW5zLlxuICAgKi9cbiAgUmVtb3ZlQWN0aXZlVG9rZW4gPSA0LFxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3Rva2Vucy90eXBlcy90b2tlbnMtbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZVR5cGUgfSBmcm9tICcuL3Rva2Vucy1tZXNzYWdlLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreVRva2Vuc01lc3NhZ2Uge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIG1lc3NhZ2UuXG4gICAqL1xuICB0eXBlPzogU2t5VG9rZW5zTWVzc2FnZVR5cGU7XG59XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Injectable,
|
|
1
|
+
import { Injectable, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
2
3
|
// Need to add the following to classes which contain static methods.
|
|
3
4
|
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
|
4
5
|
/**
|
|
@@ -20,7 +21,9 @@ export class SkyWaitAdapterService {
|
|
|
20
21
|
this.renderer.removeStyle(waitEl.nativeElement.parentElement, 'position');
|
|
21
22
|
}
|
|
22
23
|
setBusyState(waitEl, isFullPage, isWaiting, isNonBlocking = false, waitComponentId) {
|
|
23
|
-
const busyEl = isFullPage
|
|
24
|
+
const busyEl = isFullPage
|
|
25
|
+
? document.body
|
|
26
|
+
: waitEl.nativeElement.parentElement;
|
|
24
27
|
if (!isNonBlocking) {
|
|
25
28
|
if (isWaiting) {
|
|
26
29
|
this.renderer.setAttribute(busyEl, 'aria-busy', 'true');
|
|
@@ -45,7 +48,7 @@ export class SkyWaitAdapterService {
|
|
|
45
48
|
});
|
|
46
49
|
SkyWaitAdapterService.busyElements[waitComponentId] = {
|
|
47
50
|
listener: endListenerFunc,
|
|
48
|
-
busyEl: undefined
|
|
51
|
+
busyEl: undefined,
|
|
49
52
|
};
|
|
50
53
|
}
|
|
51
54
|
else {
|
|
@@ -68,7 +71,7 @@ export class SkyWaitAdapterService {
|
|
|
68
71
|
});
|
|
69
72
|
SkyWaitAdapterService.busyElements[waitComponentId] = {
|
|
70
73
|
listener: endListenerFunc,
|
|
71
|
-
busyEl: busyEl
|
|
74
|
+
busyEl: busyEl,
|
|
72
75
|
};
|
|
73
76
|
}
|
|
74
77
|
}
|
|
@@ -91,10 +94,12 @@ export class SkyWaitAdapterService {
|
|
|
91
94
|
// Find the next navigable element that isn't waiting
|
|
92
95
|
const startingIndex = focussable.indexOf(targetElement);
|
|
93
96
|
let curIndex = startingIndex + modifier;
|
|
94
|
-
while (focussable[curIndex] &&
|
|
97
|
+
while (focussable[curIndex] &&
|
|
98
|
+
this.isElementBusyOrHidden(focussable[curIndex])) {
|
|
95
99
|
curIndex += modifier;
|
|
96
100
|
}
|
|
97
|
-
if (focussable[curIndex] &&
|
|
101
|
+
if (focussable[curIndex] &&
|
|
102
|
+
!this.isElementBusyOrHidden(focussable[curIndex])) {
|
|
98
103
|
focussable[curIndex].focus();
|
|
99
104
|
}
|
|
100
105
|
else {
|
|
@@ -111,7 +116,8 @@ export class SkyWaitAdapterService {
|
|
|
111
116
|
}
|
|
112
117
|
/* istanbul ignore else */
|
|
113
118
|
/* sanity check */
|
|
114
|
-
if (focussable[curIndex] &&
|
|
119
|
+
if (focussable[curIndex] &&
|
|
120
|
+
!this.isElementBusyOrHidden(focussable[curIndex])) {
|
|
115
121
|
focussable[curIndex].focus();
|
|
116
122
|
}
|
|
117
123
|
else {
|
|
@@ -124,13 +130,13 @@ export class SkyWaitAdapterService {
|
|
|
124
130
|
}
|
|
125
131
|
isShift(event) {
|
|
126
132
|
// Determine if shift+tab was used based on element order
|
|
127
|
-
const elements = this.getFocussableElements().filter(elem => !this.isElementHidden(elem));
|
|
133
|
+
const elements = this.getFocussableElements().filter((elem) => !this.isElementHidden(elem));
|
|
128
134
|
const previousInd = elements.indexOf(event.relatedTarget);
|
|
129
135
|
const currentInd = elements.indexOf(event.target);
|
|
130
|
-
return previousInd === currentInd + 1
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
return (previousInd === currentInd + 1 ||
|
|
137
|
+
(previousInd === 0 && currentInd === elements.length - 1) ||
|
|
138
|
+
previousInd > currentInd ||
|
|
139
|
+
!event.relatedTarget);
|
|
134
140
|
}
|
|
135
141
|
isElementHidden(element) {
|
|
136
142
|
const style = window.getComputedStyle(element);
|
|
@@ -163,15 +169,17 @@ export class SkyWaitAdapterService {
|
|
|
163
169
|
// Select all possible focussable elements
|
|
164
170
|
const focussableElements = 'a[href], ' +
|
|
165
171
|
'area[href], ' +
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
172
|
+
"input:not([disabled]):not([tabindex='-1']), " +
|
|
173
|
+
"button:not([disabled]):not([tabindex='-1']), " +
|
|
174
|
+
"select:not([disabled]):not([tabindex='-1']), " +
|
|
175
|
+
"textarea:not([disabled]):not([tabindex='-1']), " +
|
|
170
176
|
'iframe, object, embed, ' +
|
|
171
|
-
|
|
177
|
+
"*[tabindex]:not([tabindex='-1']), " +
|
|
172
178
|
'*[contenteditable=true]';
|
|
173
179
|
this.focussableElements = Array.prototype.filter.call(document.body.querySelectorAll(focussableElements), (element) => {
|
|
174
|
-
return element.offsetWidth > 0 ||
|
|
180
|
+
return (element.offsetWidth > 0 ||
|
|
181
|
+
element.offsetHeight > 0 ||
|
|
182
|
+
element === document.activeElement);
|
|
175
183
|
});
|
|
176
184
|
return this.focussableElements;
|
|
177
185
|
}
|
|
@@ -185,10 +193,9 @@ export class SkyWaitAdapterService {
|
|
|
185
193
|
}
|
|
186
194
|
SkyWaitAdapterService.isPageWaitActive = false;
|
|
187
195
|
SkyWaitAdapterService.busyElements = {};
|
|
188
|
-
SkyWaitAdapterService
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
];
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3dhaXQvd2FpdC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsRUFHVixnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIscUVBQXFFO0FBQ3JFLDJEQUEyRDtBQUMzRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBUWhDLFlBQ1UsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBRXpDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sYUFBYSxDQUFDLE1BQWtCO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsTUFBa0I7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFlBQVksQ0FDakIsTUFBa0IsRUFDbEIsVUFBbUIsRUFDbkIsU0FBa0IsRUFDbEIsYUFBYSxHQUFHLEtBQUssRUFDckIsZUFBd0I7UUFFeEIsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUUv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T0FBTyxPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxPQUFPLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUN2RyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFTyxjQUFjO1FBQ3BCLHFCQUFxQixDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUMvQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDakUscUJBQXFCLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25ELE9BQU8scUJBQXFCLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzs7QUE3TmMsc0NBQWdCLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLGtDQUFZLEdBQTBELEVBQUUsQ0FBQzs7WUFIekYsVUFBVTs7O1lBVFQsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIE5lZWQgdG8gYWRkIHRoZSBmb2xsb3dpbmcgdG8gY2xhc3NlcyB3aGljaCBjb250YWluIHN0YXRpYyBtZXRob2RzLlxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbmctcGFja2Fnci9uZy1wYWNrYWdyL2lzc3Vlcy82NDFcbi8qKlxuICogQGludGVybmFsXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaXNQYWdlV2FpdEFjdGl2ZSA9IGZhbHNlO1xuICBwcml2YXRlIHN0YXRpYyBidXN5RWxlbWVudHM6IHtba2V5OiBzdHJpbmddOiB7YnVzeUVsOiBIVE1MRWxlbWVudCwgbGlzdGVuZXI6IGFueX19ID0ge307XG5cbiAgcHJpdmF0ZSBmb2N1c3NhYmxlRWxlbWVudHM6IEhUTUxFbGVtZW50W107XG5cbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIHNldFdhaXRCb3VuZHMod2FpdEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh3YWl0RWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVXYWl0Qm91bmRzKHdhaXRFbDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUod2FpdEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgJ3Bvc2l0aW9uJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0QnVzeVN0YXRlKFxuICAgIHdhaXRFbDogRWxlbWVudFJlZixcbiAgICBpc0Z1bGxQYWdlOiBib29sZWFuLFxuICAgIGlzV2FpdGluZzogYm9vbGVhbixcbiAgICBpc05vbkJsb2NraW5nID0gZmFsc2UsXG4gICAgd2FpdENvbXBvbmVudElkPzogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGJ1c3lFbCA9IGlzRnVsbFBhZ2UgPyBkb2N1bWVudC5ib2R5IDogd2FpdEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgaWYgKGlzV2FpdGluZykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidXN5RWwsICdhcmlhLWJ1c3knLCAndHJ1ZScpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBmb2N1cyBmcm9tIHBhZ2Ugd2hlbiBmdWxsIHBhZ2UgYmxvY2tpbmcgd2FpdFxuICAgICAgICBpZiAoaXNGdWxsUGFnZSB8fCBidXN5RWwuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICB0aGlzLmNsZWFyRG9jdW1lbnRGb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRnVsbFBhZ2UpIHtcbiAgICAgICAgICBTa3lXYWl0QWRhcHRlclNlcnZpY2UuaXNQYWdlV2FpdEFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgY29uc3QgZW5kTGlzdGVuZXJGdW5jID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LFxuICAgICAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAndGFiJykge1xuICAgICAgICAgICAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBhbnkpLmJsdXIoKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhckRvY3VtZW50Rm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzW3dhaXRDb21wb25lbnRJZF0gPSB7XG4gICAgICAgICAgICBsaXN0ZW5lcjogZW5kTGlzdGVuZXJGdW5jLFxuICAgICAgICAgICAgYnVzeUVsOiB1bmRlZmluZWRcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGVuZExpc3RlbmVyRnVuYyA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxuICAgICAgICAgICAgYnVzeUVsLFxuICAgICAgICAgICAgJ2ZvY3VzaW4nLFxuICAgICAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJEb2N1bWVudEZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIC8vIFByb3BhZ2F0ZSB0YWIgbmF2aWdhdGlvbiBpZiBhdHRlbXB0ZWQgaW50byB3YWl0ZWQgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBldmVudC50YXJnZXQ7XG4gICAgICAgICAgICAgICAgICB0YXJnZXQuYmx1cigpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c05leHRFbGVtZW50KHRhcmdldCwgdGhpcy5pc1NoaWZ0KGV2ZW50KSwgYnVzeUVsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzW3dhaXRDb21wb25lbnRJZF0gPSB7XG4gICAgICAgICAgICBsaXN0ZW5lcjogZW5kTGlzdGVuZXJGdW5jLFxuICAgICAgICAgICAgYnVzeUVsOiBidXN5RWxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShidXN5RWwsICdhcmlhLWJ1c3knKTtcblxuICAgICAgICBpZiAoaXNGdWxsUGFnZSkge1xuICAgICAgICAgIFNreVdhaXRBZGFwdGVyU2VydmljZS5pc1BhZ2VXYWl0QWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHdhaXRDb21wb25lbnRJZCBpbiBTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzKSB7XG4gICAgICAgICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50c1t3YWl0Q29tcG9uZW50SWRdLmxpc3RlbmVyKCk7XG4gICAgICAgICAgZGVsZXRlIFNreVdhaXRBZGFwdGVyU2VydmljZS5idXN5RWxlbWVudHNbd2FpdENvbXBvbmVudElkXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0RWxlbWVudCh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCwgc2hpZnRLZXk6IGJvb2xlYW4sIGJ1c3lFbDogRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IGZvY3Vzc2FibGUgPSB0aGlzLmdldEZvY3Vzc2FibGVFbGVtZW50cygpO1xuXG4gICAgLy8gSWYgc2hpZnQgdGFiLCBnbyBpbiB0aGUgb3RoZXIgZGlyZWN0aW9uXG4gICAgY29uc3QgbW9kaWZpZXIgPSBzaGlmdEtleSA/IC0xIDogMTtcblxuICAgIC8vIEZpbmQgdGhlIG5leHQgbmF2aWdhYmxlIGVsZW1lbnQgdGhhdCBpc24ndCB3YWl0aW5nXG4gICAgY29uc3Qgc3RhcnRpbmdJbmRleCA9IGZvY3Vzc2FibGUuaW5kZXhPZih0YXJnZXRFbGVtZW50KTtcbiAgICBsZXQgY3VySW5kZXggPSBzdGFydGluZ0luZGV4ICsgbW9kaWZpZXI7XG4gICAgd2hpbGUgKGZvY3Vzc2FibGVbY3VySW5kZXhdICYmIHRoaXMuaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3Vzc2FibGVbY3VySW5kZXhdKSkge1xuICAgICAgY3VySW5kZXggKz0gbW9kaWZpZXI7XG4gICAgfVxuXG4gICAgaWYgKGZvY3Vzc2FibGVbY3VySW5kZXhdICYmICF0aGlzLmlzRWxlbWVudEJ1c3lPckhpZGRlbihmb2N1c3NhYmxlW2N1ckluZGV4XSkpIHtcbiAgICAgIGZvY3Vzc2FibGVbY3VySW5kZXhdLmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRyeSB3cmFwcGluZyB0aGUgbmF2aWdhdGlvblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgY3VySW5kZXggPSBtb2RpZmllciA+IDAgPyAwIDogZm9jdXNzYWJsZS5sZW5ndGggLSAxO1xuICAgICAgd2hpbGUgKFxuICAgICAgICBjdXJJbmRleCAhPT0gc3RhcnRpbmdJbmRleCAmJlxuICAgICAgICBmb2N1c3NhYmxlW2N1ckluZGV4XSAmJlxuICAgICAgICB0aGlzLmlzRWxlbWVudEJ1c3lPckhpZGRlbihmb2N1c3NhYmxlW2N1ckluZGV4XSlcbiAgICAgICkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgY3VySW5kZXggKz0gbW9kaWZpZXI7XG4gICAgICB9XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgIGlmIChmb2N1c3NhYmxlW2N1ckluZGV4XSAmJiAhdGhpcy5pc0VsZW1lbnRCdXN5T3JIaWRkZW4oZm9jdXNzYWJsZVtjdXJJbmRleF0pKSB7XG4gICAgICAgIGZvY3Vzc2FibGVbY3VySW5kZXhdLmZvY3VzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyB2YWxpZCB0YXJnZXQsIHdpcGUgZm9jdXNcbiAgICAgICAgdGhpcy5jbGVhckRvY3VtZW50Rm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjbGVhciBmb2N1c3NhYmxlRWxlbWVudHMgbGlzdFxuICAgIHRoaXMuZm9jdXNzYWJsZUVsZW1lbnRzID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NoaWZ0KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIC8vIERldGVybWluZSBpZiBzaGlmdCt0YWIgd2FzIHVzZWQgYmFzZWQgb24gZWxlbWVudCBvcmRlclxuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5nZXRGb2N1c3NhYmxlRWxlbWVudHMoKS5maWx0ZXIoZWxlbSA9PiAhdGhpcy5pc0VsZW1lbnRIaWRkZW4oZWxlbSkpO1xuXG4gICAgY29uc3QgcHJldmlvdXNJbmQgPSBlbGVtZW50cy5pbmRleE9mKChldmVudCBhcyBhbnkpLnJlbGF0ZWRUYXJnZXQpO1xuICAgIGNvbnN0IGN1cnJlbnRJbmQgPSBlbGVtZW50cy5pbmRleE9mKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG5cbiAgICByZXR1cm4gcHJldmlvdXNJbmQgPT09IGN1cnJlbnRJbmQgKyAxXG4gICAgICB8fCAocHJldmlvdXNJbmQgPT09IDAgJiYgY3VycmVudEluZCA9PT0gZWxlbWVudHMubGVuZ3RoIC0gMSlcbiAgICAgIHx8IChwcmV2aW91c0luZCA+IGN1cnJlbnRJbmQpXG4gICAgICB8fCAhKGV2ZW50IGFzIGFueSkucmVsYXRlZFRhcmdldDtcbiAgfVxuXG4gIHByaXZhdGUgaXNFbGVtZW50SGlkZGVuKGVsZW1lbnQ6IGFueSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgPT09ICdub25lJyB8fCBzdHlsZS52aXNpYmlsaXR5ID09PSAnaGlkZGVuJztcbiAgfVxuXG4gIHByaXZhdGUgaXNFbGVtZW50QnVzeU9ySGlkZGVuKGVsZW1lbnQ6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmlzRWxlbWVudEhpZGRlbihlbGVtZW50KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50cykpIHtcbiAgICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSBTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzW2tleV0uYnVzeUVsO1xuICAgICAgaWYgKHBhcmVudEVsZW1lbnQgJiYgcGFyZW50RWxlbWVudC5jb250YWlucyhlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckRvY3VtZW50Rm9jdXMoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBhbnkpLmJsdXIpIHtcbiAgICAgIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIGFueSkuYmx1cigpO1xuICAgIH1cbiAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZvY3Vzc2FibGVFbGVtZW50cygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICAvLyBLZWVwIHRoaXMgY2FjaGVkIHNvIHdlIGNhbiByZWR1Y2UgcXVlcnlzXG4gICAgaWYgKHRoaXMuZm9jdXNzYWJsZUVsZW1lbnRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb2N1c3NhYmxlRWxlbWVudHM7XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0IGFsbCBwb3NzaWJsZSBmb2N1c3NhYmxlIGVsZW1lbnRzXG4gICAgY29uc3QgZm9jdXNzYWJsZUVsZW1lbnRzID1cbiAgICAgICdhW2hyZWZdLCAnICtcbiAgICAgICdhcmVhW2hyZWZdLCAnICtcbiAgICAgICdpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD1cXCctMVxcJ10pLCAnICtcbiAgICAgICdidXR0b246bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9XFwnLTFcXCddKSwgJyArXG4gICAgICAnc2VsZWN0Om5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PVxcJy0xXFwnXSksICcgK1xuICAgICAgJ3RleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PVxcJy0xXFwnXSksICcgK1xuICAgICAgJ2lmcmFtZSwgb2JqZWN0LCBlbWJlZCwgJyArXG4gICAgICAnKlt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cXCctMVxcJ10pLCAnICtcbiAgICAgICcqW2NvbnRlbnRlZGl0YWJsZT10cnVlXSc7XG5cbiAgICB0aGlzLmZvY3Vzc2FibGVFbGVtZW50cyA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChcbiAgICAgIGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbChmb2N1c3NhYmxlRWxlbWVudHMpLFxuICAgICAgICAoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0V2lkdGggPiAwIHx8IGVsZW1lbnQub2Zmc2V0SGVpZ2h0ID4gMCB8fCBlbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmZvY3Vzc2FibGVFbGVtZW50cztcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzKSkge1xuICAgICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50c1trZXldLmxpc3RlbmVyKCk7XG4gICAgICBkZWxldGUgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50c1trZXldO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
196
|
+
SkyWaitAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
197
|
+
SkyWaitAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitAdapterService });
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitAdapterService, decorators: [{
|
|
199
|
+
type: Injectable
|
|
200
|
+
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3dhaXQvd2FpdC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsR0FJWCxNQUFNLGVBQWUsQ0FBQzs7QUFFdkIscUVBQXFFO0FBQ3JFLDJEQUEyRDtBQUMzRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBVWhDLFlBQW9CLGVBQWlDO1FBQWpDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFrQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQ2xDLFVBQVUsRUFDVixVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFrQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sWUFBWSxDQUNqQixNQUFrQixFQUNsQixVQUFtQixFQUNuQixTQUFrQixFQUNsQixhQUFhLEdBQUcsS0FBSyxFQUNyQixlQUF3QjtRQUV4QixNQUFNLE1BQU0sR0FBRyxVQUFVO1lBQ3ZCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUV2QyxJQUFJLENB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Q2YsT0FBTyxDQUNMLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFDO2dCQUN4QixPQUFPLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FDbkMsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVPLGNBQWM7UUFDcEIscUJBQXFCLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNqRSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkQsT0FBTyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDOztBQTNQYyxzQ0FBZ0IsR0FBRyxLQUFLLENBQUM7QUFDekIsa0NBQVksR0FFdkIsRUFBRSxDQUFDO21IQUpJLHFCQUFxQjt1SEFBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIE5lZWQgdG8gYWRkIHRoZSBmb2xsb3dpbmcgdG8gY2xhc3NlcyB3aGljaCBjb250YWluIHN0YXRpYyBtZXRob2RzLlxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbmctcGFja2Fnci9uZy1wYWNrYWdyL2lzc3Vlcy82NDFcbi8qKlxuICogQGludGVybmFsXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaXNQYWdlV2FpdEFjdGl2ZSA9IGZhbHNlO1xuICBwcml2YXRlIHN0YXRpYyBidXN5RWxlbWVudHM6IHtcbiAgICBba2V5OiBzdHJpbmddOiB7IGJ1c3lFbDogSFRNTEVsZW1lbnQ7IGxpc3RlbmVyOiBhbnkgfTtcbiAgfSA9IHt9O1xuXG4gIHByaXZhdGUgZm9jdXNzYWJsZUVsZW1lbnRzOiBIVE1MRWxlbWVudFtdO1xuXG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xuICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIHNldFdhaXRCb3VuZHMod2FpdEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHdhaXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQsXG4gICAgICAncG9zaXRpb24nLFxuICAgICAgJ3JlbGF0aXZlJ1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlV2FpdEJvdW5kcyh3YWl0RWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHdhaXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQsICdwb3NpdGlvbicpO1xuICB9XG5cbiAgcHVibGljIHNldEJ1c3lTdGF0ZShcbiAgICB3YWl0RWw6IEVsZW1lbnRSZWYsXG4gICAgaXNGdWxsUGFnZTogYm9vbGVhbixcbiAgICBpc1dhaXRpbmc6IGJvb2xlYW4sXG4gICAgaXNOb25CbG9ja2luZyA9IGZhbHNlLFxuICAgIHdhaXRDb21wb25lbnRJZD86IHN0cmluZ1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBidXN5RWwgPSBpc0Z1bGxQYWdlXG4gICAgICA/IGRvY3VtZW50LmJvZHlcbiAgICAgIDogd2FpdEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgaWYgKGlzV2FpdGluZykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidXN5RWwsICdhcmlhLWJ1c3knLCAndHJ1ZScpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBmb2N1cyBmcm9tIHBhZ2Ugd2hlbiBmdWxsIHBhZ2UgYmxvY2tpbmcgd2FpdFxuICAgICAgICBpZiAoaXNGdWxsUGFnZSB8fCBidXN5RWwuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICB0aGlzLmNsZWFyRG9jdW1lbnRGb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRnVsbFBhZ2UpIHtcbiAgICAgICAgICBTa3lXYWl0QWRhcHRlclNlcnZpY2UuaXNQYWdlV2FpdEFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgY29uc3QgZW5kTGlzdGVuZXJGdW5jID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LFxuICAgICAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAndGFiJykge1xuICAgICAgICAgICAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBhbnkpLmJsdXIoKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhckRvY3VtZW50Rm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIFNreVdhaXRBZGFwdGVyU2VydmljZS5idXN5RWxlbWVudHNbd2FpdENvbXBvbmVudElkXSA9IHtcbiAgICAgICAgICAgIGxpc3RlbmVyOiBlbmRMaXN0ZW5lckZ1bmMsXG4gICAgICAgICAgICBidXN5RWw6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGVuZExpc3RlbmVyRnVuYyA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxuICAgICAgICAgICAgYnVzeUVsLFxuICAgICAgICAgICAgJ2ZvY3VzaW4nLFxuICAgICAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJEb2N1bWVudEZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIC8vIFByb3BhZ2F0ZSB0YWIgbmF2aWdhdGlvbiBpZiBhdHRlbXB0ZWQgaW50byB3YWl0ZWQgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBldmVudC50YXJnZXQ7XG4gICAgICAgICAgICAgICAgICB0YXJnZXQuYmx1cigpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c05leHRFbGVtZW50KHRhcmdldCwgdGhpcy5pc1NoaWZ0KGV2ZW50KSwgYnVzeUVsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIFNreVdhaXRBZGFwdGVyU2VydmljZS5idXN5RWxlbWVudHNbd2FpdENvbXBvbmVudElkXSA9IHtcbiAgICAgICAgICAgIGxpc3RlbmVyOiBlbmRMaXN0ZW5lckZ1bmMsXG4gICAgICAgICAgICBidXN5RWw6IGJ1c3lFbCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShidXN5RWwsICdhcmlhLWJ1c3knKTtcblxuICAgICAgICBpZiAoaXNGdWxsUGFnZSkge1xuICAgICAgICAgIFNreVdhaXRBZGFwdGVyU2VydmljZS5pc1BhZ2VXYWl0QWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHdhaXRDb21wb25lbnRJZCBpbiBTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzKSB7XG4gICAgICAgICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50c1t3YWl0Q29tcG9uZW50SWRdLmxpc3RlbmVyKCk7XG4gICAgICAgICAgZGVsZXRlIFNreVdhaXRBZGFwdGVyU2VydmljZS5idXN5RWxlbWVudHNbd2FpdENvbXBvbmVudElkXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0RWxlbWVudChcbiAgICB0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICBzaGlmdEtleTogYm9vbGVhbixcbiAgICBidXN5RWw6IEVsZW1lbnRcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNzYWJsZSA9IHRoaXMuZ2V0Rm9jdXNzYWJsZUVsZW1lbnRzKCk7XG5cbiAgICAvLyBJZiBzaGlmdCB0YWIsIGdvIGluIHRoZSBvdGhlciBkaXJlY3Rpb25cbiAgICBjb25zdCBtb2RpZmllciA9IHNoaWZ0S2V5ID8gLTEgOiAxO1xuXG4gICAgLy8gRmluZCB0aGUgbmV4dCBuYXZpZ2FibGUgZWxlbWVudCB0aGF0IGlzbid0IHdhaXRpbmdcbiAgICBjb25zdCBzdGFydGluZ0luZGV4ID0gZm9jdXNzYWJsZS5pbmRleE9mKHRhcmdldEVsZW1lbnQpO1xuICAgIGxldCBjdXJJbmRleCA9IHN0YXJ0aW5nSW5kZXggKyBtb2RpZmllcjtcbiAgICB3aGlsZSAoXG4gICAgICBmb2N1c3NhYmxlW2N1ckluZGV4XSAmJlxuICAgICAgdGhpcy5pc0VsZW1lbnRCdXN5T3JIaWRkZW4oZm9jdXNzYWJsZVtjdXJJbmRleF0pXG4gICAgKSB7XG4gICAgICBjdXJJbmRleCArPSBtb2RpZmllcjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmb2N1c3NhYmxlW2N1ckluZGV4XSAmJlxuICAgICAgIXRoaXMuaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3Vzc2FibGVbY3VySW5kZXhdKVxuICAgICkge1xuICAgICAgZm9jdXNzYWJsZVtjdXJJbmRleF0uZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVHJ5IHdyYXBwaW5nIHRoZSBuYXZpZ2F0aW9uXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBjdXJJbmRleCA9IG1vZGlmaWVyID4gMCA/IDAgOiBmb2N1c3NhYmxlLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoXG4gICAgICAgIGN1ckluZGV4ICE9PSBzdGFydGluZ0luZGV4ICYmXG4gICAgICAgIGZvY3Vzc2FibGVbY3VySW5kZXhdICYmXG4gICAgICAgIHRoaXMuaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3Vzc2FibGVbY3VySW5kZXhdKVxuICAgICAgKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgICBjdXJJbmRleCArPSBtb2RpZmllcjtcbiAgICAgIH1cblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgaWYgKFxuICAgICAgICBmb2N1c3NhYmxlW2N1ckluZGV4XSAmJlxuICAgICAgICAhdGhpcy5pc0VsZW1lbnRCdXN5T3JIaWRkZW4oZm9jdXNzYWJsZVtjdXJJbmRleF0pXG4gICAgICApIHtcbiAgICAgICAgZm9jdXNzYWJsZVtjdXJJbmRleF0uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vIHZhbGlkIHRhcmdldCwgd2lwZSBmb2N1c1xuICAgICAgICB0aGlzLmNsZWFyRG9jdW1lbnRGb2N1cygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNsZWFyIGZvY3Vzc2FibGVFbGVtZW50cyBsaXN0XG4gICAgdGhpcy5mb2N1c3NhYmxlRWxlbWVudHMgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGlzU2hpZnQoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgLy8gRGV0ZXJtaW5lIGlmIHNoaWZ0K3RhYiB3YXMgdXNlZCBiYXNlZCBvbiBlbGVtZW50IG9yZGVyXG4gICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmdldEZvY3Vzc2FibGVFbGVtZW50cygpLmZpbHRlcihcbiAgICAgIChlbGVtKSA9PiAhdGhpcy5pc0VsZW1lbnRIaWRkZW4oZWxlbSlcbiAgICApO1xuXG4gICAgY29uc3QgcHJldmlvdXNJbmQgPSBlbGVtZW50cy5pbmRleE9mKChldmVudCBhcyBhbnkpLnJlbGF0ZWRUYXJnZXQpO1xuICAgIGNvbnN0IGN1cnJlbnRJbmQgPSBlbGVtZW50cy5pbmRleE9mKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgcHJldmlvdXNJbmQgPT09IGN1cnJlbnRJbmQgKyAxIHx8XG4gICAgICAocHJldmlvdXNJbmQgPT09IDAgJiYgY3VycmVudEluZCA9PT0gZWxlbWVudHMubGVuZ3RoIC0gMSkgfHxcbiAgICAgIHByZXZpb3VzSW5kID4gY3VycmVudEluZCB8fFxuICAgICAgIShldmVudCBhcyBhbnkpLnJlbGF0ZWRUYXJnZXRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VsZW1lbnRIaWRkZW4oZWxlbWVudDogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICByZXR1cm4gc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnIHx8IHN0eWxlLnZpc2liaWxpdHkgPT09ICdoaWRkZW4nO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VsZW1lbnRCdXN5T3JIaWRkZW4oZWxlbWVudDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNFbGVtZW50SGlkZGVuKGVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzKSkge1xuICAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IFNreVdhaXRBZGFwdGVyU2VydmljZS5idXN5RWxlbWVudHNba2V5XS5idXN5RWw7XG4gICAgICBpZiAocGFyZW50RWxlbWVudCAmJiBwYXJlbnRFbGVtZW50LmNvbnRhaW5zKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRG9jdW1lbnRGb2N1cygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIGFueSkuYmx1cikge1xuICAgICAgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgYW55KS5ibHVyKCk7XG4gICAgfVxuICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9jdXNzYWJsZUVsZW1lbnRzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIC8vIEtlZXAgdGhpcyBjYWNoZWQgc28gd2UgY2FuIHJlZHVjZSBxdWVyeXNcbiAgICBpZiAodGhpcy5mb2N1c3NhYmxlRWxlbWVudHMpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvY3Vzc2FibGVFbGVtZW50cztcbiAgICB9XG5cbiAgICAvLyBTZWxlY3QgYWxsIHBvc3NpYmxlIGZvY3Vzc2FibGUgZWxlbWVudHNcbiAgICBjb25zdCBmb2N1c3NhYmxlRWxlbWVudHMgPVxuICAgICAgJ2FbaHJlZl0sICcgK1xuICAgICAgJ2FyZWFbaHJlZl0sICcgK1xuICAgICAgXCJpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD0nLTEnXSksIFwiICtcbiAgICAgIFwiYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKSwgXCIgK1xuICAgICAgXCJzZWxlY3Q6bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9Jy0xJ10pLCBcIiArXG4gICAgICBcInRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKSwgXCIgK1xuICAgICAgJ2lmcmFtZSwgb2JqZWN0LCBlbWJlZCwgJyArXG4gICAgICBcIipbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Jy0xJ10pLCBcIiArXG4gICAgICAnKltjb250ZW50ZWRpdGFibGU9dHJ1ZV0nO1xuXG4gICAgdGhpcy5mb2N1c3NhYmxlRWxlbWVudHMgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoXG4gICAgICBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoZm9jdXNzYWJsZUVsZW1lbnRzKSxcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBlbGVtZW50Lm9mZnNldFdpZHRoID4gMCB8fFxuICAgICAgICAgIGVsZW1lbnQub2Zmc2V0SGVpZ2h0ID4gMCB8fFxuICAgICAgICAgIGVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiB0aGlzLmZvY3Vzc2FibGVFbGVtZW50cztcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzKSkge1xuICAgICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50c1trZXldLmxpc3RlbmVyKCk7XG4gICAgICBkZWxldGUgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50c1trZXldO1xuICAgIH1cbiAgfVxufVxuIl19
|