@skyux/progress-indicator 5.0.2 → 5.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/skyux-progress-indicator.umd.js +30 -30
- package/documentation.json +7 -7
- package/esm2015/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.js +3 -3
- package/esm2015/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.js +6 -6
- package/esm2015/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.js +3 -3
- package/esm2015/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.js +3 -3
- package/esm2015/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.js +3 -3
- package/esm2015/modules/progress-indicator/progress-indicator.component.js +5 -5
- package/esm2015/modules/progress-indicator/progress-indicator.module.js +4 -4
- package/esm2015/modules/shared/sky-progress-indicator-resources.module.js +4 -4
- package/fesm2015/skyux-progress-indicator.js +29 -29
- package/fesm2015/skyux-progress-indicator.js.map +1 -1
- package/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.d.ts +3 -3
- package/modules/progress-indicator/progress-indicator.component.d.ts +1 -1
- package/package.json +6 -6
|
@@ -27,7 +27,7 @@ export class SkyProgressIndicatorComponent {
|
|
|
27
27
|
* and [waterfall progress indicators](https://developer.blackbaud.com/skyux/components/progress-indicator/waterfall-progress-indicator),
|
|
28
28
|
* use the vertical display mode. For [modal wizards](https://developer.blackbaud.com/skyux/components/wizard),
|
|
29
29
|
* use the horizontal display mode.
|
|
30
|
-
* @default
|
|
30
|
+
* @default "vertical"
|
|
31
31
|
*/
|
|
32
32
|
set displayMode(value) {
|
|
33
33
|
this._displayMode = value;
|
|
@@ -289,9 +289,9 @@ export class SkyProgressIndicatorComponent {
|
|
|
289
289
|
}, change));
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
|
-
SkyProgressIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
293
|
-
SkyProgressIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
294
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
292
|
+
SkyProgressIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
293
|
+
SkyProgressIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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 });
|
|
294
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorComponent, decorators: [{
|
|
295
295
|
type: Component,
|
|
296
296
|
args: [{
|
|
297
297
|
selector: 'sky-progress-indicator',
|
|
@@ -313,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
313
313
|
type: ContentChildren,
|
|
314
314
|
args: [SkyProgressIndicatorItemComponent]
|
|
315
315
|
}] } });
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBSWhILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSWxGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSXhGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7OztBQVExRixNQUFNLE9BQU8sNkJBQTZCO0lBMkp4QyxZQUNVLGNBQWlDLEVBQ2pDLFNBQTBCO1FBRDFCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQXBGcEM7O1dBRUc7UUFFSSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBa0VoRSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixrQkFBYSxHQUFHLElB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c0JBRHJCLEtBQUs7Z0JBbUJLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBb0JLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBaUJLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBYUMsZUFBZTtzQkFEckIsTUFBTTtnQkE4Q0MsY0FBYztzQkFEckIsZUFBZTt1QkFBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBkZWxheSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1pdGVtL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlIH0gZnJvbSAnLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItY2hhbmdlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1vZGUnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlVHlwZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWRpc3BsYXktbW9kZS10eXBlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzIH0gZnJvbSAnLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS1zdGF0dXMnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1tZXNzYWdlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1lc3NhZ2UtdHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBkaXNwbGF5IHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgdmVydGljYWxseSBvciBob3Jpem9udGFsbHkuXG4gICAqIEZvciBbcGFzc2l2ZSBwcm9ncmVzcyBpbmRpY2F0b3JzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LXByb2dyZXNzLWluZGljYXRvci9kb2NzL3Bhc3NpdmUtaW5kaWNhdG9yKVxuICAgKiBhbmQgW3dhdGVyZmFsbCBwcm9ncmVzcyBpbmRpY2F0b3JzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3dhdGVyZmFsbC1wcm9ncmVzcy1pbmRpY2F0b3IpLFxuICAgKiB1c2UgdGhlIHZlcnRpY2FsIGRpc3BsYXkgbW9kZS4gRm9yIFttb2RhbCB3aXphcmRzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvd2l6YXJkKSxcbiAgICogdXNlIHRoZSBob3Jpem9udGFsIGRpc3BsYXkgbW9kZS5cbiAgICogQGRlZmF1bHQgJ3ZlcnRpY2FsJ1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5TW9kZSh2YWx1ZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZVR5cGUpIHtcbiAgICB0aGlzLl9kaXNwbGF5TW9kZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5TW9kZSgpOiBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlVHlwZSB7XG4gICAgaWYgKHRoaXMuX2Rpc3BsYXlNb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAndmVydGljYWwnO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5TW9kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGlzIHBhc3NpdmUuIFBhc3NpdmUgcHJvZ3Jlc3MgaW5kaWNhdG9ycyBpbmZvcm0gdXNlcnMgb2ZcbiAgICogcHJvZ3Jlc3MgdGhhdCBjb25jZXJucyB0aGVtIGJ1dCB0aGF0IHRoZXkgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IsIGFuZCB0aGV5IG11c3QgdXNlIHRoZSB2ZXJ0aWNhbCBkaXNwbGF5IG1vZGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzUGFzc2l2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzUGFzc2l2ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1Bhc3NpdmUoKTogYm9vbGVhbiB7XG4gICAgLy8gQ3VycmVudGx5LCBwYXNzaXZlIG1vZGUgaXMgbm90IHN1cHBvcnRlZCBmb3IgaG9yaXpvbnRhbCBkaXNwbGF5cy5cbiAgICBpZiAodGhpcy5kaXNwbGF5TW9kZVJlc29sdmVkID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5faXNQYXNzaXZlIHx8IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBvYnNlcnZhYmxlIG9mIGBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VgIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc3RhdHVzIHRvXG4gICAqIGRpc3BsYXkgZm9yIGl0ZW1zIGluIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IuIFRoZSBtZXNzYWdlIHN0cmVhbSBpcyBhIHF1ZXVlIG9mXG4gICAqIGNvbW1hbmRpbmcgbWVzc2FnZXMgdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGJhc2VkIG9uIHRoZSBtZXNzYWdlIHR5cGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1lc3NhZ2VTdHJlYW0oXG4gICAgdmFsdWU6IFN1YmplY3Q8XG4gICAgICBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UgfCBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlXG4gICAgPlxuICApIHtcbiAgICB0aGlzLl9tZXNzYWdlU3RyZWFtID0gdmFsdWU7XG5cbiAgICB0aGlzLnN1YnNjcmliZVRvTWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgaW5kZXggZm9yIHRoZSBpdGVtIHRvIG1ha2UgYWN0aXZlIHdoZW4gdGhlIHByb2dyZXNzIGluZGljYXRvclxuICAgKiBsb2Fkcy4gQWxsIHN0ZXBzIHRoYXQgcHJlY2VkZSB0aGUgYWN0aXZlIGl0ZW0gYXJlIG1hcmtlZCBhcyBjb21wbGV0ZSwgYW5kIGFsbCBzdGVwc1xuICAgKiB0aGF0IGZvbGxvdyB0aGUgYWN0aXZlIGl0ZW0gYXJlIG1hcmtlZCBhcyBpbmNvbXBsZXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdGFydGluZ0luZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9zdGFydGluZ0luZGV4ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXJ0aW5nSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRpbmdJbmRleCB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHByb2dyZXNzIGluZGljYXRvciBjaGFuZ2VzIHRoZSBzdGF0dXMgb2YgYW4gaXRlbS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcHJvZ3Jlc3NDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZT4oKTtcblxuICBwdWJsaWMgZ2V0IGNzc0NsYXNzTmFtZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW1xuICAgICAgYHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbW9kZS0ke3RoaXMuZGlzcGxheU1vZGVSZXNvbHZlZH1gLFxuICAgIF07XG5cbiAgICBpZiAodGhpcy5pc1Bhc3NpdmUpIHtcbiAgICAgIGNsYXNzTmFtZXMucHVzaCgnc2t5LXByb2dyZXNzLWluZGljYXRvci1wYXNzaXZlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbignICcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5ld2x5LXN1cHBvcnRlZCBzdHJpbmcgdW5pb24gdHlwZSB2YWx1ZSB0byBiZSB1c2VkIGJ5IHRoZSB0ZW1wbGF0ZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc3BsYXlNb2RlUmVzb2x2ZWQoKTogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyB7XG4gICAgc3dpdGNoICh0aGlzLmRpc3BsYXlNb2RlKSB7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yRGlzcGxheU1vZGUuVmVydGljYWw6XG4gICAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICAgIHJldHVybiAndmVydGljYWwnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdob3Jpem9udGFsJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0ZpbmlzaEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzRmluaXNoQnV0dG9uIHx8IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNldCBoYXNGaW5pc2hCdXR0b24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9oYXNGaW5pc2hCdXR0b24gPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlbVN0YXR1c2VzKCk6IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1c1tdIHtcbiAgICBpZiAoIXRoaXMuaXRlbUNvbXBvbmVudHMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pdGVtQ29tcG9uZW50cy5tYXAoKGMpID0+IGMuc3RhdHVzKTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtQ29tcG9uZW50KVxuICBwcml2YXRlIGl0ZW1Db21wb25lbnRzOiBRdWVyeUxpc3Q8U2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtQ29tcG9uZW50PjtcblxuICBwcml2YXRlIGdldCBhY3RpdmVJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVJbmRleCB8fCAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgYWN0aXZlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIGNvbnN0IGxhc3RJbmRleCA9IHRoaXMuaXRlbUNvbXBvbmVudHMubGVuZ3RoIC0gMTtcblxuICAgIGxldCBuZXdJbmRleCA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlID4gbGFzdEluZGV4KSB7XG4gICAgICBuZXdJbmRleCA9IGxhc3RJbmRleDtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgbmV3SW5kZXggPSAwO1xuICAgIH1cblxuICAgIHRoaXMuX2FjdGl2ZUluZGV4ID0gbmV3SW5kZXg7XG4gIH1cblxuICBwcml2YXRlIG1lc3NhZ2VTdHJlYW1TdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2FjdGl2ZUluZGV4OiBudW1iZXI7XG4gIHByaXZhdGUgX2Rpc3BsYXlNb2RlOiBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlVHlwZTtcbiAgcHJpdmF0ZSBfaGFzRmluaXNoQnV0dG9uOiBib29sZWFuO1xuICBwcml2YXRlIF9pc1Bhc3NpdmU6IGJvb2xlYW47XG4gIHByaXZhdGUgX21lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UgfCBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlXG4gID4oKTtcbiAgcHJpdmF0ZSBfc3RhcnRpbmdJbmRleDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWZcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgIHRoaXMuc3Vic2NyaWJlVG9NZXNzYWdlU3RyZWFtKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLnN0YXJ0aW5nSW5kZXg7XG5cbiAgICB0aGlzLnVwZGF0ZVN0ZXBzKCk7XG5cbiAgICAvLyBOb3RlOiBUaGUgZGVsYXkgaGVyZSBpcyB0byBlbnN1cmUgYWxsIGNoYW5nZSBkZXRlY3Rpb24gb24gdGhlIGl0ZW1zIGhhcyBmaW5pc2hlZC4gV2l0aG91dFxuICAgIC8vIHRoZSBkZWxheSB3ZSByZWNlaXZlIGEgY2hhbmdlZCBiZWZvcmUgY2hlY2tlZCBlcnJvciBmb3IgdmVydGljYWwgcHJvZ3Jlc3MgaW5kaWNhdG9yc1xuICAgIHRoaXMuaXRlbUNvbXBvbmVudHMuY2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksIGRlbGF5KDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlU3RlcHMoKTtcbiAgICAgICAgdGhpcy5ub3RpZnlDaGFuZ2UoKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gV2FpdCBmb3IgaXRlbSBjb21wb25lbnRzJyBjaGFuZ2UgZGV0ZWN0aW9uIHRvIGNvbXBsZXRlXG4gICAgLy8gYmVmb3JlIG5vdGlmeWluZyBjaGFuZ2VzIHRvIHRoZSBjb25zdW1lci5cbiAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmeUNoYW5nZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VuZE1lc3NhZ2UobWVzc2FnZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlKTogdm9pZCB7XG4gICAgdGhpcy5fbWVzc2FnZVN0cmVhbS5uZXh0KG1lc3NhZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb3RvTmV4dFN0ZXAoKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dEluZGV4ID0gdGhpcy5hY3RpdmVJbmRleCArIDE7XG4gICAgY29uc3QgbGFzdEluZGV4ID0gdGhpcy5pdGVtQ29tcG9uZW50cy5sZW5ndGggLSAxO1xuXG4gICAgaWYgKG5leHRJbmRleCA+IGxhc3RJbmRleCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ290b1N0ZXAobmV4dEluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgZ290b1ByZXZpb3VzU3RlcCgpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gdGhpcy5hY3RpdmVJbmRleCAtIDE7XG5cbiAgICBpZiAocHJldmlvdXNJbmRleCA8IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmdvdG9TdGVwKHByZXZpb3VzSW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb3RvU3RlcChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgIHRoaXMudXBkYXRlU3RlcHMoKTtcbiAgICB0aGlzLm5vdGlmeUNoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5pc2hTdGVwcygpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdGhpcy5pdGVtQ29tcG9uZW50cy5sZW5ndGggLSAxO1xuXG4gICAgdGhpcy5pdGVtQ29tcG9uZW50cy5mb3JFYWNoKChjb21wb25lbnQpID0+IHtcbiAgICAgIGNvbXBvbmVudC5zdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuQ29tcGxldGU7XG4gICAgfSk7XG5cbiAgICB0aGlzLm5vdGlmeUNoYW5nZSh7XG4gICAgICBpc0NvbXBsZXRlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuZ290b1N0ZXAoMCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0ZXBzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4ID4gdGhpcy5pdGVtQ29tcG9uZW50cy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4LS07XG4gICAgfVxuXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSB0aGlzLmFjdGl2ZUluZGV4O1xuICAgIGNvbnN0IGlzUGFzc2l2ZSA9IHRoaXMuaXNQYXNzaXZlO1xuICAgIGNvbnN0IGlzVmVydGljYWwgPSB0aGlzLmRpc3BsYXlNb2RlUmVzb2x2ZWQgPT09ICd2ZXJ0aWNhbCc7XG5cbiAgICB0aGlzLml0ZW1Db21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudCwgaSkgPT4ge1xuICAgICAgLy8gU2V0IHZpc2liaWxpdHkuXG4gICAgICBjb21wb25lbnQuaXNWaXNpYmxlID0gYWN0aXZlSW5kZXggPT09IGkgfHwgaXNWZXJ0aWNhbDtcblxuICAgICAgLy8gU2V0IHN0YXR1cy5cbiAgICAgIGxldCBzdGF0dXM6IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cztcbiAgICAgIGlmIChhY3RpdmVJbmRleCA9PT0gaSkge1xuICAgICAgICBpZiAoaXNQYXNzaXZlKSB7XG4gICAgICAgICAgc3RhdHVzID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLlBlbmRpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdHVzID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkFjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChhY3RpdmVJbmRleCA+IGkpIHtcbiAgICAgICAgc3RhdHVzID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkNvbXBsZXRlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdHVzID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkluY29tcGxldGU7XG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudC5zdGF0dXMgPSBzdGF0dXM7XG5cbiAgICAgIC8vIFNob3cgb3IgaGlkZSB0aGUgc3RhdHVzIG1hcmtlcnMuXG4gICAgICBjb21wb25lbnQuc2hvd1N0YXR1c01hcmtlciA9IGlzVmVydGljYWw7XG5cbiAgICAgIC8vIFNob3cgb3IgaGlkZSB0aGUgc3RlcCBudW1iZXIuXG4gICAgICBpZiAoaXNQYXNzaXZlKSB7XG4gICAgICAgIGNvbXBvbmVudC5oaWRlU3RlcE51bWJlcigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcG9uZW50LnNob3dTdGVwTnVtYmVyKGkgKyAxKTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgd2UncmUgaW4gcGFzc2l2ZSBtb2RlLCBkb24ndCBzaG93IHRpdGxlcyBmb3IgaW5jb21wbGV0ZSBpdGVtcy5cbiAgICAgIGNvbXBvbmVudC5zaG93VGl0bGUgPSAhKGlzUGFzc2l2ZSAmJiBhY3RpdmVJbmRleCA8IGkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVJbmNvbWluZ01lc3NhZ2UoXG4gICAgbWVzc2FnZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlIHwgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZTogYW55ID0gbWVzc2FnZTtcblxuICAgIGxldCB0eXBlOiBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlO1xuXG4gICAgLy8gUHJpbnRzIGEgZGVwcmVjYXRpb24gd2FybmluZyBpZiB0aGUgY29uc3VtZXIgcHJvdmlkZXMgb25seSBgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZWAuXG4gICAgaWYgKHZhbHVlLnR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBcIltEZXByZWNhdGlvbiB3YXJuaW5nXSBUaGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGNvbXBvbmVudCdzIGBtZXNzYWdlU3RyZWFtYCBpbnB1dCBpcyBzZXQgXCIgK1xuICAgICAgICAgICd0byBgU3ViamVjdDxTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlPmAuIFdlIHdpbGwgcmVtb3ZlIHRoaXMgZGVwcmVjYXRlZCB0eXBlIGluICcgK1xuICAgICAgICAgICd0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIEluc3RlYWQsIHNldCB0aGUgYG1lc3NhZ2VTdHJlYW1gIGlucHV0IHRvIGEgdmFsdWUgb2YgJyArXG4gICAgICAgICAgJ2BTdWJqZWN0PFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZT5gLidcbiAgICAgICk7XG5cbiAgICAgIHR5cGUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHlwZSA9IHZhbHVlLnR5cGU7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUHJvZ3Jlc3M6XG4gICAgICAgIHRoaXMuZ290b05leHRTdGVwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUmVncmVzczpcbiAgICAgICAgdGhpcy5nb3RvUHJldmlvdXNTdGVwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuRmluaXNoOlxuICAgICAgICB0aGlzLmZpbmlzaFN0ZXBzKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUmVzZXQ6XG4gICAgICAgIHRoaXMucmVzZXRTdGVwcygpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLkdvVG86XG4gICAgICAgIGlmICghdmFsdWUuZGF0YSB8fCB2YWx1ZS5kYXRhLmFjdGl2ZUluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAnQSBtZXNzYWdlIHR5cGUgb2YgYFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuR29Ub2Agd2FzIHBhc3NlZCB0byB0aGUgcHJvZ3Jlc3MgJyArXG4gICAgICAgICAgICAgICdpbmRpY2F0b3IsIGJ1dCBubyBzdGVwIGluZGV4IHdhcyBwcm92aWRlZC4gWW91IGNhbiBwYXNzIHRoZSBkZXNpcmVkIGFjdGl2ZSAnICtcbiAgICAgICAgICAgICAgJ2luZGV4IHZpYTpcXG4nICtcbiAgICAgICAgICAgICAgJ3tcXG4nICtcbiAgICAgICAgICAgICAgJyAgdHlwZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5Hb1RvLFxcbicgK1xuICAgICAgICAgICAgICAnICBkYXRhOiB7IGFjdGl2ZUluZGV4OiAwIH1cXG4nICtcbiAgICAgICAgICAgICAgJ30nXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdvdG9TdGVwKHZhbHVlLmRhdGEuYWN0aXZlSW5kZXgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSB2aWV3IGFmdGVyIGEgbWVzc2FnZSBpcyByZWNlaXZlZC5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb01lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VTdHJlYW1TdWIpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubWVzc2FnZVN0cmVhbVN1YiA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX21lc3NhZ2VTdHJlYW0pIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViID0gdGhpcy5fbWVzc2FnZVN0cmVhbVxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSW5jb21pbmdNZXNzYWdlKG1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5Q2hhbmdlKGNoYW5nZT86IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5wcm9ncmVzc0NoYW5nZXMubmV4dChcbiAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHt9LFxuICAgICAgICB7XG4gICAgICAgICAgYWN0aXZlSW5kZXg6IHRoaXMuYWN0aXZlSW5kZXgsXG4gICAgICAgICAgaXRlbVN0YXR1c2VzOiB0aGlzLml0ZW1TdGF0dXNlcyxcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbmdlXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3JcIiBbbmdDbGFzc109XCJjc3NDbGFzc05hbWVzXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cImRpc3BsYXlNb2RlUmVzb2x2ZWQgPT09ICdob3Jpem9udGFsJ1wiXG4gICAgY2xhc3M9XCJza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLWhvcml6b250YWwtc3RhdHVzLW1hcmtlcnNcIlxuICA+XG4gICAgPHNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlclxuICAgICAgKm5nRm9yPVwibGV0IHN0YXR1cyBvZiBpdGVtU3RhdHVzZXNcIlxuICAgICAgW2Rpc3BsYXlNb2RlXT1cImRpc3BsYXlNb2RlUmVzb2x2ZWRcIlxuICAgICAgW3N0YXR1c109XCJzdGF0dXNcIlxuICAgID5cbiAgICA8L3NreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBSWhILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSWxGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSXhGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7OztBQVExRixNQUFNLE9BQU8sNkJBQTZCO0lBMkp4QyxZQUNVLGNBQWlDLEVBQ2pDLFNBQTBCO1FBRDFCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQXBGcEM7O1dBRUc7UUFFSSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBa0VoRSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixrQkFBYSxHQUFHLElB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c0JBRHJCLEtBQUs7Z0JBbUJLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBb0JLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBaUJLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBYUMsZUFBZTtzQkFEckIsTUFBTTtnQkE4Q0MsY0FBYztzQkFEckIsZUFBZTt1QkFBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBkZWxheSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1pdGVtL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlIH0gZnJvbSAnLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItY2hhbmdlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1vZGUnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlVHlwZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWRpc3BsYXktbW9kZS10eXBlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzIH0gZnJvbSAnLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS1zdGF0dXMnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1tZXNzYWdlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1lc3NhZ2UtdHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBkaXNwbGF5IHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgdmVydGljYWxseSBvciBob3Jpem9udGFsbHkuXG4gICAqIEZvciBbcGFzc2l2ZSBwcm9ncmVzcyBpbmRpY2F0b3JzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LXByb2dyZXNzLWluZGljYXRvci9kb2NzL3Bhc3NpdmUtaW5kaWNhdG9yKVxuICAgKiBhbmQgW3dhdGVyZmFsbCBwcm9ncmVzcyBpbmRpY2F0b3JzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3dhdGVyZmFsbC1wcm9ncmVzcy1pbmRpY2F0b3IpLFxuICAgKiB1c2UgdGhlIHZlcnRpY2FsIGRpc3BsYXkgbW9kZS4gRm9yIFttb2RhbCB3aXphcmRzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvd2l6YXJkKSxcbiAgICogdXNlIHRoZSBob3Jpem9udGFsIGRpc3BsYXkgbW9kZS5cbiAgICogQGRlZmF1bHQgXCJ2ZXJ0aWNhbFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc3BsYXlNb2RlKHZhbHVlOiBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlVHlwZSkge1xuICAgIHRoaXMuX2Rpc3BsYXlNb2RlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlNb2RlKCk6IFNreVByb2dyZXNzSW5kaWNhdG9yRGlzcGxheU1vZGVUeXBlIHtcbiAgICBpZiAodGhpcy5fZGlzcGxheU1vZGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuICd2ZXJ0aWNhbCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlNb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgaXMgcGFzc2l2ZS4gUGFzc2l2ZSBwcm9ncmVzcyBpbmRpY2F0b3JzIGluZm9ybSB1c2VycyBvZlxuICAgKiBwcm9ncmVzcyB0aGF0IGNvbmNlcm5zIHRoZW0gYnV0IHRoYXQgdGhleSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciwgYW5kIHRoZXkgbXVzdCB1c2UgdGhlIHZlcnRpY2FsIGRpc3BsYXkgbW9kZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNQYXNzaXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNQYXNzaXZlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUGFzc2l2ZSgpOiBib29sZWFuIHtcbiAgICAvLyBDdXJyZW50bHksIHBhc3NpdmUgbW9kZSBpcyBub3Qgc3VwcG9ydGVkIGZvciBob3Jpem9udGFsIGRpc3BsYXlzLlxuICAgIGlmICh0aGlzLmRpc3BsYXlNb2RlUmVzb2x2ZWQgPT09ICdob3Jpem9udGFsJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9pc1Bhc3NpdmUgfHwgZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIG9ic2VydmFibGUgb2YgYFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZWAgdGhhdCBkZXRlcm1pbmVzIHRoZSBzdGF0dXMgdG9cbiAgICogZGlzcGxheSBmb3IgaXRlbXMgaW4gdGhlIHByb2dyZXNzIGluZGljYXRvci4gVGhlIG1lc3NhZ2Ugc3RyZWFtIGlzIGEgcXVldWUgb2ZcbiAgICogY29tbWFuZGluZyBtZXNzYWdlcyB0byBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgYmFzZWQgb24gdGhlIG1lc3NhZ2UgdHlwZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWVzc2FnZVN0cmVhbShcbiAgICB2YWx1ZTogU3ViamVjdDxcbiAgICAgIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZSB8IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGVcbiAgICA+XG4gICkge1xuICAgIHRoaXMuX21lc3NhZ2VTdHJlYW0gPSB2YWx1ZTtcblxuICAgIHRoaXMuc3Vic2NyaWJlVG9NZXNzYWdlU3RyZWFtKCk7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBpbmRleCBmb3IgdGhlIGl0ZW0gdG8gbWFrZSBhY3RpdmUgd2hlbiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yXG4gICAqIGxvYWRzLiBBbGwgc3RlcHMgdGhhdCBwcmVjZWRlIHRoZSBhY3RpdmUgaXRlbSBhcmUgbWFya2VkIGFzIGNvbXBsZXRlLCBhbmQgYWxsIHN0ZXBzXG4gICAqIHRoYXQgZm9sbG93IHRoZSBhY3RpdmUgaXRlbSBhcmUgbWFya2VkIGFzIGluY29tcGxldGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHN0YXJ0aW5nSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3N0YXJ0aW5nSW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhcnRpbmdJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zdGFydGluZ0luZGV4IHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGNoYW5nZXMgdGhlIHN0YXR1cyBvZiBhbiBpdGVtLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBwcm9ncmVzc0NoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlPigpO1xuXG4gIHB1YmxpYyBnZXQgY3NzQ2xhc3NOYW1lcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXG4gICAgICBgc2t5LXByb2dyZXNzLWluZGljYXRvci1tb2RlLSR7dGhpcy5kaXNwbGF5TW9kZVJlc29sdmVkfWAsXG4gICAgXTtcblxuICAgIGlmICh0aGlzLmlzUGFzc2l2ZSkge1xuICAgICAgY2xhc3NOYW1lcy5wdXNoKCdza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLXBhc3NpdmUnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcy5qb2luKCcgJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbmV3bHktc3VwcG9ydGVkIHN0cmluZyB1bmlvbiB0eXBlIHZhbHVlIHRvIGJlIHVzZWQgYnkgdGhlIHRlbXBsYXRlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgZGlzcGxheU1vZGVSZXNvbHZlZCgpOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnIHtcbiAgICBzd2l0Y2ggKHRoaXMuZGlzcGxheU1vZGUpIHtcbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZS5WZXJ0aWNhbDpcbiAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgcmV0dXJuICd2ZXJ0aWNhbCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2hvcml6b250YWwnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzRmluaXNoQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNGaW5pc2hCdXR0b24gfHwgZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2V0IGhhc0ZpbmlzaEJ1dHRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2hhc0ZpbmlzaEJ1dHRvbiA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBpdGVtU3RhdHVzZXMoKTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzW10ge1xuICAgIGlmICghdGhpcy5pdGVtQ29tcG9uZW50cykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLml0ZW1Db21wb25lbnRzLm1hcCgoYykgPT4gYy5zdGF0dXMpO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1Db21wb25lbnQpXG4gIHByaXZhdGUgaXRlbUNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1Db21wb25lbnQ+O1xuXG4gIHByaXZhdGUgZ2V0IGFjdGl2ZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUluZGV4IHx8IDA7XG4gIH1cblxuICBwcml2YXRlIHNldCBhY3RpdmVJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgbGFzdEluZGV4ID0gdGhpcy5pdGVtQ29tcG9uZW50cy5sZW5ndGggLSAxO1xuXG4gICAgbGV0IG5ld0luZGV4ID0gdmFsdWU7XG5cbiAgICBpZiAodmFsdWUgPiBsYXN0SW5kZXgpIHtcbiAgICAgIG5ld0luZGV4ID0gbGFzdEluZGV4O1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPCAwKSB7XG4gICAgICBuZXdJbmRleCA9IDA7XG4gICAgfVxuXG4gICAgdGhpcy5fYWN0aXZlSW5kZXggPSBuZXdJbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgbWVzc2FnZVN0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZGlzcGxheU1vZGU6IFNreVByb2dyZXNzSW5kaWNhdG9yRGlzcGxheU1vZGVUeXBlO1xuICBwcml2YXRlIF9oYXNGaW5pc2hCdXR0b246IGJvb2xlYW47XG4gIHByaXZhdGUgX2lzUGFzc2l2ZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfbWVzc2FnZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZSB8IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGVcbiAgPigpO1xuICBwcml2YXRlIF9zdGFydGluZ0luZGV4OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZlxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5zdWJzY3JpYmVUb01lc3NhZ2VTdHJlYW0oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IHRoaXMuc3RhcnRpbmdJbmRleDtcblxuICAgIHRoaXMudXBkYXRlU3RlcHMoKTtcblxuICAgIC8vIE5vdGU6IFRoZSBkZWxheSBoZXJlIGlzIHRvIGVuc3VyZSBhbGwgY2hhbmdlIGRldGVjdGlvbiBvbiB0aGUgaXRlbXMgaGFzIGZpbmlzaGVkLiBXaXRob3V0XG4gICAgLy8gdGhlIGRlbGF5IHdlIHJlY2VpdmUgYSBjaGFuZ2VkIGJlZm9yZSBjaGVja2VkIGVycm9yIGZvciB2ZXJ0aWNhbCBwcm9ncmVzcyBpbmRpY2F0b3JzXG4gICAgdGhpcy5pdGVtQ29tcG9uZW50cy5jaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSwgZGVsYXkoMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVTdGVwcygpO1xuICAgICAgICB0aGlzLm5vdGlmeUNoYW5nZSgpO1xuICAgICAgfSk7XG5cbiAgICAvLyBXYWl0IGZvciBpdGVtIGNvbXBvbmVudHMnIGNoYW5nZSBkZXRlY3Rpb24gdG8gY29tcGxldGVcbiAgICAvLyBiZWZvcmUgbm90aWZ5aW5nIGNoYW5nZXMgdG8gdGhlIGNvbnN1bWVyLlxuICAgIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubm90aWZ5Q2hhbmdlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kTWVzc2FnZShtZXNzYWdlOiBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UpOiB2b2lkIHtcbiAgICB0aGlzLl9tZXNzYWdlU3RyZWFtLm5leHQobWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIGdvdG9OZXh0U3RlcCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSB0aGlzLmFjdGl2ZUluZGV4ICsgMTtcbiAgICBjb25zdCBsYXN0SW5kZXggPSB0aGlzLml0ZW1Db21wb25lbnRzLmxlbmd0aCAtIDE7XG5cbiAgICBpZiAobmV4dEluZGV4ID4gbGFzdEluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nb3RvU3RlcChuZXh0SW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb3RvUHJldmlvdXNTdGVwKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSB0aGlzLmFjdGl2ZUluZGV4IC0gMTtcblxuICAgIGlmIChwcmV2aW91c0luZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ290b1N0ZXAocHJldmlvdXNJbmRleCk7XG4gIH1cblxuICBwcml2YXRlIGdvdG9TdGVwKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gICAgdGhpcy51cGRhdGVTdGVwcygpO1xuICAgIHRoaXMubm90aWZ5Q2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmlzaFN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLml0ZW1Db21wb25lbnRzLmxlbmd0aCAtIDE7XG5cbiAgICB0aGlzLml0ZW1Db21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudCkgPT4ge1xuICAgICAgY29tcG9uZW50LnN0YXR1cyA9IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cy5Db21wbGV0ZTtcbiAgICB9KTtcblxuICAgIHRoaXMubm90aWZ5Q2hhbmdlKHtcbiAgICAgIGlzQ29tcGxldGU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0U3RlcHMoKTogdm9pZCB7XG4gICAgdGhpcy5nb3RvU3RlcCgwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RlcHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZlSW5kZXggPiB0aGlzLml0ZW1Db21wb25lbnRzLmxlbmd0aCAtIDEpIHtcbiAgICAgIHRoaXMuYWN0aXZlSW5kZXgtLTtcbiAgICB9XG5cbiAgICBjb25zdCBhY3RpdmVJbmRleCA9IHRoaXMuYWN0aXZlSW5kZXg7XG4gICAgY29uc3QgaXNQYXNzaXZlID0gdGhpcy5pc1Bhc3NpdmU7XG4gICAgY29uc3QgaXNWZXJ0aWNhbCA9IHRoaXMuZGlzcGxheU1vZGVSZXNvbHZlZCA9PT0gJ3ZlcnRpY2FsJztcblxuICAgIHRoaXMuaXRlbUNvbXBvbmVudHMuZm9yRWFjaCgoY29tcG9uZW50LCBpKSA9PiB7XG4gICAgICAvLyBTZXQgdmlzaWJpbGl0eS5cbiAgICAgIGNvbXBvbmVudC5pc1Zpc2libGUgPSBhY3RpdmVJbmRleCA9PT0gaSB8fCBpc1ZlcnRpY2FsO1xuXG4gICAgICAvLyBTZXQgc3RhdHVzLlxuICAgICAgbGV0IHN0YXR1czogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzO1xuICAgICAgaWYgKGFjdGl2ZUluZGV4ID09PSBpKSB7XG4gICAgICAgIGlmIChpc1Bhc3NpdmUpIHtcbiAgICAgICAgICBzdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuUGVuZGluZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuQWN0aXZlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGFjdGl2ZUluZGV4ID4gaSkge1xuICAgICAgICBzdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuQ29tcGxldGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuSW5jb21wbGV0ZTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50LnN0YXR1cyA9IHN0YXR1cztcblxuICAgICAgLy8gU2hvdyBvciBoaWRlIHRoZSBzdGF0dXMgbWFya2Vycy5cbiAgICAgIGNvbXBvbmVudC5zaG93U3RhdHVzTWFya2VyID0gaXNWZXJ0aWNhbDtcblxuICAgICAgLy8gU2hvdyBvciBoaWRlIHRoZSBzdGVwIG51bWJlci5cbiAgICAgIGlmIChpc1Bhc3NpdmUpIHtcbiAgICAgICAgY29tcG9uZW50LmhpZGVTdGVwTnVtYmVyKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21wb25lbnQuc2hvd1N0ZXBOdW1iZXIoaSArIDEpO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSdyZSBpbiBwYXNzaXZlIG1vZGUsIGRvbid0IHNob3cgdGl0bGVzIGZvciBpbmNvbXBsZXRlIGl0ZW1zLlxuICAgICAgY29tcG9uZW50LnNob3dUaXRsZSA9ICEoaXNQYXNzaXZlICYmIGFjdGl2ZUluZGV4IDwgaSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUluY29taW5nTWVzc2FnZShcbiAgICBtZXNzYWdlOiBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UgfCBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlOiBhbnkgPSBtZXNzYWdlO1xuXG4gICAgbGV0IHR5cGU6IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGU7XG5cbiAgICAvLyBQcmludHMgYSBkZXByZWNhdGlvbiB3YXJuaW5nIGlmIHRoZSBjb25zdW1lciBwcm92aWRlcyBvbmx5IGBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlYC5cbiAgICBpZiAodmFsdWUudHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIFwiW0RlcHJlY2F0aW9uIHdhcm5pbmddIFRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgY29tcG9uZW50J3MgYG1lc3NhZ2VTdHJlYW1gIGlucHV0IGlzIHNldCBcIiArXG4gICAgICAgICAgJ3RvIGBTdWJqZWN0PFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGU+YC4gV2Ugd2lsbCByZW1vdmUgdGhpcyBkZXByZWNhdGVkIHR5cGUgaW4gJyArXG4gICAgICAgICAgJ3RoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gSW5zdGVhZCwgc2V0IHRoZSBgbWVzc2FnZVN0cmVhbWAgaW5wdXQgdG8gYSB2YWx1ZSBvZiAnICtcbiAgICAgICAgICAnYFN1YmplY3Q8U2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlPmAuJ1xuICAgICAgKTtcblxuICAgICAgdHlwZSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlID0gdmFsdWUudHlwZTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5Qcm9ncmVzczpcbiAgICAgICAgdGhpcy5nb3RvTmV4dFN0ZXAoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5SZWdyZXNzOlxuICAgICAgICB0aGlzLmdvdG9QcmV2aW91c1N0ZXAoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5GaW5pc2g6XG4gICAgICAgIHRoaXMuZmluaXNoU3RlcHMoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5SZXNldDpcbiAgICAgICAgdGhpcy5yZXNldFN0ZXBzKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuR29UbzpcbiAgICAgICAgaWYgKCF2YWx1ZS5kYXRhIHx8IHZhbHVlLmRhdGEuYWN0aXZlSW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICdBIG1lc3NhZ2UgdHlwZSBvZiBgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5Hb1RvYCB3YXMgcGFzc2VkIHRvIHRoZSBwcm9ncmVzcyAnICtcbiAgICAgICAgICAgICAgJ2luZGljYXRvciwgYnV0IG5vIHN0ZXAgaW5kZXggd2FzIHByb3ZpZGVkLiBZb3UgY2FuIHBhc3MgdGhlIGRlc2lyZWQgYWN0aXZlICcgK1xuICAgICAgICAgICAgICAnaW5kZXggdmlhOlxcbicgK1xuICAgICAgICAgICAgICAne1xcbicgK1xuICAgICAgICAgICAgICAnICB0eXBlOiBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLkdvVG8sXFxuJyArXG4gICAgICAgICAgICAgICcgIGRhdGE6IHsgYWN0aXZlSW5kZXg6IDAgfVxcbicgK1xuICAgICAgICAgICAgICAnfSdcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ290b1N0ZXAodmFsdWUuZGF0YS5hY3RpdmVJbmRleCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgdGhlIHZpZXcgYWZ0ZXIgYSBtZXNzYWdlIGlzIHJlY2VpdmVkLlxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvTWVzc2FnZVN0cmVhbSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgaWYgKHRoaXMubWVzc2FnZVN0cmVhbVN1Yikge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW1TdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViID0gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fbWVzc2FnZVN0cmVhbSkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW1TdWIgPSB0aGlzLl9tZXNzYWdlU3RyZWFtXG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVJbmNvbWluZ01lc3NhZ2UobWVzc2FnZSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBub3RpZnlDaGFuZ2UoY2hhbmdlPzogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLnByb2dyZXNzQ2hhbmdlcy5uZXh0KFxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAge30sXG4gICAgICAgIHtcbiAgICAgICAgICBhY3RpdmVJbmRleDogdGhpcy5hY3RpdmVJbmRleCxcbiAgICAgICAgICBpdGVtU3RhdHVzZXM6IHRoaXMuaXRlbVN0YXR1c2VzLFxuICAgICAgICB9LFxuICAgICAgICBjaGFuZ2VcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvclwiIFtuZ0NsYXNzXT1cImNzc0NsYXNzTmFtZXNcIj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZGlzcGxheU1vZGVSZXNvbHZlZCA9PT0gJ2hvcml6b250YWwnXCJcbiAgICBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3ItaG9yaXpvbnRhbC1zdGF0dXMtbWFya2Vyc1wiXG4gID5cbiAgICA8c2t5LXByb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyXG4gICAgICAqbmdGb3I9XCJsZXQgc3RhdHVzIG9mIGl0ZW1TdGF0dXNlc1wiXG4gICAgICBbZGlzcGxheU1vZGVdPVwiZGlzcGxheU1vZGVSZXNvbHZlZFwiXG4gICAgICBbc3RhdHVzXT1cInN0YXR1c1wiXG4gICAgPlxuICAgIDwvc2t5LXByb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -13,8 +13,8 @@ import { SkyProgressIndicatorTitleComponent } from './progress-indicator-title/p
|
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export class SkyProgressIndicatorModule {
|
|
15
15
|
}
|
|
16
|
-
SkyProgressIndicatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
17
|
-
SkyProgressIndicatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
16
|
+
SkyProgressIndicatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
SkyProgressIndicatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorModule, declarations: [SkyProgressIndicatorComponent,
|
|
18
18
|
SkyProgressIndicatorItemComponent,
|
|
19
19
|
SkyProgressIndicatorNavButtonComponent,
|
|
20
20
|
SkyProgressIndicatorResetButtonComponent,
|
|
@@ -28,14 +28,14 @@ SkyProgressIndicatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
28
28
|
SkyProgressIndicatorNavButtonComponent,
|
|
29
29
|
SkyProgressIndicatorResetButtonComponent,
|
|
30
30
|
SkyProgressIndicatorTitleComponent] });
|
|
31
|
-
SkyProgressIndicatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
31
|
+
SkyProgressIndicatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorModule, imports: [[
|
|
32
32
|
CommonModule,
|
|
33
33
|
SkyI18nModule,
|
|
34
34
|
SkyIconModule,
|
|
35
35
|
SkyProgressIndicatorResourcesModule,
|
|
36
36
|
SkyThemeModule,
|
|
37
37
|
]] });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorModule, decorators: [{
|
|
39
39
|
type: NgModule,
|
|
40
40
|
args: [{
|
|
41
41
|
declarations: [
|
|
@@ -25,16 +25,16 @@ export class SkyProgressIndicatorResourcesProvider {
|
|
|
25
25
|
*/
|
|
26
26
|
export class SkyProgressIndicatorResourcesModule {
|
|
27
27
|
}
|
|
28
|
-
SkyProgressIndicatorResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
29
|
-
SkyProgressIndicatorResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
30
|
-
SkyProgressIndicatorResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
28
|
+
SkyProgressIndicatorResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
29
|
+
SkyProgressIndicatorResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResourcesModule, exports: [SkyI18nModule] });
|
|
30
|
+
SkyProgressIndicatorResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResourcesModule, providers: [
|
|
31
31
|
{
|
|
32
32
|
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
33
33
|
useClass: SkyProgressIndicatorResourcesProvider,
|
|
34
34
|
multi: true,
|
|
35
35
|
},
|
|
36
36
|
], imports: [SkyI18nModule] });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResourcesModule, decorators: [{
|
|
38
38
|
type: NgModule,
|
|
39
39
|
args: [{
|
|
40
40
|
exports: [SkyI18nModule],
|
|
@@ -36,16 +36,16 @@ class SkyProgressIndicatorResourcesProvider {
|
|
|
36
36
|
*/
|
|
37
37
|
class SkyProgressIndicatorResourcesModule {
|
|
38
38
|
}
|
|
39
|
-
SkyProgressIndicatorResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
40
|
-
SkyProgressIndicatorResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
41
|
-
SkyProgressIndicatorResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
39
|
+
SkyProgressIndicatorResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
40
|
+
SkyProgressIndicatorResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResourcesModule, exports: [SkyI18nModule] });
|
|
41
|
+
SkyProgressIndicatorResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResourcesModule, providers: [
|
|
42
42
|
{
|
|
43
43
|
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
44
44
|
useClass: SkyProgressIndicatorResourcesProvider,
|
|
45
45
|
multi: true,
|
|
46
46
|
},
|
|
47
47
|
], imports: [SkyI18nModule] });
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResourcesModule, decorators: [{
|
|
49
49
|
type: NgModule,
|
|
50
50
|
args: [{
|
|
51
51
|
exports: [SkyI18nModule],
|
|
@@ -136,9 +136,9 @@ class SkyProgressIndicatorStatusMarkerComponent {
|
|
|
136
136
|
this.ngUnsubscribe.complete();
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
|
-
SkyProgressIndicatorStatusMarkerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
140
|
-
SkyProgressIndicatorStatusMarkerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
139
|
+
SkyProgressIndicatorStatusMarkerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorStatusMarkerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
140
|
+
SkyProgressIndicatorStatusMarkerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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 });
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorStatusMarkerComponent, decorators: [{
|
|
142
142
|
type: Component,
|
|
143
143
|
args: [{
|
|
144
144
|
selector: 'sky-progress-indicator-status-marker',
|
|
@@ -208,9 +208,9 @@ class SkyProgressIndicatorItemComponent {
|
|
|
208
208
|
this.titlePrefix = '';
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
|
-
SkyProgressIndicatorItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
212
|
-
SkyProgressIndicatorItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
211
|
+
SkyProgressIndicatorItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
212
|
+
SkyProgressIndicatorItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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 >\n {{ formattedTitle }}\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"], components: [{ type: SkyProgressIndicatorStatusMarkerComponent, selector: "sky-progress-indicator-status-marker", inputs: ["displayMode", "status"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorItemComponent, decorators: [{
|
|
214
214
|
type: Component,
|
|
215
215
|
args: [{
|
|
216
216
|
selector: 'sky-progress-indicator-item',
|
|
@@ -284,7 +284,7 @@ class SkyProgressIndicatorComponent {
|
|
|
284
284
|
* and [waterfall progress indicators](https://developer.blackbaud.com/skyux/components/progress-indicator/waterfall-progress-indicator),
|
|
285
285
|
* use the vertical display mode. For [modal wizards](https://developer.blackbaud.com/skyux/components/wizard),
|
|
286
286
|
* use the horizontal display mode.
|
|
287
|
-
* @default
|
|
287
|
+
* @default "vertical"
|
|
288
288
|
*/
|
|
289
289
|
set displayMode(value) {
|
|
290
290
|
this._displayMode = value;
|
|
@@ -546,9 +546,9 @@ class SkyProgressIndicatorComponent {
|
|
|
546
546
|
}, change));
|
|
547
547
|
}
|
|
548
548
|
}
|
|
549
|
-
SkyProgressIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
550
|
-
SkyProgressIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
549
|
+
SkyProgressIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
550
|
+
SkyProgressIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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: 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 });
|
|
551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorComponent, decorators: [{
|
|
552
552
|
type: Component,
|
|
553
553
|
args: [{
|
|
554
554
|
selector: 'sky-progress-indicator',
|
|
@@ -603,8 +603,8 @@ class SkyProgressIndicatorNavButtonComponent {
|
|
|
603
603
|
}
|
|
604
604
|
/**
|
|
605
605
|
* Specifies the type of nav button to include.
|
|
606
|
-
* The valid options are `finish`, `next`, `previous`, and `reset`.
|
|
607
|
-
* @default next
|
|
606
|
+
* The valid options are `"finish"`, `"next"`, `"previous"`, and `"reset"`.
|
|
607
|
+
* @default "next"
|
|
608
608
|
*/
|
|
609
609
|
set buttonType(value) {
|
|
610
610
|
this._buttonType = value;
|
|
@@ -774,9 +774,9 @@ class SkyProgressIndicatorNavButtonComponent {
|
|
|
774
774
|
this.isVisible = true;
|
|
775
775
|
}
|
|
776
776
|
}
|
|
777
|
-
SkyProgressIndicatorNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
778
|
-
SkyProgressIndicatorNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
779
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
777
|
+
SkyProgressIndicatorNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorNavButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SkyProgressIndicatorComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
778
|
+
SkyProgressIndicatorNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"cssClassNames\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-compact': 'default',\n 'sky-btn-link': 'modern'\n }\"\n (click)=\"onClick($event)\"\n>\n {{ buttonText || (buttonLabelResourceString | skyLibResources) }}\n</button>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], pipes: { "skyLibResources": i4.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
779
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorNavButtonComponent, decorators: [{
|
|
780
780
|
type: Component,
|
|
781
781
|
args: [{
|
|
782
782
|
selector: 'sky-progress-indicator-nav-button',
|
|
@@ -835,9 +835,9 @@ class SkyProgressIndicatorResetButtonComponent {
|
|
|
835
835
|
});
|
|
836
836
|
}
|
|
837
837
|
}
|
|
838
|
-
SkyProgressIndicatorResetButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
839
|
-
SkyProgressIndicatorResetButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
840
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
838
|
+
SkyProgressIndicatorResetButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResetButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
839
|
+
SkyProgressIndicatorResetButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyProgressIndicatorResetButtonComponent, selector: "sky-progress-indicator-reset-button", inputs: { disabled: "disabled", progressIndicator: "progressIndicator" }, outputs: { resetClick: "resetClick" }, ngImport: i0, template: "<button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"onClick()\"\n>\n <ng-content></ng-content>\n</button>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
840
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorResetButtonComponent, decorators: [{
|
|
841
841
|
type: Component,
|
|
842
842
|
args: [{
|
|
843
843
|
selector: 'sky-progress-indicator-reset-button',
|
|
@@ -857,9 +857,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
857
857
|
*/
|
|
858
858
|
class SkyProgressIndicatorTitleComponent {
|
|
859
859
|
}
|
|
860
|
-
SkyProgressIndicatorTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
861
|
-
SkyProgressIndicatorTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
862
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
860
|
+
SkyProgressIndicatorTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
861
|
+
SkyProgressIndicatorTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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 });
|
|
862
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorTitleComponent, decorators: [{
|
|
863
863
|
type: Component,
|
|
864
864
|
args: [{
|
|
865
865
|
selector: 'sky-progress-indicator-title',
|
|
@@ -871,8 +871,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
871
871
|
|
|
872
872
|
class SkyProgressIndicatorModule {
|
|
873
873
|
}
|
|
874
|
-
SkyProgressIndicatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
875
|
-
SkyProgressIndicatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
874
|
+
SkyProgressIndicatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
875
|
+
SkyProgressIndicatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorModule, declarations: [SkyProgressIndicatorComponent,
|
|
876
876
|
SkyProgressIndicatorItemComponent,
|
|
877
877
|
SkyProgressIndicatorNavButtonComponent,
|
|
878
878
|
SkyProgressIndicatorResetButtonComponent,
|
|
@@ -886,14 +886,14 @@ SkyProgressIndicatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
886
886
|
SkyProgressIndicatorNavButtonComponent,
|
|
887
887
|
SkyProgressIndicatorResetButtonComponent,
|
|
888
888
|
SkyProgressIndicatorTitleComponent] });
|
|
889
|
-
SkyProgressIndicatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
889
|
+
SkyProgressIndicatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorModule, imports: [[
|
|
890
890
|
CommonModule,
|
|
891
891
|
SkyI18nModule,
|
|
892
892
|
SkyIconModule,
|
|
893
893
|
SkyProgressIndicatorResourcesModule,
|
|
894
894
|
SkyThemeModule,
|
|
895
895
|
]] });
|
|
896
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
896
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyProgressIndicatorModule, decorators: [{
|
|
897
897
|
type: NgModule,
|
|
898
898
|
args: [{
|
|
899
899
|
declarations: [
|