@skyux/progress-indicator 4.0.0-rc.0 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/README.md +1 -1
  3. package/bundles/skyux-progress-indicator.umd.js +204 -56
  4. package/bundles/skyux-progress-indicator.umd.js.map +1 -1
  5. package/bundles/skyux-progress-indicator.umd.min.js +12 -12
  6. package/bundles/skyux-progress-indicator.umd.min.js.map +1 -1
  7. package/esm2015/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.js +7 -3
  8. package/esm2015/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.js +68 -30
  9. package/esm2015/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.js +14 -1
  10. package/esm2015/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.js +26 -8
  11. package/esm2015/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.js +6 -3
  12. package/esm2015/modules/progress-indicator/progress-indicator.component.js +28 -2
  13. package/esm2015/modules/progress-indicator/progress-indicator.module.js +4 -2
  14. package/esm2015/modules/progress-indicator/types/progress-indicator-action-click-args.js +1 -1
  15. package/esm2015/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.js +3 -2
  16. package/esm2015/modules/progress-indicator/types/progress-indicator-change.js +1 -1
  17. package/esm2015/modules/progress-indicator/types/progress-indicator-item-status.js +13 -1
  18. package/esm2015/modules/progress-indicator/types/progress-indicator-message-type.js +20 -1
  19. package/esm2015/modules/progress-indicator/types/progress-indicator-message.js +1 -1
  20. package/esm2015/modules/progress-indicator/types/progress-indicator-mode.js +7 -1
  21. package/esm2015/modules/progress-indicator/types/progress-indicator-nav-button-type.js +1 -1
  22. package/esm2015/public_api.js +6 -0
  23. package/esm2015/skyux-progress-indicator.js +2 -2
  24. package/esm5/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.js +7 -3
  25. package/esm5/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.js +73 -31
  26. package/esm5/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.js +14 -1
  27. package/esm5/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.js +27 -8
  28. package/esm5/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.js +6 -3
  29. package/esm5/modules/progress-indicator/progress-indicator.component.js +28 -2
  30. package/esm5/modules/progress-indicator/progress-indicator.module.js +4 -2
  31. package/esm5/modules/progress-indicator/types/progress-indicator-action-click-args.js +1 -1
  32. package/esm5/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.js +3 -2
  33. package/esm5/modules/progress-indicator/types/progress-indicator-change.js +1 -1
  34. package/esm5/modules/progress-indicator/types/progress-indicator-item-status.js +13 -1
  35. package/esm5/modules/progress-indicator/types/progress-indicator-message-type.js +20 -1
  36. package/esm5/modules/progress-indicator/types/progress-indicator-message.js +1 -1
  37. package/esm5/modules/progress-indicator/types/progress-indicator-mode.js +7 -1
  38. package/esm5/modules/progress-indicator/types/progress-indicator-nav-button-type.js +1 -1
  39. package/esm5/public_api.js +6 -0
  40. package/esm5/skyux-progress-indicator.js +2 -2
  41. package/fesm2015/skyux-progress-indicator.js +180 -41
  42. package/fesm2015/skyux-progress-indicator.js.map +1 -1
  43. package/fesm5/skyux-progress-indicator.js +185 -41
  44. package/fesm5/skyux-progress-indicator.js.map +1 -1
  45. package/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.d.ts +12 -3
  46. package/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.d.ts +41 -9
  47. package/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.d.ts +19 -1
  48. package/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.d.ts +16 -8
  49. package/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.d.ts +3 -0
  50. package/modules/progress-indicator/progress-indicator.component.d.ts +40 -9
  51. package/modules/progress-indicator/types/progress-indicator-action-click-args.d.ts +9 -0
  52. package/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.d.ts +2 -1
  53. package/modules/progress-indicator/types/progress-indicator-change.d.ts +9 -0
  54. package/modules/progress-indicator/types/progress-indicator-item-status.d.ts +12 -0
  55. package/modules/progress-indicator/types/progress-indicator-message-type.d.ts +19 -0
  56. package/modules/progress-indicator/types/progress-indicator-message.d.ts +7 -4
  57. package/modules/progress-indicator/types/progress-indicator-mode.d.ts +6 -0
  58. package/modules/progress-indicator/types/progress-indicator-nav-button-type.d.ts +4 -1
  59. package/package.json +8 -7
  60. package/{index.d.ts → public_api.d.ts} +0 -0
  61. package/skyux-progress-indicator.d.ts +1 -1
  62. package/skyux-progress-indicator.metadata.json +1 -1
  63. package/src/assets/img/guidelines/passive-indicator/passive-progress-anatomy.png +0 -0
  64. package/src/assets/img/guidelines/passive-indicator/passive-progress-usage-1.png +0 -0
  65. package/src/assets/img/guidelines/passive-indicator/passive-progress-usage-2.png +0 -0
  66. package/src/assets/img/guidelines/passive-indicator/passive-progress-usage-3.png +0 -0
  67. package/src/assets/img/guidelines/passive-indicator/passive-progress-usage-4.png +0 -0
  68. package/src/assets/img/guidelines/passive-indicator/passive-progress-usage-5.png +0 -0
  69. package/src/assets/img/guidelines/passive-indicator/passive-progress-usage-6.png +0 -0
  70. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-anatomy.png +0 -0
  71. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-layout.png +0 -0
  72. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-usage-1.png +0 -0
  73. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-usage-2.png +0 -0
  74. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-usage-3.png +0 -0
  75. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-usage-4.png +0 -0
  76. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-usage-5.png +0 -0
  77. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-usage-6.png +0 -0
  78. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-usage-7.png +0 -0
  79. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-usage-8.png +0 -0
  80. package/src/assets/img/guidelines/passive-indicator/waterfall-progress-usage-9.png +0 -0
  81. package/esm2015/index.js +0 -6
  82. package/esm5/index.js +0 -6
