@skyux/progress-indicator 8.7.0 → 9.0.0-alpha.0
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/esm2022/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +111 -0
- package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-class.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-disabled.pipe.mjs +4 -4
- package/esm2022/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.mjs +200 -0
- package/esm2022/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.mjs +56 -0
- package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker-class.pipe.mjs +4 -4
- package/esm2022/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.mjs +62 -0
- package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.mjs +4 -4
- package/esm2022/lib/modules/progress-indicator/progress-indicator.component.mjs +330 -0
- package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator.module.mjs +27 -27
- package/esm2022/lib/modules/shared/sky-progress-indicator-resources.module.mjs +50 -0
- package/fesm2022/skyux-progress-indicator.mjs +1006 -0
- package/{fesm2020 → fesm2022}/skyux-progress-indicator.mjs.map +1 -1
- package/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.d.ts +1 -1
- package/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.d.ts +1 -1
- package/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.d.ts +1 -1
- package/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.d.ts +1 -1
- package/lib/modules/progress-indicator/progress-indicator.component.d.ts +1 -1
- package/package.json +11 -17
- package/esm2020/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +0 -110
- package/esm2020/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.mjs +0 -200
- package/esm2020/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.mjs +0 -59
- package/esm2020/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.mjs +0 -62
- package/esm2020/lib/modules/progress-indicator/progress-indicator.component.mjs +0 -312
- package/esm2020/lib/modules/shared/sky-progress-indicator-resources.module.mjs +0 -50
- package/fesm2015/skyux-progress-indicator.mjs +0 -995
- package/fesm2015/skyux-progress-indicator.mjs.map +0 -1
- package/fesm2020/skyux-progress-indicator.mjs +0 -986
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-action-click-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-item-status.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-message-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-message.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-progress-indicator.mjs +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
2
|
+
import { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@skyux/theme";
|
|
6
|
+
import * as i3 from "@skyux/core";
|
|
7
|
+
import * as i4 from "../progress-indicator-status-marker/progress-indicator-status-marker.component";
|
|
8
|
+
const STATUS_DEFAULT = SkyProgressIndicatorItemStatus.Incomplete;
|
|
9
|
+
const STATUS_NAME_DEFAULT = 'incomplete';
|
|
10
|
+
/**
|
|
11
|
+
* Specifies a step to include in the progress indicator. Each step requires a label,
|
|
12
|
+
* and you can also specify step details within the `sky-progress-indicator-item` element.
|
|
13
|
+
*/
|
|
14
|
+
export class SkyProgressIndicatorItemComponent {
|
|
15
|
+
/**
|
|
16
|
+
* The step label for the step in the progress indicator.
|
|
17
|
+
* @required
|
|
18
|
+
*/
|
|
19
|
+
set title(value) {
|
|
20
|
+
this.#_title = value;
|
|
21
|
+
this.#updateFormattedTitle();
|
|
22
|
+
}
|
|
23
|
+
get title() {
|
|
24
|
+
return this.#_title;
|
|
25
|
+
}
|
|
26
|
+
set status(value) {
|
|
27
|
+
if (value === this.#_status) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
/* istanbul ignore next */
|
|
31
|
+
this.#_status = value ?? STATUS_DEFAULT;
|
|
32
|
+
switch (this.#_status) {
|
|
33
|
+
case SkyProgressIndicatorItemStatus.Active:
|
|
34
|
+
this.statusName = 'active';
|
|
35
|
+
break;
|
|
36
|
+
case SkyProgressIndicatorItemStatus.Complete:
|
|
37
|
+
this.statusName = 'complete';
|
|
38
|
+
break;
|
|
39
|
+
case SkyProgressIndicatorItemStatus.Incomplete:
|
|
40
|
+
this.statusName = 'incomplete';
|
|
41
|
+
break;
|
|
42
|
+
case SkyProgressIndicatorItemStatus.Pending:
|
|
43
|
+
this.statusName = 'pending';
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
this.#changeDetector.markForCheck();
|
|
47
|
+
}
|
|
48
|
+
get status() {
|
|
49
|
+
return this.#_status;
|
|
50
|
+
}
|
|
51
|
+
set isVisible(value) {
|
|
52
|
+
this.#_isVisible = !!value;
|
|
53
|
+
this.#changeDetector.markForCheck();
|
|
54
|
+
}
|
|
55
|
+
get isVisible() {
|
|
56
|
+
return this.#_isVisible;
|
|
57
|
+
}
|
|
58
|
+
set showStatusMarker(value) {
|
|
59
|
+
this.#_showStatusMarker = !!value;
|
|
60
|
+
this.#changeDetector.markForCheck();
|
|
61
|
+
}
|
|
62
|
+
get showStatusMarker() {
|
|
63
|
+
return this.#_showStatusMarker;
|
|
64
|
+
}
|
|
65
|
+
set showTitle(value) {
|
|
66
|
+
this.#_showTitle = !!value;
|
|
67
|
+
this.#changeDetector.markForCheck();
|
|
68
|
+
}
|
|
69
|
+
get showTitle() {
|
|
70
|
+
return this.#_showTitle;
|
|
71
|
+
}
|
|
72
|
+
#titlePrefix;
|
|
73
|
+
#changeDetector;
|
|
74
|
+
#_isVisible;
|
|
75
|
+
#_title;
|
|
76
|
+
#_showStatusMarker;
|
|
77
|
+
#_showTitle;
|
|
78
|
+
#_status;
|
|
79
|
+
constructor(changeDetector) {
|
|
80
|
+
this.statusName = STATUS_NAME_DEFAULT;
|
|
81
|
+
this.#_isVisible = false;
|
|
82
|
+
this.#_showStatusMarker = true;
|
|
83
|
+
this.#_showTitle = true;
|
|
84
|
+
this.#_status = STATUS_DEFAULT;
|
|
85
|
+
this.#changeDetector = changeDetector;
|
|
86
|
+
}
|
|
87
|
+
ngOnInit() {
|
|
88
|
+
this.#updateFormattedTitle();
|
|
89
|
+
}
|
|
90
|
+
showStepNumber(step) {
|
|
91
|
+
this.#titlePrefix = `${step} - `;
|
|
92
|
+
this.#updateFormattedTitle();
|
|
93
|
+
}
|
|
94
|
+
hideStepNumber() {
|
|
95
|
+
this.#titlePrefix = '';
|
|
96
|
+
this.#updateFormattedTitle();
|
|
97
|
+
}
|
|
98
|
+
#updateFormattedTitle() {
|
|
99
|
+
this.formattedTitle = `${this.#titlePrefix}${this.title}`;
|
|
100
|
+
this.#changeDetector.markForCheck();
|
|
101
|
+
}
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyProgressIndicatorItemComponent, selector: "sky-progress-indicator-item", inputs: { title: "title" }, ngImport: i0, template: "<div\n *ngIf=\"isVisible\"\n class=\"sky-progress-indicator-item\"\n [ngClass]=\"'sky-progress-indicator-item-status-' + statusName\"\n>\n <sky-progress-indicator-status-marker\n *ngIf=\"showStatusMarker\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n\n <div class=\"sky-progress-indicator-item-content\">\n <div\n *ngIf=\"showTitle\"\n aria-level=\"2\"\n class=\"sky-progress-indicator-item-heading\"\n role=\"heading\"\n [ngClass]=\"{\n 'sky-deemphasized': statusName === 'pending'\n }\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n skyTrim\n >\n {{ formattedTitle }}\n <span class=\"sky-control-help-container\" skyTrim\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n <div class=\"sky-progress-indicator-item-body\">\n <ng-template [ngIf]=\"statusName !== 'incomplete'\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n </div>\n</div>\n", styles: [".sky-progress-indicator-item{display:flex;margin-bottom:-1px}.sky-progress-indicator-item-content{flex:1 1 100%}.sky-progress-indicator-item-body{min-height:20px;padding-top:10px;padding-bottom:30px}.sky-progress-indicator-item-status-incomplete .sky-progress-indicator-item-body{padding:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item{margin:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body{padding:20px 0 30px}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body:empty{padding:0}.sky-theme-modern .sky-progress-indicator-item{margin:0}.sky-theme-modern .sky-progress-indicator-item-body{padding:20px 0 30px}.sky-theme-modern .sky-progress-indicator-item-body:empty{padding:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i3.λ4, selector: "[skyTrim]" }, { kind: "component", type: i4.SkyProgressIndicatorStatusMarkerComponent, selector: "sky-progress-indicator-status-marker", inputs: ["displayMode", "status"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
104
|
+
}
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorItemComponent, decorators: [{
|
|
106
|
+
type: Component,
|
|
107
|
+
args: [{ selector: 'sky-progress-indicator-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isVisible\"\n class=\"sky-progress-indicator-item\"\n [ngClass]=\"'sky-progress-indicator-item-status-' + statusName\"\n>\n <sky-progress-indicator-status-marker\n *ngIf=\"showStatusMarker\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n\n <div class=\"sky-progress-indicator-item-content\">\n <div\n *ngIf=\"showTitle\"\n aria-level=\"2\"\n class=\"sky-progress-indicator-item-heading\"\n role=\"heading\"\n [ngClass]=\"{\n 'sky-deemphasized': statusName === 'pending'\n }\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n skyTrim\n >\n {{ formattedTitle }}\n <span class=\"sky-control-help-container\" skyTrim\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n <div class=\"sky-progress-indicator-item-body\">\n <ng-template [ngIf]=\"statusName !== 'incomplete'\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n </div>\n</div>\n", styles: [".sky-progress-indicator-item{display:flex;margin-bottom:-1px}.sky-progress-indicator-item-content{flex:1 1 100%}.sky-progress-indicator-item-body{min-height:20px;padding-top:10px;padding-bottom:30px}.sky-progress-indicator-item-status-incomplete .sky-progress-indicator-item-body{padding:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item{margin:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body{padding:20px 0 30px}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body:empty{padding:0}.sky-theme-modern .sky-progress-indicator-item{margin:0}.sky-theme-modern .sky-progress-indicator-item-body{padding:20px 0 30px}.sky-theme-modern .sky-progress-indicator-item-body:empty{padding:0}\n"] }]
|
|
108
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { title: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}] } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci1pdGVtL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQUV6RixNQUFNLGNBQWMsR0FBRyw4QkFBOEIsQ0FBQyxVQUFVLENBQUM7QUFDakUsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUM7QUFFekM7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGlDQUFpQztJQUM1Qzs7O09BR0c7SUFDSCxJQUNXLEtBQUssQ0FBQyxLQUF5QjtRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLE1BQU0sQ0FBQyxLQUFpRDtRQUNqRSxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO1lB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QyxpQ0FBaUMsK0ZDdkI5Qyx5aENBcUNBOzsyRkRkYSxpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNO3dHQVFwQyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cyB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLXN0YXR1cyc7XG5cbmNvbnN0IFNUQVRVU19ERUZBVUxUID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkluY29tcGxldGU7XG5jb25zdCBTVEFUVVNfTkFNRV9ERUZBVUxUID0gJ2luY29tcGxldGUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBhIHN0ZXAgdG8gaW5jbHVkZSBpbiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yLiBFYWNoIHN0ZXAgcmVxdWlyZXMgYSBsYWJlbCxcbiAqIGFuZCB5b3UgY2FuIGFsc28gc3BlY2lmeSBzdGVwIGRldGFpbHMgd2l0aGluIHRoZSBgc2t5LXByb2dyZXNzLWluZGljYXRvci1pdGVtYCBlbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIFRoZSBzdGVwIGxhYmVsIGZvciB0aGUgc3RlcCBpbiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGl0bGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190aXRsZSA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZUZvcm1hdHRlZFRpdGxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRpdGxlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190aXRsZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc3RhdHVzKHZhbHVlOiBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgPT09IHRoaXMuI19zdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHRoaXMuI19zdGF0dXMgPSB2YWx1ZSA/PyBTVEFUVVNfREVGQVVMVDtcblxuICAgIHN3aXRjaCAodGhpcy4jX3N0YXR1cykge1xuICAgICAgY2FzZSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuQWN0aXZlOlxuICAgICAgICB0aGlzLnN0YXR1c05hbWUgPSAnYWN0aXZlJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cy5Db21wbGV0ZTpcbiAgICAgICAgdGhpcy5zdGF0dXNOYW1lID0gJ2NvbXBsZXRlJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cy5JbmNvbXBsZXRlOlxuICAgICAgICB0aGlzLnN0YXR1c05hbWUgPSAnaW5jb21wbGV0ZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuUGVuZGluZzpcbiAgICAgICAgdGhpcy5zdGF0dXNOYW1lID0gJ3BlbmRpbmcnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdHVzKCk6IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuI19zdGF0dXM7XG4gIH1cblxuICBwdWJsaWMgZm9ybWF0dGVkVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc2V0IGlzVmlzaWJsZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pc1Zpc2libGUgPSAhIXZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pc1Zpc2libGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNob3dTdGF0dXNNYXJrZXIodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfc2hvd1N0YXR1c01hcmtlciA9ICEhdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dTdGF0dXNNYXJrZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19zaG93U3RhdHVzTWFya2VyO1xuICB9XG5cbiAgcHVibGljIHNldCBzaG93VGl0bGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfc2hvd1RpdGxlID0gISF2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd1RpdGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfc2hvd1RpdGxlO1xuICB9XG5cbiAgcHVibGljIHN0YXR1c05hbWUgPSBTVEFUVVNfTkFNRV9ERUZBVUxUO1xuXG4gICN0aXRsZVByZWZpeDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNfaXNWaXNpYmxlID0gZmFsc2U7XG4gICNfdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI19zaG93U3RhdHVzTWFya2VyID0gdHJ1ZTtcbiAgI19zaG93VGl0bGUgPSB0cnVlO1xuICAjX3N0YXR1cyA9IFNUQVRVU19ERUZBVUxUO1xuXG4gIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jdXBkYXRlRm9ybWF0dGVkVGl0bGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93U3RlcE51bWJlcihzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLiN0aXRsZVByZWZpeCA9IGAke3N0ZXB9IC0gYDtcbiAgICB0aGlzLiN1cGRhdGVGb3JtYXR0ZWRUaXRsZSgpO1xuICB9XG5cbiAgcHVibGljIGhpZGVTdGVwTnVtYmVyKCk6IHZvaWQge1xuICAgIHRoaXMuI3RpdGxlUHJlZml4ID0gJyc7XG4gICAgdGhpcy4jdXBkYXRlRm9ybWF0dGVkVGl0bGUoKTtcbiAgfVxuXG4gICN1cGRhdGVGb3JtYXR0ZWRUaXRsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1hdHRlZFRpdGxlID0gYCR7dGhpcy4jdGl0bGVQcmVmaXh9JHt0aGlzLnRpdGxlfWA7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJpc1Zpc2libGVcIlxuICBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbVwiXG4gIFtuZ0NsYXNzXT1cIidza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0tc3RhdHVzLScgKyBzdGF0dXNOYW1lXCJcbj5cbiAgPHNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlclxuICAgICpuZ0lmPVwic2hvd1N0YXR1c01hcmtlclwiXG4gICAgW3N0YXR1c109XCJzdGF0dXNcIlxuICA+XG4gIDwvc2t5LXByb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyPlxuXG4gIDxkaXYgY2xhc3M9XCJza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0tY29udGVudFwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwic2hvd1RpdGxlXCJcbiAgICAgIGFyaWEtbGV2ZWw9XCIyXCJcbiAgICAgIGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci1pdGVtLWhlYWRpbmdcIlxuICAgICAgcm9sZT1cImhlYWRpbmdcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LWRlZW1waGFzaXplZCc6IHN0YXR1c05hbWUgPT09ICdwZW5kaW5nJ1xuICAgICAgfVwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktZm9udC1kaXNwbGF5LTMnOiAnbW9kZXJuJ1xuICAgICAgfVwiXG4gICAgICBza3lUcmltXG4gICAgPlxuICAgICAge3sgZm9ybWF0dGVkVGl0bGUgfX1cbiAgICAgIDxzcGFuIGNsYXNzPVwic2t5LWNvbnRyb2wtaGVscC1jb250YWluZXJcIiBza3lUcmltXG4gICAgICAgID48bmctY29udGVudCBzZWxlY3Q9XCIuc2t5LWNvbnRyb2wtaGVscFwiPjwvbmctY29udGVudFxuICAgICAgPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci1pdGVtLWJvZHlcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzdGF0dXNOYW1lICE9PSAnaW5jb21wbGV0ZSdcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -16,13 +16,13 @@ export class SkyProgressIndicatorNavButtonClass {
|
|
|
16
16
|
}
|
|
17
17
|
return classNames;
|
|
18
18
|
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorNavButtonClass, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
20
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorNavButtonClass, name: "skyProgressIndicatorNavButtonClass" }); }
|
|
19
21
|
}
|
|
20
|
-
|
|
21
|
-
SkyProgressIndicatorNavButtonClass.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorNavButtonClass, name: "skyProgressIndicatorNavButtonClass" });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorNavButtonClass, decorators: [{
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorNavButtonClass, decorators: [{
|
|
23
23
|
type: Pipe,
|
|
24
24
|
args: [{
|
|
25
25
|
name: 'skyProgressIndicatorNavButtonClass',
|
|
26
26
|
}]
|
|
27
27
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tY2xhc3MucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi1jbGFzcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sa0NBQWtDO0lBQ3RDLFNBQVMsQ0FBQyxVQUFrQjtRQUNqQyxNQUFNLFVBQVUsR0FBRyxDQUFDLHFDQUFxQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLFFBQVEsVUFBVSxFQUFFO1lBQ2xCLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxRQUFRO2dCQUNYLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDbkMsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNO1lBQ1I7Z0JBQ0UsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs4R0FqQlUsa0NBQWtDOzRHQUFsQyxrQ0FBa0M7OzJGQUFsQyxrQ0FBa0M7a0JBSDlDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG9DQUFvQztpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uQ2xhc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNsYXNzIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0oYnV0dG9uVHlwZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbYHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi0ke2J1dHRvblR5cGV9YF07XG5cbiAgICBzd2l0Y2ggKGJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgJ25leHQnOlxuICAgICAgY2FzZSAnZmluaXNoJzpcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCdza3ktYnRuLXByaW1hcnknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdyZXNldCc6XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaCgnc2t5LWJ0bi1saW5rJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCdza3ktYnRuLWRlZmF1bHQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcztcbiAgfVxufVxuIl19
|
|
@@ -7,13 +7,13 @@ export class SkyProgressIndicatorNavButtonDisabledPipe {
|
|
|
7
7
|
(buttonType === 'previous' && activeIndex === 0) ||
|
|
8
8
|
disabled);
|
|
9
9
|
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorNavButtonDisabledPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorNavButtonDisabledPipe, name: "skyProgressIndicatorNavButtonDisabled" }); }
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
SkyProgressIndicatorNavButtonDisabledPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorNavButtonDisabledPipe, name: "skyProgressIndicatorNavButtonDisabled" });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorNavButtonDisabledPipe, decorators: [{
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorNavButtonDisabledPipe, decorators: [{
|
|
14
14
|
type: Pipe,
|
|
15
15
|
args: [{
|
|
16
16
|
name: 'skyProgressIndicatorNavButtonDisabled',
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tZGlzYWJsZWQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi1kaXNhYmxlZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVFwRCxNQUFNLE9BQU8seUNBQXlDO0lBRzdDLFNBQVMsQ0FDZCxRQUE2QixFQUM3QixVQUE2QyxFQUM3QyxXQUErQixFQUMvQixZQUEwRDtRQUUxRCxNQUFNLFVBQVUsR0FBRyxZQUFZLElBQUksV0FBVyxLQUFLLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRTNFLE9BQU8sQ0FDTCxDQUFDLFVBQVUsS0FBSyxNQUFNLElBQUksVUFBVSxDQUFDO1lBQ3JDLENBQUMsVUFBVSxLQUFLLFVBQVUsSUFBSSxXQUFXLEtBQUssQ0FBQyxDQUFDO1lBQ2hELFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQzs4R0FoQlUseUNBQXlDOzRHQUF6Qyx5Q0FBeUM7OzJGQUF6Qyx5Q0FBeUM7a0JBSHJELElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHVDQUF1QztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cyB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLXN0YXR1cyc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvblR5cGUgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi10eXBlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25EaXNhYmxlZCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uRGlzYWJsZWRQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgIGJ1dHRvblR5cGU6IFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uVHlwZSxcbiAgICBhY3RpdmVJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIGl0ZW1TdGF0dXNlczogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzW10gfCB1bmRlZmluZWRcbiAgKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNMYXN0U3RlcCA9IGl0ZW1TdGF0dXNlcyAmJiBhY3RpdmVJbmRleCA9PT0gaXRlbVN0YXR1c2VzLmxlbmd0aCAtIDE7XG5cbiAgICByZXR1cm4gKFxuICAgICAgKGJ1dHRvblR5cGUgPT09ICduZXh0JyAmJiBpc0xhc3RTdGVwKSB8fFxuICAgICAgKGJ1dHRvblR5cGUgPT09ICdwcmV2aW91cycgJiYgYWN0aXZlSW5kZXggPT09IDApIHx8XG4gICAgICBkaXNhYmxlZFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output, } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { SkyProgressIndicatorActionClickProgressHandler } from '../types/progress-indicator-action-click-progress-handler';
|
|
5
|
+
import { SkyProgressIndicatorMessageType } from '../types/progress-indicator-message-type';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../progress-indicator.component";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "@skyux/i18n";
|
|
10
|
+
import * as i4 from "./progress-indicator-nav-button-class.pipe";
|
|
11
|
+
import * as i5 from "./progress-indicator-nav-button-disabled.pipe";
|
|
12
|
+
const BUTTON_TYPE_DEFAULT = 'next';
|
|
13
|
+
/**
|
|
14
|
+
* Displays a button to navigate the steps in modal wizards. We recommend against using it in
|
|
15
|
+
* passive progress indicators and waterfall progress indicators.
|
|
16
|
+
*/
|
|
17
|
+
export class SkyProgressIndicatorNavButtonComponent {
|
|
18
|
+
/**
|
|
19
|
+
* The type of nav button to include.
|
|
20
|
+
* @default "next"
|
|
21
|
+
*/
|
|
22
|
+
set buttonType(value) {
|
|
23
|
+
this.#_buttonType = value || BUTTON_TYPE_DEFAULT;
|
|
24
|
+
}
|
|
25
|
+
get buttonType() {
|
|
26
|
+
return this.#_buttonType;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Whether to disable the nav button.
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
set disabled(value) {
|
|
33
|
+
this.#_disabled = value;
|
|
34
|
+
this.#changeDetector.markForCheck();
|
|
35
|
+
}
|
|
36
|
+
get disabled() {
|
|
37
|
+
return this.#_disabled;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The progress indicator component to associate with the nav button.
|
|
41
|
+
* @required
|
|
42
|
+
*/
|
|
43
|
+
set progressIndicator(value) {
|
|
44
|
+
this.#_progressIndicator = value;
|
|
45
|
+
if (this.#_progressIndicator) {
|
|
46
|
+
if (this.buttonType === 'finish') {
|
|
47
|
+
// The `hasFinishButton` field was added to support legacy API.
|
|
48
|
+
// Some implementations only include a next button; we cannot
|
|
49
|
+
// assume that every implementation includes both a finish button and a next button.
|
|
50
|
+
this.#_progressIndicator.hasFinishButton = true;
|
|
51
|
+
}
|
|
52
|
+
this.#_progressIndicator.progressChanges
|
|
53
|
+
.pipe(distinctUntilChanged(), takeUntil(this.#ngUnsubscribe))
|
|
54
|
+
.subscribe((change) => {
|
|
55
|
+
this.lastProgressChange = change;
|
|
56
|
+
this.#updateButtonVisibility(change);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
if (!this.#parentTimeout) {
|
|
61
|
+
this.#parentTimeout = window.setTimeout(() => {
|
|
62
|
+
/* istanbul ignore else */
|
|
63
|
+
if (!this.progressIndicator) {
|
|
64
|
+
throw new Error('The `<sky-progress-indicator-nav-button>` component requires a reference to ' +
|
|
65
|
+
'the `<sky-progress-indicator>` component it controls. For example:\n' +
|
|
66
|
+
'<sky-progress-indicator\n' +
|
|
67
|
+
' #myProgressIndicator\n' +
|
|
68
|
+
'>\n' +
|
|
69
|
+
'</sky-progress-indicator>\n' +
|
|
70
|
+
'<sky-progress-indicator-nav-button\n' +
|
|
71
|
+
' [progressIndicator]="myProgressIndicator"\n' +
|
|
72
|
+
'>\n' +
|
|
73
|
+
'</sky-progress-indicator-nav-button>');
|
|
74
|
+
}
|
|
75
|
+
}, 50);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
get progressIndicator() {
|
|
80
|
+
return this.#_progressIndicator;
|
|
81
|
+
}
|
|
82
|
+
set isVisible(value) {
|
|
83
|
+
this.#_isVisible = value;
|
|
84
|
+
this.#changeDetector.markForCheck();
|
|
85
|
+
}
|
|
86
|
+
get isVisible() {
|
|
87
|
+
return this.#_isVisible;
|
|
88
|
+
}
|
|
89
|
+
#ngUnsubscribe;
|
|
90
|
+
#parentTimeout;
|
|
91
|
+
#_buttonType;
|
|
92
|
+
#_disabled;
|
|
93
|
+
#_isVisible;
|
|
94
|
+
#_progressIndicator;
|
|
95
|
+
#changeDetector;
|
|
96
|
+
#parentComponent;
|
|
97
|
+
constructor(changeDetector, parentComponent) {
|
|
98
|
+
/**
|
|
99
|
+
* Fires when users select the nav button and emits a `SkyProgressIndicatorActionClickArgs`
|
|
100
|
+
* object that is passed into the callback function to allow consumers to decide whether
|
|
101
|
+
* the button’s action should complete successfully.
|
|
102
|
+
*/
|
|
103
|
+
this.actionClick = new EventEmitter();
|
|
104
|
+
this.#ngUnsubscribe = new Subject();
|
|
105
|
+
this.#_buttonType = BUTTON_TYPE_DEFAULT;
|
|
106
|
+
this.#changeDetector = changeDetector;
|
|
107
|
+
this.#parentComponent = parentComponent;
|
|
108
|
+
}
|
|
109
|
+
ngAfterViewInit() {
|
|
110
|
+
if (!this.progressIndicator && this.#parentComponent) {
|
|
111
|
+
this.progressIndicator = this.#parentComponent;
|
|
112
|
+
}
|
|
113
|
+
else if (!this.progressIndicator) {
|
|
114
|
+
this.progressIndicator = undefined;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
ngOnDestroy() {
|
|
118
|
+
this.#ngUnsubscribe.next();
|
|
119
|
+
this.#ngUnsubscribe.complete();
|
|
120
|
+
this.actionClick.complete();
|
|
121
|
+
}
|
|
122
|
+
onClick(event) {
|
|
123
|
+
event.preventDefault();
|
|
124
|
+
let type;
|
|
125
|
+
switch (this.buttonType) {
|
|
126
|
+
case 'finish':
|
|
127
|
+
type = SkyProgressIndicatorMessageType.Finish;
|
|
128
|
+
break;
|
|
129
|
+
case 'next':
|
|
130
|
+
type = SkyProgressIndicatorMessageType.Progress;
|
|
131
|
+
break;
|
|
132
|
+
case 'previous':
|
|
133
|
+
type = SkyProgressIndicatorMessageType.Regress;
|
|
134
|
+
break;
|
|
135
|
+
case 'reset':
|
|
136
|
+
type = SkyProgressIndicatorMessageType.Reset;
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
// If the consumer has subscribed to the `actionClick` event,
|
|
140
|
+
// allow them to decide when to advance to the next step.
|
|
141
|
+
if (this.actionClick.observers.length > 0) {
|
|
142
|
+
this.actionClick.emit({
|
|
143
|
+
event,
|
|
144
|
+
progressHandler: new SkyProgressIndicatorActionClickProgressHandler(() => {
|
|
145
|
+
this.#sendMessage(type);
|
|
146
|
+
}),
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
this.#sendMessage(type);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
#sendMessage(type) {
|
|
154
|
+
if (type !== undefined) {
|
|
155
|
+
this.progressIndicator?.sendMessage({ type });
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
#updateButtonVisibility(change) {
|
|
159
|
+
const isLastStep = change.itemStatuses &&
|
|
160
|
+
change.activeIndex === change.itemStatuses.length - 1;
|
|
161
|
+
const buttonType = this.buttonType;
|
|
162
|
+
// Hide the button if all steps are complete
|
|
163
|
+
// (except for the reset button)
|
|
164
|
+
if (buttonType !== 'reset' && change.isComplete) {
|
|
165
|
+
this.isVisible = false;
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (buttonType === 'finish') {
|
|
169
|
+
this.isVisible = isLastStep;
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
// Hide the next button on the last step only if a finish button exists.
|
|
173
|
+
if (buttonType === 'next' &&
|
|
174
|
+
isLastStep &&
|
|
175
|
+
this.progressIndicator?.hasFinishButton) {
|
|
176
|
+
this.isVisible = false;
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
this.isVisible = true;
|
|
180
|
+
}
|
|
181
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorNavButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyProgressIndicatorComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
182
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyProgressIndicatorNavButtonComponent, selector: "sky-progress-indicator-nav-button", inputs: { buttonText: "buttonText", buttonType: "buttonType", disabled: "disabled", progressIndicator: "progressIndicator" }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n type=\"button\"\n [disabled]=\"\n disabled\n | skyProgressIndicatorNavButtonDisabled\n : buttonType\n : lastProgressChange?.activeIndex\n : lastProgressChange?.itemStatuses\n \"\n [ngClass]=\"buttonType | skyProgressIndicatorNavButtonClass\"\n (click)=\"onClick($event)\"\n>\n {{\n buttonText ||\n ('skyux_progress_indicator_navigator_' + buttonType | skyLibResources)\n }}\n</button>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i4.SkyProgressIndicatorNavButtonClass, name: "skyProgressIndicatorNavButtonClass" }, { kind: "pipe", type: i5.SkyProgressIndicatorNavButtonDisabledPipe, name: "skyProgressIndicatorNavButtonDisabled" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
183
|
+
}
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorNavButtonComponent, decorators: [{
|
|
185
|
+
type: Component,
|
|
186
|
+
args: [{ selector: 'sky-progress-indicator-nav-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n type=\"button\"\n [disabled]=\"\n disabled\n | skyProgressIndicatorNavButtonDisabled\n : buttonType\n : lastProgressChange?.activeIndex\n : lastProgressChange?.itemStatuses\n \"\n [ngClass]=\"buttonType | skyProgressIndicatorNavButtonClass\"\n (click)=\"onClick($event)\"\n>\n {{\n buttonText ||\n ('skyux_progress_indicator_navigator_' + buttonType | skyLibResources)\n }}\n</button>\n" }]
|
|
187
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyProgressIndicatorComponent, decorators: [{
|
|
188
|
+
type: Optional
|
|
189
|
+
}] }]; }, propDecorators: { buttonText: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], buttonType: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], disabled: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], progressIndicator: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], actionClick: [{
|
|
198
|
+
type: Output
|
|
199
|
+
}] } });
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakUsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFM0gsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFHM0YsTUFBTSxtQkFBbUIsR0FBc0MsTUFBTSxDQUFDO0FBRXRFOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxzQ0FBc0M7SUFVakQ7OztPQUdHO0lBQ0gsSUFDVyxVQUFVLENBQUMsS0FBb0Q7UUFDeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLElBQUksbUJBQW1CLENB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c0JBRGhCLEtBQUs7Z0JBUUssVUFBVTtzQkFEcEIsS0FBSztnQkFjSyxRQUFRO3NCQURsQixLQUFLO2dCQWVLLGlCQUFpQjtzQkFEM0IsS0FBSztnQkFxREMsV0FBVztzQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja0FyZ3MgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItYWN0aW9uLWNsaWNrLWFyZ3MnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja1Byb2dyZXNzSGFuZGxlciB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1hY3Rpb24tY2xpY2stcHJvZ3Jlc3MtaGFuZGxlcic7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZSB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZSB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1tZXNzYWdlLXR5cGUnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25UeXBlIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tdHlwZSc7XG5cbmNvbnN0IEJVVFRPTl9UWVBFX0RFRkFVTFQ6IFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uVHlwZSA9ICduZXh0JztcblxuLyoqXG4gKiBEaXNwbGF5cyBhIGJ1dHRvbiB0byBuYXZpZ2F0ZSB0aGUgc3RlcHMgaW4gbW9kYWwgd2l6YXJkcy4gV2UgcmVjb21tZW5kIGFnYWluc3QgdXNpbmcgaXQgaW5cbiAqIHBhc3NpdmUgcHJvZ3Jlc3MgaW5kaWNhdG9ycyBhbmQgd2F0ZXJmYWxsIHByb2dyZXNzIGluZGljYXRvcnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGRpc3BsYXkgb24gdGhlIG5hdiBidXR0b24uXG4gICAqIEBkZWZhdWx0IFwiTmV4dFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBuYXYgYnV0dG9uIHRvIGluY2x1ZGUuXG4gICAqIEBkZWZhdWx0IFwibmV4dFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGJ1dHRvblR5cGUodmFsdWU6IFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uVHlwZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19idXR0b25UeXBlID0gdmFsdWUgfHwgQlVUVE9OX1RZUEVfREVGQVVMVDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnV0dG9uVHlwZSgpOiBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvblR5cGUge1xuICAgIHJldHVybiB0aGlzLiNfYnV0dG9uVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIG5hdiBidXR0b24uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHByb2dyZXNzIGluZGljYXRvciBjb21wb25lbnQgdG8gYXNzb2NpYXRlIHdpdGggdGhlIG5hdiBidXR0b24uXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwcm9ncmVzc0luZGljYXRvcihcbiAgICB2YWx1ZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgdGhpcy4jX3Byb2dyZXNzSW5kaWNhdG9yID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy4jX3Byb2dyZXNzSW5kaWNhdG9yKSB7XG4gICAgICBpZiAodGhpcy5idXR0b25UeXBlID09PSAnZmluaXNoJykge1xuICAgICAgICAvLyBUaGUgYGhhc0ZpbmlzaEJ1dHRvbmAgZmllbGQgd2FzIGFkZGVkIHRvIHN1cHBvcnQgbGVnYWN5IEFQSS5cbiAgICAgICAgLy8gU29tZSBpbXBsZW1lbnRhdGlvbnMgb25seSBpbmNsdWRlIGEgbmV4dCBidXR0b247IHdlIGNhbm5vdFxuICAgICAgICAvLyBhc3N1bWUgdGhhdCBldmVyeSBpbXBsZW1lbnRhdGlvbiBpbmNsdWRlcyBib3RoIGEgZmluaXNoIGJ1dHRvbiBhbmQgYSBuZXh0IGJ1dHRvbi5cbiAgICAgICAgdGhpcy4jX3Byb2dyZXNzSW5kaWNhdG9yLmhhc0ZpbmlzaEJ1dHRvbiA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI19wcm9ncmVzc0luZGljYXRvci5wcm9ncmVzc0NoYW5nZXNcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChjaGFuZ2U6IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlKSA9PiB7XG4gICAgICAgICAgdGhpcy5sYXN0UHJvZ3Jlc3NDaGFuZ2UgPSBjaGFuZ2U7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQnV0dG9uVmlzaWJpbGl0eShjaGFuZ2UpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLiNwYXJlbnRUaW1lb3V0KSB7XG4gICAgICAgIHRoaXMuI3BhcmVudFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoIXRoaXMucHJvZ3Jlc3NJbmRpY2F0b3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgJ1RoZSBgPHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbj5gIGNvbXBvbmVudCByZXF1aXJlcyBhIHJlZmVyZW5jZSB0byAnICtcbiAgICAgICAgICAgICAgICAndGhlIGA8c2t5LXByb2dyZXNzLWluZGljYXRvcj5gIGNvbXBvbmVudCBpdCBjb250cm9scy4gRm9yIGV4YW1wbGU6XFxuJyArXG4gICAgICAgICAgICAgICAgJzxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yXFxuJyArXG4gICAgICAgICAgICAgICAgJyAgI215UHJvZ3Jlc3NJbmRpY2F0b3JcXG4nICtcbiAgICAgICAgICAgICAgICAnPlxcbicgK1xuICAgICAgICAgICAgICAgICc8L3NreS1wcm9ncmVzcy1pbmRpY2F0b3I+XFxuJyArXG4gICAgICAgICAgICAgICAgJzxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b25cXG4nICtcbiAgICAgICAgICAgICAgICAnICBbcHJvZ3Jlc3NJbmRpY2F0b3JdPVwibXlQcm9ncmVzc0luZGljYXRvclwiXFxuJyArXG4gICAgICAgICAgICAgICAgJz5cXG4nICtcbiAgICAgICAgICAgICAgICAnPC9za3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24+J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByb2dyZXNzSW5kaWNhdG9yKCk6IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3Byb2dyZXNzSW5kaWNhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBuYXYgYnV0dG9uIGFuZCBlbWl0cyBhIGBTa3lQcm9ncmVzc0luZGljYXRvckFjdGlvbkNsaWNrQXJnc2BcbiAgICogb2JqZWN0IHRoYXQgaXMgcGFzc2VkIGludG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGFsbG93IGNvbnN1bWVycyB0byBkZWNpZGUgd2hldGhlclxuICAgKiB0aGUgYnV0dG9u4oCZcyBhY3Rpb24gc2hvdWxkIGNvbXBsZXRlIHN1Y2Nlc3NmdWxseS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVByb2dyZXNzSW5kaWNhdG9yQWN0aW9uQ2xpY2tBcmdzPigpO1xuXG4gIHB1YmxpYyBzZXQgaXNWaXNpYmxlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2lzVmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1Zpc2libGUoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19pc1Zpc2libGU7XG4gIH1cblxuICBwdWJsaWMgbGFzdFByb2dyZXNzQ2hhbmdlOiBTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZSB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNwYXJlbnRUaW1lb3V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI19idXR0b25UeXBlID0gQlVUVE9OX1RZUEVfREVGQVVMVDtcbiAgI19kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgI19pc1Zpc2libGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICNfcHJvZ3Jlc3NJbmRpY2F0b3I6IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNwYXJlbnRDb21wb25lbnQ6IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwYXJlbnRDb21wb25lbnQ/OiBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3BhcmVudENvbXBvbmVudCA9IHBhcmVudENvbXBvbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnByb2dyZXNzSW5kaWNhdG9yICYmIHRoaXMuI3BhcmVudENvbXBvbmVudCkge1xuICAgICAgdGhpcy5wcm9ncmVzc0luZGljYXRvciA9IHRoaXMuI3BhcmVudENvbXBvbmVudDtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnByb2dyZXNzSW5kaWNhdG9yKSB7XG4gICAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5hY3Rpb25DbGljay5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgbGV0IHR5cGU6IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUgfCB1bmRlZmluZWQ7XG5cbiAgICBzd2l0Y2ggKHRoaXMuYnV0dG9uVHlwZSkge1xuICAgICAgY2FzZSAnZmluaXNoJzpcbiAgICAgICAgdHlwZSA9IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuRmluaXNoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ25leHQnOlxuICAgICAgICB0eXBlID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5Qcm9ncmVzcztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdwcmV2aW91cyc6XG4gICAgICAgIHR5cGUgPSBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLlJlZ3Jlc3M7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmVzZXQnOlxuICAgICAgICB0eXBlID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5SZXNldDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGNvbnN1bWVyIGhhcyBzdWJzY3JpYmVkIHRvIHRoZSBgYWN0aW9uQ2xpY2tgIGV2ZW50LFxuICAgIC8vIGFsbG93IHRoZW0gdG8gZGVjaWRlIHdoZW4gdG8gYWR2YW5jZSB0byB0aGUgbmV4dCBzdGVwLlxuICAgIGlmICh0aGlzLmFjdGlvbkNsaWNrLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xuICAgICAgICBldmVudCxcbiAgICAgICAgcHJvZ3Jlc3NIYW5kbGVyOiBuZXcgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja1Byb2dyZXNzSGFuZGxlcihcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZSh0eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UodHlwZSk7XG4gICAgfVxuICB9XG5cbiAgI3NlbmRNZXNzYWdlKHR5cGU6IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAodHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yPy5zZW5kTWVzc2FnZSh7IHR5cGUgfSk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUJ1dHRvblZpc2liaWxpdHkoY2hhbmdlOiBTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPVxuICAgICAgY2hhbmdlLml0ZW1TdGF0dXNlcyAmJlxuICAgICAgY2hhbmdlLmFjdGl2ZUluZGV4ID09PSBjaGFuZ2UuaXRlbVN0YXR1c2VzLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgYnV0dG9uVHlwZSA9IHRoaXMuYnV0dG9uVHlwZTtcblxuICAgIC8vIEhpZGUgdGhlIGJ1dHRvbiBpZiBhbGwgc3RlcHMgYXJlIGNvbXBsZXRlXG4gICAgLy8gKGV4Y2VwdCBmb3IgdGhlIHJlc2V0IGJ1dHRvbilcbiAgICBpZiAoYnV0dG9uVHlwZSAhPT0gJ3Jlc2V0JyAmJiBjaGFuZ2UuaXNDb21wbGV0ZSkge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYnV0dG9uVHlwZSA9PT0gJ2ZpbmlzaCcpIHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gaXNMYXN0U3RlcDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBuZXh0IGJ1dHRvbiBvbiB0aGUgbGFzdCBzdGVwIG9ubHkgaWYgYSBmaW5pc2ggYnV0dG9uIGV4aXN0cy5cbiAgICBpZiAoXG4gICAgICBidXR0b25UeXBlID09PSAnbmV4dCcgJiZcbiAgICAgIGlzTGFzdFN0ZXAgJiZcbiAgICAgIHRoaXMucHJvZ3Jlc3NJbmRpY2F0b3I/Lmhhc0ZpbmlzaEJ1dHRvblxuICAgICkge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgKm5nSWY9XCJpc1Zpc2libGVcIlxuICBjbGFzcz1cInNreS1idG4gc2t5LW1hcmdpbi1pbmxpbmUtc21cIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgW2Rpc2FibGVkXT1cIlxuICAgIGRpc2FibGVkXG4gICAgICB8IHNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uRGlzYWJsZWRcbiAgICAgICAgOiBidXR0b25UeXBlXG4gICAgICAgIDogbGFzdFByb2dyZXNzQ2hhbmdlPy5hY3RpdmVJbmRleFxuICAgICAgICA6IGxhc3RQcm9ncmVzc0NoYW5nZT8uaXRlbVN0YXR1c2VzXG4gIFwiXG4gIFtuZ0NsYXNzXT1cImJ1dHRvblR5cGUgfCBza3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNsYXNzXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4+XG4gIHt7XG4gICAgYnV0dG9uVGV4dCB8fFxuICAgICAgKCdza3l1eF9wcm9ncmVzc19pbmRpY2F0b3JfbmF2aWdhdG9yXycgKyBidXR0b25UeXBlIHwgc2t5TGliUmVzb3VyY2VzKVxuICB9fVxuPC9idXR0b24+XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { SkyProgressIndicatorMessageType } from '../types/progress-indicator-message-type';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Displays a button to mark all items in the progress indicator as incomplete and set the
|
|
6
|
+
* first item as the active item. The steps after the active item remain incomplete until
|
|
7
|
+
* users reach them in their sequential order.
|
|
8
|
+
*/
|
|
9
|
+
export class SkyProgressIndicatorResetButtonComponent {
|
|
10
|
+
/**
|
|
11
|
+
* Whether to disable the reset button.
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
set disabled(value) {
|
|
15
|
+
this.#_disabled = value;
|
|
16
|
+
this.#changeDetector.markForCheck();
|
|
17
|
+
}
|
|
18
|
+
get disabled() {
|
|
19
|
+
return this.#_disabled;
|
|
20
|
+
}
|
|
21
|
+
#_disabled;
|
|
22
|
+
#changeDetector;
|
|
23
|
+
constructor(changeDetector) {
|
|
24
|
+
/**
|
|
25
|
+
* Fires when users select the reset button that marks all items as incomplete and sets the
|
|
26
|
+
* first item as the active item.
|
|
27
|
+
*/
|
|
28
|
+
this.resetClick = new EventEmitter();
|
|
29
|
+
this.#changeDetector = changeDetector;
|
|
30
|
+
console.warn('[Deprecation warning] The `<sky-progress-indicator-reset-button>` component is ' +
|
|
31
|
+
'deprecated. Please use the `<sky-progress-indicator-nav-button>` component instead, with ' +
|
|
32
|
+
'`buttonType` set to "reset".');
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
this.resetClick.complete();
|
|
36
|
+
}
|
|
37
|
+
onClick() {
|
|
38
|
+
this.resetClick.emit();
|
|
39
|
+
this.progressIndicator?.sendMessage({
|
|
40
|
+
type: SkyProgressIndicatorMessageType.Reset,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorResetButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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 }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorResetButtonComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'sky-progress-indicator-reset-button', changeDetection: ChangeDetectionStrategy.OnPush, 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" }]
|
|
49
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], progressIndicator: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], resetClick: [{
|
|
54
|
+
type: Output
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3NyYy9saWIvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uL3Byb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBRTNGOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8sd0NBQXdDO0lBQ25EOzs7T0FHRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQTBCO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQWdCRCxVQUFVLENBQXNCO0lBQ2hDLGVBQWUsQ0FBb0I7SUFFbkMsWUFBWSxjQUFpQztRQVY3Qzs7O1dBR0c7UUFFSSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQU0zQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUNWLGlGQUFpRjtZQUMvRSwyRkFBMkY7WUFDM0YsOEJBQThCLENBQ2pDLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDO1lBQ2xDLElBQUksRUFBRSwrQkFBK0IsQ0FBQyxLQUFLO1NBQzVDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBbkRVLHdDQUF3QztrR0FBeEMsd0NBQXdDLDRMQ3ZCckQsK0pBUUE7OzJGRGVhLHdDQUF3QztrQkFMcEQsU0FBUzsrQkFDRSxxQ0FBcUMsbUJBRTlCLHVCQUF1QixDQUFDLE1BQU07d0dBUXBDLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQVFDLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZSB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgYnV0dG9uIHRvIG1hcmsgYWxsIGl0ZW1zIGluIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgYXMgaW5jb21wbGV0ZSBhbmQgc2V0IHRoZVxuICogZmlyc3QgaXRlbSBhcyB0aGUgYWN0aXZlIGl0ZW0uIFRoZSBzdGVwcyBhZnRlciB0aGUgYWN0aXZlIGl0ZW0gcmVtYWluIGluY29tcGxldGUgdW50aWxcbiAqIHVzZXJzIHJlYWNoIHRoZW0gaW4gdGhlaXIgc2VxdWVudGlhbCBvcmRlci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXByb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvclJlc2V0QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgcmVzZXQgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgY29tcG9uZW50IHRvIGFzc29jaWF0ZSB3aXRoIHRoZSByZXNldCBidXR0b24uXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHByb2dyZXNzSW5kaWNhdG9yOiBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIHJlc2V0IGJ1dHRvbiB0aGF0IG1hcmtzIGFsbCBpdGVtcyBhcyBpbmNvbXBsZXRlIGFuZCBzZXRzIHRoZVxuICAgKiBmaXJzdCBpdGVtIGFzIHRoZSBhY3RpdmUgaXRlbS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVzZXRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAjX2Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ1tEZXByZWNhdGlvbiB3YXJuaW5nXSBUaGUgYDxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbj5gIGNvbXBvbmVudCBpcyAnICtcbiAgICAgICAgJ2RlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgdGhlIGA8c2t5LXByb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uPmAgY29tcG9uZW50IGluc3RlYWQsIHdpdGggJyArXG4gICAgICAgICdgYnV0dG9uVHlwZWAgc2V0IHRvIFwicmVzZXRcIi4nXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0Q2xpY2suY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRDbGljay5lbWl0KCk7XG5cbiAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yPy5zZW5kTWVzc2FnZSh7XG4gICAgICB0eXBlOiBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLlJlc2V0LFxuICAgIH0pO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmtcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvYnV0dG9uPlxuIl19
|
|
@@ -19,13 +19,13 @@ export class SkyProgressIndicatorMarkerClassPipe {
|
|
|
19
19
|
}
|
|
20
20
|
return `sky-progress-indicator-status-marker-mode-${displayMode} sky-progress-indicator-status-marker-status-${statusName}`;
|
|
21
21
|
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorMarkerClassPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
23
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorMarkerClassPipe, name: "skyProgressIndicatorMarkerClass" }); }
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
SkyProgressIndicatorMarkerClassPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorMarkerClassPipe, name: "skyProgressIndicatorMarkerClass" });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorMarkerClassPipe, decorators: [{
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorMarkerClassPipe, decorators: [{
|
|
26
26
|
type: Pipe,
|
|
27
27
|
args: [{
|
|
28
28
|
name: 'skyProgressIndicatorMarkerClass',
|
|
29
29
|
}]
|
|
30
30
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLXN0YXR1cy1tYXJrZXItY2xhc3MucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci1jbGFzcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUt6RixNQUFNLE9BQU8sbUNBQW1DO0lBQ3ZDLFNBQVMsQ0FDZCxXQUFtQixFQUNuQixNQUFzQztRQUV0QyxJQUFJLFVBQWtCLENBQUM7UUFFdkIsUUFBUSxNQUFNLEVBQUU7WUFDZCxLQUFLLDhCQUE4QixDQUFDLFFBQVE7Z0JBQzFDLFVBQVUsR0FBRyxVQUFVLENBQUM7Z0JBQ3hCLE1BQU07WUFDUixLQUFLLDhCQUE4QixDQUFDLFVBQVU7Z0JBQzVDLFVBQVUsR0FBRyxZQUFZLENBQUM7Z0JBQzFCLE1BQU07WUFDUixLQUFLLDhCQUE4QixDQUFDLE9BQU87Z0JBQ3pDLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQ3ZCLE1BQU07WUFDUjtnQkFDRSxVQUFVLEdBQUcsUUFBUSxDQUFDO1NBQ3pCO1FBRUQsT0FBTyw2Q0FBNkMsV0FBVyxnREFBZ0QsVUFBVSxFQUFFLENBQUM7SUFDOUgsQ0FBQzs4R0F0QlUsbUNBQW1DOzRHQUFuQyxtQ0FBbUM7OzJGQUFuQyxtQ0FBbUM7a0JBSC9DLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGlDQUFpQztpQkFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cyB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLXN0YXR1cyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NreVByb2dyZXNzSW5kaWNhdG9yTWFya2VyQ2xhc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvck1hcmtlckNsYXNzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIGRpc3BsYXlNb2RlOiBzdHJpbmcsXG4gICAgc3RhdHVzOiBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXNcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgc3RhdHVzTmFtZTogc3RyaW5nO1xuXG4gICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkNvbXBsZXRlOlxuICAgICAgICBzdGF0dXNOYW1lID0gJ2NvbXBsZXRlJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cy5JbmNvbXBsZXRlOlxuICAgICAgICBzdGF0dXNOYW1lID0gJ2luY29tcGxldGUnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLlBlbmRpbmc6XG4gICAgICAgIHN0YXR1c05hbWUgPSAncGVuZGluZyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgc3RhdHVzTmFtZSA9ICdhY3RpdmUnO1xuICAgIH1cblxuICAgIHJldHVybiBgc2t5LXByb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLW1vZGUtJHtkaXNwbGF5TW9kZX0gc2t5LXByb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLXN0YXR1cy0ke3N0YXR1c05hbWV9YDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, Optional, } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@skyux/theme";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "@skyux/indicators";
|
|
9
|
+
import * as i4 from "./progress-indicator-status-marker-class.pipe";
|
|
10
|
+
/**
|
|
11
|
+
* Specifies the content to display in the status marker.
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export class SkyProgressIndicatorStatusMarkerComponent {
|
|
15
|
+
set displayMode(value) {
|
|
16
|
+
this.#_displayMode = value;
|
|
17
|
+
}
|
|
18
|
+
get displayMode() {
|
|
19
|
+
return this.#_displayMode;
|
|
20
|
+
}
|
|
21
|
+
set status(value) {
|
|
22
|
+
this.#_status = value;
|
|
23
|
+
this.isComplete = this.#_status === SkyProgressIndicatorItemStatus.Complete;
|
|
24
|
+
}
|
|
25
|
+
get status() {
|
|
26
|
+
return this.#_status;
|
|
27
|
+
}
|
|
28
|
+
#ngUnsubscribe;
|
|
29
|
+
#changeDetector;
|
|
30
|
+
#_status;
|
|
31
|
+
#_displayMode;
|
|
32
|
+
constructor(changeDetector, themeSvc) {
|
|
33
|
+
this.isComplete = false;
|
|
34
|
+
this.#ngUnsubscribe = new Subject();
|
|
35
|
+
this.#_status = SkyProgressIndicatorItemStatus.Active;
|
|
36
|
+
this.#_displayMode = 'vertical';
|
|
37
|
+
this.#changeDetector = changeDetector;
|
|
38
|
+
// Update icons when theme changes.
|
|
39
|
+
themeSvc?.settingsChange
|
|
40
|
+
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
41
|
+
.subscribe(() => {
|
|
42
|
+
this.#changeDetector.markForCheck();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
ngOnDestroy() {
|
|
46
|
+
this.#ngUnsubscribe.next();
|
|
47
|
+
this.#ngUnsubscribe.complete();
|
|
48
|
+
}
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorStatusMarkerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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]=\"displayMode | skyProgressIndicatorMarkerClass : status\"\n>\n <div\n *skyThemeIf=\"'default'\"\n class=\"sky-progress-indicator-status-marker-icon\"\n >\n <sky-icon *ngIf=\"isComplete\" icon=\"check\"></sky-icon>\n </div>\n <div *skyThemeIf=\"'modern'\" class=\"sky-progress-indicator-status-marker-icon\">\n <sky-icon *ngIf=\"isComplete\" icon=\"check\" iconType=\"skyux\"></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"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i1.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i4.SkyProgressIndicatorMarkerClassPipe, name: "skyProgressIndicatorMarkerClass" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorStatusMarkerComponent, decorators: [{
|
|
53
|
+
type: Component,
|
|
54
|
+
args: [{ selector: 'sky-progress-indicator-status-marker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-progress-indicator-status-marker\"\n role=\"presentation\"\n [ngClass]=\"displayMode | skyProgressIndicatorMarkerClass : status\"\n>\n <div\n *skyThemeIf=\"'default'\"\n class=\"sky-progress-indicator-status-marker-icon\"\n >\n <sky-icon *ngIf=\"isComplete\" icon=\"check\"></sky-icon>\n </div>\n <div *skyThemeIf=\"'modern'\" class=\"sky-progress-indicator-status-marker-icon\">\n <sky-icon *ngIf=\"isComplete\" icon=\"check\" iconType=\"skyux\"></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"] }]
|
|
55
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyThemeService, decorators: [{
|
|
56
|
+
type: Optional
|
|
57
|
+
}] }]; }, propDecorators: { displayMode: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], status: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLXN0YXR1cy1tYXJrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7QUFFekY7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHlDQUF5QztJQUNwRCxJQUNXLFdBQVcsQ0FBQyxLQUFnQztRQUNyRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDVyxNQUFNLENBQUMsS0FBcUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLDhCQUE4QixDQUFDLFFBQVEsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFJRCxjQUFjLENBQXVCO0lBQ3JDLGVBQWUsQ0FBb0I7SUFFbkMsUUFBUSxDQUNnQztJQUN4QyxhQUFhLENBQXlDO0lBRXRELFlBQ0UsY0FBaUMsRUFDckIsUUFBMEI7UUFYakMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUUxQixtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHckMsYUFBUSxHQUNOLDhCQUE4QixDQUFDLE1BQU0sQ0FBQztRQUN4QyxrQkFBYSxHQUE4QixVQUFVLENBQUM7UUFNcEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFFdEMsbUNBQW1DO1FBQ25DLFFBQVEsRUFBRSxjQUFjO2FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7OEdBOUNVLHlDQUF5QztrR0FBekMseUNBQXlDLHNJQ3pCdEQseWtCQWdCQTs7MkZEU2EseUNBQXlDO2tCQU5yRCxTQUFTOytCQUNFLHNDQUFzQyxtQkFHL0IsdUJBQXVCLENBQUMsTUFBTTs7MEJBaUM1QyxRQUFROzRDQTdCQSxXQUFXO3NCQURyQixLQUFLO2dCQVVLLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS1zdGF0dXMnO1xuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgY29udGVudCB0byBkaXNwbGF5IGluIHRoZSBzdGF0dXMgbWFya2VyLlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvclN0YXR1c01hcmtlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheU1vZGUodmFsdWU6ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcpIHtcbiAgICB0aGlzLiNfZGlzcGxheU1vZGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheU1vZGUoKTogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNwbGF5TW9kZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc3RhdHVzKHZhbHVlOiBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMpIHtcbiAgICB0aGlzLiNfc3RhdHVzID0gdmFsdWU7XG4gICAgdGhpcy5pc0NvbXBsZXRlID0gdGhpcy4jX3N0YXR1cyA9PT0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkNvbXBsZXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0dXMoKTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzIHtcbiAgICByZXR1cm4gdGhpcy4jX3N0YXR1cztcbiAgfVxuXG4gIHB1YmxpYyBpc0NvbXBsZXRlID0gZmFsc2U7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNfc3RhdHVzOiBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMgPVxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cy5BY3RpdmU7XG4gICNfZGlzcGxheU1vZGU6ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAndmVydGljYWwnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuXG4gICAgLy8gVXBkYXRlIGljb25zIHdoZW4gdGhlbWUgY2hhbmdlcy5cbiAgICB0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlclwiXG4gIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICBbbmdDbGFzc109XCJkaXNwbGF5TW9kZSB8IHNreVByb2dyZXNzSW5kaWNhdG9yTWFya2VyQ2xhc3MgOiBzdGF0dXNcIlxuPlxuICA8ZGl2XG4gICAgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgIGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLWljb25cIlxuICA+XG4gICAgPHNreS1pY29uICpuZ0lmPVwiaXNDb21wbGV0ZVwiIGljb249XCJjaGVja1wiPjwvc2t5LWljb24+XG4gIDwvZGl2PlxuICA8ZGl2ICpza3lUaGVtZUlmPVwiJ21vZGVybidcIiBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci1pY29uXCI+XG4gICAgPHNreS1pY29uICpuZ0lmPVwiaXNDb21wbGV0ZVwiIGljb249XCJjaGVja1wiIGljb25UeXBlPVwic2t5dXhcIj48L3NreS1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlci1saW5lXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|