@skyux/progress-indicator 7.0.0-beta.12 → 7.0.0-beta.13
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/documentation.json +495 -410
- package/esm2020/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +43 -24
- package/esm2020/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-class.pipe.mjs +28 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-disabled.pipe.mjs +19 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.mjs +70 -86
- package/esm2020/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.mjs +3 -4
- package/esm2020/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker-class.pipe.mjs +31 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.mjs +23 -40
- package/esm2020/lib/modules/progress-indicator/progress-indicator.component.mjs +200 -209
- package/esm2020/lib/modules/progress-indicator/progress-indicator.module.mjs +10 -1
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.mjs +1 -1
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-message.mjs +1 -1
- package/fesm2015/skyux-progress-indicator.mjs +420 -365
- package/fesm2015/skyux-progress-indicator.mjs.map +1 -1
- package/fesm2020/skyux-progress-indicator.mjs +412 -364
- package/fesm2020/skyux-progress-indicator.mjs.map +1 -1
- package/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.d.ts +9 -9
- package/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-class.pipe.d.ts +7 -0
- package/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-disabled.pipe.d.ts +9 -0
- package/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.d.ts +12 -21
- package/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.d.ts +4 -4
- package/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker-class.pipe.d.ts +8 -0
- package/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.d.ts +3 -6
- package/lib/modules/progress-indicator/progress-indicator.component.d.ts +13 -39
- package/lib/modules/progress-indicator/progress-indicator.module.d.ts +14 -11
- package/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.d.ts +2 -2
- package/package.json +5 -5
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
var _SkyProgressIndicatorItemComponent_instances, _SkyProgressIndicatorItemComponent_titlePrefix, _SkyProgressIndicatorItemComponent_changeDetector, _SkyProgressIndicatorItemComponent__title, _SkyProgressIndicatorItemComponent__status, _SkyProgressIndicatorItemComponent_updateFormattedTitle;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
|
|
2
4
|
import { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
@@ -5,59 +7,76 @@ import * as i1 from "@angular/common";
|
|
|
5
7
|
import * as i2 from "@skyux/theme";
|
|
6
8
|
import * as i3 from "@skyux/core";
|
|
7
9
|
import * as i4 from "../progress-indicator-status-marker/progress-indicator-status-marker.component";
|
|
10
|
+
const STATUS_DEFAULT = SkyProgressIndicatorItemStatus.Incomplete;
|
|
11
|
+
const STATUS_NAME_DEFAULT = 'incomplete';
|
|
8
12
|
/**
|
|
9
13
|
* Specifies a step to include in the progress indicator. Each step requires a label,
|
|
10
14
|
* and you can also specify step details within the `sky-progress-indicator-item` element.
|
|
11
15
|
*/
|
|
12
16
|
export class SkyProgressIndicatorItemComponent {
|
|
13
17
|
constructor(changeDetector) {
|
|
14
|
-
this
|
|
18
|
+
_SkyProgressIndicatorItemComponent_instances.add(this);
|
|
15
19
|
this.isVisible = false;
|
|
16
20
|
this.showStatusMarker = true;
|
|
17
21
|
this.showTitle = true;
|
|
22
|
+
this.statusName = STATUS_NAME_DEFAULT;
|
|
23
|
+
_SkyProgressIndicatorItemComponent_titlePrefix.set(this, void 0);
|
|
24
|
+
_SkyProgressIndicatorItemComponent_changeDetector.set(this, void 0);
|
|
25
|
+
_SkyProgressIndicatorItemComponent__title.set(this, void 0);
|
|
26
|
+
_SkyProgressIndicatorItemComponent__status.set(this, STATUS_DEFAULT);
|
|
27
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorItemComponent_changeDetector, changeDetector, "f");
|
|
18
28
|
}
|
|
19
|
-
|
|
20
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Specifies a step label for the step in the progress indicator.
|
|
31
|
+
* @required
|
|
32
|
+
*/
|
|
33
|
+
set title(value) {
|
|
34
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorItemComponent__title, value, "f");
|
|
35
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_instances, "m", _SkyProgressIndicatorItemComponent_updateFormattedTitle).call(this);
|
|
21
36
|
}
|
|
22
|
-
get
|
|
23
|
-
|
|
24
|
-
if (this._status === undefined) {
|
|
25
|
-
return SkyProgressIndicatorItemStatus.Incomplete;
|
|
26
|
-
}
|
|
27
|
-
return this._status;
|
|
37
|
+
get title() {
|
|
38
|
+
return __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent__title, "f");
|
|
28
39
|
}
|
|
29
40
|
set status(value) {
|
|
30
|
-
if (value === this
|
|
41
|
+
if (value === __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent__status, "f")) {
|
|
31
42
|
return;
|
|
32
43
|
}
|
|
33
|
-
|
|
34
|
-
this
|
|
35
|
-
|
|
36
|
-
get statusName() {
|
|
37
|
-
let name;
|
|
38
|
-
switch (this.status) {
|
|
44
|
+
/* istanbul ignore next */
|
|
45
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorItemComponent__status, value ?? STATUS_DEFAULT, "f");
|
|
46
|
+
switch (__classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent__status, "f")) {
|
|
39
47
|
case SkyProgressIndicatorItemStatus.Active:
|
|
40
|
-
|
|
48
|
+
this.statusName = 'active';
|
|
41
49
|
break;
|
|
42
50
|
case SkyProgressIndicatorItemStatus.Complete:
|
|
43
|
-
|
|
51
|
+
this.statusName = 'complete';
|
|
44
52
|
break;
|
|
45
53
|
case SkyProgressIndicatorItemStatus.Incomplete:
|
|
46
|
-
|
|
54
|
+
this.statusName = 'incomplete';
|
|
47
55
|
break;
|
|
48
56
|
case SkyProgressIndicatorItemStatus.Pending:
|
|
49
|
-
|
|
57
|
+
this.statusName = 'pending';
|
|
50
58
|
break;
|
|
51
59
|
}
|
|
52
|
-
|
|
60
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_changeDetector, "f").markForCheck();
|
|
61
|
+
}
|
|
62
|
+
get status() {
|
|
63
|
+
return __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent__status, "f");
|
|
64
|
+
}
|
|
65
|
+
ngOnInit() {
|
|
66
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_instances, "m", _SkyProgressIndicatorItemComponent_updateFormattedTitle).call(this);
|
|
53
67
|
}
|
|
54
68
|
showStepNumber(step) {
|
|
55
|
-
this
|
|
69
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorItemComponent_titlePrefix, `${step} - `, "f");
|
|
70
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_instances, "m", _SkyProgressIndicatorItemComponent_updateFormattedTitle).call(this);
|
|
56
71
|
}
|
|
57
72
|
hideStepNumber() {
|
|
58
|
-
this
|
|
73
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorItemComponent_titlePrefix, '', "f");
|
|
74
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_instances, "m", _SkyProgressIndicatorItemComponent_updateFormattedTitle).call(this);
|
|
59
75
|
}
|
|
60
76
|
}
|
|
77
|
+
_SkyProgressIndicatorItemComponent_titlePrefix = new WeakMap(), _SkyProgressIndicatorItemComponent_changeDetector = new WeakMap(), _SkyProgressIndicatorItemComponent__title = new WeakMap(), _SkyProgressIndicatorItemComponent__status = new WeakMap(), _SkyProgressIndicatorItemComponent_instances = new WeakSet(), _SkyProgressIndicatorItemComponent_updateFormattedTitle = function _SkyProgressIndicatorItemComponent_updateFormattedTitle() {
|
|
78
|
+
this.formattedTitle = `${__classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_titlePrefix, "f")}${this.title}`;
|
|
79
|
+
};
|
|
61
80
|
SkyProgressIndicatorItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
81
|
SkyProgressIndicatorItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyProgressIndicatorItemComponent, selector: "sky-progress-indicator-item", inputs: { title: "title" }, ngImport: i0, template: "<div\n *ngIf=\"isVisible\"\n class=\"sky-progress-indicator-item\"\n [ngClass]=\"'sky-progress-indicator-item-status-' + statusName\"\n>\n <sky-progress-indicator-status-marker\n *ngIf=\"showStatusMarker\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n\n <div class=\"sky-progress-indicator-item-content\">\n <div\n *ngIf=\"showTitle\"\n aria-level=\"2\"\n class=\"sky-progress-indicator-item-heading\"\n role=\"heading\"\n [ngClass]=\"{\n 'sky-deemphasized': statusName === 'pending'\n }\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n skyTrim\n >\n {{ formattedTitle }}\n <span class=\"sky-control-help-container\" skyTrim\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n <div class=\"sky-progress-indicator-item-body\">\n <ng-template [ngIf]=\"statusName !== 'incomplete'\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n </div>\n</div>\n", styles: [".sky-progress-indicator-item{display:flex;margin-bottom:-1px}.sky-progress-indicator-item-content{flex:1 1 100%}.sky-progress-indicator-item-body{min-height:20px;padding-top:10px;padding-bottom:30px}.sky-progress-indicator-item-status-incomplete .sky-progress-indicator-item-body{padding:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item{margin:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body{padding:20px 0 30px}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body:empty{padding:0}.sky-theme-modern .sky-progress-indicator-item{margin:0}.sky-theme-modern .sky-progress-indicator-item-body{padding:20px 0 30px}.sky-theme-modern .sky-progress-indicator-item-body:empty{padding:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i3.λ4, selector: "[skyTrim]" }, { kind: "component", type: i4.SkyProgressIndicatorStatusMarkerComponent, selector: "sky-progress-indicator-status-marker", inputs: ["displayMode", "status"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
63
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorItemComponent, decorators: [{
|
|
@@ -66,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
66
85
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { title: [{
|
|
67
86
|
type: Input
|
|
68
87
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci1pdGVtL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQUV6RixNQUFNLGNBQWMsR0FBRyw4QkFBOEIsQ0FBQyxVQUFVLENBQUM7QUFDakUsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUM7QUFFekM7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGlDQUFpQztJQXlENUMsWUFBWSxjQUFpQzs7UUFYdEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixlQUFVLEdBQUcsbUJBQW1CLENBQUM7UUFFeEMsaUVBQWlDO1FBQ2pDLG9FQUFtQztRQUVuQyw0REFBNEI7UUFDNUIscURBQVcsY0FBYyxFQUFDO1FBR3hCLHVCQUFBLElBQUkscURBQW1CLGNBQWMsTUFBQSxDQUFDO0lBQ3hDLENBQUM7SUExREQ7OztPQUdHO0lBQ0gsSUFDVyxLQUFLLENBQUMsS0FBeUI7UUFDeEMsdUJBQUEsSUFBSSw2Q0FBVyxLQUFLLE1BQUEsQ0FBQztRQUNyQix1QkFBQSxJQUFJLDZHQUFzQixNQUExQixJQUFJLENBQXdCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sdUJBQUEsSUFBSSxpREFBUSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLE1BQU0sQ0FBQyxLQUFpRDtRQUNqRSxJQUFJLEtBQUssS0FBSyx1QkFBQSxJQUFJLGtEQUFTLEVBQUU7WUFDM0IsT0FBTztTQUNSO1FBRUQsMEJBQTBCO1FBQzFCLHVCQUFBLElBQUksOENBQVksS0FBSyxJQUFJLGNBQWMsTUFBQSxDQUFDO1FBRXhDLFFBQVEsdUJBQUEsSUFBSSxrREFBUyxFQUFFO1lBQ3JCLEtBQUssOEJBQThCLENBQUMsTUFBTTtnQkFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLDhCQUE4QixDQUFDLFFBQVE7Z0JBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO2dCQUM3QixNQUFNO1lBQ1IsS0FBSyw4QkFBOEIsQ0FBQyxVQUFVO2dCQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQztnQkFDL0IsTUFBTTtZQUNSLEtBQUssOEJBQThCLENBQUMsT0FBTztnQkFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQzVCLE1BQU07U0FDVDtRQUVELHVCQUFBLElBQUkseURBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sdUJBQUEsSUFBSSxrREFBUyxDQUFDO0lBQ3ZCLENBQUM7SUFrQk0sUUFBUTtRQUNiLHVCQUFBLElBQUksNkdBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYyxDQUFDLElBQVk7UUFDaEMsdUJBQUEsSUFBSSxrREFBZ0IsR0FBRyxJQUFJLEtBQUssTUFBQSxDQUFDO1FBQ2pDLHVCQUFBLElBQUksNkdBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYztRQUNuQix1QkFBQSxJQUFJLGtEQUFnQixFQUFFLE1BQUEsQ0FBQztRQUN2Qix1QkFBQSxJQUFJLDZHQUFzQixNQUExQixJQUFJLENBQXdCLENBQUM7SUFDL0IsQ0FBQzs7O0lBR0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLHVCQUFBLElBQUksc0RBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDNUQsQ0FBQzs4SEE3RVUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsK0ZDdkI5Qyx5aENBcUNBOzJGRGRhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDRSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU07d0dBUXBDLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0tc3RhdHVzJztcblxuY29uc3QgU1RBVFVTX0RFRkFVTFQgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuSW5jb21wbGV0ZTtcbmNvbnN0IFNUQVRVU19OQU1FX0RFRkFVTFQgPSAnaW5jb21wbGV0ZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGEgc3RlcCB0byBpbmNsdWRlIGluIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IuIEVhY2ggc3RlcCByZXF1aXJlcyBhIGxhYmVsLFxuICogYW5kIHlvdSBjYW4gYWxzbyBzcGVjaWZ5IHN0ZXAgZGV0YWlscyB3aXRoaW4gdGhlIGBza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW1gIGVsZW1lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogU3BlY2lmaWVzIGEgc3RlcCBsYWJlbCBmb3IgdGhlIHN0ZXAgaW4gdGhlIHByb2dyZXNzIGluZGljYXRvci5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdGl0bGUgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVGb3JtYXR0ZWRUaXRsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0aXRsZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGl0bGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHN0YXR1cyh2YWx1ZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlID09PSB0aGlzLiNfc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLiNfc3RhdHVzID0gdmFsdWUgPz8gU1RBVFVTX0RFRkFVTFQ7XG5cbiAgICBzd2l0Y2ggKHRoaXMuI19zdGF0dXMpIHtcbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkFjdGl2ZTpcbiAgICAgICAgdGhpcy5zdGF0dXNOYW1lID0gJ2FjdGl2ZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuQ29tcGxldGU6XG4gICAgICAgIHRoaXMuc3RhdHVzTmFtZSA9ICdjb21wbGV0ZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuSW5jb21wbGV0ZTpcbiAgICAgICAgdGhpcy5zdGF0dXNOYW1lID0gJ2luY29tcGxldGUnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLlBlbmRpbmc6XG4gICAgICAgIHRoaXMuc3RhdHVzTmFtZSA9ICdwZW5kaW5nJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXR1cygpOiBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMge1xuICAgIHJldHVybiB0aGlzLiNfc3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGZvcm1hdHRlZFRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcbiAgcHVibGljIHNob3dTdGF0dXNNYXJrZXIgPSB0cnVlO1xuICBwdWJsaWMgc2hvd1RpdGxlID0gdHJ1ZTtcbiAgcHVibGljIHN0YXR1c05hbWUgPSBTVEFUVVNfTkFNRV9ERUZBVUxUO1xuXG4gICN0aXRsZVByZWZpeDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNfdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI19zdGF0dXMgPSBTVEFUVVNfREVGQVVMVDtcblxuICBjb25zdHJ1Y3RvcihjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3VwZGF0ZUZvcm1hdHRlZFRpdGxlKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1N0ZXBOdW1iZXIoc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy4jdGl0bGVQcmVmaXggPSBgJHtzdGVwfSAtIGA7XG4gICAgdGhpcy4jdXBkYXRlRm9ybWF0dGVkVGl0bGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlU3RlcE51bWJlcigpOiB2b2lkIHtcbiAgICB0aGlzLiN0aXRsZVByZWZpeCA9ICcnO1xuICAgIHRoaXMuI3VwZGF0ZUZvcm1hdHRlZFRpdGxlKCk7XG4gIH1cblxuICAjdXBkYXRlRm9ybWF0dGVkVGl0bGUoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtYXR0ZWRUaXRsZSA9IGAke3RoaXMuI3RpdGxlUHJlZml4fSR7dGhpcy50aXRsZX1gO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiaXNWaXNpYmxlXCJcbiAgY2xhc3M9XCJza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW1cIlxuICBbbmdDbGFzc109XCInc2t5LXByb2dyZXNzLWluZGljYXRvci1pdGVtLXN0YXR1cy0nICsgc3RhdHVzTmFtZVwiXG4+XG4gIDxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLXN0YXR1cy1tYXJrZXJcbiAgICAqbmdJZj1cInNob3dTdGF0dXNNYXJrZXJcIlxuICAgIFtzdGF0dXNdPVwic3RhdHVzXCJcbiAgPlxuICA8L3NreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlcj5cblxuICA8ZGl2IGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci1pdGVtLWNvbnRlbnRcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInNob3dUaXRsZVwiXG4gICAgICBhcmlhLWxldmVsPVwiMlwiXG4gICAgICBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS1oZWFkaW5nXCJcbiAgICAgIHJvbGU9XCJoZWFkaW5nXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1kZWVtcGhhc2l6ZWQnOiBzdGF0dXNOYW1lID09PSAncGVuZGluZydcbiAgICAgIH1cIlxuICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LWZvbnQtZGlzcGxheS0zJzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgICAgc2t5VHJpbVxuICAgID5cbiAgICAgIHt7IGZvcm1hdHRlZFRpdGxlIH19XG4gICAgICA8c3BhbiBjbGFzcz1cInNreS1jb250cm9sLWhlbHAtY29udGFpbmVyXCIgc2t5VHJpbVxuICAgICAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1jb250cm9sLWhlbHBcIj48L25nLWNvbnRlbnRcbiAgICAgID48L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS1ib2R5XCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwic3RhdHVzTmFtZSAhPT0gJ2luY29tcGxldGUnXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SkyProgressIndicatorNavButtonClass {
|
|
4
|
+
transform(buttonType) {
|
|
5
|
+
const classNames = [`sky-progress-indicator-nav-button-${buttonType}`];
|
|
6
|
+
switch (buttonType) {
|
|
7
|
+
case 'next':
|
|
8
|
+
case 'finish':
|
|
9
|
+
classNames.push('sky-btn-primary');
|
|
10
|
+
break;
|
|
11
|
+
case 'reset':
|
|
12
|
+
classNames.push('sky-btn-link');
|
|
13
|
+
break;
|
|
14
|
+
default:
|
|
15
|
+
classNames.push('sky-btn-default');
|
|
16
|
+
}
|
|
17
|
+
return classNames;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
SkyProgressIndicatorNavButtonClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorNavButtonClass, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
21
|
+
SkyProgressIndicatorNavButtonClass.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorNavButtonClass, name: "skyProgressIndicatorNavButtonClass" });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorNavButtonClass, decorators: [{
|
|
23
|
+
type: Pipe,
|
|
24
|
+
args: [{
|
|
25
|
+
name: 'skyProgressIndicatorNavButtonClass',
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tY2xhc3MucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi1jbGFzcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sa0NBQWtDO0lBQ3RDLFNBQVMsQ0FBQyxVQUFrQjtRQUNqQyxNQUFNLFVBQVUsR0FBRyxDQUFDLHFDQUFxQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLFFBQVEsVUFBVSxFQUFFO1lBQ2xCLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxRQUFRO2dCQUNYLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDbkMsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNO1lBQ1I7Z0JBQ0UsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7K0hBakJVLGtDQUFrQzs2SEFBbEMsa0NBQWtDOzJGQUFsQyxrQ0FBa0M7a0JBSDlDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG9DQUFvQztpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uQ2xhc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNsYXNzIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0oYnV0dG9uVHlwZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbYHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi0ke2J1dHRvblR5cGV9YF07XG5cbiAgICBzd2l0Y2ggKGJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgJ25leHQnOlxuICAgICAgY2FzZSAnZmluaXNoJzpcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCdza3ktYnRuLXByaW1hcnknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdyZXNldCc6XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaCgnc2t5LWJ0bi1saW5rJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCdza3ktYnRuLWRlZmF1bHQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SkyProgressIndicatorNavButtonDisabledPipe {
|
|
4
|
+
transform(disabled, buttonType, activeIndex, itemStatuses) {
|
|
5
|
+
const isLastStep = itemStatuses && activeIndex === itemStatuses.length - 1;
|
|
6
|
+
return ((buttonType === 'next' && isLastStep) ||
|
|
7
|
+
(buttonType === 'previous' && activeIndex === 0) ||
|
|
8
|
+
disabled);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
SkyProgressIndicatorNavButtonDisabledPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorNavButtonDisabledPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
12
|
+
SkyProgressIndicatorNavButtonDisabledPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorNavButtonDisabledPipe, name: "skyProgressIndicatorNavButtonDisabled" });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorNavButtonDisabledPipe, decorators: [{
|
|
14
|
+
type: Pipe,
|
|
15
|
+
args: [{
|
|
16
|
+
name: 'skyProgressIndicatorNavButtonDisabled',
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tZGlzYWJsZWQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi1kaXNhYmxlZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVFwRCxNQUFNLE9BQU8seUNBQXlDO0lBRzdDLFNBQVMsQ0FDZCxRQUE2QixFQUM3QixVQUE2QyxFQUM3QyxXQUErQixFQUMvQixZQUEwRDtRQUUxRCxNQUFNLFVBQVUsR0FBRyxZQUFZLElBQUksV0FBVyxLQUFLLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRTNFLE9BQU8sQ0FDTCxDQUFDLFVBQVUsS0FBSyxNQUFNLElBQUksVUFBVSxDQUFDO1lBQ3JDLENBQUMsVUFBVSxLQUFLLFVBQVUsSUFBSSxXQUFXLEtBQUssQ0FBQyxDQUFDO1lBQ2hELFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQzs7c0lBaEJVLHlDQUF5QztvSUFBekMseUNBQXlDOzJGQUF6Qyx5Q0FBeUM7a0JBSHJELElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHVDQUF1QztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cyB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLXN0YXR1cyc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvblR5cGUgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi10eXBlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25EaXNhYmxlZCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uRGlzYWJsZWRQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgIGJ1dHRvblR5cGU6IFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uVHlwZSxcbiAgICBhY3RpdmVJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIGl0ZW1TdGF0dXNlczogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzW10gfCB1bmRlZmluZWRcbiAgKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNMYXN0U3RlcCA9IGl0ZW1TdGF0dXNlcyAmJiBhY3RpdmVJbmRleCA9PT0gaXRlbVN0YXR1c2VzLmxlbmd0aCAtIDE7XG5cbiAgICByZXR1cm4gKFxuICAgICAgKGJ1dHRvblR5cGUgPT09ICduZXh0JyAmJiBpc0xhc3RTdGVwKSB8fFxuICAgICAgKGJ1dHRvblR5cGUgPT09ICdwcmV2aW91cycgJiYgYWN0aXZlSW5kZXggPT09IDApIHx8XG4gICAgICBkaXNhYmxlZFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
var _SkyProgressIndicatorNavButtonComponent_instances, _SkyProgressIndicatorNavButtonComponent_ngUnsubscribe, _SkyProgressIndicatorNavButtonComponent_parentTimeout, _SkyProgressIndicatorNavButtonComponent__buttonType, _SkyProgressIndicatorNavButtonComponent__disabled, _SkyProgressIndicatorNavButtonComponent__isVisible, _SkyProgressIndicatorNavButtonComponent__progressIndicator, _SkyProgressIndicatorNavButtonComponent_changeDetector, _SkyProgressIndicatorNavButtonComponent_parentComponent, _SkyProgressIndicatorNavButtonComponent_sendMessage, _SkyProgressIndicatorNavButtonComponent_updateButtonVisibility;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Optional, Output, } from '@angular/core';
|
|
2
4
|
import { Subject } from 'rxjs';
|
|
3
5
|
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
@@ -8,21 +10,32 @@ import * as i0 from "@angular/core";
|
|
|
8
10
|
import * as i1 from "../progress-indicator.component";
|
|
9
11
|
import * as i2 from "@angular/common";
|
|
10
12
|
import * as i3 from "@skyux/i18n";
|
|
13
|
+
import * as i4 from "./progress-indicator-nav-button-class.pipe";
|
|
14
|
+
import * as i5 from "./progress-indicator-nav-button-disabled.pipe";
|
|
15
|
+
const BUTTON_TYPE_DEFAULT = 'next';
|
|
11
16
|
/**
|
|
12
17
|
* Displays a button to navigate the steps in modal wizards. We recommend against using it in
|
|
13
18
|
* passive progress indicators and waterfall progress indicators.
|
|
14
19
|
*/
|
|
15
20
|
export class SkyProgressIndicatorNavButtonComponent {
|
|
16
21
|
constructor(changeDetector, parentComponent) {
|
|
17
|
-
this
|
|
18
|
-
this.parentComponent = parentComponent;
|
|
22
|
+
_SkyProgressIndicatorNavButtonComponent_instances.add(this);
|
|
19
23
|
/**
|
|
20
24
|
* Fires when users select the nav button and emits a `SkyProgressIndicatorActionClickArgs`
|
|
21
25
|
* object that is passed into the callback function to allow consumers to decide whether
|
|
22
26
|
* the button’s action should complete successfully.
|
|
23
27
|
*/
|
|
24
28
|
this.actionClick = new EventEmitter();
|
|
25
|
-
this
|
|
29
|
+
_SkyProgressIndicatorNavButtonComponent_ngUnsubscribe.set(this, new Subject());
|
|
30
|
+
_SkyProgressIndicatorNavButtonComponent_parentTimeout.set(this, void 0);
|
|
31
|
+
_SkyProgressIndicatorNavButtonComponent__buttonType.set(this, BUTTON_TYPE_DEFAULT);
|
|
32
|
+
_SkyProgressIndicatorNavButtonComponent__disabled.set(this, void 0);
|
|
33
|
+
_SkyProgressIndicatorNavButtonComponent__isVisible.set(this, void 0);
|
|
34
|
+
_SkyProgressIndicatorNavButtonComponent__progressIndicator.set(this, void 0);
|
|
35
|
+
_SkyProgressIndicatorNavButtonComponent_changeDetector.set(this, void 0);
|
|
36
|
+
_SkyProgressIndicatorNavButtonComponent_parentComponent.set(this, void 0);
|
|
37
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorNavButtonComponent_changeDetector, changeDetector, "f");
|
|
38
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorNavButtonComponent_parentComponent, parentComponent, "f");
|
|
26
39
|
}
|
|
27
40
|
/**
|
|
28
41
|
* Specifies the type of nav button to include.
|
|
@@ -30,57 +43,45 @@ export class SkyProgressIndicatorNavButtonComponent {
|
|
|
30
43
|
* @default "next"
|
|
31
44
|
*/
|
|
32
45
|
set buttonType(value) {
|
|
33
|
-
this
|
|
46
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorNavButtonComponent__buttonType, value || BUTTON_TYPE_DEFAULT, "f");
|
|
34
47
|
}
|
|
35
48
|
get buttonType() {
|
|
36
|
-
|
|
37
|
-
return 'next';
|
|
38
|
-
}
|
|
39
|
-
return this._buttonType;
|
|
49
|
+
return __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__buttonType, "f");
|
|
40
50
|
}
|
|
41
51
|
/**
|
|
42
52
|
* Indicates whether to disable the nav button.
|
|
43
53
|
* @default false
|
|
44
54
|
*/
|
|
45
55
|
set disabled(value) {
|
|
46
|
-
this
|
|
47
|
-
this.
|
|
56
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorNavButtonComponent__disabled, value, "f");
|
|
57
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_changeDetector, "f").markForCheck();
|
|
48
58
|
}
|
|
49
59
|
get disabled() {
|
|
50
|
-
|
|
51
|
-
const activeIndex = this.lastProgressChange.activeIndex;
|
|
52
|
-
const isLastStep = activeIndex === this.lastProgressChange.itemStatuses.length - 1;
|
|
53
|
-
if (buttonType === 'previous' && activeIndex === 0) {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
if (buttonType === 'next' && isLastStep) {
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
59
|
-
return this._disabled || false;
|
|
60
|
+
return __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__disabled, "f");
|
|
60
61
|
}
|
|
61
62
|
/**
|
|
62
63
|
* Specifies the progress indicator component to associate with the nav button.
|
|
63
64
|
* @required
|
|
64
65
|
*/
|
|
65
66
|
set progressIndicator(value) {
|
|
66
|
-
this
|
|
67
|
-
if (
|
|
67
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorNavButtonComponent__progressIndicator, value, "f");
|
|
68
|
+
if (__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__progressIndicator, "f")) {
|
|
68
69
|
if (this.buttonType === 'finish') {
|
|
69
70
|
// The `hasFinishButton` field was added to support legacy API.
|
|
70
71
|
// Some implementations only include a next button; we cannot
|
|
71
72
|
// assume that every implementation includes both a finish button and a next button.
|
|
72
|
-
this.
|
|
73
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__progressIndicator, "f").hasFinishButton = true;
|
|
73
74
|
}
|
|
74
|
-
this.
|
|
75
|
-
.pipe(distinctUntilChanged(), takeUntil(this
|
|
75
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__progressIndicator, "f").progressChanges
|
|
76
|
+
.pipe(distinctUntilChanged(), takeUntil(__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_ngUnsubscribe, "f")))
|
|
76
77
|
.subscribe((change) => {
|
|
77
78
|
this.lastProgressChange = change;
|
|
78
|
-
this.
|
|
79
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_instances, "m", _SkyProgressIndicatorNavButtonComponent_updateButtonVisibility).call(this, change);
|
|
79
80
|
});
|
|
80
81
|
}
|
|
81
82
|
else {
|
|
82
|
-
if (!this
|
|
83
|
-
this
|
|
83
|
+
if (!__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_parentTimeout, "f")) {
|
|
84
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorNavButtonComponent_parentTimeout, window.setTimeout(() => {
|
|
84
85
|
/* istanbul ignore else */
|
|
85
86
|
if (!this.progressIndicator) {
|
|
86
87
|
throw new Error('The `<sky-progress-indicator-nav-button>` component requires a reference to ' +
|
|
@@ -94,51 +95,31 @@ export class SkyProgressIndicatorNavButtonComponent {
|
|
|
94
95
|
'>\n' +
|
|
95
96
|
'</sky-progress-indicator-nav-button>');
|
|
96
97
|
}
|
|
97
|
-
}, 50);
|
|
98
|
+
}, 50), "f");
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
102
|
get progressIndicator() {
|
|
102
|
-
return this
|
|
103
|
-
}
|
|
104
|
-
get cssClassNames() {
|
|
105
|
-
const buttonType = this.buttonType;
|
|
106
|
-
const classNames = [`sky-progress-indicator-nav-button-${this.buttonType}`];
|
|
107
|
-
switch (buttonType) {
|
|
108
|
-
case 'next':
|
|
109
|
-
case 'finish':
|
|
110
|
-
classNames.push('sky-btn-primary');
|
|
111
|
-
break;
|
|
112
|
-
case 'reset':
|
|
113
|
-
classNames.push('sky-btn-link');
|
|
114
|
-
break;
|
|
115
|
-
default:
|
|
116
|
-
classNames.push('sky-btn-default');
|
|
117
|
-
break;
|
|
118
|
-
}
|
|
119
|
-
return classNames.join(' ');
|
|
120
|
-
}
|
|
121
|
-
get buttonLabelResourceString() {
|
|
122
|
-
return `skyux_progress_indicator_navigator_${this.buttonType}`;
|
|
103
|
+
return __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__progressIndicator, "f");
|
|
123
104
|
}
|
|
124
105
|
set isVisible(value) {
|
|
125
|
-
this
|
|
126
|
-
this.
|
|
106
|
+
__classPrivateFieldSet(this, _SkyProgressIndicatorNavButtonComponent__isVisible, value, "f");
|
|
107
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_changeDetector, "f").markForCheck();
|
|
127
108
|
}
|
|
128
109
|
get isVisible() {
|
|
129
|
-
return this
|
|
110
|
+
return __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__isVisible, "f");
|
|
130
111
|
}
|
|
131
112
|
ngAfterViewInit() {
|
|
132
|
-
if (!this.progressIndicator && this
|
|
133
|
-
this.progressIndicator = this
|
|
113
|
+
if (!this.progressIndicator && __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_parentComponent, "f")) {
|
|
114
|
+
this.progressIndicator = __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_parentComponent, "f");
|
|
134
115
|
}
|
|
135
116
|
else if (!this.progressIndicator) {
|
|
136
117
|
this.progressIndicator = undefined;
|
|
137
118
|
}
|
|
138
119
|
}
|
|
139
120
|
ngOnDestroy() {
|
|
140
|
-
this.
|
|
141
|
-
this.
|
|
121
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_ngUnsubscribe, "f").next();
|
|
122
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_ngUnsubscribe, "f").complete();
|
|
142
123
|
this.actionClick.complete();
|
|
143
124
|
}
|
|
144
125
|
onClick(event) {
|
|
@@ -157,8 +138,6 @@ export class SkyProgressIndicatorNavButtonComponent {
|
|
|
157
138
|
case 'reset':
|
|
158
139
|
type = SkyProgressIndicatorMessageType.Reset;
|
|
159
140
|
break;
|
|
160
|
-
default:
|
|
161
|
-
break;
|
|
162
141
|
}
|
|
163
142
|
// If the consumer has subscribed to the `actionClick` event,
|
|
164
143
|
// allow them to decide when to advance to the next step.
|
|
@@ -166,42 +145,47 @@ export class SkyProgressIndicatorNavButtonComponent {
|
|
|
166
145
|
this.actionClick.emit({
|
|
167
146
|
event,
|
|
168
147
|
progressHandler: new SkyProgressIndicatorActionClickProgressHandler(() => {
|
|
169
|
-
this.
|
|
148
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_instances, "m", _SkyProgressIndicatorNavButtonComponent_sendMessage).call(this, type);
|
|
170
149
|
}),
|
|
171
150
|
});
|
|
172
151
|
}
|
|
173
152
|
else {
|
|
174
|
-
this.
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
updateButtonVisibility(change) {
|
|
178
|
-
const isLastStep = change.activeIndex === change.itemStatuses.length - 1;
|
|
179
|
-
const buttonType = this.buttonType;
|
|
180
|
-
// Hide the button if all steps are complete
|
|
181
|
-
// (except for the reset button)
|
|
182
|
-
if (buttonType !== 'reset' && change.isComplete) {
|
|
183
|
-
this.isVisible = false;
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
if (buttonType === 'finish') {
|
|
187
|
-
this.isVisible = isLastStep;
|
|
188
|
-
return;
|
|
153
|
+
__classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent_instances, "m", _SkyProgressIndicatorNavButtonComponent_sendMessage).call(this, type);
|
|
189
154
|
}
|
|
190
|
-
// Hide the next button on the last step only if a finish button exists.
|
|
191
|
-
if (buttonType === 'next' &&
|
|
192
|
-
isLastStep &&
|
|
193
|
-
this.progressIndicator.hasFinishButton) {
|
|
194
|
-
this.isVisible = false;
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
this.isVisible = true;
|
|
198
155
|
}
|
|
199
156
|
}
|
|
157
|
+
_SkyProgressIndicatorNavButtonComponent_ngUnsubscribe = new WeakMap(), _SkyProgressIndicatorNavButtonComponent_parentTimeout = new WeakMap(), _SkyProgressIndicatorNavButtonComponent__buttonType = new WeakMap(), _SkyProgressIndicatorNavButtonComponent__disabled = new WeakMap(), _SkyProgressIndicatorNavButtonComponent__isVisible = new WeakMap(), _SkyProgressIndicatorNavButtonComponent__progressIndicator = new WeakMap(), _SkyProgressIndicatorNavButtonComponent_changeDetector = new WeakMap(), _SkyProgressIndicatorNavButtonComponent_parentComponent = new WeakMap(), _SkyProgressIndicatorNavButtonComponent_instances = new WeakSet(), _SkyProgressIndicatorNavButtonComponent_sendMessage = function _SkyProgressIndicatorNavButtonComponent_sendMessage(type) {
|
|
158
|
+
if (type !== undefined) {
|
|
159
|
+
this.progressIndicator?.sendMessage({ type });
|
|
160
|
+
}
|
|
161
|
+
}, _SkyProgressIndicatorNavButtonComponent_updateButtonVisibility = function _SkyProgressIndicatorNavButtonComponent_updateButtonVisibility(change) {
|
|
162
|
+
const isLastStep = change.itemStatuses &&
|
|
163
|
+
change.activeIndex === change.itemStatuses.length - 1;
|
|
164
|
+
const buttonType = this.buttonType;
|
|
165
|
+
// Hide the button if all steps are complete
|
|
166
|
+
// (except for the reset button)
|
|
167
|
+
if (buttonType !== 'reset' && change.isComplete) {
|
|
168
|
+
this.isVisible = false;
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
if (buttonType === 'finish') {
|
|
172
|
+
this.isVisible = isLastStep;
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
// Hide the next button on the last step only if a finish button exists.
|
|
176
|
+
if (buttonType === 'next' &&
|
|
177
|
+
isLastStep &&
|
|
178
|
+
this.progressIndicator?.hasFinishButton) {
|
|
179
|
+
this.isVisible = false;
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
this.isVisible = true;
|
|
183
|
+
};
|
|
200
184
|
SkyProgressIndicatorNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorNavButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyProgressIndicatorComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
201
|
-
SkyProgressIndicatorNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyProgressIndicatorNavButtonComponent, selector: "sky-progress-indicator-nav-button", inputs: { buttonText: "buttonText", buttonType: "buttonType", disabled: "disabled", progressIndicator: "progressIndicator" }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"
|
|
185
|
+
SkyProgressIndicatorNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyProgressIndicatorNavButtonComponent, selector: "sky-progress-indicator-nav-button", inputs: { buttonText: "buttonText", buttonType: "buttonType", disabled: "disabled", progressIndicator: "progressIndicator" }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n type=\"button\"\n [disabled]=\"\n disabled\n | skyProgressIndicatorNavButtonDisabled\n : buttonType\n : lastProgressChange?.activeIndex\n : lastProgressChange?.itemStatuses\n \"\n [ngClass]=\"buttonType | skyProgressIndicatorNavButtonClass\"\n (click)=\"onClick($event)\"\n>\n {{\n buttonText ||\n ('skyux_progress_indicator_navigator_' + buttonType | skyLibResources)\n }}\n</button>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i4.SkyProgressIndicatorNavButtonClass, name: "skyProgressIndicatorNavButtonClass" }, { kind: "pipe", type: i5.SkyProgressIndicatorNavButtonDisabledPipe, name: "skyProgressIndicatorNavButtonDisabled" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
202
186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyProgressIndicatorNavButtonComponent, decorators: [{
|
|
203
187
|
type: Component,
|
|
204
|
-
args: [{ selector: 'sky-progress-indicator-nav-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"
|
|
188
|
+
args: [{ selector: 'sky-progress-indicator-nav-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n type=\"button\"\n [disabled]=\"\n disabled\n | skyProgressIndicatorNavButtonDisabled\n : buttonType\n : lastProgressChange?.activeIndex\n : lastProgressChange?.itemStatuses\n \"\n [ngClass]=\"buttonType | skyProgressIndicatorNavButtonClass\"\n (click)=\"onClick($event)\"\n>\n {{\n buttonText ||\n ('skyux_progress_indicator_navigator_' + buttonType | skyLibResources)\n }}\n</button>\n" }]
|
|
205
189
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyProgressIndicatorComponent, decorators: [{
|
|
206
190
|
type: Optional
|
|
207
191
|
}] }]; }, propDecorators: { buttonText: [{
|
|
@@ -215,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
215
199
|
}], actionClick: [{
|
|
216
200
|
type: Output
|
|
217
201
|
}] } });
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSw4Q0FBOEMsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRTNILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7OztBQUczRjs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sc0NBQXNDO0lBNkpqRCxZQUNVLGNBQWlDLEVBQ3JCLGVBQThDO1FBRDFELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNy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QUFLLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN6RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRW5DLDRDQUE0QztRQUM1QyxnQ0FBZ0M7UUFDaEMsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsT0FBTztTQUNSO1FBRUQsSUFBSSxVQUFVLEtBQUssUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1lBQzVCLE9BQU87U0FDUjtRQUVELHdFQUF3RTtRQUN4RSxJQUNFLFVBQVUsS0FBSyxNQUFNO1lBQ3JCLFVBQVU7WUFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUN0QztZQUNBLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7O21JQXJQVSxzQ0FBc0M7dUhBQXRDLHNDQUFzQyxnUEMvQm5ELDJRQVVBOzJGRHFCYSxzQ0FBc0M7a0JBTGxELFNBQVM7K0JBQ0UsbUNBQW1DLG1CQUU1Qix1QkFBdUIsQ0FBQyxNQUFNOzswQkFpSzVDLFFBQVE7NENBdkpKLFVBQVU7c0JBRGhCLEtBQUs7Z0JBU0ssVUFBVTtzQkFEcEIsS0FBSztnQkFrQkssUUFBUTtzQkFEbEIsS0FBSztnQkE0QkssaUJBQWlCO3NCQUQzQixLQUFLO2dCQW1EQyxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckFjdGlvbkNsaWNrQXJncyB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1hY3Rpb24tY2xpY2stYXJncyc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckFjdGlvbkNsaWNrUHJvZ3Jlc3NIYW5kbGVyIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWFjdGlvbi1jbGljay1wcm9ncmVzcy1oYW5kbGVyJztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvblR5cGUgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi10eXBlJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhIGJ1dHRvbiB0byBuYXZpZ2F0ZSB0aGUgc3RlcHMgaW4gbW9kYWwgd2l6YXJkcy4gV2UgcmVjb21tZW5kIGFnYWluc3QgdXNpbmcgaXQgaW5cbiAqIHBhc3NpdmUgcHJvZ3Jlc3MgaW5kaWNhdG9ycyBhbmQgd2F0ZXJmYWxsIHByb2dyZXNzIGluZGljYXRvcnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBsYWJlbCB0byBkaXNwbGF5IG9uIHRoZSBuYXYgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBcIk5leHRcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvblRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIG5hdiBidXR0b24gdG8gaW5jbHVkZS5cbiAgICogVGhlIHZhbGlkIG9wdGlvbnMgYXJlIGBcImZpbmlzaFwiYCwgYFwibmV4dFwiYCwgYFwicHJldmlvdXNcImAsIGFuZCBgXCJyZXNldFwiYC5cbiAgICogQGRlZmF1bHQgXCJuZXh0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYnV0dG9uVHlwZSh2YWx1ZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25UeXBlKSB7XG4gICAgdGhpcy5fYnV0dG9uVHlwZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBidXR0b25UeXBlKCk6IFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uVHlwZSB7XG4gICAgaWYgKHRoaXMuX2J1dHRvblR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuICduZXh0JztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fYnV0dG9uVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBuYXYgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYnV0dG9uVHlwZSA9IHRoaXMuYnV0dG9uVHlwZTtcbiAgICBjb25zdCBhY3RpdmVJbmRleCA9IHRoaXMubGFzdFByb2dyZXNzQ2hhbmdlLmFjdGl2ZUluZGV4O1xuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPVxuICAgICAgYWN0aXZlSW5kZXggPT09IHRoaXMubGFzdFByb2dyZXNzQ2hhbmdlLml0ZW1TdGF0dXNlcy5sZW5ndGggLSAxO1xuXG4gICAgaWYgKGJ1dHRvblR5cGUgPT09ICdwcmV2aW91cycgJiYgYWN0aXZlSW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChidXR0b25UeXBlID09PSAnbmV4dCcgJiYgaXNMYXN0U3RlcCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGNvbXBvbmVudCB0byBhc3NvY2lhdGUgd2l0aCB0aGUgbmF2IGJ1dHRvbi5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHByb2dyZXNzSW5kaWNhdG9yKHZhbHVlOiBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCkge1xuICAgIHRoaXMuX3Byb2dyZXNzSW5kaWNhdG9yID0gdmFsdWU7XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLmJ1dHRvblR5cGUgPT09ICdmaW5pc2gnKSB7XG4gICAgICAgIC8vIFRoZSBgaGFzRmluaXNoQnV0dG9uYCBmaWVsZCB3YXMgYWRkZWQgdG8gc3VwcG9ydCBsZWdhY3kgQVBJLlxuICAgICAgICAvLyBTb21lIGltcGxlbWVudGF0aW9ucyBvbmx5IGluY2x1ZGUgYSBuZXh0IGJ1dHRvbjsgd2UgY2Fubm90XG4gICAgICAgIC8vIGFzc3VtZSB0aGF0IGV2ZXJ5IGltcGxlbWVudGF0aW9uIGluY2x1ZGVzIGJvdGggYSBmaW5pc2ggYnV0dG9uIGFuZCBhIG5leHQgYnV0dG9uLlxuICAgICAgICB0aGlzLl9wcm9ncmVzc0luZGljYXRvci5oYXNGaW5pc2hCdXR0b24gPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9wcm9ncmVzc0luZGljYXRvci5wcm9ncmVzc0NoYW5nZXNcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDaGFuZ2UpID0+IHtcbiAgICAgICAgICB0aGlzLmxhc3RQcm9ncmVzc0NoYW5nZSA9IGNoYW5nZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUJ1dHRvblZpc2liaWxpdHkoY2hhbmdlKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5wYXJlbnRUaW1lb3V0KSB7XG4gICAgICAgIHRoaXMucGFyZW50VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghdGhpcy5wcm9ncmVzc0luZGljYXRvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAnVGhlIGA8c2t5LXByb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uPmAgY29tcG9uZW50IHJlcXVpcmVzIGEgcmVmZXJlbmNlIHRvICcgK1xuICAgICAgICAgICAgICAgICd0aGUgYDxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yPmAgY29tcG9uZW50IGl0IGNvbnRyb2xzLiBGb3IgZXhhbXBsZTpcXG4nICtcbiAgICAgICAgICAgICAgICAnPHNreS1wcm9ncmVzcy1pbmRpY2F0b3JcXG4nICtcbiAgICAgICAgICAgICAgICAnICAjbXlQcm9ncmVzc0luZGljYXRvclxcbicgK1xuICAgICAgICAgICAgICAgICc+XFxuJyArXG4gICAgICAgICAgICAgICAgJzwvc2t5LXByb2dyZXNzLWluZGljYXRvcj5cXG4nICtcbiAgICAgICAgICAgICAgICAnPHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvblxcbicgK1xuICAgICAgICAgICAgICAgICcgIFtwcm9ncmVzc0luZGljYXRvcl09XCJteVByb2dyZXNzSW5kaWNhdG9yXCJcXG4nICtcbiAgICAgICAgICAgICAgICAnPlxcbicgK1xuICAgICAgICAgICAgICAgICc8L3NreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbj4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJvZ3Jlc3NJbmRpY2F0b3IoKTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl9wcm9ncmVzc0luZGljYXRvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgbmF2IGJ1dHRvbiBhbmQgZW1pdHMgYSBgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja0FyZ3NgXG4gICAqIG9iamVjdCB0aGF0IGlzIHBhc3NlZCBpbnRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBhbGxvdyBjb25zdW1lcnMgdG8gZGVjaWRlIHdoZXRoZXJcbiAgICogdGhlIGJ1dHRvbuKAmXMgYWN0aW9uIHNob3VsZCBjb21wbGV0ZSBzdWNjZXNzZnVsbHkuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lQcm9ncmVzc0luZGljYXRvckFjdGlvbkNsaWNrQXJncz4oKTtcblxuICBwdWJsaWMgZ2V0IGNzc0NsYXNzTmFtZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBidXR0b25UeXBlID0gdGhpcy5idXR0b25UeXBlO1xuXG4gICAgY29uc3QgY2xhc3NOYW1lcyA9IFtgc2t5LXByb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uLSR7dGhpcy5idXR0b25UeXBlfWBdO1xuXG4gICAgc3dpdGNoIChidXR0b25UeXBlKSB7XG4gICAgICBjYXNlICduZXh0JzpcbiAgICAgIGNhc2UgJ2ZpbmlzaCc6XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaCgnc2t5LWJ0bi1wcmltYXJ5Jyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyZXNldCc6XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaCgnc2t5LWJ0bi1saW5rJyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjbGFzc05hbWVzLnB1c2goJ3NreS1idG4tZGVmYXVsdCcpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcy5qb2luKCcgJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJ1dHRvbkxhYmVsUmVzb3VyY2VTdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNreXV4X3Byb2dyZXNzX2luZGljYXRvcl9uYXZpZ2F0b3JfJHt0aGlzLmJ1dHRvblR5cGV9YDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNWaXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc1Zpc2libGUgfHwgZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGxhc3RQcm9ncmVzc0NoYW5nZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDaGFuZ2U7XG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcGFyZW50VGltZW91dDogbnVtYmVyO1xuXG4gIHByaXZhdGUgX2J1dHRvblR5cGU6IFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uVHlwZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2lzVmlzaWJsZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfcHJvZ3Jlc3NJbmRpY2F0b3I6IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcGFyZW50Q29tcG9uZW50OiBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudFxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucHJvZ3Jlc3NJbmRpY2F0b3IgJiYgdGhpcy5wYXJlbnRDb21wb25lbnQpIHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NJbmRpY2F0b3IgPSB0aGlzLnBhcmVudENvbXBvbmVudDtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnByb2dyZXNzSW5kaWNhdG9yKSB7XG4gICAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuYWN0aW9uQ2xpY2suY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGxldCB0eXBlOiBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlO1xuXG4gICAgc3dpdGNoICh0aGlzLmJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgJ2ZpbmlzaCc6XG4gICAgICAgIHR5cGUgPSBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLkZpbmlzaDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ25leHQnOlxuICAgICAgICB0eXBlID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5Qcm9ncmVzcztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3ByZXZpb3VzJzpcbiAgICAgICAgdHlwZSA9IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUmVncmVzcztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3Jlc2V0JzpcbiAgICAgICAgdHlwZSA9IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUmVzZXQ7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgY29uc3VtZXIgaGFzIHN1YnNjcmliZWQgdG8gdGhlIGBhY3Rpb25DbGlja2AgZXZlbnQsXG4gICAgLy8gYWxsb3cgdGhlbSB0byBkZWNpZGUgd2hlbiB0byBhZHZhbmNlIHRvIHRoZSBuZXh0IHN0ZXAuXG4gICAgaWYgKHRoaXMuYWN0aW9uQ2xpY2sub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdCh7XG4gICAgICAgIGV2ZW50LFxuICAgICAgICBwcm9ncmVzc0hhbmRsZXI6IG5ldyBTa3lQcm9ncmVzc0luZGljYXRvckFjdGlvbkNsaWNrUHJvZ3Jlc3NIYW5kbGVyKFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3NJbmRpY2F0b3Iuc2VuZE1lc3NhZ2UoeyB0eXBlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yLnNlbmRNZXNzYWdlKHsgdHlwZSB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUJ1dHRvblZpc2liaWxpdHkoY2hhbmdlOiBTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPSBjaGFuZ2UuYWN0aXZlSW5kZXggPT09IGNoYW5nZS5pdGVtU3RhdHVzZXMubGVuZ3RoIC0gMTtcbiAgICBjb25zdCBidXR0b25UeXBlID0gdGhpcy5idXR0b25UeXBlO1xuXG4gICAgLy8gSGlkZSB0aGUgYnV0dG9uIGlmIGFsbCBzdGVwcyBhcmUgY29tcGxldGVcbiAgICAvLyAoZXhjZXB0IGZvciB0aGUgcmVzZXQgYnV0dG9uKVxuICAgIGlmIChidXR0b25UeXBlICE9PSAncmVzZXQnICYmIGNoYW5nZS5pc0NvbXBsZXRlKSB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChidXR0b25UeXBlID09PSAnZmluaXNoJykge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPSBpc0xhc3RTdGVwO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIG5leHQgYnV0dG9uIG9uIHRoZSBsYXN0IHN0ZXAgb25seSBpZiBhIGZpbmlzaCBidXR0b24gZXhpc3RzLlxuICAgIGlmIChcbiAgICAgIGJ1dHRvblR5cGUgPT09ICduZXh0JyAmJlxuICAgICAgaXNMYXN0U3RlcCAmJlxuICAgICAgdGhpcy5wcm9ncmVzc0luZGljYXRvci5oYXNGaW5pc2hCdXR0b25cbiAgICApIHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc1Zpc2libGUgPSB0cnVlO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gICpuZ0lmPVwiaXNWaXNpYmxlXCJcbiAgY2xhc3M9XCJza3ktYnRuIHNreS1tYXJnaW4taW5saW5lLXNtXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtuZ0NsYXNzXT1cImNzc0NsYXNzTmFtZXNcIlxuICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbj5cbiAge3sgYnV0dG9uVGV4dCB8fCAoYnV0dG9uTGFiZWxSZXNvdXJjZVN0cmluZyB8IHNreUxpYlJlc291cmNlcykgfX1cbjwvYnV0dG9uPlxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEYsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFM0gsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFHM0YsTUFBTSxtQkFBbUIsR0FBc0MsTUFBTSxDQUFDO0FBRXRFOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxzQ0FBc0M7SUF1SGpELFlBQ0UsY0FBaUMsRUFDckIs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Q0FBbUMsbUJBRTVCLHVCQUF1QixDQUFDLE1BQU07OzBCQTJINUMsUUFBUTs0Q0FqSEosVUFBVTtzQkFEaEIsS0FBSztnQkFTSyxVQUFVO3NCQURwQixLQUFLO2dCQWNLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZUssaUJBQWlCO3NCQUQzQixLQUFLO2dCQXFEQyxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckFjdGlvbkNsaWNrQXJncyB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1hY3Rpb24tY2xpY2stYXJncyc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckFjdGlvbkNsaWNrUHJvZ3Jlc3NIYW5kbGVyIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWFjdGlvbi1jbGljay1wcm9ncmVzcy1oYW5kbGVyJztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvblR5cGUgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi10eXBlJztcblxuY29uc3QgQlVUVE9OX1RZUEVfREVGQVVMVDogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25UeXBlID0gJ25leHQnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgYnV0dG9uIHRvIG5hdmlnYXRlIHRoZSBzdGVwcyBpbiBtb2RhbCB3aXphcmRzLiBXZSByZWNvbW1lbmQgYWdhaW5zdCB1c2luZyBpdCBpblxuICogcGFzc2l2ZSBwcm9ncmVzcyBpbmRpY2F0b3JzIGFuZCB3YXRlcmZhbGwgcHJvZ3Jlc3MgaW5kaWNhdG9ycy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXByb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGxhYmVsIHRvIGRpc3BsYXkgb24gdGhlIG5hdiBidXR0b24uXG4gICAqIEBkZWZhdWx0IFwiTmV4dFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgbmF2IGJ1dHRvbiB0byBpbmNsdWRlLlxuICAgKiBUaGUgdmFsaWQgb3B0aW9ucyBhcmUgYFwiZmluaXNoXCJgLCBgXCJuZXh0XCJgLCBgXCJwcmV2aW91c1wiYCwgYW5kIGBcInJlc2V0XCJgLlxuICAgKiBAZGVmYXVsdCBcIm5leHRcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBidXR0b25UeXBlKHZhbHVlOiBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvblR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYnV0dG9uVHlwZSA9IHZhbHVlIHx8IEJVVFRPTl9UWVBFX0RFRkFVTFQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJ1dHRvblR5cGUoKTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy4jX2J1dHRvblR5cGU7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgbmF2IGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHByb2dyZXNzIGluZGljYXRvciBjb21wb25lbnQgdG8gYXNzb2NpYXRlIHdpdGggdGhlIG5hdiBidXR0b24uXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwcm9ncmVzc0luZGljYXRvcihcbiAgICB2YWx1ZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgdGhpcy4jX3Byb2dyZXNzSW5kaWNhdG9yID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy4jX3Byb2dyZXNzSW5kaWNhdG9yKSB7XG4gICAgICBpZiAodGhpcy5idXR0b25UeXBlID09PSAnZmluaXNoJykge1xuICAgICAgICAvLyBUaGUgYGhhc0ZpbmlzaEJ1dHRvbmAgZmllbGQgd2FzIGFkZGVkIHRvIHN1cHBvcnQgbGVnYWN5IEFQSS5cbiAgICAgICAgLy8gU29tZSBpbXBsZW1lbnRhdGlvbnMgb25seSBpbmNsdWRlIGEgbmV4dCBidXR0b247IHdlIGNhbm5vdFxuICAgICAgICAvLyBhc3N1bWUgdGhhdCBldmVyeSBpbXBsZW1lbnRhdGlvbiBpbmNsdWRlcyBib3RoIGEgZmluaXNoIGJ1dHRvbiBhbmQgYSBuZXh0IGJ1dHRvbi5cbiAgICAgICAgdGhpcy4jX3Byb2dyZXNzSW5kaWNhdG9yLmhhc0ZpbmlzaEJ1dHRvbiA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI19wcm9ncmVzc0luZGljYXRvci5wcm9ncmVzc0NoYW5nZXNcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChjaGFuZ2U6IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlKSA9PiB7XG4gICAgICAgICAgdGhpcy5sYXN0UHJvZ3Jlc3NDaGFuZ2UgPSBjaGFuZ2U7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQnV0dG9uVmlzaWJpbGl0eShjaGFuZ2UpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLiNwYXJlbnRUaW1lb3V0KSB7XG4gICAgICAgIHRoaXMuI3BhcmVudFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoIXRoaXMucHJvZ3Jlc3NJbmRpY2F0b3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgJ1RoZSBgPHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbj5gIGNvbXBvbmVudCByZXF1aXJlcyBhIHJlZmVyZW5jZSB0byAnICtcbiAgICAgICAgICAgICAgICAndGhlIGA8c2t5LXByb2dyZXNzLWluZGljYXRvcj5gIGNvbXBvbmVudCBpdCBjb250cm9scy4gRm9yIGV4YW1wbGU6XFxuJyArXG4gICAgICAgICAgICAgICAgJzxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yXFxuJyArXG4gICAgICAgICAgICAgICAgJyAgI215UHJvZ3Jlc3NJbmRpY2F0b3JcXG4nICtcbiAgICAgICAgICAgICAgICAnPlxcbicgK1xuICAgICAgICAgICAgICAgICc8L3NreS1wcm9ncmVzcy1pbmRpY2F0b3I+XFxuJyArXG4gICAgICAgICAgICAgICAgJzxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b25cXG4nICtcbiAgICAgICAgICAgICAgICAnICBbcHJvZ3Jlc3NJbmRpY2F0b3JdPVwibXlQcm9ncmVzc0luZGljYXRvclwiXFxuJyArXG4gICAgICAgICAgICAgICAgJz5cXG4nICtcbiAgICAgICAgICAgICAgICAnPC9za3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24+J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByb2dyZXNzSW5kaWNhdG9yKCk6IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3Byb2dyZXNzSW5kaWNhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBuYXYgYnV0dG9uIGFuZCBlbWl0cyBhIGBTa3lQcm9ncmVzc0luZGljYXRvckFjdGlvbkNsaWNrQXJnc2BcbiAgICogb2JqZWN0IHRoYXQgaXMgcGFzc2VkIGludG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGFsbG93IGNvbnN1bWVycyB0byBkZWNpZGUgd2hldGhlclxuICAgKiB0aGUgYnV0dG9u4oCZcyBhY3Rpb24gc2hvdWxkIGNvbXBsZXRlIHN1Y2Nlc3NmdWxseS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVByb2dyZXNzSW5kaWNhdG9yQWN0aW9uQ2xpY2tBcmdzPigpO1xuXG4gIHB1YmxpYyBzZXQgaXNWaXNpYmxlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2lzVmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1Zpc2libGUoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19pc1Zpc2libGU7XG4gIH1cblxuICBwdWJsaWMgbGFzdFByb2dyZXNzQ2hhbmdlOiBTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZSB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNwYXJlbnRUaW1lb3V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI19idXR0b25UeXBlID0gQlVUVE9OX1RZUEVfREVGQVVMVDtcbiAgI19kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgI19pc1Zpc2libGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICNfcHJvZ3Jlc3NJbmRpY2F0b3I6IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNwYXJlbnRDb21wb25lbnQ6IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwYXJlbnRDb21wb25lbnQ/OiBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3BhcmVudENvbXBvbmVudCA9IHBhcmVudENvbXBvbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnByb2dyZXNzSW5kaWNhdG9yICYmIHRoaXMuI3BhcmVudENvbXBvbmVudCkge1xuICAgICAgdGhpcy5wcm9ncmVzc0luZGljYXRvciA9IHRoaXMuI3BhcmVudENvbXBvbmVudDtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnByb2dyZXNzSW5kaWNhdG9yKSB7XG4gICAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5hY3Rpb25DbGljay5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgbGV0IHR5cGU6IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUgfCB1bmRlZmluZWQ7XG5cbiAgICBzd2l0Y2ggKHRoaXMuYnV0dG9uVHlwZSkge1xuICAgICAgY2FzZSAnZmluaXNoJzpcbiAgICAgICAgdHlwZSA9IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuRmluaXNoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ25leHQnOlxuICAgICAgICB0eXBlID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5Qcm9ncmVzcztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdwcmV2aW91cyc6XG4gICAgICAgIHR5cGUgPSBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLlJlZ3Jlc3M7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmVzZXQnOlxuICAgICAgICB0eXBlID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5SZXNldDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGNvbnN1bWVyIGhhcyBzdWJzY3JpYmVkIHRvIHRoZSBgYWN0aW9uQ2xpY2tgIGV2ZW50LFxuICAgIC8vIGFsbG93IHRoZW0gdG8gZGVjaWRlIHdoZW4gdG8gYWR2YW5jZSB0byB0aGUgbmV4dCBzdGVwLlxuICAgIGlmICh0aGlzLmFjdGlvbkNsaWNrLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xuICAgICAgICBldmVudCxcbiAgICAgICAgcHJvZ3Jlc3NIYW5kbGVyOiBuZXcgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja1Byb2dyZXNzSGFuZGxlcihcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZSh0eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UodHlwZSk7XG4gICAgfVxuICB9XG5cbiAgI3NlbmRNZXNzYWdlKHR5cGU6IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAodHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yPy5zZW5kTWVzc2FnZSh7IHR5cGUgfSk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUJ1dHRvblZpc2liaWxpdHkoY2hhbmdlOiBTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPVxuICAgICAgY2hhbmdlLml0ZW1TdGF0dXNlcyAmJlxuICAgICAgY2hhbmdlLmFjdGl2ZUluZGV4ID09PSBjaGFuZ2UuaXRlbVN0YXR1c2VzLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgYnV0dG9uVHlwZSA9IHRoaXMuYnV0dG9uVHlwZTtcblxuICAgIC8vIEhpZGUgdGhlIGJ1dHRvbiBpZiBhbGwgc3RlcHMgYXJlIGNvbXBsZXRlXG4gICAgLy8gKGV4Y2VwdCBmb3IgdGhlIHJlc2V0IGJ1dHRvbilcbiAgICBpZiAoYnV0dG9uVHlwZSAhPT0gJ3Jlc2V0JyAmJiBjaGFuZ2UuaXNDb21wbGV0ZSkge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYnV0dG9uVHlwZSA9PT0gJ2ZpbmlzaCcpIHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gaXNMYXN0U3RlcDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBuZXh0IGJ1dHRvbiBvbiB0aGUgbGFzdCBzdGVwIG9ubHkgaWYgYSBmaW5pc2ggYnV0dG9uIGV4aXN0cy5cbiAgICBpZiAoXG4gICAgICBidXR0b25UeXBlID09PSAnbmV4dCcgJiZcbiAgICAgIGlzTGFzdFN0ZXAgJiZcbiAgICAgIHRoaXMucHJvZ3Jlc3NJbmRpY2F0b3I/Lmhhc0ZpbmlzaEJ1dHRvblxuICAgICkge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgKm5nSWY9XCJpc1Zpc2libGVcIlxuICBjbGFzcz1cInNreS1idG4gc2t5LW1hcmdpbi1pbmxpbmUtc21cIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgW2Rpc2FibGVkXT1cIlxuICAgIGRpc2FibGVkXG4gICAgICB8IHNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uRGlzYWJsZWRcbiAgICAgICAgOiBidXR0b25UeXBlXG4gICAgICAgIDogbGFzdFByb2dyZXNzQ2hhbmdlPy5hY3RpdmVJbmRleFxuICAgICAgICA6IGxhc3RQcm9ncmVzc0NoYW5nZT8uaXRlbVN0YXR1c2VzXG4gIFwiXG4gIFtuZ0NsYXNzXT1cImJ1dHRvblR5cGUgfCBza3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNsYXNzXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4+XG4gIHt7XG4gICAgYnV0dG9uVGV4dCB8fFxuICAgICAgKCdza3l1eF9wcm9ncmVzc19pbmRpY2F0b3JfbmF2aWdhdG9yXycgKyBidXR0b25UeXBlIHwgc2t5TGliUmVzb3VyY2VzKVxuICB9fVxuPC9idXR0b24+XG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import { SkyProgressIndicatorComponent } from '../progress-indicator.component';
|
|
3
2
|
import { SkyProgressIndicatorMessageType } from '../types/progress-indicator-message-type';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
/**
|
|
@@ -28,14 +27,14 @@ export class SkyProgressIndicatorResetButtonComponent {
|
|
|
28
27
|
this.changeDetector.markForCheck();
|
|
29
28
|
}
|
|
30
29
|
get disabled() {
|
|
31
|
-
return this._disabled
|
|
30
|
+
return this._disabled;
|
|
32
31
|
}
|
|
33
32
|
ngOnDestroy() {
|
|
34
33
|
this.resetClick.complete();
|
|
35
34
|
}
|
|
36
35
|
onClick() {
|
|
37
36
|
this.resetClick.emit();
|
|
38
|
-
this.progressIndicator
|
|
37
|
+
this.progressIndicator?.sendMessage({
|
|
39
38
|
type: SkyProgressIndicatorMessageType.Reset,
|
|
40
39
|
});
|
|
41
40
|
}
|
|
@@ -52,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
52
51
|
}], resetClick: [{
|
|
53
52
|
type: Output
|
|
54
53
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3NyYy9saWIvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uL3Byb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOztBQUUzRjs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHdDQUF3QztJQStCbkQsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBVHJEOzs7V0FHRztRQUVJLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSzNDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsaUZBQWlGO1lBQy9FLDJGQUEyRjtZQUMzRiw4QkFBOEIsQ0FDakMsQ0FBQztJQUNKLENBQUM7SUFwQ0Q7OztPQUdHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBMEI7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBMEJNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQztZQUNsQyxJQUFJLEVBQUUsK0JBQStCLENBQUMsS0FBSztTQUM1QyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSUFqRFUsd0NBQXdDO3lIQUF4Qyx3Q0FBd0MsNExDdkJyRCwrSkFRQTsyRkRlYSx3Q0FBd0M7a0JBTHBELFNBQVM7K0JBQ0UscUNBQXFDLG1CQUU5Qix1QkFBdUIsQ0FBQyxNQUFNO3dHQVFwQyxRQUFRO3NCQURsQixLQUFLO2dCQWVDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFRQyxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuLi9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItbWVzc2FnZS10eXBlJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhIGJ1dHRvbiB0byBtYXJrIGFsbCBpdGVtcyBpbiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGFzIGluY29tcGxldGUgYW5kIHNldCB0aGVcbiAqIGZpcnN0IGl0ZW0gYXMgdGhlIGFjdGl2ZSBpdGVtLiBUaGUgc3RlcHMgYWZ0ZXIgdGhlIGFjdGl2ZSBpdGVtIHJlbWFpbiBpbmNvbXBsZXRlIHVudGlsXG4gKiB1c2VycyByZWFjaCB0aGVtIGluIHRoZWlyIHNlcXVlbnRpYWwgb3JkZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JSZXNldEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSByZXNldCBidXR0b24uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgY29tcG9uZW50IHRvIGFzc29jaWF0ZSB3aXRoIHRoZSByZXNldCBidXR0b24uXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHByb2dyZXNzSW5kaWNhdG9yOiBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIHJlc2V0IGJ1dHRvbiB0aGF0IG1hcmtzIGFsbCBpdGVtcyBhcyBpbmNvbXBsZXRlIGFuZCBzZXRzIHRoZVxuICAgKiBmaXJzdCBpdGVtIGFzIHRoZSBhY3RpdmUgaXRlbS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVzZXRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdbRGVwcmVjYXRpb24gd2FybmluZ10gVGhlIGA8c2t5LXByb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24+YCBjb21wb25lbnQgaXMgJyArXG4gICAgICAgICdkZXByZWNhdGVkLiBQbGVhc2UgdXNlIHRoZSBgPHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbj5gIGNvbXBvbmVudCBpbnN0ZWFkLCB3aXRoICcgK1xuICAgICAgICAnYGJ1dHRvblR5cGVgIHNldCB0byBcInJlc2V0XCIuJ1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldENsaWNrLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0Q2xpY2suZW1pdCgpO1xuXG4gICAgdGhpcy5wcm9ncmVzc0luZGljYXRvcj8uc2VuZE1lc3NhZ2Uoe1xuICAgICAgdHlwZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5SZXNldCxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIChjbGljayk9XCJvbkNsaWNrKClcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2J1dHRvbj5cbiJdfQ==
|