@@ -4,6 +4,7 @@ import { CommonModule } from '@angular/common';
4
4
  import { SkyAppWindowRef } from '@skyux/core';
5
5
  import { getStringForLocale, SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule } from '@skyux/i18n';
6
6
  import { SkyIconModule } from '@skyux/indicators';
7
+ import { SkyThemeService, SkyThemeModule } from '@skyux/theme';
7
8
  import { Subject } from 'rxjs';
8
9
  import { takeUntil, delay, distinctUntilChanged } from 'rxjs/operators';
9
10
 
@@ -37,12 +38,28 @@ var SkyProgressIndicatorResourcesModule = /** @class */ (function () {
37
38
 
38
39
  var SkyProgressIndicatorItemStatus;
39
40
  (function (SkyProgressIndicatorItemStatus) {
41
+ /**
42
+ * Indicates the item is active.
43
+ */
40
44
  SkyProgressIndicatorItemStatus[SkyProgressIndicatorItemStatus["Active"] = 0] = "Active";
45
+ /**
46
+ * Indicates the item is complete.
47
+ */
41
48
  SkyProgressIndicatorItemStatus[SkyProgressIndicatorItemStatus["Complete"] = 1] = "Complete";
49
+ /**
50
+ * Indicates the item is incomplete.
51
+ */
42
52
  SkyProgressIndicatorItemStatus[SkyProgressIndicatorItemStatus["Incomplete"] = 2] = "Incomplete";
53
+ /**
54
+ * Indicates the item is pending.
55
+ */
43
56
  SkyProgressIndicatorItemStatus[SkyProgressIndicatorItemStatus["Pending"] = 3] = "Pending";
44
57
  })(SkyProgressIndicatorItemStatus || (SkyProgressIndicatorItemStatus = {}));
45
58
 
59
+ /**
60
+ * Specifies a step to include in the progress indicator. Each step requires a label,
61
+ * and you can also specify step details within the `sky-progress-indicator-item` element.
62
+ */
46
63
  var SkyProgressIndicatorItemComponent = /** @class */ (function () {
47
64
  function SkyProgressIndicatorItemComponent(changeDetector) {
48
65
  this.changeDetector = changeDetector;
@@ -113,9 +130,9 @@ var SkyProgressIndicatorItemComponent = /** @class */ (function () {
113
130
  SkyProgressIndicatorItemComponent = __decorate([
114
131
  Component({
115
132
  selector: 'sky-progress-indicator-item',
116
- template: "<div *ngIf=\"isVisible\"\n class=\"sky-progress-indicator-item\"\n [ngClass]=\"'sky-progress-indicator-item-status-' + statusName\"\n>\n <sky-progress-indicator-status-marker *ngIf=\"showStatusMarker\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n\n <div\n class=\"sky-progress-indicator-item-content\"\n >\n <div *ngIf=\"showTitle\"\n aria-level=\"2\"\n class=\"sky-progress-indicator-item-heading\"\n role=\"heading\"\n [ngClass]=\"{ 'sky-deemphasized': statusName === 'pending' }\"\n >\n {{ formattedTitle }}\n </div>\n <div\n class=\"sky-progress-indicator-item-body\"\n >\n <ng-template [ngIf]=\"statusName !== 'incomplete'\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n </div>\n</div>\n",
133
+ template: "<div *ngIf=\"isVisible\"\n class=\"sky-progress-indicator-item\"\n [ngClass]=\"'sky-progress-indicator-item-status-' + statusName\"\n>\n <sky-progress-indicator-status-marker *ngIf=\"showStatusMarker\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n\n <div\n class=\"sky-progress-indicator-item-content\"\n >\n <div *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\n class=\"sky-progress-indicator-item-body\"\n >\n <ng-template [ngIf]=\"statusName !== 'incomplete'\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n </div>\n</div>\n",
117
134
  changeDetection: ChangeDetectionStrategy.OnPush,
118
- 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}"]
135
+ 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}"]
119
136
  })
120
137
  ], SkyProgressIndicatorItemComponent);
121
138
  return SkyProgressIndicatorItemComponent;
@@ -123,16 +140,41 @@ var SkyProgressIndicatorItemComponent = /** @class */ (function () {
123
140
 
124
141
  var SkyProgressIndicatorDisplayMode;
125
142
  (function (SkyProgressIndicatorDisplayMode) {
143
+ /**
144
+ * Specifies a vertical layout for the progress indicator.
145
+ */
126
146
  SkyProgressIndicatorDisplayMode[SkyProgressIndicatorDisplayMode["Vertical"] = 0] = "Vertical";
147
+ /**
148
+ * Specifies a horizontal layout for the progress indicator.
149
+ */
127
150
  SkyProgressIndicatorDisplayMode[SkyProgressIndicatorDisplayMode["Horizontal"] = 1] = "Horizontal";
128
151
  })(SkyProgressIndicatorDisplayMode || (SkyProgressIndicatorDisplayMode = {}));
129
152
 
130
153
  var SkyProgressIndicatorMessageType;
131
154
  (function (SkyProgressIndicatorMessageType) {
155
+ /**
156
+ * Indicates that the current step is complete.
157
+ * This completes the active item and moves to the next item.
158
+ */
132
159
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Progress"] = 0] = "Progress";
160
+ /**
161
+ * Indicates that progress should return to the previous step.
162
+ * This moves from the active item to the item that precedes it.
163
+ */
133
164
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Regress"] = 1] = "Regress";
165
+ /**
166
+ * Indicates that progress is incomplete.
167
+ * This marks all items as incomplete and sets the first item as the active item.
168
+ */
134
169
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Reset"] = 2] = "Reset";
170
+ /**
171
+ * Indicates that progress is complete.
172
+ * This marks all items as complete and sets the last item as the active item.
173
+ */
135
174
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Finish"] = 3] = "Finish";
175
+ /**
176
+ * Indicates that progress should move to the item indicated by the `data.activeIndex` property.
177
+ */
136
178
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["GoTo"] = 4] = "GoTo";
137
179
  })(SkyProgressIndicatorMessageType || (SkyProgressIndicatorMessageType = {}));
138
180
 
@@ -140,6 +182,9 @@ var SkyProgressIndicatorComponent = /** @class */ (function () {
140
182
  function SkyProgressIndicatorComponent(changeDetector, windowRef) {
141
183
  this.changeDetector = changeDetector;
142
184
  this.windowRef = windowRef;
185
+ /**
186
+ * Fires when the progress indicator changes the status of an item.
187
+ */
143
188
  this.progressChanges = new EventEmitter();
144
189
  this.ngUnsubscribe = new Subject();
145
190
  this._messageStream = new Subject();
@@ -151,6 +196,14 @@ var SkyProgressIndicatorComponent = /** @class */ (function () {
151
196
  }
152
197
  return this._displayMode;
153
198
  },
199
+ /**
200
+ * Specifies whether to display the progress indicator vertically or horizontally.
201
+ * For [passive progress indicators](https://developer.blackbaud.com/skyux-progress-indicator/docs/passive-indicator)
202
+ * and [waterfall progress indicators](https://developer.blackbaud.com/skyux/components/progress-indicator/waterfall-progress-indicator),
203
+ * use the vertical display mode. For [modal wizards](https://developer.blackbaud.com/skyux/components/wizard),
204
+ * use the horizontal display mode.
205
+ * @default vertical
206
+ */
154
207
  set: function (value) {
155
208
  this._displayMode = value;
156
209
  },
@@ -165,6 +218,11 @@ var SkyProgressIndicatorComponent = /** @class */ (function () {
165
218
  }
166
219
  return this._isPassive || false;
167
220
  },
221
+ /**
222
+ * Indicates whether the progress indicator is passive. Passive progress indicators inform users of
223
+ * progress that concerns them but that they are not responsible for, and they must use the vertical display mode.
224
+ * @default false
225
+ */
168
226
  set: function (value) {
169
227
  this._isPassive = value;
170
228
  },
@@ -172,6 +230,11 @@ var SkyProgressIndicatorComponent = /** @class */ (function () {
172
230
  configurable: true
173
231
  });
174
232
  Object.defineProperty(SkyProgressIndicatorComponent.prototype, "messageStream", {
233
+ /**
234
+ * Specifies an observable of `SkyProgressIndicatorMessage` that determines the status to
235
+ * display for items in the progress indicator. The message stream is a queue of
236
+ * commanding messages to change the state of the progress indicator based on the message type.
237
+ */
175
238
  set: function (value) {
176
239
  if (value) {
177
240
  this._messageStream = value;
@@ -184,6 +247,11 @@ var SkyProgressIndicatorComponent = /** @class */ (function () {
184
247
  get: function () {
185
248
  return this._startingIndex || 0;
186
249
  },
250
+ /**
251
+ * Specifies the index for the item to make active when the progress indicator
252
+ * loads. All steps that precede the active item are marked as complete, and all steps
253
+ * that follow the active item are marked as incomplete.
254
+ */
187
255
  set: function (value) {
188
256
  this._startingIndex = value;
189
257
  },
@@ -441,14 +509,15 @@ var SkyProgressIndicatorComponent = /** @class */ (function () {
441
509
  selector: 'sky-progress-indicator',
442
510
  template: "<div\n class=\"sky-progress-indicator\"\n [ngClass]=\"cssClassNames\"\n>\n <div *ngIf=\"displayModeName === 'horizontal'\"\n class=\"sky-progress-indicator-horizontal-status-markers\"\n >\n <sky-progress-indicator-status-marker *ngFor=\"let status of itemStatuses\"\n [displayMode]=\"displayMode\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n </div>\n <ng-content></ng-content>\n</div>\n",
443
511
  changeDetection: ChangeDetectionStrategy.OnPush,
444
- 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}.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}"]
512
+ 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}"]
445
513
  })
446
514
  ], SkyProgressIndicatorComponent);
447
515
  return SkyProgressIndicatorComponent;
448
516
  }());
449
517
 
450
518
  /**
451
- * Allows the consumer to trigger step advancement manually.
519
+ * Allows the consumer to decide whether the button's action should be completed successfully.
520
+ * The handler is provided with all nav button types.
452
521
  */
453
522
  var SkyProgressIndicatorActionClickProgressHandler = /** @class */ (function () {
454
523
  /**
@@ -461,10 +530,19 @@ var SkyProgressIndicatorActionClickProgressHandler = /** @class */ (function ()
461
530
  return SkyProgressIndicatorActionClickProgressHandler;
462
531
  }());
463
532
 
533
+ /**
534
+ * Displays a button to navigate the steps in modal wizards. We recommend against using it in
535
+ * passive progress indicators and waterfall progress indicators.
536
+ */
464
537
  var SkyProgressIndicatorNavButtonComponent = /** @class */ (function () {
465
538
  function SkyProgressIndicatorNavButtonComponent(changeDetector, parentComponent) {
466
539
  this.changeDetector = changeDetector;
467
540
  this.parentComponent = parentComponent;
541
+ /**
542
+ * Fires when users select the nav button and emits a `SkyProgressIndicatorActionClickArgs`
543
+ * object that is passed into the callback function to allow consumers to decide whether
544
+ * the button’s action should complete successfully.
545
+ */
468
546
  this.actionClick = new EventEmitter();
469
547
  this.ngUnsubscribe = new Subject();
470
548
  }
@@ -475,6 +553,11 @@ var SkyProgressIndicatorNavButtonComponent = /** @class */ (function () {
475
553
  }
476
554
  return this._buttonType;
477
555
  },
556
+ /**
557
+ * Specifies the type of nav button to include.
558
+ * The valid options are `finish`, `next`, `previous`, and `reset`.
559
+ * @default next
560
+ */
478
561
  set: function (value) {
479
562
  this._buttonType = value;
480
563
  },
@@ -496,6 +579,10 @@ var SkyProgressIndicatorNavButtonComponent = /** @class */ (function () {
496
579
  }
497
580
  return this._disabled || false;
498
581
  },
582
+ /**
583
+ * Indicates whether to disable the nav button.
584
+ * @default false
585
+ */
499
586
  set: function (value) {
500
587
  this._disabled = value;
501
588
  this.changeDetector.markForCheck();
@@ -503,6 +590,53 @@ var SkyProgressIndicatorNavButtonComponent = /** @class */ (function () {
503
590
  enumerable: true,
504
591
  configurable: true
505
592
  });
593
+ Object.defineProperty(SkyProgressIndicatorNavButtonComponent.prototype, "progressIndicator", {
594
+ get: function () {
595
+ return this._progressIndicator;
596
+ },
597
+ /**
598
+ * Specifies the progress indicator component to associate with the nav button.
599
+ * @required
600
+ */
601
+ set: function (value) {
602
+ var _this = this;
603
+ this._progressIndicator = value;
604
+ if (value) {
605
+ if (this.buttonType === 'finish') {
606
+ // The `hasFinishButton` field was added to support legacy API.
607
+ // Some implementations only include a next button; we cannot
608
+ // assume that every implementation includes both a finish button and a next button.
609
+ this._progressIndicator.hasFinishButton = true;
610
+ }
611
+ this._progressIndicator.progressChanges
612
+ .pipe(distinctUntilChanged(), takeUntil(this.ngUnsubscribe))
613
+ .subscribe(function (change) {
614
+ _this.lastProgressChange = change;
615
+ _this.updateButtonVisibility(change);
616
+ });
617
+ }
618
+ else {
619
+ if (!this.parentTimeout) {
620
+ this.parentTimeout = window.setTimeout(function () {
621
+ if (!_this.progressIndicator) {
622
+ throw new Error('The `<sky-progress-indicator-nav-button>` component requires a reference to ' +
623
+ 'the `<sky-progress-indicator>` component it controls. For example:\n' +
624
+ '<sky-progress-indicator\n' +
625
+ ' #myProgressIndicator\n' +
626
+ '>\n' +
627
+ '</sky-progress-indicator>\n' +
628
+ '<sky-progress-indicator-nav-button\n' +
629
+ ' [progressIndicator]="myProgressIndicator"\n' +
630
+ '>\n' +
631
+ '</sky-progress-indicator-nav-button>');
632
+ }
633
+ }, 50);
634
+ }
635
+ }
636
+ },
637
+ enumerable: true,
638
+ configurable: true
639
+ });
506
640
  Object.defineProperty(SkyProgressIndicatorNavButtonComponent.prototype, "cssClassNames", {
507
641
  get: function () {
508
642
  var buttonType = this.buttonType;
@@ -544,35 +678,13 @@ var SkyProgressIndicatorNavButtonComponent = /** @class */ (function () {
544
678
  enumerable: true,
545
679
  configurable: true
546
680
  });
547
- SkyProgressIndicatorNavButtonComponent.prototype.ngOnInit = function () {
548
- var _this = this;
549
- if (!this.progressIndicator) {
550
- if (!this.parentComponent) {
551
- throw new Error('The `<sky-progress-indicator-nav-button>` component requires a reference to ' +
552
- 'the `<sky-progress-indicator>` component it controls. For example:\n' +
553
- '<sky-progress-indicator\n' +
554
- ' #myProgressIndicator\n' +
555
- '>\n' +
556
- '</sky-progress-indicator>\n' +
557
- '<sky-progress-indicator-nav-button\n' +
558
- ' [progressIndicator]="myProgressIndicator"\n' +
559
- '>\n' +
560
- '</sky-progress-indicator-nav-button>');
561
- }
681
+ SkyProgressIndicatorNavButtonComponent.prototype.ngAfterViewInit = function () {
682
+ if (!this.progressIndicator && this.parentComponent) {
562
683
  this.progressIndicator = this.parentComponent;
563
684
  }
564
- if (this.buttonType === 'finish') {
565
- // The `hasFinishButton` field was added to support legacy API.
566
- // Some implementations only include a next button; we cannot
567
- // assume that every implementation includes both a finish button and a next button.
568
- this.progressIndicator.hasFinishButton = true;
685
+ else if (!this.progressIndicator) {
686
+ this.progressIndicator = undefined;
569
687
  }
570
- this.progressIndicator.progressChanges
571
- .pipe(distinctUntilChanged(), takeUntil(this.ngUnsubscribe))
572
- .subscribe(function (change) {
573
- _this.lastProgressChange = change;
574
- _this.updateButtonVisibility(change);
575
- });
576
688
  };
577
689
  SkyProgressIndicatorNavButtonComponent.prototype.ngOnDestroy = function () {
578
690
  this.ngUnsubscribe.next();
@@ -582,7 +694,6 @@ var SkyProgressIndicatorNavButtonComponent = /** @class */ (function () {
582
694
  SkyProgressIndicatorNavButtonComponent.prototype.onClick = function (event) {
583
695
  var _this = this;
584
696
  event.preventDefault();
585
- event.stopPropagation();
586
697
  var type;
587
698
  switch (this.buttonType) {
588
699
  case 'finish':
@@ -652,14 +763,14 @@ var SkyProgressIndicatorNavButtonComponent = /** @class */ (function () {
652
763
  ], SkyProgressIndicatorNavButtonComponent.prototype, "disabled", null);
653
764
  __decorate([
654
765
  Input()
655
- ], SkyProgressIndicatorNavButtonComponent.prototype, "progressIndicator", void 0);
766
+ ], SkyProgressIndicatorNavButtonComponent.prototype, "progressIndicator", null);
656
767
  __decorate([
657
768
  Output()
658
769
  ], SkyProgressIndicatorNavButtonComponent.prototype, "actionClick", void 0);
659
770
  SkyProgressIndicatorNavButtonComponent = __decorate([
660
771
  Component({
661
772
  selector: 'sky-progress-indicator-nav-button',
662
- template: "<button *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-compact\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"cssClassNames\"\n (click)=\"onClick($event)\"\n>\n {{ buttonText || (buttonLabelResourceString | skyLibResources) }}\n</button>\n",
773
+ template: "<button *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",
663
774
  changeDetection: ChangeDetectionStrategy.OnPush
664
775
  }),
665
776
  __param(1, Optional())
@@ -667,9 +778,18 @@ var SkyProgressIndicatorNavButtonComponent = /** @class */ (function () {
667
778
  return SkyProgressIndicatorNavButtonComponent;
668
779
  }());
669
780
 
781
+ /**
782
+ * Displays a button to mark all items in the progress indicator as incomplete and set the
783
+ * first item as the active item. The steps after the active item remain incomplete until
784
+ * users reach them in their sequential order.
785
+ */
670
786
  var SkyProgressIndicatorResetButtonComponent = /** @class */ (function () {
671
787
  function SkyProgressIndicatorResetButtonComponent(changeDetector) {
672
788
  this.changeDetector = changeDetector;
789
+ /**
790
+ * Fires when users select the reset button that marks all items as incomplete and sets the
791
+ * first item as the active item.
792
+ */
673
793
  this.resetClick = new EventEmitter();
674
794
  console.warn('[Deprecation warning] The `<sky-progress-indicator-reset-button>` component is ' +
675
795
  'deprecated. Please use the `<sky-progress-indicator-nav-button>` component instead, with ' +
@@ -679,6 +799,10 @@ var SkyProgressIndicatorResetButtonComponent = /** @class */ (function () {
679
799
  get: function () {
680
800
  return this._disabled || false;
681
801
  },
802
+ /**
803
+ * Indicates whether to disable the reset button.
804
+ * @default false
805
+ */
682
806
  set: function (value) {
683
807
  this._disabled = value;
684
808
  this.changeDetector.markForCheck();
@@ -717,9 +841,19 @@ var SkyProgressIndicatorResetButtonComponent = /** @class */ (function () {
717
841
  return SkyProgressIndicatorResetButtonComponent;
718
842
  }());
719
843
 
844
+ /**
845
+ * Specifies the content to display in the status marker.
846
+ * @internal
847
+ */
720
848
  var SkyProgressIndicatorStatusMarkerComponent = /** @class */ (function () {
721
- function SkyProgressIndicatorStatusMarkerComponent(changeDetector) {
849
+ function SkyProgressIndicatorStatusMarkerComponent(changeDetector, themeSvc) {
850
+ var _this = this;
722
851
  this.changeDetector = changeDetector;
852
+ this.ngUnsubscribe = new Subject();
853
+ // Update icons when theme changes.
854
+ themeSvc === null || themeSvc === void 0 ? void 0 : themeSvc.settingsChange.pipe(takeUntil(this.ngUnsubscribe)).subscribe(function () {
855
+ _this.changeDetector.markForCheck();
856
+ });
723
857
  }
724
858
  Object.defineProperty(SkyProgressIndicatorStatusMarkerComponent.prototype, "displayMode", {
725
859
  get: function () {
@@ -786,8 +920,13 @@ var SkyProgressIndicatorStatusMarkerComponent = /** @class */ (function () {
786
920
  enumerable: true,
787
921
  configurable: true
788
922
  });
923
+ SkyProgressIndicatorStatusMarkerComponent.prototype.ngOnDestroy = function () {
924
+ this.ngUnsubscribe.next();
925
+ this.ngUnsubscribe.complete();
926
+ };
789
927
  SkyProgressIndicatorStatusMarkerComponent.ctorParameters = function () { return [
790
- { type: ChangeDetectorRef }
928
+ { type: ChangeDetectorRef },
929
+ { type: SkyThemeService, decorators: [{ type: Optional }] }
791
930
  ]; };
792
931
  __decorate([
793
932
  Input()
@@ -798,23 +937,27 @@ var SkyProgressIndicatorStatusMarkerComponent = /** @class */ (function () {
798
937
  SkyProgressIndicatorStatusMarkerComponent = __decorate([
799
938
  Component({
800
939
  selector: 'sky-progress-indicator-status-marker',
801
- template: "<div\n class=\"sky-progress-indicator-status-marker\"\n role=\"presentation\"\n [ngClass]=\"cssClassNames\"\n>\n <div\n class=\"sky-progress-indicator-status-marker-icon\"\n >\n <sky-icon *ngIf=\"statusName === 'complete'\"\n icon=\"check\"\n >\n </sky-icon>\n </div>\n <div\n class=\"sky-progress-indicator-status-marker-line\"\n >\n </div>\n</div>\n",
940
+ template: "<div\n class=\"sky-progress-indicator-status-marker\"\n role=\"presentation\"\n [ngClass]=\"cssClassNames\"\n>\n <div *skyThemeIf=\"'default'\"\n class=\"sky-progress-indicator-status-marker-icon\"\n >\n <sky-icon *ngIf=\"statusName === 'complete'\"\n icon=\"check\"\n >\n </sky-icon>\n </div>\n <div *skyThemeIf=\"'modern'\"\n class=\"sky-progress-indicator-status-marker-icon\"\n >\n <sky-icon *ngIf=\"statusName === 'complete'\"\n icon=\"check\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </div>\n <div\n class=\"sky-progress-indicator-status-marker-line\"\n >\n </div>\n</div>\n",
802
941
  changeDetection: ChangeDetectionStrategy.OnPush,
803
- 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:#72bf44;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:#72bf44;border-color:transparent}.sky-progress-indicator-status-marker-status-pending .sky-progress-indicator-status-marker-icon{border-color:#72bf44}.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-icon{border-color:transparent;color:#72bf44;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:#72bf44}"]
804
- })
942
+ 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:#72bf44;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:#72bf44;border-color:transparent}.sky-progress-indicator-status-marker-status-pending .sky-progress-indicator-status-marker-icon{border-color:#72bf44}.sky-progress-indicator-status-marker-status-complete .sky-progress-indicator-status-marker-icon{border-color:transparent;color:#72bf44;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:#72bf44}: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}"]
943
+ }),
944
+ __param(1, Optional())
805
945
  ], SkyProgressIndicatorStatusMarkerComponent);
806
946
  return SkyProgressIndicatorStatusMarkerComponent;
807
947
  }());
808
948
 
949
+ /**
950
+ * Specifies a header to display above the progress indicator.
951
+ */
809
952
  var SkyProgressIndicatorTitleComponent = /** @class */ (function () {
810
953
  function SkyProgressIndicatorTitleComponent() {
811
954
  }
812
955
  SkyProgressIndicatorTitleComponent = __decorate([
813
956
  Component({
814
957
  selector: 'sky-progress-indicator-title',
815
- template: "<div\n aria-level=\"1\"\n class=\"sky-progress-indicator-title sky-section-heading\"\n role=\"heading\"\n>\n <ng-content></ng-content>\n</div>\n",
958
+ 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",
816
959
  changeDetection: ChangeDetectionStrategy.OnPush,
817
- styles: [".sky-progress-indicator-title{line-height:1.1;margin:0 0 30px;text-align:center}"]
960
+ 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}"]
818
961
  })
819
962
  ], SkyProgressIndicatorTitleComponent);
820
963
  return SkyProgressIndicatorTitleComponent;
@@ -837,7 +980,8 @@ var SkyProgressIndicatorModule = /** @class */ (function () {
837
980
  CommonModule,
838
981
  SkyI18nModule,
839
982
  SkyIconModule,
840
- SkyProgressIndicatorResourcesModule
983
+ SkyProgressIndicatorResourcesModule,
984
+ SkyThemeModule
841
985
  ],
842
986
  exports: [
843
987
  SkyProgressIndicatorComponent,