@skyux/progress-indicator 5.9.4 → 6.0.0-beta.10
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 +9 -9
- package/esm2020/index.mjs +18 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +68 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.mjs +219 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.mjs +55 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.mjs +80 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.mjs +15 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator.component.mjs +312 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator.module.mjs +65 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-action-click-args.mjs +2 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.mjs +14 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-change.mjs +2 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.mjs +2 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-item-status.mjs +20 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-message-type.mjs +28 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-message.mjs +2 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-mode.mjs +16 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.mjs +2 -0
- package/esm2020/lib/modules/shared/sky-progress-indicator-resources.module.mjs +50 -0
- package/esm2020/skyux-progress-indicator.mjs +5 -0
- package/fesm2015/skyux-progress-indicator.mjs +903 -0
- package/fesm2015/skyux-progress-indicator.mjs.map +1 -0
- package/{fesm2015/skyux-progress-indicator.js → fesm2020/skyux-progress-indicator.mjs} +36 -64
- package/fesm2020/skyux-progress-indicator.mjs.map +1 -0
- package/package.json +28 -12
- package/bundles/skyux-progress-indicator.umd.js +0 -1075
- package/esm2015/index.js +0 -18
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.js +0 -74
- package/esm2015/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.js +0 -223
- package/esm2015/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.js +0 -59
- package/esm2015/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.js +0 -84
- package/esm2015/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.js +0 -20
- package/esm2015/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator.component.js +0 -317
- package/esm2015/lib/modules/progress-indicator/progress-indicator.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator.module.js +0 -65
- package/esm2015/lib/modules/progress-indicator/progress-indicator.module.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-args.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-args.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.js +0 -14
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-change.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-change.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-item-status.js +0 -20
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-item-status.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message-type.js +0 -28
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message-type.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-mode.js +0 -16
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-mode.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-progress-indicator-resources.module.js +0 -50
- package/esm2015/lib/modules/shared/sky-progress-indicator-resources.module.js.map +0 -1
- package/esm2015/skyux-progress-indicator.js +0 -5
- package/esm2015/skyux-progress-indicator.js.map +0 -1
- package/fesm2015/skyux-progress-indicator.js.map +0 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Optional, } from '@angular/core';
|
|
2
|
+
import { SkyThemeService } from '@skyux/theme';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@skyux/theme";
|
|
8
|
+
import * as i2 from "@skyux/indicators";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
/**
|
|
11
|
+
* Specifies the content to display in the status marker.
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export class SkyProgressIndicatorStatusMarkerComponent {
|
|
15
|
+
constructor(changeDetector, themeSvc) {
|
|
16
|
+
this.changeDetector = changeDetector;
|
|
17
|
+
this.ngUnsubscribe = new Subject();
|
|
18
|
+
// Update icons when theme changes.
|
|
19
|
+
themeSvc?.settingsChange
|
|
20
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
21
|
+
.subscribe(() => {
|
|
22
|
+
this.changeDetector.markForCheck();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
set displayMode(value) {
|
|
26
|
+
this._displayMode = value;
|
|
27
|
+
}
|
|
28
|
+
get displayMode() {
|
|
29
|
+
if (this._displayMode === undefined) {
|
|
30
|
+
return 'vertical';
|
|
31
|
+
}
|
|
32
|
+
return this._displayMode;
|
|
33
|
+
}
|
|
34
|
+
set status(value) {
|
|
35
|
+
this._status = value;
|
|
36
|
+
this.changeDetector.markForCheck();
|
|
37
|
+
}
|
|
38
|
+
get cssClassNames() {
|
|
39
|
+
const classNames = [
|
|
40
|
+
`sky-progress-indicator-status-marker-mode-${this.displayMode}`,
|
|
41
|
+
`sky-progress-indicator-status-marker-status-${this.statusName}`,
|
|
42
|
+
];
|
|
43
|
+
return classNames.join(' ');
|
|
44
|
+
}
|
|
45
|
+
get statusName() {
|
|
46
|
+
let name;
|
|
47
|
+
switch (this._status) {
|
|
48
|
+
case SkyProgressIndicatorItemStatus.Active:
|
|
49
|
+
name = 'active';
|
|
50
|
+
break;
|
|
51
|
+
case SkyProgressIndicatorItemStatus.Complete:
|
|
52
|
+
name = 'complete';
|
|
53
|
+
break;
|
|
54
|
+
case SkyProgressIndicatorItemStatus.Incomplete:
|
|
55
|
+
name = 'incomplete';
|
|
56
|
+
break;
|
|
57
|
+
case SkyProgressIndicatorItemStatus.Pending:
|
|
58
|
+
name = 'pending';
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
return name;
|
|
62
|
+
}
|
|
63
|
+
ngOnDestroy() {
|
|
64
|
+
this.ngUnsubscribe.next();
|
|
65
|
+
this.ngUnsubscribe.complete();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
SkyProgressIndicatorStatusMarkerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorStatusMarkerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
SkyProgressIndicatorStatusMarkerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyProgressIndicatorStatusMarkerComponent, selector: "sky-progress-indicator-status-marker", inputs: { displayMode: "displayMode", status: "status" }, ngImport: i0, template: "<div\n class=\"sky-progress-indicator-status-marker\"\n role=\"presentation\"\n [ngClass]=\"cssClassNames\"\n>\n <div\n *skyThemeIf=\"'default'\"\n class=\"sky-progress-indicator-status-marker-icon\"\n >\n <sky-icon *ngIf=\"statusName === 'complete'\" icon=\"check\"> </sky-icon>\n </div>\n <div *skyThemeIf=\"'modern'\" class=\"sky-progress-indicator-status-marker-icon\">\n <sky-icon *ngIf=\"statusName === 'complete'\" icon=\"check\" iconType=\"skyux\">\n </sky-icon>\n </div>\n <div class=\"sky-progress-indicator-status-marker-line\"></div>\n</div>\n", styles: [".sky-progress-indicator-status-marker{display:flex;height:100%}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical{flex-basis:15px;flex-grow:0;flex-direction:column;margin-right:15px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-icon{margin-top:1px;width:15px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-icon>::ng-deep sky-icon{margin-left:-1px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-line{margin:0 auto;width:1px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal{flex-direction:row;width:100%;padding-left:5px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal .sky-progress-indicator-status-marker-icon{height:15px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal .sky-progress-indicator-status-marker-line{margin:auto 0;height:1px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-icon{border:0;margin-right:5px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-active .sky-progress-indicator-status-marker-icon{position:relative}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-active .sky-progress-indicator-status-marker-icon:before{content:\"\";display:block;width:5px;height:1px;background-color:#5a9936;position:absolute;left:-7px;top:5px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-incomplete .sky-progress-indicator-status-marker-icon{position:relative}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-incomplete .sky-progress-indicator-status-marker-icon:before{content:\"\";display:block;width:5px;height:1px;background-color:#cdcfd2;position:absolute;left:-7px;top:5px}.sky-progress-indicator-status-marker-icon{border-radius:15px;border:2px solid #cdcfd2;flex:0 0 15px}.sky-progress-indicator-status-marker-line{background-color:#cdcfd2;flex:1 0 auto}.sky-progress-indicator-status-marker-status-active .sky-progress-indicator-status-marker-icon{background-color:#5a9936;border-color:transparent}.sky-progress-indicator-status-marker-status-pending .sky-progress-indicator-status-marker-icon{border-color:#5a9936}.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-icon{border-color:transparent;color:#5a9936;margin-top:0}.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-icon>::ng-deep sky-icon{display:inline-flex;vertical-align:top}.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-line{background-color:#5a9936}:host-context(.sky-theme-modern) .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical{position:relative;top:3px;margin-right:20px}:host-context(.sky-theme-modern) .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-icon{width:17px}:host-context(.sky-theme-modern) .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal .sky-progress-indicator-status-marker-icon{height:17px;top:1px}:host-context(.sky-theme-modern) .sky-progress-indicator-status-marker-icon{border-radius:17px;flex:0 0 17px}.sky-theme-modern .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical{position:relative;top:3px;margin-right:20px}.sky-theme-modern .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-icon{width:17px}.sky-theme-modern .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal .sky-progress-indicator-status-marker-icon{height:17px;top:1px}.sky-theme-modern .sky-progress-indicator-status-marker-icon{border-radius:17px;flex:0 0 17px}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorStatusMarkerComponent, decorators: [{
|
|
71
|
+
type: Component,
|
|
72
|
+
args: [{ selector: 'sky-progress-indicator-status-marker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-progress-indicator-status-marker\"\n role=\"presentation\"\n [ngClass]=\"cssClassNames\"\n>\n <div\n *skyThemeIf=\"'default'\"\n class=\"sky-progress-indicator-status-marker-icon\"\n >\n <sky-icon *ngIf=\"statusName === 'complete'\" icon=\"check\"> </sky-icon>\n </div>\n <div *skyThemeIf=\"'modern'\" class=\"sky-progress-indicator-status-marker-icon\">\n <sky-icon *ngIf=\"statusName === 'complete'\" icon=\"check\" iconType=\"skyux\">\n </sky-icon>\n </div>\n <div class=\"sky-progress-indicator-status-marker-line\"></div>\n</div>\n", styles: [".sky-progress-indicator-status-marker{display:flex;height:100%}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical{flex-basis:15px;flex-grow:0;flex-direction:column;margin-right:15px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-icon{margin-top:1px;width:15px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-icon>::ng-deep sky-icon{margin-left:-1px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-line{margin:0 auto;width:1px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal{flex-direction:row;width:100%;padding-left:5px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal .sky-progress-indicator-status-marker-icon{height:15px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal .sky-progress-indicator-status-marker-line{margin:auto 0;height:1px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-icon{border:0;margin-right:5px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-active .sky-progress-indicator-status-marker-icon{position:relative}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-active .sky-progress-indicator-status-marker-icon:before{content:\"\";display:block;width:5px;height:1px;background-color:#5a9936;position:absolute;left:-7px;top:5px}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-incomplete .sky-progress-indicator-status-marker-icon{position:relative}.sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal.sky-progress-indicator-status-marker-status-incomplete .sky-progress-indicator-status-marker-icon:before{content:\"\";display:block;width:5px;height:1px;background-color:#cdcfd2;position:absolute;left:-7px;top:5px}.sky-progress-indicator-status-marker-icon{border-radius:15px;border:2px solid #cdcfd2;flex:0 0 15px}.sky-progress-indicator-status-marker-line{background-color:#cdcfd2;flex:1 0 auto}.sky-progress-indicator-status-marker-status-active .sky-progress-indicator-status-marker-icon{background-color:#5a9936;border-color:transparent}.sky-progress-indicator-status-marker-status-pending .sky-progress-indicator-status-marker-icon{border-color:#5a9936}.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-icon{border-color:transparent;color:#5a9936;margin-top:0}.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-icon>::ng-deep sky-icon{display:inline-flex;vertical-align:top}.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-line{background-color:#5a9936}:host-context(.sky-theme-modern) .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical{position:relative;top:3px;margin-right:20px}:host-context(.sky-theme-modern) .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-icon{width:17px}:host-context(.sky-theme-modern) .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal .sky-progress-indicator-status-marker-icon{height:17px;top:1px}:host-context(.sky-theme-modern) .sky-progress-indicator-status-marker-icon{border-radius:17px;flex:0 0 17px}.sky-theme-modern .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical{position:relative;top:3px;margin-right:20px}.sky-theme-modern .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-vertical .sky-progress-indicator-status-marker-icon{width:17px}.sky-theme-modern .sky-progress-indicator-status-marker.sky-progress-indicator-status-marker-mode-horizontal .sky-progress-indicator-status-marker-icon{height:17px;top:1px}.sky-theme-modern .sky-progress-indicator-status-marker-icon{border-radius:17px;flex:0 0 17px}\n"] }]
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyThemeService, decorators: [{
|
|
74
|
+
type: Optional
|
|
75
|
+
}] }]; }, propDecorators: { displayMode: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], status: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLXN0YXR1cy1tYXJrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUVMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7OztBQUV6Rjs7O0dBR0c7QUFPSCxNQUFNLE9BQU8seUNBQXlDO0lBMERwRCxZQUNVLGNBQWlDLEVBQzdCLFFBQTBCO1FBRDlCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQU5uQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFTMUMsbUNBQW1DO1FBQ25DLFFBQVEsRUFBRSxjQUFjO2FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQW5FRCxJQUNXLFdBQVcsQ0FBQyxLQUFnQztRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDbkMsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQ1csTUFBTSxDQUFDLEtBQXFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixNQUFNLFVBQVUsR0FBRztZQUNqQiw2Q0FBNkMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMvRCwrQ0FBK0MsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUNqRSxDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsSUFBSSxJQUFZLENBQUM7UUFFakIsUUFBUSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3BCLEtBQUssOEJBQThCLENBQUMsTUFBTTtnQkFDeEMsSUFBSSxHQUFHLFFBQVEsQ0FBQztnQkFDaEIsTUFBTTtZQUVSLEtBQUssOEJBQThCLENBQUMsUUFBUTtnQkFDMUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztnQkFDbEIsTUFBTTtZQUVSLEtBQUssOEJBQThCLENBQUMsVUFBVTtnQkFDNUMsSUFBSSxHQUFHLFlBQVksQ0FBQztnQkFDcEIsTUFBTTtZQUVSLEtBQUssOEJBQThCLENBQUMsT0FBTztnQkFDekMsSUFBSSxHQUFHLFNBQVMsQ0FBQztnQkFDakIsTUFBTTtTQUNUO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBbUJNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O3NJQXpFVSx5Q0FBeUM7MEhBQXpDLHlDQUF5QyxzSUN6QnRELHFrQkFpQkE7MkZEUWEseUNBQXlDO2tCQU5yRCxTQUFTOytCQUNFLHNDQUFzQyxtQkFHL0IsdUJBQXVCLENBQUMsTUFBTTs7MEJBOEQ1QyxRQUFROzRDQTFEQSxXQUFXO3NCQURyQixLQUFLO2dCQWNLLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS1zdGF0dXMnO1xuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgY29udGVudCB0byBkaXNwbGF5IGluIHRoZSBzdGF0dXMgbWFya2VyLlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvclN0YXR1c01hcmtlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheU1vZGUodmFsdWU6ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcpIHtcbiAgICB0aGlzLl9kaXNwbGF5TW9kZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5TW9kZSgpOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnIHtcbiAgICBpZiAodGhpcy5fZGlzcGxheU1vZGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuICd2ZXJ0aWNhbCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlNb2RlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdGF0dXModmFsdWU6IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cykge1xuICAgIHRoaXMuX3N0YXR1cyA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNzc0NsYXNzTmFtZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW1xuICAgICAgYHNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci1tb2RlLSR7dGhpcy5kaXNwbGF5TW9kZX1gLFxuICAgICAgYHNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci1zdGF0dXMtJHt0aGlzLnN0YXR1c05hbWV9YCxcbiAgICBdO1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbignICcpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0dXNOYW1lKCk6IHN0cmluZyB7XG4gICAgbGV0IG5hbWU6IHN0cmluZztcblxuICAgIHN3aXRjaCAodGhpcy5fc3RhdHVzKSB7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cy5BY3RpdmU6XG4gICAgICAgIG5hbWUgPSAnYWN0aXZlJztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkNvbXBsZXRlOlxuICAgICAgICBuYW1lID0gJ2NvbXBsZXRlJztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkluY29tcGxldGU6XG4gICAgICAgIG5hbWUgPSAnaW5jb21wbGV0ZSc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cy5QZW5kaW5nOlxuICAgICAgICBuYW1lID0gJ3BlbmRpbmcnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfZGlzcGxheU1vZGU6ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XG4gIHByaXZhdGUgX3N0YXR1czogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlXG4gICkge1xuICAgIC8vIFVwZGF0ZSBpY29ucyB3aGVuIHRoZW1lIGNoYW5nZXMuXG4gICAgdGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlclwiXG4gIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICBbbmdDbGFzc109XCJjc3NDbGFzc05hbWVzXCJcbj5cbiAgPGRpdlxuICAgICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci1pY29uXCJcbiAgPlxuICAgIDxza3ktaWNvbiAqbmdJZj1cInN0YXR1c05hbWUgPT09ICdjb21wbGV0ZSdcIiBpY29uPVwiY2hlY2tcIj4gPC9za3ktaWNvbj5cbiAgPC9kaXY+XG4gIDxkaXYgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiIGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLWljb25cIj5cbiAgICA8c2t5LWljb24gKm5nSWY9XCJzdGF0dXNOYW1lID09PSAnY29tcGxldGUnXCIgaWNvbj1cImNoZWNrXCIgaWNvblR5cGU9XCJza3l1eFwiPlxuICAgIDwvc2t5LWljb24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLWxpbmVcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@skyux/theme";
|
|
4
|
+
/**
|
|
5
|
+
* Specifies a header to display above the progress indicator.
|
|
6
|
+
*/
|
|
7
|
+
export class SkyProgressIndicatorTitleComponent {
|
|
8
|
+
}
|
|
9
|
+
SkyProgressIndicatorTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
SkyProgressIndicatorTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyProgressIndicatorTitleComponent, selector: "sky-progress-indicator-title", ngImport: i0, template: "<div\n aria-level=\"1\"\n class=\"sky-progress-indicator-title\"\n role=\"heading\"\n [skyThemeClass]=\"{\n 'sky-section-heading': 'default',\n 'sky-font-heading-1': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-progress-indicator-title{line-height:1.1;margin:0 0 30px;text-align:center}:host-context(.sky-theme-modern) .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}.sky-theme-modern .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}\n"], directives: [{ type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorTitleComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'sky-progress-indicator-title', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n aria-level=\"1\"\n class=\"sky-progress-indicator-title\"\n role=\"heading\"\n [skyThemeClass]=\"{\n 'sky-section-heading': 'default',\n 'sky-font-heading-1': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-progress-indicator-title{line-height:1.1;margin:0 0 30px;text-align:center}:host-context(.sky-theme-modern) .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}.sky-theme-modern .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}\n"] }]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItdGl0bGUvcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItdGl0bGUvcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVuRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxrQ0FBa0M7OytIQUFsQyxrQ0FBa0M7bUhBQWxDLGtDQUFrQyxvRUNYL0MsMk9BV0E7MkZEQWEsa0NBQWtDO2tCQU45QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgYSBoZWFkZXIgdG8gZGlzcGxheSBhYm92ZSB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWluZGljYXRvci10aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWluZGljYXRvci10aXRsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZUNvbXBvbmVudCB7fVxuIiwiPGRpdlxuICBhcmlhLWxldmVsPVwiMVwiXG4gIGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci10aXRsZVwiXG4gIHJvbGU9XCJoZWFkaW5nXCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktc2VjdGlvbi1oZWFkaW5nJzogJ2RlZmF1bHQnLFxuICAgICdza3ktZm9udC1oZWFkaW5nLTEnOiAnbW9kZXJuJ1xuICB9XCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output, QueryList, } from '@angular/core';
|
|
2
|
+
import { SkyAppWindowRef } from '@skyux/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { delay, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { SkyProgressIndicatorItemComponent } from './progress-indicator-item/progress-indicator-item.component';
|
|
6
|
+
import { SkyProgressIndicatorItemStatus } from './types/progress-indicator-item-status';
|
|
7
|
+
import { SkyProgressIndicatorMessageType } from './types/progress-indicator-message-type';
|
|
8
|
+
import { SkyProgressIndicatorDisplayMode } from './types/progress-indicator-mode';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@skyux/core";
|
|
11
|
+
import * as i2 from "./progress-indicator-status-marker/progress-indicator-status-marker.component";
|
|
12
|
+
import * as i3 from "@angular/common";
|
|
13
|
+
export class SkyProgressIndicatorComponent {
|
|
14
|
+
constructor(changeDetector, windowRef) {
|
|
15
|
+
this.changeDetector = changeDetector;
|
|
16
|
+
this.windowRef = windowRef;
|
|
17
|
+
/**
|
|
18
|
+
* Fires when the progress indicator changes the status of an item.
|
|
19
|
+
*/
|
|
20
|
+
this.progressChanges = new EventEmitter();
|
|
21
|
+
this.initialized = false;
|
|
22
|
+
this.ngUnsubscribe = new Subject();
|
|
23
|
+
this._messageStream = new Subject();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Specifies whether to display the progress indicator vertically or horizontally.
|
|
27
|
+
* For [passive progress indicators](https://developer.blackbaud.com/skyux-progress-indicator/docs/passive-indicator)
|
|
28
|
+
* and [waterfall progress indicators](https://developer.blackbaud.com/skyux/components/progress-indicator/waterfall-progress-indicator),
|
|
29
|
+
* use the vertical display mode. For [modal wizards](https://developer.blackbaud.com/skyux/components/wizard),
|
|
30
|
+
* use the horizontal display mode.
|
|
31
|
+
* @default "vertical"
|
|
32
|
+
*/
|
|
33
|
+
set displayMode(value) {
|
|
34
|
+
this._displayMode = value;
|
|
35
|
+
}
|
|
36
|
+
get displayMode() {
|
|
37
|
+
if (this._displayMode === undefined) {
|
|
38
|
+
return 'vertical';
|
|
39
|
+
}
|
|
40
|
+
return this._displayMode;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Indicates whether the progress indicator is passive. Passive progress indicators inform users of
|
|
44
|
+
* progress that concerns them but that they are not responsible for, and they must use the vertical display mode.
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
set isPassive(value) {
|
|
48
|
+
this._isPassive = value;
|
|
49
|
+
}
|
|
50
|
+
get isPassive() {
|
|
51
|
+
// Currently, passive mode is not supported for horizontal displays.
|
|
52
|
+
if (this.displayModeResolved === 'horizontal') {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return this._isPassive || false;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Specifies an observable of `SkyProgressIndicatorMessage` that determines the status to
|
|
59
|
+
* display for items in the progress indicator. The message stream is a queue of
|
|
60
|
+
* commanding messages to change the state of the progress indicator based on the message type.
|
|
61
|
+
*/
|
|
62
|
+
set messageStream(value) {
|
|
63
|
+
this._messageStream = value;
|
|
64
|
+
this.subscribeToMessageStream();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Specifies the index for the item to make active when the progress indicator
|
|
68
|
+
* loads. All steps that precede the active item are marked as complete, and all steps
|
|
69
|
+
* that follow the active item are marked as incomplete.
|
|
70
|
+
*/
|
|
71
|
+
set startingIndex(value) {
|
|
72
|
+
this._startingIndex = value;
|
|
73
|
+
}
|
|
74
|
+
get startingIndex() {
|
|
75
|
+
return this._startingIndex || 0;
|
|
76
|
+
}
|
|
77
|
+
get cssClassNames() {
|
|
78
|
+
const classNames = [
|
|
79
|
+
`sky-progress-indicator-mode-${this.displayModeResolved}`,
|
|
80
|
+
];
|
|
81
|
+
if (this.isPassive) {
|
|
82
|
+
classNames.push('sky-progress-indicator-passive');
|
|
83
|
+
}
|
|
84
|
+
return classNames.join(' ');
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Returns the newly-supported string union type value to be used by the template.
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
get displayModeResolved() {
|
|
91
|
+
switch (this.displayMode) {
|
|
92
|
+
case SkyProgressIndicatorDisplayMode.Vertical:
|
|
93
|
+
case 'vertical':
|
|
94
|
+
return 'vertical';
|
|
95
|
+
default:
|
|
96
|
+
return 'horizontal';
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
get hasFinishButton() {
|
|
100
|
+
return this._hasFinishButton || false;
|
|
101
|
+
}
|
|
102
|
+
set hasFinishButton(value) {
|
|
103
|
+
this._hasFinishButton = value;
|
|
104
|
+
}
|
|
105
|
+
get itemStatuses() {
|
|
106
|
+
if (!this.itemComponents) {
|
|
107
|
+
return [];
|
|
108
|
+
}
|
|
109
|
+
return this.itemComponents.map((c) => c.status);
|
|
110
|
+
}
|
|
111
|
+
get activeIndex() {
|
|
112
|
+
return this._activeIndex || 0;
|
|
113
|
+
}
|
|
114
|
+
set activeIndex(value) {
|
|
115
|
+
const lastIndex = this.itemComponents.length - 1;
|
|
116
|
+
let newIndex = value;
|
|
117
|
+
if (value > lastIndex) {
|
|
118
|
+
newIndex = lastIndex;
|
|
119
|
+
}
|
|
120
|
+
else if (value < 0) {
|
|
121
|
+
newIndex = 0;
|
|
122
|
+
}
|
|
123
|
+
this._activeIndex = newIndex;
|
|
124
|
+
}
|
|
125
|
+
ngOnInit() {
|
|
126
|
+
this.initialized = true;
|
|
127
|
+
this.subscribeToMessageStream();
|
|
128
|
+
}
|
|
129
|
+
ngAfterContentInit() {
|
|
130
|
+
this.activeIndex = this.startingIndex;
|
|
131
|
+
this.updateSteps();
|
|
132
|
+
// Note: The delay here is to ensure all change detection on the items has finished. Without
|
|
133
|
+
// the delay we receive a changed before checked error for vertical progress indicators
|
|
134
|
+
this.itemComponents.changes
|
|
135
|
+
.pipe(takeUntil(this.ngUnsubscribe), delay(0))
|
|
136
|
+
.subscribe(() => {
|
|
137
|
+
this.updateSteps();
|
|
138
|
+
this.notifyChange();
|
|
139
|
+
});
|
|
140
|
+
// Wait for item components' change detection to complete
|
|
141
|
+
// before notifying changes to the consumer.
|
|
142
|
+
this.windowRef.nativeWindow.setTimeout(() => {
|
|
143
|
+
this.notifyChange();
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
ngOnDestroy() {
|
|
147
|
+
this.ngUnsubscribe.next();
|
|
148
|
+
this.ngUnsubscribe.complete();
|
|
149
|
+
}
|
|
150
|
+
sendMessage(message) {
|
|
151
|
+
this._messageStream.next(message);
|
|
152
|
+
}
|
|
153
|
+
gotoNextStep() {
|
|
154
|
+
const nextIndex = this.activeIndex + 1;
|
|
155
|
+
const lastIndex = this.itemComponents.length - 1;
|
|
156
|
+
if (nextIndex > lastIndex) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
this.gotoStep(nextIndex);
|
|
160
|
+
}
|
|
161
|
+
gotoPreviousStep() {
|
|
162
|
+
const previousIndex = this.activeIndex - 1;
|
|
163
|
+
if (previousIndex < 0) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
this.gotoStep(previousIndex);
|
|
167
|
+
}
|
|
168
|
+
gotoStep(index) {
|
|
169
|
+
this.activeIndex = index;
|
|
170
|
+
this.updateSteps();
|
|
171
|
+
this.notifyChange();
|
|
172
|
+
}
|
|
173
|
+
finishSteps() {
|
|
174
|
+
this.activeIndex = this.itemComponents.length - 1;
|
|
175
|
+
this.itemComponents.forEach((component) => {
|
|
176
|
+
component.status = SkyProgressIndicatorItemStatus.Complete;
|
|
177
|
+
});
|
|
178
|
+
this.notifyChange({
|
|
179
|
+
isComplete: true,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
resetSteps() {
|
|
183
|
+
this.gotoStep(0);
|
|
184
|
+
}
|
|
185
|
+
updateSteps() {
|
|
186
|
+
if (this.activeIndex > this.itemComponents.length - 1) {
|
|
187
|
+
this.activeIndex--;
|
|
188
|
+
}
|
|
189
|
+
const activeIndex = this.activeIndex;
|
|
190
|
+
const isPassive = this.isPassive;
|
|
191
|
+
const isVertical = this.displayModeResolved === 'vertical';
|
|
192
|
+
this.itemComponents.forEach((component, i) => {
|
|
193
|
+
// Set visibility.
|
|
194
|
+
component.isVisible = activeIndex === i || isVertical;
|
|
195
|
+
// Set status.
|
|
196
|
+
let status;
|
|
197
|
+
if (activeIndex === i) {
|
|
198
|
+
if (isPassive) {
|
|
199
|
+
status = SkyProgressIndicatorItemStatus.Pending;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
status = SkyProgressIndicatorItemStatus.Active;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
else if (activeIndex > i) {
|
|
206
|
+
status = SkyProgressIndicatorItemStatus.Complete;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
status = SkyProgressIndicatorItemStatus.Incomplete;
|
|
210
|
+
}
|
|
211
|
+
component.status = status;
|
|
212
|
+
// Show or hide the status markers.
|
|
213
|
+
component.showStatusMarker = isVertical;
|
|
214
|
+
// Show or hide the step number.
|
|
215
|
+
if (isPassive) {
|
|
216
|
+
component.hideStepNumber();
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
component.showStepNumber(i + 1);
|
|
220
|
+
}
|
|
221
|
+
// If we're in passive mode, don't show titles for incomplete items.
|
|
222
|
+
component.showTitle = !(isPassive && activeIndex < i);
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
handleIncomingMessage(message) {
|
|
226
|
+
const value = message;
|
|
227
|
+
let type;
|
|
228
|
+
// Prints a deprecation warning if the consumer provides only `SkyProgressIndicatorMessageType`.
|
|
229
|
+
if (value.type === undefined) {
|
|
230
|
+
console.warn("[Deprecation warning] The progress indicator component's `messageStream` input is set " +
|
|
231
|
+
'to `Subject<SkyProgressIndicatorMessageType>`. We will remove this deprecated type in ' +
|
|
232
|
+
'the next major version release. Instead, set the `messageStream` input to a value of ' +
|
|
233
|
+
'`Subject<SkyProgressIndicatorMessage>`.');
|
|
234
|
+
type = value;
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
type = value.type;
|
|
238
|
+
}
|
|
239
|
+
switch (type) {
|
|
240
|
+
case SkyProgressIndicatorMessageType.Progress:
|
|
241
|
+
this.gotoNextStep();
|
|
242
|
+
break;
|
|
243
|
+
case SkyProgressIndicatorMessageType.Regress:
|
|
244
|
+
this.gotoPreviousStep();
|
|
245
|
+
break;
|
|
246
|
+
case SkyProgressIndicatorMessageType.Finish:
|
|
247
|
+
this.finishSteps();
|
|
248
|
+
break;
|
|
249
|
+
case SkyProgressIndicatorMessageType.Reset:
|
|
250
|
+
this.resetSteps();
|
|
251
|
+
break;
|
|
252
|
+
case SkyProgressIndicatorMessageType.GoTo:
|
|
253
|
+
if (!value.data || value.data.activeIndex === undefined) {
|
|
254
|
+
console.warn('A message type of `SkyProgressIndicatorMessageType.GoTo` was passed to the progress ' +
|
|
255
|
+
'indicator, but no step index was provided. You can pass the desired active ' +
|
|
256
|
+
'index via:\n' +
|
|
257
|
+
'{\n' +
|
|
258
|
+
' type: SkyProgressIndicatorMessageType.GoTo,\n' +
|
|
259
|
+
' data: { activeIndex: 0 }\n' +
|
|
260
|
+
'}');
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
this.gotoStep(value.data.activeIndex);
|
|
264
|
+
break;
|
|
265
|
+
default:
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
// Update the view after a message is received.
|
|
269
|
+
this.changeDetector.markForCheck();
|
|
270
|
+
}
|
|
271
|
+
subscribeToMessageStream() {
|
|
272
|
+
if (this.initialized) {
|
|
273
|
+
if (this.messageStreamSub) {
|
|
274
|
+
this.messageStreamSub.unsubscribe();
|
|
275
|
+
this.messageStreamSub = undefined;
|
|
276
|
+
}
|
|
277
|
+
if (this._messageStream) {
|
|
278
|
+
this.messageStreamSub = this._messageStream
|
|
279
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
280
|
+
.subscribe((message) => {
|
|
281
|
+
this.handleIncomingMessage(message);
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
notifyChange(change) {
|
|
287
|
+
this.progressChanges.next(Object.assign({}, {
|
|
288
|
+
activeIndex: this.activeIndex,
|
|
289
|
+
itemStatuses: this.itemStatuses,
|
|
290
|
+
}, change));
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
SkyProgressIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
294
|
+
SkyProgressIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyProgressIndicatorComponent, selector: "sky-progress-indicator", inputs: { displayMode: "displayMode", isPassive: "isPassive", messageStream: "messageStream", startingIndex: "startingIndex" }, outputs: { progressChanges: "progressChanges" }, queries: [{ propertyName: "itemComponents", predicate: SkyProgressIndicatorItemComponent }], ngImport: i0, template: "<div class=\"sky-progress-indicator\" [ngClass]=\"cssClassNames\">\n <div\n *ngIf=\"displayModeResolved === 'horizontal'\"\n class=\"sky-progress-indicator-horizontal-status-markers\"\n >\n <sky-progress-indicator-status-marker\n *ngFor=\"let status of itemStatuses\"\n [displayMode]=\"displayModeResolved\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-progress-indicator ::ng-deep sky-progress-indicator-item:last-of-type .sky-progress-indicator-status-marker-line{display:none}.sky-progress-indicator-mode-vertical{max-width:400px;min-width:250px;margin:0 auto}.sky-progress-indicator-mode-vertical ::ng-deep .sky-progress-indicator-item-body{text-align:center;margin-left:-30px}.sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,.sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{display:block;padding-top:30px;padding-left:15px}::ng-deep .sky-popover ::ng-deep .sky-progress-indicator-mode-vertical{min-width:auto}.sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:600;font-size:16px}.sky-progress-indicator-horizontal-status-markers{display:flex;margin-bottom:10px}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker{flex-basis:45px;flex-grow:0}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:first-of-type{margin-left:-5px}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:first-of-type .sky-progress-indicator-status-marker .sky-progress-indicator-status-marker-icon:before{display:none!important}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:last-of-type .sky-progress-indicator-status-marker-line{display:none}:host-context(.sky-theme-modern) .sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:inherit;font-size:inherit}:host-context(.sky-theme-modern) .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,:host-context(.sky-theme-modern) .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{padding:0;margin:60px 0 0;text-align:center}.sky-theme-modern .sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:inherit;font-size:inherit}.sky-theme-modern .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,.sky-theme-modern .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{padding:0;margin:60px 0 0;text-align:center}\n"], components: [{ type: i2.SkyProgressIndicatorStatusMarkerComponent, selector: "sky-progress-indicator-status-marker", inputs: ["displayMode", "status"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorComponent, decorators: [{
|
|
296
|
+
type: Component,
|
|
297
|
+
args: [{ selector: 'sky-progress-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-progress-indicator\" [ngClass]=\"cssClassNames\">\n <div\n *ngIf=\"displayModeResolved === 'horizontal'\"\n class=\"sky-progress-indicator-horizontal-status-markers\"\n >\n <sky-progress-indicator-status-marker\n *ngFor=\"let status of itemStatuses\"\n [displayMode]=\"displayModeResolved\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-progress-indicator ::ng-deep sky-progress-indicator-item:last-of-type .sky-progress-indicator-status-marker-line{display:none}.sky-progress-indicator-mode-vertical{max-width:400px;min-width:250px;margin:0 auto}.sky-progress-indicator-mode-vertical ::ng-deep .sky-progress-indicator-item-body{text-align:center;margin-left:-30px}.sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,.sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{display:block;padding-top:30px;padding-left:15px}::ng-deep .sky-popover ::ng-deep .sky-progress-indicator-mode-vertical{min-width:auto}.sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:600;font-size:16px}.sky-progress-indicator-horizontal-status-markers{display:flex;margin-bottom:10px}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker{flex-basis:45px;flex-grow:0}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:first-of-type{margin-left:-5px}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:first-of-type .sky-progress-indicator-status-marker .sky-progress-indicator-status-marker-icon:before{display:none!important}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:last-of-type .sky-progress-indicator-status-marker-line{display:none}:host-context(.sky-theme-modern) .sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:inherit;font-size:inherit}:host-context(.sky-theme-modern) .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,:host-context(.sky-theme-modern) .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{padding:0;margin:60px 0 0;text-align:center}.sky-theme-modern .sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:inherit;font-size:inherit}.sky-theme-modern .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,.sky-theme-modern .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{padding:0;margin:60px 0 0;text-align:center}\n"] }]
|
|
298
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyAppWindowRef }]; }, propDecorators: { displayMode: [{
|
|
299
|
+
type: Input
|
|
300
|
+
}], isPassive: [{
|
|
301
|
+
type: Input
|
|
302
|
+
}], messageStream: [{
|
|
303
|
+
type: Input
|
|
304
|
+
}], startingIndex: [{
|
|
305
|
+
type: Input
|
|
306
|
+
}], progressChanges: [{
|
|
307
|
+
type: Output
|
|
308
|
+
}], itemComponents: [{
|
|
309
|
+
type: ContentChildren,
|
|
310
|
+
args: [SkyProgressIndicatorItemComponent]
|
|
311
|
+
}] } });
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFHaEgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7O0FBUWxGLE1BQU0sT0FBTyw2QkFBNkI7SUEySnhDLFlBQ1UsY0FBaUMsRUFDakMsU0FBMEI7UUFEMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGNBQVMsR0FBVCxTQUFT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TTtzSUFjcEMsV0FBVztzQkFEckIsS0FBSztnQkFtQkssU0FBUztzQkFEbkIsS0FBSztnQkFvQkssYUFBYTtzQkFEdkIsS0FBSztnQkFpQkssYUFBYTtzQkFEdkIsS0FBSztnQkFhQyxlQUFlO3NCQURyQixNQUFNO2dCQThDQyxjQUFjO3NCQURyQixlQUFlO3VCQUFDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDaGFuZ2UgfSBmcm9tICcuL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZVR5cGUgfSBmcm9tICcuL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1kaXNwbGF5LW1vZGUtdHlwZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMgfSBmcm9tICcuL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLXN0YXR1cyc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1tZXNzYWdlJztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1tZXNzYWdlLXR5cGUnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1vZGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gZGlzcGxheSB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIHZlcnRpY2FsbHkgb3IgaG9yaXpvbnRhbGx5LlxuICAgKiBGb3IgW3Bhc3NpdmUgcHJvZ3Jlc3MgaW5kaWNhdG9yc10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC1wcm9ncmVzcy1pbmRpY2F0b3IvZG9jcy9wYXNzaXZlLWluZGljYXRvcilcbiAgICogYW5kIFt3YXRlcmZhbGwgcHJvZ3Jlc3MgaW5kaWNhdG9yc10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci93YXRlcmZhbGwtcHJvZ3Jlc3MtaW5kaWNhdG9yKSxcbiAgICogdXNlIHRoZSB2ZXJ0aWNhbCBkaXNwbGF5IG1vZGUuIEZvciBbbW9kYWwgd2l6YXJkc10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3dpemFyZCksXG4gICAqIHVzZSB0aGUgaG9yaXpvbnRhbCBkaXNwbGF5IG1vZGUuXG4gICAqIEBkZWZhdWx0IFwidmVydGljYWxcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5TW9kZSh2YWx1ZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZVR5cGUpIHtcbiAgICB0aGlzLl9kaXNwbGF5TW9kZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5TW9kZSgpOiBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlVHlwZSB7XG4gICAgaWYgKHRoaXMuX2Rpc3BsYXlNb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAndmVydGljYWwnO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5TW9kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGlzIHBhc3NpdmUuIFBhc3NpdmUgcHJvZ3Jlc3MgaW5kaWNhdG9ycyBpbmZvcm0gdXNlcnMgb2ZcbiAgICogcHJvZ3Jlc3MgdGhhdCBjb25jZXJucyB0aGVtIGJ1dCB0aGF0IHRoZXkgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IsIGFuZCB0aGV5IG11c3QgdXNlIHRoZSB2ZXJ0aWNhbCBkaXNwbGF5IG1vZGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzUGFzc2l2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzUGFzc2l2ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1Bhc3NpdmUoKTogYm9vbGVhbiB7XG4gICAgLy8gQ3VycmVudGx5LCBwYXNzaXZlIG1vZGUgaXMgbm90IHN1cHBvcnRlZCBmb3IgaG9yaXpvbnRhbCBkaXNwbGF5cy5cbiAgICBpZiAodGhpcy5kaXNwbGF5TW9kZVJlc29sdmVkID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5faXNQYXNzaXZlIHx8IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBvYnNlcnZhYmxlIG9mIGBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VgIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc3RhdHVzIHRvXG4gICAqIGRpc3BsYXkgZm9yIGl0ZW1zIGluIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IuIFRoZSBtZXNzYWdlIHN0cmVhbSBpcyBhIHF1ZXVlIG9mXG4gICAqIGNvbW1hbmRpbmcgbWVzc2FnZXMgdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGJhc2VkIG9uIHRoZSBtZXNzYWdlIHR5cGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1lc3NhZ2VTdHJlYW0oXG4gICAgdmFsdWU6IFN1YmplY3Q8XG4gICAgICBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UgfCBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlXG4gICAgPlxuICApIHtcbiAgICB0aGlzLl9tZXNzYWdlU3RyZWFtID0gdmFsdWU7XG5cbiAgICB0aGlzLnN1YnNjcmliZVRvTWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgaW5kZXggZm9yIHRoZSBpdGVtIHRvIG1ha2UgYWN0aXZlIHdoZW4gdGhlIHByb2dyZXNzIGluZGljYXRvclxuICAgKiBsb2Fkcy4gQWxsIHN0ZXBzIHRoYXQgcHJlY2VkZSB0aGUgYWN0aXZlIGl0ZW0gYXJlIG1hcmtlZCBhcyBjb21wbGV0ZSwgYW5kIGFsbCBzdGVwc1xuICAgKiB0aGF0IGZvbGxvdyB0aGUgYWN0aXZlIGl0ZW0gYXJlIG1hcmtlZCBhcyBpbmNvbXBsZXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdGFydGluZ0luZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9zdGFydGluZ0luZGV4ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXJ0aW5nSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRpbmdJbmRleCB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHByb2dyZXNzIGluZGljYXRvciBjaGFuZ2VzIHRoZSBzdGF0dXMgb2YgYW4gaXRlbS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcHJvZ3Jlc3NDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZT4oKTtcblxuICBwdWJsaWMgZ2V0IGNzc0NsYXNzTmFtZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW1xuICAgICAgYHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbW9kZS0ke3RoaXMuZGlzcGxheU1vZGVSZXNvbHZlZH1gLFxuICAgIF07XG5cbiAgICBpZiAodGhpcy5pc1Bhc3NpdmUpIHtcbiAgICAgIGNsYXNzTmFtZXMucHVzaCgnc2t5LXByb2dyZXNzLWluZGljYXRvci1wYXNzaXZlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbignICcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5ld2x5LXN1cHBvcnRlZCBzdHJpbmcgdW5pb24gdHlwZSB2YWx1ZSB0byBiZSB1c2VkIGJ5IHRoZSB0ZW1wbGF0ZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc3BsYXlNb2RlUmVzb2x2ZWQoKTogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyB7XG4gICAgc3dpdGNoICh0aGlzLmRpc3BsYXlNb2RlKSB7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yRGlzcGxheU1vZGUuVmVydGljYWw6XG4gICAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICAgIHJldHVybiAndmVydGljYWwnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdob3Jpem9udGFsJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0ZpbmlzaEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzRmluaXNoQnV0dG9uIHx8IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNldCBoYXNGaW5pc2hCdXR0b24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9oYXNGaW5pc2hCdXR0b24gPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlbVN0YXR1c2VzKCk6IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1c1tdIHtcbiAgICBpZiAoIXRoaXMuaXRlbUNvbXBvbmVudHMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pdGVtQ29tcG9uZW50cy5tYXAoKGMpID0+IGMuc3RhdHVzKTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtQ29tcG9uZW50KVxuICBwcml2YXRlIGl0ZW1Db21wb25lbnRzOiBRdWVyeUxpc3Q8U2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtQ29tcG9uZW50PjtcblxuICBwcml2YXRlIGdldCBhY3RpdmVJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVJbmRleCB8fCAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgYWN0aXZlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIGNvbnN0IGxhc3RJbmRleCA9IHRoaXMuaXRlbUNvbXBvbmVudHMubGVuZ3RoIC0gMTtcblxuICAgIGxldCBuZXdJbmRleCA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlID4gbGFzdEluZGV4KSB7XG4gICAgICBuZXdJbmRleCA9IGxhc3RJbmRleDtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgbmV3SW5kZXggPSAwO1xuICAgIH1cblxuICAgIHRoaXMuX2FjdGl2ZUluZGV4ID0gbmV3SW5kZXg7XG4gIH1cblxuICBwcml2YXRlIG1lc3NhZ2VTdHJlYW1TdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2FjdGl2ZUluZGV4OiBudW1iZXI7XG4gIHByaXZhdGUgX2Rpc3BsYXlNb2RlOiBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlVHlwZTtcbiAgcHJpdmF0ZSBfaGFzRmluaXNoQnV0dG9uOiBib29sZWFuO1xuICBwcml2YXRlIF9pc1Bhc3NpdmU6IGJvb2xlYW47XG4gIHByaXZhdGUgX21lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UgfCBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlXG4gID4oKTtcbiAgcHJpdmF0ZSBfc3RhcnRpbmdJbmRleDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWZcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgIHRoaXMuc3Vic2NyaWJlVG9NZXNzYWdlU3RyZWFtKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLnN0YXJ0aW5nSW5kZXg7XG5cbiAgICB0aGlzLnVwZGF0ZVN0ZXBzKCk7XG5cbiAgICAvLyBOb3RlOiBUaGUgZGVsYXkgaGVyZSBpcyB0byBlbnN1cmUgYWxsIGNoYW5nZSBkZXRlY3Rpb24gb24gdGhlIGl0ZW1zIGhhcyBmaW5pc2hlZC4gV2l0aG91dFxuICAgIC8vIHRoZSBkZWxheSB3ZSByZWNlaXZlIGEgY2hhbmdlZCBiZWZvcmUgY2hlY2tlZCBlcnJvciBmb3IgdmVydGljYWwgcHJvZ3Jlc3MgaW5kaWNhdG9yc1xuICAgIHRoaXMuaXRlbUNvbXBvbmVudHMuY2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksIGRlbGF5KDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlU3RlcHMoKTtcbiAgICAgICAgdGhpcy5ub3RpZnlDaGFuZ2UoKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gV2FpdCBmb3IgaXRlbSBjb21wb25lbnRzJyBjaGFuZ2UgZGV0ZWN0aW9uIHRvIGNvbXBsZXRlXG4gICAgLy8gYmVmb3JlIG5vdGlmeWluZyBjaGFuZ2VzIHRvIHRoZSBjb25zdW1lci5cbiAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmeUNoYW5nZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VuZE1lc3NhZ2UobWVzc2FnZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlKTogdm9pZCB7XG4gICAgdGhpcy5fbWVzc2FnZVN0cmVhbS5uZXh0KG1lc3NhZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb3RvTmV4dFN0ZXAoKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dEluZGV4ID0gdGhpcy5hY3RpdmVJbmRleCArIDE7XG4gICAgY29uc3QgbGFzdEluZGV4ID0gdGhpcy5pdGVtQ29tcG9uZW50cy5sZW5ndGggLSAxO1xuXG4gICAgaWYgKG5leHRJbmRleCA+IGxhc3RJbmRleCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ290b1N0ZXAobmV4dEluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgZ290b1ByZXZpb3VzU3RlcCgpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gdGhpcy5hY3RpdmVJbmRleCAtIDE7XG5cbiAgICBpZiAocHJldmlvdXNJbmRleCA8IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmdvdG9TdGVwKHByZXZpb3VzSW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb3RvU3RlcChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgIHRoaXMudXBkYXRlU3RlcHMoKTtcbiAgICB0aGlzLm5vdGlmeUNoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5pc2hTdGVwcygpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdGhpcy5pdGVtQ29tcG9uZW50cy5sZW5ndGggLSAxO1xuXG4gICAgdGhpcy5pdGVtQ29tcG9uZW50cy5mb3JFYWNoKChjb21wb25lbnQpID0+IHtcbiAgICAgIGNvbXBvbmVudC5zdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuQ29tcGxldGU7XG4gICAgfSk7XG5cbiAgICB0aGlzLm5vdGlmeUNoYW5nZSh7XG4gICAgICBpc0NvbXBsZXRlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuZ290b1N0ZXAoMCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0ZXBzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4ID4gdGhpcy5pdGVtQ29tcG9uZW50cy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4LS07XG4gICAgfVxuXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSB0aGlzLmFjdGl2ZUluZGV4O1xuICAgIGNvbnN0IGlzUGFzc2l2ZSA9IHRoaXMuaXNQYXNzaXZlO1xuICAgIGNvbnN0IGlzVmVydGljYWwgPSB0aGlzLmRpc3BsYXlNb2RlUmVzb2x2ZWQgPT09ICd2ZXJ0aWNhbCc7XG5cbiAgICB0aGlzLml0ZW1Db21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudCwgaSkgPT4ge1xuICAgICAgLy8gU2V0IHZpc2liaWxpdHkuXG4gICAgICBjb21wb25lbnQuaXNWaXNpYmxlID0gYWN0aXZlSW5kZXggPT09IGkgfHwgaXNWZXJ0aWNhbDtcblxuICAgICAgLy8gU2V0IHN0YXR1cy5cbiAgICAgIGxldCBzdGF0dXM6IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cztcbiAgICAgIGlmIChhY3RpdmVJbmRleCA9PT0gaSkge1xuICAgICAgICBpZiAoaXNQYXNzaXZlKSB7XG4gICAgICAgICAgc3RhdHVzID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLlBlbmRpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdHVzID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkFjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChhY3RpdmVJbmRleCA+IGkpIHtcbiAgICAgICAgc3RhdHVzID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkNvbXBsZXRlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdHVzID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkluY29tcGxldGU7XG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudC5zdGF0dXMgPSBzdGF0dXM7XG5cbiAgICAgIC8vIFNob3cgb3IgaGlkZSB0aGUgc3RhdHVzIG1hcmtlcnMuXG4gICAgICBjb21wb25lbnQuc2hvd1N0YXR1c01hcmtlciA9IGlzVmVydGljYWw7XG5cbiAgICAgIC8vIFNob3cgb3IgaGlkZSB0aGUgc3RlcCBudW1iZXIuXG4gICAgICBpZiAoaXNQYXNzaXZlKSB7XG4gICAgICAgIGNvbXBvbmVudC5oaWRlU3RlcE51bWJlcigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcG9uZW50LnNob3dTdGVwTnVtYmVyKGkgKyAxKTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgd2UncmUgaW4gcGFzc2l2ZSBtb2RlLCBkb24ndCBzaG93IHRpdGxlcyBmb3IgaW5jb21wbGV0ZSBpdGVtcy5cbiAgICAgIGNvbXBvbmVudC5zaG93VGl0bGUgPSAhKGlzUGFzc2l2ZSAmJiBhY3RpdmVJbmRleCA8IGkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVJbmNvbWluZ01lc3NhZ2UoXG4gICAgbWVzc2FnZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlIHwgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZTogYW55ID0gbWVzc2FnZTtcblxuICAgIGxldCB0eXBlOiBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlO1xuXG4gICAgLy8gUHJpbnRzIGEgZGVwcmVjYXRpb24gd2FybmluZyBpZiB0aGUgY29uc3VtZXIgcHJvdmlkZXMgb25seSBgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZWAuXG4gICAgaWYgKHZhbHVlLnR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBcIltEZXByZWNhdGlvbiB3YXJuaW5nXSBUaGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGNvbXBvbmVudCdzIGBtZXNzYWdlU3RyZWFtYCBpbnB1dCBpcyBzZXQgXCIgK1xuICAgICAgICAgICd0byBgU3ViamVjdDxTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlPmAuIFdlIHdpbGwgcmVtb3ZlIHRoaXMgZGVwcmVjYXRlZCB0eXBlIGluICcgK1xuICAgICAgICAgICd0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIEluc3RlYWQsIHNldCB0aGUgYG1lc3NhZ2VTdHJlYW1gIGlucHV0IHRvIGEgdmFsdWUgb2YgJyArXG4gICAgICAgICAgJ2BTdWJqZWN0PFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZT5gLidcbiAgICAgICk7XG5cbiAgICAgIHR5cGUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHlwZSA9IHZhbHVlLnR5cGU7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUHJvZ3Jlc3M6XG4gICAgICAgIHRoaXMuZ290b05leHRTdGVwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUmVncmVzczpcbiAgICAgICAgdGhpcy5nb3RvUHJldmlvdXNTdGVwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuRmluaXNoOlxuICAgICAgICB0aGlzLmZpbmlzaFN0ZXBzKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUmVzZXQ6XG4gICAgICAgIHRoaXMucmVzZXRTdGVwcygpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLkdvVG86XG4gICAgICAgIGlmICghdmFsdWUuZGF0YSB8fCB2YWx1ZS5kYXRhLmFjdGl2ZUluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAnQSBtZXNzYWdlIHR5cGUgb2YgYFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuR29Ub2Agd2FzIHBhc3NlZCB0byB0aGUgcHJvZ3Jlc3MgJyArXG4gICAgICAgICAgICAgICdpbmRpY2F0b3IsIGJ1dCBubyBzdGVwIGluZGV4IHdhcyBwcm92aWRlZC4gWW91IGNhbiBwYXNzIHRoZSBkZXNpcmVkIGFjdGl2ZSAnICtcbiAgICAgICAgICAgICAgJ2luZGV4IHZpYTpcXG4nICtcbiAgICAgICAgICAgICAgJ3tcXG4nICtcbiAgICAgICAgICAgICAgJyAgdHlwZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5Hb1RvLFxcbicgK1xuICAgICAgICAgICAgICAnICBkYXRhOiB7IGFjdGl2ZUluZGV4OiAwIH1cXG4nICtcbiAgICAgICAgICAgICAgJ30nXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdvdG9TdGVwKHZhbHVlLmRhdGEuYWN0aXZlSW5kZXgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSB2aWV3IGFmdGVyIGEgbWVzc2FnZSBpcyByZWNlaXZlZC5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb01lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VTdHJlYW1TdWIpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubWVzc2FnZVN0cmVhbVN1YiA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX21lc3NhZ2VTdHJlYW0pIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViID0gdGhpcy5fbWVzc2FnZVN0cmVhbVxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSW5jb21pbmdNZXNzYWdlKG1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5Q2hhbmdlKGNoYW5nZT86IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5wcm9ncmVzc0NoYW5nZXMubmV4dChcbiAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHt9LFxuICAgICAgICB7XG4gICAgICAgICAgYWN0aXZlSW5kZXg6IHRoaXMuYWN0aXZlSW5kZXgsXG4gICAgICAgICAgaXRlbVN0YXR1c2VzOiB0aGlzLml0ZW1TdGF0dXNlcyxcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbmdlXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3JcIiBbbmdDbGFzc109XCJjc3NDbGFzc05hbWVzXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cImRpc3BsYXlNb2RlUmVzb2x2ZWQgPT09ICdob3Jpem9udGFsJ1wiXG4gICAgY2xhc3M9XCJza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLWhvcml6b250YWwtc3RhdHVzLW1hcmtlcnNcIlxuICA+XG4gICAgPHNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlclxuICAgICAgKm5nRm9yPVwibGV0IHN0YXR1cyBvZiBpdGVtU3RhdHVzZXNcIlxuICAgICAgW2Rpc3BsYXlNb2RlXT1cImRpc3BsYXlNb2RlUmVzb2x2ZWRcIlxuICAgICAgW3N0YXR1c109XCJzdGF0dXNcIlxuICAgID5cbiAgICA8L3NreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { SkyI18nModule } from '@skyux/i18n';
|
|
4
|
+
import { SkyIconModule } from '@skyux/indicators';
|
|
5
|
+
import { SkyThemeModule } from '@skyux/theme';
|
|
6
|
+
import { SkyProgressIndicatorResourcesModule } from '../shared/sky-progress-indicator-resources.module';
|
|
7
|
+
import { SkyProgressIndicatorItemComponent } from './progress-indicator-item/progress-indicator-item.component';
|
|
8
|
+
import { SkyProgressIndicatorNavButtonComponent } from './progress-indicator-nav-button/progress-indicator-nav-button.component';
|
|
9
|
+
import { SkyProgressIndicatorResetButtonComponent } from './progress-indicator-reset-button/progress-indicator-reset-button.component';
|
|
10
|
+
import { SkyProgressIndicatorStatusMarkerComponent } from './progress-indicator-status-marker/progress-indicator-status-marker.component';
|
|
11
|
+
import { SkyProgressIndicatorTitleComponent } from './progress-indicator-title/progress-indicator-title.component';
|
|
12
|
+
import { SkyProgressIndicatorComponent } from './progress-indicator.component';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export class SkyProgressIndicatorModule {
|
|
15
|
+
}
|
|
16
|
+
SkyProgressIndicatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
SkyProgressIndicatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorModule, declarations: [SkyProgressIndicatorComponent,
|
|
18
|
+
SkyProgressIndicatorItemComponent,
|
|
19
|
+
SkyProgressIndicatorNavButtonComponent,
|
|
20
|
+
SkyProgressIndicatorResetButtonComponent,
|
|
21
|
+
SkyProgressIndicatorStatusMarkerComponent,
|
|
22
|
+
SkyProgressIndicatorTitleComponent], imports: [CommonModule,
|
|
23
|
+
SkyI18nModule,
|
|
24
|
+
SkyIconModule,
|
|
25
|
+
SkyProgressIndicatorResourcesModule,
|
|
26
|
+
SkyThemeModule], exports: [SkyProgressIndicatorComponent,
|
|
27
|
+
SkyProgressIndicatorItemComponent,
|
|
28
|
+
SkyProgressIndicatorNavButtonComponent,
|
|
29
|
+
SkyProgressIndicatorResetButtonComponent,
|
|
30
|
+
SkyProgressIndicatorTitleComponent] });
|
|
31
|
+
SkyProgressIndicatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorModule, imports: [[
|
|
32
|
+
CommonModule,
|
|
33
|
+
SkyI18nModule,
|
|
34
|
+
SkyIconModule,
|
|
35
|
+
SkyProgressIndicatorResourcesModule,
|
|
36
|
+
SkyThemeModule,
|
|
37
|
+
]] });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorModule, decorators: [{
|
|
39
|
+
type: NgModule,
|
|
40
|
+
args: [{
|
|
41
|
+
declarations: [
|
|
42
|
+
SkyProgressIndicatorComponent,
|
|
43
|
+
SkyProgressIndicatorItemComponent,
|
|
44
|
+
SkyProgressIndicatorNavButtonComponent,
|
|
45
|
+
SkyProgressIndicatorResetButtonComponent,
|
|
46
|
+
SkyProgressIndicatorStatusMarkerComponent,
|
|
47
|
+
SkyProgressIndicatorTitleComponent,
|
|
48
|
+
],
|
|
49
|
+
imports: [
|
|
50
|
+
CommonModule,
|
|
51
|
+
SkyI18nModule,
|
|
52
|
+
SkyIconModule,
|
|
53
|
+
SkyProgressIndicatorResourcesModule,
|
|
54
|
+
SkyThemeModule,
|
|
55
|
+
],
|
|
56
|
+
exports: [
|
|
57
|
+
SkyProgressIndicatorComponent,
|
|
58
|
+
SkyProgressIndicatorItemComponent,
|
|
59
|
+
SkyProgressIndicatorNavButtonComponent,
|
|
60
|
+
SkyProgressIndicatorResetButtonComponent,
|
|
61
|
+
SkyProgressIndicatorTitleComponent,
|
|
62
|
+
],
|
|
63
|
+
}]
|
|
64
|
+
}] });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFeEcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDaEgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDakksT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDdkksT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDMUksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbkgsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBMEIvRSxNQUFNLE9BQU8sMEJBQTBCOzt1SEFBMUIsMEJBQTBCO3dIQUExQiwwQkFBMEIsaUJBdEJuQyw2QkFBNkI7UUFDN0IsaUNBQWlDO1FBQ2pDLHNDQUFzQztRQUN0Qyx3Q0FBd0M7UUFDeEMseUNBQXlDO1FBQ3pDLGtDQUFrQyxhQUdsQyxZQUFZO1FBQ1osYUFBYTtRQUNiLGFBQWE7UUFDYixtQ0FBbUM7UUFDbkMsY0FBYyxhQUdkLDZCQUE2QjtRQUM3QixpQ0FBaUM7UUFDakMsc0NBQXNDO1FBQ3RDLHdDQUF3QztRQUN4QyxrQ0FBa0M7d0hBR3pCLDBCQUEwQixZQWY1QjtZQUNQLFlBQVk7WUFDWixhQUFhO1lBQ2IsYUFBYTtZQUNiLG1DQUFtQztZQUNuQyxjQUFjO1NBQ2Y7MkZBU1UsMEJBQTBCO2tCQXhCdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QixpQ0FBaUM7d0JBQ2pDLHNDQUFzQzt3QkFDdEMsd0NBQXdDO3dCQUN4Qyx5Q0FBeUM7d0JBQ3pDLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLG1DQUFtQzt3QkFDbkMsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsNkJBQTZCO3dCQUM3QixpQ0FBaUM7d0JBQ2pDLHNDQUFzQzt3QkFDdEMsd0NBQXdDO3dCQUN4QyxrQ0FBa0M7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LXByb2dyZXNzLWluZGljYXRvci1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvclJlc2V0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uL3Byb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yU3RhdHVzTWFya2VyQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlL3Byb2dyZXNzLWluZGljYXRvci10aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1Db21wb25lbnQsXG4gICAgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25Db21wb25lbnQsXG4gICAgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JSZXNldEJ1dHRvbkNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvclN0YXR1c01hcmtlckNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvclRpdGxlQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreUkxOG5Nb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvclJlc291cmNlc01vZHVsZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbUNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvclJlc2V0QnV0dG9uQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yVGl0bGVDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVByb2dyZXNzSW5kaWNhdG9yTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLWFjdGlvbi1jbGljay1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1hY3Rpb24tY2xpY2stYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja1Byb2dyZXNzSGFuZGxlciB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLWFjdGlvbi1jbGljay1wcm9ncmVzcy1oYW5kbGVyJztcblxuLyoqXG4gKiBUaGUgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgYGFjdGlvbkNsaWNrYCBldmVudCBoYW5kbGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreVByb2dyZXNzSW5kaWNhdG9yQWN0aW9uQ2xpY2tBcmdzIHtcbiAgLyoqXG4gICAqIFRoZSBwcm9ncmVzcyBoYW5kbGVyIG9iamVjdCB0aGF0IGFsbG93cyBjb25zdW1lcnMgdG8gdHJpZ2dlciBzdGVwIGFkdmFuY2VtZW50IG1hbnVhbGx5LlxuICAgKi9cbiAgcHJvZ3Jlc3NIYW5kbGVyOiBTa3lQcm9ncmVzc0luZGljYXRvckFjdGlvbkNsaWNrUHJvZ3Jlc3NIYW5kbGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbW91c2UgZXZlbnQgZnJvbSB0aGUgdXNlciBjbGljay5cbiAgICovXG4gIGV2ZW50OiBNb3VzZUV2ZW50O1xufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Allows the consumer to decide whether the button's action should be completed successfully.
|
|
3
|
+
* The handler is provided with all nav button types.
|
|
4
|
+
*/
|
|
5
|
+
export class SkyProgressIndicatorActionClickProgressHandler {
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @param advance Advances the progress indicator to the next step.
|
|
9
|
+
*/
|
|
10
|
+
constructor(advance) {
|
|
11
|
+
this.advance = advance;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLWFjdGlvbi1jbGljay1wcm9ncmVzcy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1hY3Rpb24tY2xpY2stcHJvZ3Jlc3MtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sOENBQThDO0lBQ3pEOzs7T0FHRztJQUNILFlBQTRCLE9BQWlCO1FBQWpCLFlBQU8sR0FBUCxPQUFPLENBQVU7SUFBRyxDQUFDO0NBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBbGxvd3MgdGhlIGNvbnN1bWVyIHRvIGRlY2lkZSB3aGV0aGVyIHRoZSBidXR0b24ncyBhY3Rpb24gc2hvdWxkIGJlIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuXG4gKiBUaGUgaGFuZGxlciBpcyBwcm92aWRlZCB3aXRoIGFsbCBuYXYgYnV0dG9uIHR5cGVzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja1Byb2dyZXNzSGFuZGxlciB7XG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gYWR2YW5jZSBBZHZhbmNlcyB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIHRvIHRoZSBuZXh0IHN0ZXAuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgYWR2YW5jZTogRnVuY3Rpb24pIHt9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLXN0YXR1cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDaGFuZ2Uge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBhY3RpdmUgaXRlbS5cbiAgICovXG4gIGFjdGl2ZUluZGV4PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgaXNDb21wbGV0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSB3aXRoIHRoZSBzdGF0dXMgb2YgZWFjaCBpdGVtLlxuICAgKi9cbiAgaXRlbVN0YXR1c2VzPzogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzW107XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLWRpc3BsYXktbW9kZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1kaXNwbGF5LW1vZGUtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZVR5cGUgPVxuICB8IDBcbiAgfCAxXG4gIHwgJ3ZlcnRpY2FsJ1xuICB8ICdob3Jpem9udGFsJztcbiJdfQ==
|