@skyux/progress-indicator 7.4.2 → 7.6.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.
Files changed (26) hide show
  1. package/documentation.json +405 -303
  2. package/esm2020/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +29 -7
  3. package/esm2020/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.mjs +4 -5
  4. package/esm2020/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.mjs +2 -2
  5. package/esm2020/lib/modules/progress-indicator/progress-indicator.component.mjs +5 -5
  6. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-change.mjs +1 -1
  7. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-item-status.mjs +5 -5
  8. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-message-type.mjs +6 -6
  9. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-message.mjs +1 -1
  10. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-mode.mjs +3 -3
  11. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.mjs +1 -1
  12. package/fesm2015/skyux-progress-indicator.mjs +47 -26
  13. package/fesm2015/skyux-progress-indicator.mjs.map +1 -1
  14. package/fesm2020/skyux-progress-indicator.mjs +47 -26
  15. package/fesm2020/skyux-progress-indicator.mjs.map +1 -1
  16. package/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.d.ts +7 -4
  17. package/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.d.ts +4 -5
  18. package/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.d.ts +2 -2
  19. package/lib/modules/progress-indicator/progress-indicator.component.d.ts +4 -4
  20. package/lib/modules/progress-indicator/types/progress-indicator-change.d.ts +3 -3
  21. package/lib/modules/progress-indicator/types/progress-indicator-item-status.d.ts +4 -4
  22. package/lib/modules/progress-indicator/types/progress-indicator-message-type.d.ts +5 -5
  23. package/lib/modules/progress-indicator/types/progress-indicator-message.d.ts +1 -1
  24. package/lib/modules/progress-indicator/types/progress-indicator-mode.d.ts +2 -2
  25. package/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.d.ts +1 -1
  26. package/package.json +5 -5
@@ -64,19 +64,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
64
64
  var SkyProgressIndicatorItemStatus;
65
65
  (function (SkyProgressIndicatorItemStatus) {
66
66
  /**
67
- * Indicates the item is active.
67
+ * The item is active.
68
68
  */
69
69
  SkyProgressIndicatorItemStatus[SkyProgressIndicatorItemStatus["Active"] = 0] = "Active";
70
70
  /**
71
- * Indicates the item is complete.
71
+ * The item is complete.
72
72
  */
73
73
  SkyProgressIndicatorItemStatus[SkyProgressIndicatorItemStatus["Complete"] = 1] = "Complete";
74
74
  /**
75
- * Indicates the item is incomplete.
75
+ * The item is incomplete.
76
76
  */
77
77
  SkyProgressIndicatorItemStatus[SkyProgressIndicatorItemStatus["Incomplete"] = 2] = "Incomplete";
78
78
  /**
79
- * Indicates the item is pending.
79
+ * The item is pending.
80
80
  */
81
81
  SkyProgressIndicatorItemStatus[SkyProgressIndicatorItemStatus["Pending"] = 3] = "Pending";
82
82
  })(SkyProgressIndicatorItemStatus || (SkyProgressIndicatorItemStatus = {}));
@@ -161,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
161
161
  type: Input
162
162
  }] } });
163
163
 
164
- var _SkyProgressIndicatorItemComponent_instances, _SkyProgressIndicatorItemComponent_titlePrefix, _SkyProgressIndicatorItemComponent_changeDetector, _SkyProgressIndicatorItemComponent__title, _SkyProgressIndicatorItemComponent__status, _SkyProgressIndicatorItemComponent_updateFormattedTitle;
164
+ var _SkyProgressIndicatorItemComponent_instances, _SkyProgressIndicatorItemComponent_titlePrefix, _SkyProgressIndicatorItemComponent_changeDetector, _SkyProgressIndicatorItemComponent__isVisible, _SkyProgressIndicatorItemComponent__title, _SkyProgressIndicatorItemComponent__showStatusMarker, _SkyProgressIndicatorItemComponent__showTitle, _SkyProgressIndicatorItemComponent__status, _SkyProgressIndicatorItemComponent_updateFormattedTitle;
165
165
  const STATUS_DEFAULT = SkyProgressIndicatorItemStatus.Incomplete;
166
166
  const STATUS_NAME_DEFAULT = 'incomplete';
167
167
  /**
@@ -171,18 +171,18 @@ const STATUS_NAME_DEFAULT = 'incomplete';
171
171
  class SkyProgressIndicatorItemComponent {
172
172
  constructor(changeDetector) {
173
173
  _SkyProgressIndicatorItemComponent_instances.add(this);
174
- this.isVisible = false;
175
- this.showStatusMarker = true;
176
- this.showTitle = true;
177
174
  this.statusName = STATUS_NAME_DEFAULT;
178
175
  _SkyProgressIndicatorItemComponent_titlePrefix.set(this, void 0);
179
176
  _SkyProgressIndicatorItemComponent_changeDetector.set(this, void 0);
177
+ _SkyProgressIndicatorItemComponent__isVisible.set(this, false);
180
178
  _SkyProgressIndicatorItemComponent__title.set(this, void 0);
179
+ _SkyProgressIndicatorItemComponent__showStatusMarker.set(this, true);
180
+ _SkyProgressIndicatorItemComponent__showTitle.set(this, true);
181
181
  _SkyProgressIndicatorItemComponent__status.set(this, STATUS_DEFAULT);
182
182
  __classPrivateFieldSet(this, _SkyProgressIndicatorItemComponent_changeDetector, changeDetector, "f");
183
183
  }
184
184
  /**
185
- * Specifies a step label for the step in the progress indicator.
185
+ * The step label for the step in the progress indicator.
186
186
  * @required
187
187
  */
188
188
  set title(value) {
@@ -217,6 +217,27 @@ class SkyProgressIndicatorItemComponent {
217
217
  get status() {
218
218
  return __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent__status, "f");
219
219
  }
220
+ set isVisible(value) {
221
+ __classPrivateFieldSet(this, _SkyProgressIndicatorItemComponent__isVisible, !!value, "f");
222
+ __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_changeDetector, "f").markForCheck();
223
+ }
224
+ get isVisible() {
225
+ return __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent__isVisible, "f");
226
+ }
227
+ set showStatusMarker(value) {
228
+ __classPrivateFieldSet(this, _SkyProgressIndicatorItemComponent__showStatusMarker, !!value, "f");
229
+ __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_changeDetector, "f").markForCheck();
230
+ }
231
+ get showStatusMarker() {
232
+ return __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent__showStatusMarker, "f");
233
+ }
234
+ set showTitle(value) {
235
+ __classPrivateFieldSet(this, _SkyProgressIndicatorItemComponent__showTitle, !!value, "f");
236
+ __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_changeDetector, "f").markForCheck();
237
+ }
238
+ get showTitle() {
239
+ return __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent__showTitle, "f");
240
+ }
220
241
  ngOnInit() {
221
242
  __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_instances, "m", _SkyProgressIndicatorItemComponent_updateFormattedTitle).call(this);
222
243
  }
@@ -229,8 +250,9 @@ class SkyProgressIndicatorItemComponent {
229
250
  __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_instances, "m", _SkyProgressIndicatorItemComponent_updateFormattedTitle).call(this);
230
251
  }
231
252
  }
232
- _SkyProgressIndicatorItemComponent_titlePrefix = new WeakMap(), _SkyProgressIndicatorItemComponent_changeDetector = new WeakMap(), _SkyProgressIndicatorItemComponent__title = new WeakMap(), _SkyProgressIndicatorItemComponent__status = new WeakMap(), _SkyProgressIndicatorItemComponent_instances = new WeakSet(), _SkyProgressIndicatorItemComponent_updateFormattedTitle = function _SkyProgressIndicatorItemComponent_updateFormattedTitle() {
253
+ _SkyProgressIndicatorItemComponent_titlePrefix = new WeakMap(), _SkyProgressIndicatorItemComponent_changeDetector = new WeakMap(), _SkyProgressIndicatorItemComponent__isVisible = new WeakMap(), _SkyProgressIndicatorItemComponent__title = new WeakMap(), _SkyProgressIndicatorItemComponent__showStatusMarker = new WeakMap(), _SkyProgressIndicatorItemComponent__showTitle = new WeakMap(), _SkyProgressIndicatorItemComponent__status = new WeakMap(), _SkyProgressIndicatorItemComponent_instances = new WeakSet(), _SkyProgressIndicatorItemComponent_updateFormattedTitle = function _SkyProgressIndicatorItemComponent_updateFormattedTitle() {
233
254
  this.formattedTitle = `${__classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_titlePrefix, "f")}${this.title}`;
255
+ __classPrivateFieldGet(this, _SkyProgressIndicatorItemComponent_changeDetector, "f").markForCheck();
234
256
  };
235
257
  SkyProgressIndicatorItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyProgressIndicatorItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
236
258
  SkyProgressIndicatorItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i1$1.λ4, selector: "[skyTrim]" }, { kind: "component", type: SkyProgressIndicatorStatusMarkerComponent, selector: "sky-progress-indicator-status-marker", inputs: ["displayMode", "status"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
@@ -301,27 +323,27 @@ class SkyProgressIndicatorActionClickProgressHandler {
301
323
  var SkyProgressIndicatorMessageType;
302
324
  (function (SkyProgressIndicatorMessageType) {
303
325
  /**
304
- * Indicates that the current step is complete.
326
+ * The current step is complete.
305
327
  * This completes the active item and moves to the next item.
306
328
  */
307
329
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Progress"] = 0] = "Progress";
308
330
  /**
309
- * Indicates that progress should return to the previous step.
331
+ * Returns progress to the previous step.
310
332
  * This moves from the active item to the item that precedes it.
311
333
  */
312
334
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Regress"] = 1] = "Regress";
313
335
  /**
314
- * Indicates that progress is incomplete.
336
+ * Progress is incomplete.
315
337
  * This marks all items as incomplete and sets the first item as the active item.
316
338
  */
317
339
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Reset"] = 2] = "Reset";
318
340
  /**
319
- * Indicates that progress is complete.
341
+ * Progress is complete.
320
342
  * This marks all items as complete and sets the last item as the active item.
321
343
  */
322
344
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Finish"] = 3] = "Finish";
323
345
  /**
324
- * Indicates that progress should move to the item indicated by the `data.activeIndex` property.
346
+ * Moves progress to the item indicated by the `data.activeIndex` property.
325
347
  */
326
348
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["GoTo"] = 4] = "GoTo";
327
349
  })(SkyProgressIndicatorMessageType || (SkyProgressIndicatorMessageType = {}));
@@ -333,11 +355,11 @@ var SkyProgressIndicatorMessageType;
333
355
  var SkyProgressIndicatorDisplayMode;
334
356
  (function (SkyProgressIndicatorDisplayMode) {
335
357
  /**
336
- * Specifies a vertical layout for the progress indicator.
358
+ * The vertical layout for the progress indicator.
337
359
  */
338
360
  SkyProgressIndicatorDisplayMode[SkyProgressIndicatorDisplayMode["Vertical"] = 0] = "Vertical";
339
361
  /**
340
- * Specifies a horizontal layout for the progress indicator.
362
+ * The horizontal layout for the progress indicator.
341
363
  */
342
364
  SkyProgressIndicatorDisplayMode[SkyProgressIndicatorDisplayMode["Horizontal"] = 1] = "Horizontal";
343
365
  })(SkyProgressIndicatorDisplayMode || (SkyProgressIndicatorDisplayMode = {}));
@@ -369,7 +391,7 @@ class SkyProgressIndicatorComponent {
369
391
  __classPrivateFieldSet(this, _SkyProgressIndicatorComponent_logger, logger, "f");
370
392
  }
371
393
  /**
372
- * Specifies whether to display the progress indicator vertically or horizontally.
394
+ * The orientation of the progress indicator, which can be vertical or horizontal.
373
395
  * For [passive progress indicators](https://developer.blackbaud.com/skyux-progress-indicator/docs/passive-indicator)
374
396
  * and [waterfall progress indicators](https://developer.blackbaud.com/skyux/components/progress-indicator/waterfall-progress-indicator),
375
397
  * use the vertical display mode. For [modal wizards](https://developer.blackbaud.com/skyux/components/wizard),
@@ -400,7 +422,7 @@ class SkyProgressIndicatorComponent {
400
422
  return __classPrivateFieldGet(this, _SkyProgressIndicatorComponent__displayMode, "f");
401
423
  }
402
424
  /**
403
- * Indicates whether the progress indicator is passive. Passive progress indicators inform users of
425
+ * Whether the progress indicator is passive. Passive progress indicators inform users of
404
426
  * progress that concerns them but that they are not responsible for, and they must use the vertical display mode.
405
427
  * @default false
406
428
  */
@@ -412,7 +434,7 @@ class SkyProgressIndicatorComponent {
412
434
  return __classPrivateFieldGet(this, _SkyProgressIndicatorComponent__isPassive, "f");
413
435
  }
414
436
  /**
415
- * Specifies an observable of `SkyProgressIndicatorMessage` that determines the status to
437
+ * The observable of `SkyProgressIndicatorMessage` that determines the status to
416
438
  * display for items in the progress indicator. The message stream is a queue of
417
439
  * commanding messages to change the state of the progress indicator based on the message type.
418
440
  */
@@ -421,7 +443,7 @@ class SkyProgressIndicatorComponent {
421
443
  __classPrivateFieldGet(this, _SkyProgressIndicatorComponent_instances, "m", _SkyProgressIndicatorComponent_subscribeToMessageStream).call(this);
422
444
  }
423
445
  /**
424
- * Specifies the index for the item to make active when the progress indicator
446
+ * The index for the item to make active when the progress indicator
425
447
  * loads. All steps that precede the active item are marked as complete, and all steps
426
448
  * that follow the active item are marked as incomplete.
427
449
  */
@@ -673,8 +695,7 @@ class SkyProgressIndicatorNavButtonComponent {
673
695
  __classPrivateFieldSet(this, _SkyProgressIndicatorNavButtonComponent_parentComponent, parentComponent, "f");
674
696
  }
675
697
  /**
676
- * Specifies the type of nav button to include.
677
- * The valid options are `"finish"`, `"next"`, `"previous"`, and `"reset"`.
698
+ * The type of nav button to include.
678
699
  * @default "next"
679
700
  */
680
701
  set buttonType(value) {
@@ -684,7 +705,7 @@ class SkyProgressIndicatorNavButtonComponent {
684
705
  return __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__buttonType, "f");
685
706
  }
686
707
  /**
687
- * Indicates whether to disable the nav button.
708
+ * Whether to disable the nav button.
688
709
  * @default false
689
710
  */
690
711
  set disabled(value) {
@@ -695,7 +716,7 @@ class SkyProgressIndicatorNavButtonComponent {
695
716
  return __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__disabled, "f");
696
717
  }
697
718
  /**
698
- * Specifies the progress indicator component to associate with the nav button.
719
+ * The progress indicator component to associate with the nav button.
699
720
  * @required
700
721
  */
701
722
  set progressIndicator(value) {
@@ -860,7 +881,7 @@ class SkyProgressIndicatorResetButtonComponent {
860
881
  '`buttonType` set to "reset".');
861
882
  }
862
883
  /**
863
- * Indicates whether to disable the reset button.
884
+ * Whether to disable the reset button.
864
885
  * @default false
865
886
  */
866
887
  set disabled(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-progress-indicator.mjs","sources":["../../../../../libs/components/progress-indicator/src/lib/modules/shared/sky-progress-indicator-resources.module.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/types/progress-indicator-item-status.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker-class.pipe.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-class.pipe.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-disabled.pipe.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/types/progress-indicator-message-type.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/types/progress-indicator-mode.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator.module.ts","../../../../../libs/components/progress-indicator/src/skyux-progress-indicator.ts"],"sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-progress-indicator' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_progress_indicator_navigator_finish: { message: 'Finish' },\n skyux_progress_indicator_navigator_next: { message: 'Next' },\n skyux_progress_indicator_navigator_previous: { message: 'Previous' },\n skyux_progress_indicator_navigator_reset: { message: 'Reset' },\n },\n};\n\nexport class SkyProgressIndicatorResourcesProvider\n implements SkyLibResourcesProvider\n{\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyProgressIndicatorResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyProgressIndicatorResourcesModule {}\n","export enum SkyProgressIndicatorItemStatus {\n /**\n * Indicates the item is active.\n */\n Active = 0,\n\n /**\n * Indicates the item is complete.\n */\n Complete,\n\n /**\n * Indicates the item is incomplete.\n */\n Incomplete,\n\n /**\n * Indicates the item is pending.\n */\n Pending,\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';\n\n@Pipe({\n name: 'skyProgressIndicatorMarkerClass',\n})\nexport class SkyProgressIndicatorMarkerClassPipe implements PipeTransform {\n public transform(\n displayMode: string,\n status: SkyProgressIndicatorItemStatus\n ): string {\n let statusName: string;\n\n switch (status) {\n case SkyProgressIndicatorItemStatus.Complete:\n statusName = 'complete';\n break;\n case SkyProgressIndicatorItemStatus.Incomplete:\n statusName = 'incomplete';\n break;\n case SkyProgressIndicatorItemStatus.Pending:\n statusName = 'pending';\n break;\n default:\n statusName = 'active';\n }\n\n return `sky-progress-indicator-status-marker-mode-${displayMode} sky-progress-indicator-status-marker-status-${statusName}`;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';\n\n/**\n * Specifies the content to display in the status marker.\n * @internal\n */\n@Component({\n selector: 'sky-progress-indicator-status-marker',\n templateUrl: './progress-indicator-status-marker.component.html',\n styleUrls: ['./progress-indicator-status-marker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorStatusMarkerComponent implements OnDestroy {\n @Input()\n public set displayMode(value: 'vertical' | 'horizontal') {\n this.#_displayMode = value;\n }\n\n public get displayMode(): 'vertical' | 'horizontal' {\n return this.#_displayMode;\n }\n\n @Input()\n public set status(value: SkyProgressIndicatorItemStatus) {\n this.#_status = value;\n this.isComplete = this.#_status === SkyProgressIndicatorItemStatus.Complete;\n }\n\n public get status(): SkyProgressIndicatorItemStatus {\n return this.#_status;\n }\n\n public isComplete = false;\n\n #ngUnsubscribe = new Subject<void>();\n #changeDetector: ChangeDetectorRef;\n\n #_status: SkyProgressIndicatorItemStatus =\n SkyProgressIndicatorItemStatus.Active;\n #_displayMode: 'vertical' | 'horizontal' = 'vertical';\n\n constructor(\n changeDetector: ChangeDetectorRef,\n @Optional() themeSvc?: SkyThemeService\n ) {\n this.#changeDetector = changeDetector;\n\n // Update icons when theme changes.\n themeSvc?.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#changeDetector.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<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","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';\n\nconst STATUS_DEFAULT = SkyProgressIndicatorItemStatus.Incomplete;\nconst STATUS_NAME_DEFAULT = 'incomplete';\n\n/**\n * Specifies a step to include in the progress indicator. Each step requires a label,\n * and you can also specify step details within the `sky-progress-indicator-item` element.\n */\n@Component({\n selector: 'sky-progress-indicator-item',\n templateUrl: './progress-indicator-item.component.html',\n styleUrls: ['./progress-indicator-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorItemComponent implements OnInit {\n /**\n * Specifies a step label for the step in the progress indicator.\n * @required\n */\n @Input()\n public set title(value: string | undefined) {\n this.#_title = value;\n this.#updateFormattedTitle();\n }\n\n public get title(): string | undefined {\n return this.#_title;\n }\n\n public set status(value: SkyProgressIndicatorItemStatus | undefined) {\n if (value === this.#_status) {\n return;\n }\n\n /* istanbul ignore next */\n this.#_status = value ?? STATUS_DEFAULT;\n\n switch (this.#_status) {\n case SkyProgressIndicatorItemStatus.Active:\n this.statusName = 'active';\n break;\n case SkyProgressIndicatorItemStatus.Complete:\n this.statusName = 'complete';\n break;\n case SkyProgressIndicatorItemStatus.Incomplete:\n this.statusName = 'incomplete';\n break;\n case SkyProgressIndicatorItemStatus.Pending:\n this.statusName = 'pending';\n break;\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public get status(): SkyProgressIndicatorItemStatus {\n return this.#_status;\n }\n\n public formattedTitle: string | undefined;\n public isVisible = false;\n public showStatusMarker = true;\n public showTitle = true;\n public statusName = STATUS_NAME_DEFAULT;\n\n #titlePrefix: string | undefined;\n #changeDetector: ChangeDetectorRef;\n\n #_title: string | undefined;\n #_status = STATUS_DEFAULT;\n\n constructor(changeDetector: ChangeDetectorRef) {\n this.#changeDetector = changeDetector;\n }\n\n public ngOnInit(): void {\n this.#updateFormattedTitle();\n }\n\n public showStepNumber(step: number): void {\n this.#titlePrefix = `${step} - `;\n this.#updateFormattedTitle();\n }\n\n public hideStepNumber(): void {\n this.#titlePrefix = '';\n this.#updateFormattedTitle();\n }\n\n #updateFormattedTitle(): void {\n this.formattedTitle = `${this.#titlePrefix}${this.title}`;\n }\n}\n","<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","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'skyProgressIndicatorNavButtonClass',\n})\nexport class SkyProgressIndicatorNavButtonClass implements PipeTransform {\n public transform(buttonType: string): string[] {\n const classNames = [`sky-progress-indicator-nav-button-${buttonType}`];\n\n switch (buttonType) {\n case 'next':\n case 'finish':\n classNames.push('sky-btn-primary');\n break;\n case 'reset':\n classNames.push('sky-btn-link');\n break;\n default:\n classNames.push('sky-btn-default');\n }\n\n return classNames;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';\nimport { SkyProgressIndicatorNavButtonType } from '../types/progress-indicator-nav-button-type';\n\n@Pipe({\n name: 'skyProgressIndicatorNavButtonDisabled',\n})\nexport class SkyProgressIndicatorNavButtonDisabledPipe\n implements PipeTransform\n{\n public transform(\n disabled: boolean | undefined,\n buttonType: SkyProgressIndicatorNavButtonType,\n activeIndex: number | undefined,\n itemStatuses: SkyProgressIndicatorItemStatus[] | undefined\n ): boolean | undefined {\n const isLastStep = itemStatuses && activeIndex === itemStatuses.length - 1;\n\n return (\n (buttonType === 'next' && isLastStep) ||\n (buttonType === 'previous' && activeIndex === 0) ||\n disabled\n );\n }\n}\n","/**\n * Allows the consumer to decide whether the button's action should be completed successfully.\n * The handler is provided with all nav button types.\n */\nexport class SkyProgressIndicatorActionClickProgressHandler {\n /**\n *\n * @param advance Advances the progress indicator to the next step.\n */\n constructor(public readonly advance: () => void) {}\n}\n","export enum SkyProgressIndicatorMessageType {\n /**\n * Indicates that the current step is complete.\n * This completes the active item and moves to the next item.\n */\n Progress = 0,\n\n /**\n * Indicates that progress should return to the previous step.\n * This moves from the active item to the item that precedes it.\n */\n Regress = 1,\n\n /**\n * Indicates that progress is incomplete.\n * This marks all items as incomplete and sets the first item as the active item.\n */\n Reset = 2,\n\n /**\n * Indicates that progress is complete.\n * This marks all items as complete and sets the last item as the active item.\n */\n Finish = 3,\n\n /**\n * Indicates that progress should move to the item indicated by the `data.activeIndex` property.\n */\n GoTo = 4,\n}\n","/**\n * @deprecated Use `SkyProgressIndicatorDisplayModeType` instead.\n * @internal\n */\nexport enum SkyProgressIndicatorDisplayMode {\n /**\n * Specifies a vertical layout for the progress indicator.\n */\n Vertical = 0,\n\n /**\n * Specifies a horizontal layout for the progress indicator.\n */\n Horizontal,\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyLogService } from '@skyux/core';\n\nimport { Subject, Subscription } from 'rxjs';\nimport { delay, takeUntil } from 'rxjs/operators';\n\nimport { SkyProgressIndicatorItemComponent } from './progress-indicator-item/progress-indicator-item.component';\nimport { SkyProgressIndicatorChange } from './types/progress-indicator-change';\nimport { SkyProgressIndicatorDisplayModeType } from './types/progress-indicator-display-mode-type';\nimport { SkyProgressIndicatorItemStatus } from './types/progress-indicator-item-status';\nimport { SkyProgressIndicatorMessage } from './types/progress-indicator-message';\nimport { SkyProgressIndicatorMessageType } from './types/progress-indicator-message-type';\nimport { SkyProgressIndicatorDisplayMode } from './types/progress-indicator-mode';\n\n@Component({\n selector: 'sky-progress-indicator',\n templateUrl: './progress-indicator.component.html',\n styleUrls: ['./progress-indicator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n /**\n * Specifies whether to display the progress indicator vertically or horizontally.\n * For [passive progress indicators](https://developer.blackbaud.com/skyux-progress-indicator/docs/passive-indicator)\n * and [waterfall progress indicators](https://developer.blackbaud.com/skyux/components/progress-indicator/waterfall-progress-indicator),\n * use the vertical display mode. For [modal wizards](https://developer.blackbaud.com/skyux/components/wizard),\n * use the horizontal display mode.\n * @deprecated The property was designed to create wizards by setting `displayMode=\"horizontal\"` on progress indicators in modals,\n * but this wizard implementation was replaced by the\n * [Wizard (Tabs) component](https://developer.blackbaud.com/skyux/components/progress-indicator).\n * @default \"vertical\"\n */\n @Input()\n public set displayMode(\n value: SkyProgressIndicatorDisplayModeType | undefined\n ) {\n switch (value) {\n case SkyProgressIndicatorDisplayMode.Horizontal:\n case 'horizontal':\n this.#_displayMode = 'horizontal';\n break;\n default:\n this.#_displayMode = 'vertical';\n }\n\n this.#updateCssClassNames();\n\n if (this.#_displayMode === 'horizontal') {\n this.#logger.deprecated('SkyProgressIndicator wizard', {\n deprecationMajorVersion: 6,\n replacementRecommendation: 'Use Wizard (Tabs) instead.',\n });\n }\n }\n\n public get displayMode(): SkyProgressIndicatorDisplayModeType {\n return this.#_displayMode;\n }\n\n /**\n * Indicates whether the progress indicator is passive. Passive progress indicators inform users of\n * progress that concerns them but that they are not responsible for, and they must use the vertical display mode.\n * @default false\n */\n @Input()\n public set isPassive(value: boolean | undefined) {\n this.#_isPassive = value;\n this.#updateCssClassNames();\n }\n\n public get isPassive(): boolean | undefined {\n return this.#_isPassive;\n }\n\n /**\n * Specifies an observable of `SkyProgressIndicatorMessage` that determines the status to\n * display for items in the progress indicator. The message stream is a queue of\n * commanding messages to change the state of the progress indicator based on the message type.\n */\n @Input()\n public set messageStream(\n value:\n | Subject<SkyProgressIndicatorMessage | SkyProgressIndicatorMessageType>\n | undefined\n ) {\n this.#messageStream = value || new Subject();\n this.#subscribeToMessageStream();\n }\n\n /**\n * Specifies the index for the item to make active when the progress indicator\n * loads. All steps that precede the active item are marked as complete, and all steps\n * that follow the active item are marked as incomplete.\n */\n @Input()\n public set startingIndex(value: number | undefined) {\n this.#_startingIndex = value || 0;\n }\n\n public get startingIndex(): number {\n return this.#_startingIndex;\n }\n\n /**\n * Fires when the progress indicator changes the status of an item.\n */\n @Output()\n public progressChanges = new EventEmitter<SkyProgressIndicatorChange>();\n\n public get hasFinishButton(): boolean | undefined {\n return this.#_hasFinishButton;\n }\n\n public set hasFinishButton(value: boolean | undefined) {\n this.#_hasFinishButton = value;\n }\n\n @ContentChildren(SkyProgressIndicatorItemComponent)\n public itemComponents:\n | QueryList<SkyProgressIndicatorItemComponent>\n | undefined;\n\n public cssClassNames: string[] = [];\n public itemStatuses: SkyProgressIndicatorItemStatus[] = [];\n\n set #activeIndex(value: number | undefined) {\n const lastIndex = (this.itemComponents?.length || 0) - 1;\n this.#_activeIndex = Math.max(Math.min(value || 0, lastIndex), 0);\n }\n\n get #activeIndex(): number {\n return this.#_activeIndex;\n }\n\n #_activeIndex = 0;\n #_displayMode: SkyProgressIndicatorDisplayModeType = 'vertical';\n #_hasFinishButton: boolean | undefined;\n #_isPassive: boolean | undefined = false;\n #_startingIndex = 0;\n\n #messageStreamSub: Subscription | undefined;\n #initialized = false;\n #ngUnsubscribe = new Subject<void>();\n #messageStream = new Subject<\n SkyProgressIndicatorMessage | SkyProgressIndicatorMessageType\n >();\n #changeDetector: ChangeDetectorRef;\n #windowRef: SkyAppWindowRef;\n #logger: SkyLogService;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n windowRef: SkyAppWindowRef,\n logger: SkyLogService\n ) {\n this.#changeDetector = changeDetector;\n this.#windowRef = windowRef;\n this.#logger = logger;\n }\n\n public ngOnInit(): void {\n this.#initialized = true;\n\n this.#updateCssClassNames();\n this.#subscribeToMessageStream();\n }\n\n public ngAfterContentInit(): void {\n this.#activeIndex = this.startingIndex;\n\n this.#updateSteps();\n\n // Note: The delay here is to ensure all change detection on the items has finished. Without\n // the delay we receive a changed before checked error for vertical progress indicators\n this.itemComponents?.changes\n .pipe(takeUntil(this.#ngUnsubscribe), delay(0))\n .subscribe(() => {\n this.#updateSteps();\n this.#updateStatusesAndNotify();\n });\n\n // Wait for item components' change detection to complete\n // before notifying changes to the consumer.\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#updateStatusesAndNotify();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public sendMessage(message: SkyProgressIndicatorMessage): void {\n this.#messageStream.next(message);\n }\n\n #isPassiveAndVertical(): boolean | undefined {\n // Currently, passive mode is not supported for horizontal displays.\n if (this.displayMode === 'horizontal') {\n return false;\n }\n\n return this.isPassive;\n }\n\n #gotoNextStep(): void {\n const nextIndex = this.#activeIndex + 1;\n const lastIndex = this.#getLastIndex();\n\n if (nextIndex > lastIndex) {\n return;\n }\n\n this.#gotoStep(nextIndex);\n }\n\n #gotoPreviousStep(): void {\n const previousIndex = this.#activeIndex - 1;\n\n if (previousIndex < 0) {\n return;\n }\n\n this.#gotoStep(previousIndex);\n }\n\n #gotoStep(index: number): void {\n this.#activeIndex = index;\n this.#updateSteps();\n this.#updateStatusesAndNotify();\n }\n\n #finishSteps(): void {\n this.#activeIndex = this.#getLastIndex();\n\n this.itemComponents?.forEach((component) => {\n component.status = SkyProgressIndicatorItemStatus.Complete;\n });\n\n this.#updateStatusesAndNotify({\n isComplete: true,\n });\n }\n\n #resetSteps(): void {\n this.#gotoStep(0);\n }\n\n #updateSteps(): void {\n if (this.#activeIndex > this.#getLastIndex()) {\n this.#activeIndex = this.#activeIndex - 1;\n }\n\n const activeIndex = this.#activeIndex;\n const isPassiveAndVertical = this.#isPassiveAndVertical();\n const isVertical = this.displayMode === 'vertical';\n\n this.itemComponents?.forEach((component, i) => {\n // Set visibility.\n component.isVisible = activeIndex === i || isVertical;\n\n // Set status.\n let status: SkyProgressIndicatorItemStatus;\n if (activeIndex === i) {\n if (isPassiveAndVertical) {\n status = SkyProgressIndicatorItemStatus.Pending;\n } else {\n status = SkyProgressIndicatorItemStatus.Active;\n }\n } else if (activeIndex > i) {\n status = SkyProgressIndicatorItemStatus.Complete;\n } else {\n status = SkyProgressIndicatorItemStatus.Incomplete;\n }\n\n component.status = status;\n\n // Show or hide the status markers.\n component.showStatusMarker = isVertical;\n\n // Show or hide the step number.\n if (isPassiveAndVertical) {\n component.hideStepNumber();\n } else {\n component.showStepNumber(i + 1);\n }\n\n // If we're in passive mode, don't show titles for incomplete items.\n component.showTitle = !(isPassiveAndVertical && activeIndex < i);\n });\n }\n\n #updateItemStatuses(): void {\n /* istanbul ignore next */\n this.itemStatuses = this.itemComponents?.map((c) => c.status) || [];\n }\n\n #updateCssClassNames(): void {\n const classNames = [`sky-progress-indicator-mode-${this.displayMode}`];\n\n if (this.#isPassiveAndVertical()) {\n classNames.push('sky-progress-indicator-passive');\n }\n\n this.cssClassNames = classNames;\n }\n\n #handleIncomingMessage(\n message: SkyProgressIndicatorMessage | SkyProgressIndicatorMessageType\n ): void {\n const indicatorMessage = message as SkyProgressIndicatorMessage;\n\n let type: SkyProgressIndicatorMessageType;\n\n // Prints a deprecation warning if the consumer provides only `SkyProgressIndicatorMessageType`.\n if (indicatorMessage.type === undefined) {\n console.warn(\n \"[Deprecation warning] The progress indicator component's `messageStream` input is set \" +\n 'to `Subject<SkyProgressIndicatorMessageType>`. We will remove this deprecated type in ' +\n 'the next major version release. Instead, set the `messageStream` input to a value of ' +\n '`Subject<SkyProgressIndicatorMessage>`.'\n );\n\n type = message as SkyProgressIndicatorMessageType;\n } else {\n type = indicatorMessage.type;\n }\n\n switch (type) {\n case SkyProgressIndicatorMessageType.Progress:\n this.#gotoNextStep();\n break;\n\n case SkyProgressIndicatorMessageType.Regress:\n this.#gotoPreviousStep();\n break;\n\n case SkyProgressIndicatorMessageType.Finish:\n this.#finishSteps();\n break;\n\n case SkyProgressIndicatorMessageType.Reset:\n this.#resetSteps();\n break;\n\n case SkyProgressIndicatorMessageType.GoTo:\n if (\n !indicatorMessage.data ||\n indicatorMessage.data.activeIndex === undefined\n ) {\n console.warn(\n 'A message type of `SkyProgressIndicatorMessageType.GoTo` was passed to the progress ' +\n 'indicator, but no step index was provided. You can pass the desired active ' +\n 'index via:\\n' +\n '{\\n' +\n ' type: SkyProgressIndicatorMessageType.GoTo,\\n' +\n ' data: { activeIndex: 0 }\\n' +\n '}'\n );\n return;\n }\n\n this.#gotoStep(indicatorMessage.data.activeIndex);\n break;\n\n default:\n break;\n }\n\n // Update the view after a message is received.\n this.#changeDetector.markForCheck();\n }\n\n #subscribeToMessageStream(): void {\n if (this.#initialized) {\n if (this.#messageStreamSub) {\n this.#messageStreamSub.unsubscribe();\n this.#messageStreamSub = undefined;\n }\n\n if (this.#messageStream) {\n this.#messageStreamSub = this.#messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n this.#handleIncomingMessage(message);\n });\n }\n }\n }\n\n #updateStatusesAndNotify(change?: SkyProgressIndicatorChange): void {\n this.#updateItemStatuses();\n\n this.progressChanges.next(\n Object.assign(\n {},\n {\n activeIndex: this.#activeIndex,\n itemStatuses: this.itemStatuses,\n },\n change\n )\n );\n }\n\n #getLastIndex(): number {\n return (this.itemComponents?.length || 0) - 1;\n }\n}\n","<div class=\"sky-progress-indicator\" [ngClass]=\"cssClassNames\">\n <div\n *ngIf=\"displayMode === 'horizontal'\"\n class=\"sky-progress-indicator-horizontal-status-markers\"\n >\n <sky-progress-indicator-status-marker\n *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","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { SkyProgressIndicatorComponent } from '../progress-indicator.component';\nimport { SkyProgressIndicatorActionClickArgs } from '../types/progress-indicator-action-click-args';\nimport { SkyProgressIndicatorActionClickProgressHandler } from '../types/progress-indicator-action-click-progress-handler';\nimport { SkyProgressIndicatorChange } from '../types/progress-indicator-change';\nimport { SkyProgressIndicatorMessageType } from '../types/progress-indicator-message-type';\nimport { SkyProgressIndicatorNavButtonType } from '../types/progress-indicator-nav-button-type';\n\nconst BUTTON_TYPE_DEFAULT: SkyProgressIndicatorNavButtonType = 'next';\n\n/**\n * Displays a button to navigate the steps in modal wizards. We recommend against using it in\n * passive progress indicators and waterfall progress indicators.\n */\n@Component({\n selector: 'sky-progress-indicator-nav-button',\n templateUrl: './progress-indicator-nav-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorNavButtonComponent\n implements AfterViewInit, OnDestroy\n{\n /**\n * Specifies the label to display on the nav button.\n * @default \"Next\"\n */\n @Input()\n public buttonText: string | undefined;\n\n /**\n * Specifies the type of nav button to include.\n * The valid options are `\"finish\"`, `\"next\"`, `\"previous\"`, and `\"reset\"`.\n * @default \"next\"\n */\n @Input()\n public set buttonType(value: SkyProgressIndicatorNavButtonType | undefined) {\n this.#_buttonType = value || BUTTON_TYPE_DEFAULT;\n }\n\n public get buttonType(): SkyProgressIndicatorNavButtonType {\n return this.#_buttonType;\n }\n\n /**\n * Indicates whether to disable the nav button.\n * @default false\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n this.#_disabled = value;\n this.#changeDetector.markForCheck();\n }\n\n public get disabled(): boolean | undefined {\n return this.#_disabled;\n }\n\n /**\n * Specifies the progress indicator component to associate with the nav button.\n * @required\n */\n @Input()\n public set progressIndicator(\n value: SkyProgressIndicatorComponent | undefined\n ) {\n this.#_progressIndicator = value;\n\n if (this.#_progressIndicator) {\n if (this.buttonType === 'finish') {\n // The `hasFinishButton` field was added to support legacy API.\n // Some implementations only include a next button; we cannot\n // assume that every implementation includes both a finish button and a next button.\n this.#_progressIndicator.hasFinishButton = true;\n }\n\n this.#_progressIndicator.progressChanges\n .pipe(distinctUntilChanged(), takeUntil(this.#ngUnsubscribe))\n .subscribe((change: SkyProgressIndicatorChange) => {\n this.lastProgressChange = change;\n this.#updateButtonVisibility(change);\n });\n } else {\n if (!this.#parentTimeout) {\n this.#parentTimeout = window.setTimeout(() => {\n /* istanbul ignore else */\n if (!this.progressIndicator) {\n throw new Error(\n 'The `<sky-progress-indicator-nav-button>` component requires a reference to ' +\n 'the `<sky-progress-indicator>` component it controls. For example:\\n' +\n '<sky-progress-indicator\\n' +\n ' #myProgressIndicator\\n' +\n '>\\n' +\n '</sky-progress-indicator>\\n' +\n '<sky-progress-indicator-nav-button\\n' +\n ' [progressIndicator]=\"myProgressIndicator\"\\n' +\n '>\\n' +\n '</sky-progress-indicator-nav-button>'\n );\n }\n }, 50);\n }\n }\n }\n\n public get progressIndicator(): SkyProgressIndicatorComponent | undefined {\n return this.#_progressIndicator;\n }\n\n /**\n * Fires when users select the nav button and emits a `SkyProgressIndicatorActionClickArgs`\n * object that is passed into the callback function to allow consumers to decide whether\n * the button’s action should complete successfully.\n */\n @Output()\n public actionClick = new EventEmitter<SkyProgressIndicatorActionClickArgs>();\n\n public set isVisible(value: boolean | undefined) {\n this.#_isVisible = value;\n this.#changeDetector.markForCheck();\n }\n\n public get isVisible(): boolean | undefined {\n return this.#_isVisible;\n }\n\n public lastProgressChange: SkyProgressIndicatorChange | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n #parentTimeout: number | undefined;\n\n #_buttonType = BUTTON_TYPE_DEFAULT;\n #_disabled: boolean | undefined;\n #_isVisible: boolean | undefined;\n #_progressIndicator: SkyProgressIndicatorComponent | undefined;\n\n #changeDetector: ChangeDetectorRef;\n #parentComponent: SkyProgressIndicatorComponent | undefined;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n @Optional() parentComponent?: SkyProgressIndicatorComponent\n ) {\n this.#changeDetector = changeDetector;\n this.#parentComponent = parentComponent;\n }\n\n public ngAfterViewInit(): void {\n if (!this.progressIndicator && this.#parentComponent) {\n this.progressIndicator = this.#parentComponent;\n } else if (!this.progressIndicator) {\n this.progressIndicator = undefined;\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.actionClick.complete();\n }\n\n public onClick(event: MouseEvent): void {\n event.preventDefault();\n\n let type: SkyProgressIndicatorMessageType | undefined;\n\n switch (this.buttonType) {\n case 'finish':\n type = SkyProgressIndicatorMessageType.Finish;\n break;\n case 'next':\n type = SkyProgressIndicatorMessageType.Progress;\n break;\n case 'previous':\n type = SkyProgressIndicatorMessageType.Regress;\n break;\n case 'reset':\n type = SkyProgressIndicatorMessageType.Reset;\n break;\n }\n\n // If the consumer has subscribed to the `actionClick` event,\n // allow them to decide when to advance to the next step.\n if (this.actionClick.observers.length > 0) {\n this.actionClick.emit({\n event,\n progressHandler: new SkyProgressIndicatorActionClickProgressHandler(\n () => {\n this.#sendMessage(type);\n }\n ),\n });\n } else {\n this.#sendMessage(type);\n }\n }\n\n #sendMessage(type: SkyProgressIndicatorMessageType | undefined): void {\n if (type !== undefined) {\n this.progressIndicator?.sendMessage({ type });\n }\n }\n\n #updateButtonVisibility(change: SkyProgressIndicatorChange): void {\n const isLastStep =\n change.itemStatuses &&\n change.activeIndex === change.itemStatuses.length - 1;\n const buttonType = this.buttonType;\n\n // Hide the button if all steps are complete\n // (except for the reset button)\n if (buttonType !== 'reset' && change.isComplete) {\n this.isVisible = false;\n return;\n }\n\n if (buttonType === 'finish') {\n this.isVisible = isLastStep;\n return;\n }\n\n // Hide the next button on the last step only if a finish button exists.\n if (\n buttonType === 'next' &&\n isLastStep &&\n this.progressIndicator?.hasFinishButton\n ) {\n this.isVisible = false;\n return;\n }\n\n this.isVisible = true;\n }\n}\n","<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","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { SkyProgressIndicatorComponent } from '../progress-indicator.component';\nimport { SkyProgressIndicatorMessageType } from '../types/progress-indicator-message-type';\n\n/**\n * Displays a button to mark all items in the progress indicator as incomplete and set the\n * first item as the active item. The steps after the active item remain incomplete until\n * users reach them in their sequential order.\n */\n@Component({\n selector: 'sky-progress-indicator-reset-button',\n templateUrl: './progress-indicator-reset-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorResetButtonComponent implements OnDestroy {\n /**\n * Indicates whether to disable the reset button.\n * @default false\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n this.#_disabled = value;\n this.#changeDetector.markForCheck();\n }\n\n public get disabled(): boolean | undefined {\n return this.#_disabled;\n }\n\n /**\n * Specifies the progress indicator component to associate with the reset button.\n * @required\n */\n @Input()\n public progressIndicator: SkyProgressIndicatorComponent | undefined;\n\n /**\n * Fires when users select the reset button that marks all items as incomplete and sets the\n * first item as the active item.\n */\n @Output()\n public resetClick = new EventEmitter<void>();\n\n #_disabled: boolean | undefined;\n #changeDetector: ChangeDetectorRef;\n\n constructor(changeDetector: ChangeDetectorRef) {\n this.#changeDetector = changeDetector;\n console.warn(\n '[Deprecation warning] The `<sky-progress-indicator-reset-button>` component is ' +\n 'deprecated. Please use the `<sky-progress-indicator-nav-button>` component instead, with ' +\n '`buttonType` set to \"reset\".'\n );\n }\n\n public ngOnDestroy(): void {\n this.resetClick.complete();\n }\n\n public onClick(): void {\n this.resetClick.emit();\n\n this.progressIndicator?.sendMessage({\n type: SkyProgressIndicatorMessageType.Reset,\n });\n }\n}\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Specifies a header to display above the progress indicator.\n */\n@Component({\n selector: 'sky-progress-indicator-title',\n templateUrl: './progress-indicator-title.component.html',\n styleUrls: ['./progress-indicator-title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorTitleComponent {}\n","<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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyTrimModule } from '@skyux/core';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyProgressIndicatorResourcesModule } from '../shared/sky-progress-indicator-resources.module';\n\nimport { SkyProgressIndicatorItemComponent } from './progress-indicator-item/progress-indicator-item.component';\nimport { SkyProgressIndicatorNavButtonClass } from './progress-indicator-nav-button/progress-indicator-nav-button-class.pipe';\nimport { SkyProgressIndicatorNavButtonDisabledPipe } from './progress-indicator-nav-button/progress-indicator-nav-button-disabled.pipe';\nimport { SkyProgressIndicatorNavButtonComponent } from './progress-indicator-nav-button/progress-indicator-nav-button.component';\nimport { SkyProgressIndicatorResetButtonComponent } from './progress-indicator-reset-button/progress-indicator-reset-button.component';\nimport { SkyProgressIndicatorMarkerClassPipe } from './progress-indicator-status-marker/progress-indicator-status-marker-class.pipe';\nimport { SkyProgressIndicatorStatusMarkerComponent } from './progress-indicator-status-marker/progress-indicator-status-marker.component';\nimport { SkyProgressIndicatorTitleComponent } from './progress-indicator-title/progress-indicator-title.component';\nimport { SkyProgressIndicatorComponent } from './progress-indicator.component';\n\n@NgModule({\n declarations: [\n SkyProgressIndicatorComponent,\n SkyProgressIndicatorItemComponent,\n SkyProgressIndicatorMarkerClassPipe,\n SkyProgressIndicatorNavButtonClass,\n SkyProgressIndicatorNavButtonDisabledPipe,\n SkyProgressIndicatorNavButtonComponent,\n SkyProgressIndicatorResetButtonComponent,\n SkyProgressIndicatorStatusMarkerComponent,\n SkyProgressIndicatorTitleComponent,\n ],\n imports: [\n CommonModule,\n SkyI18nModule,\n SkyIconModule,\n SkyProgressIndicatorResourcesModule,\n SkyThemeModule,\n SkyTrimModule,\n ],\n exports: [\n SkyProgressIndicatorComponent,\n SkyProgressIndicatorItemComponent,\n SkyProgressIndicatorNavButtonComponent,\n SkyProgressIndicatorResetButtonComponent,\n SkyProgressIndicatorTitleComponent,\n ],\n})\nexport class SkyProgressIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.SkyProgressIndicatorMarkerClassPipe","i1","i2","i3","i4.SkyProgressIndicatorStatusMarkerComponent","i3.SkyProgressIndicatorStatusMarkerComponent","i1.SkyProgressIndicatorComponent","i4.SkyProgressIndicatorNavButtonClass","i5.SkyProgressIndicatorNavButtonDisabledPipe"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-progress-indicator.mjs","sources":["../../../../../libs/components/progress-indicator/src/lib/modules/shared/sky-progress-indicator-resources.module.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/types/progress-indicator-item-status.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker-class.pipe.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-class.pipe.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-disabled.pipe.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/types/progress-indicator-message-type.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/types/progress-indicator-mode.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.ts","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.html","../../../../../libs/components/progress-indicator/src/lib/modules/progress-indicator/progress-indicator.module.ts","../../../../../libs/components/progress-indicator/src/skyux-progress-indicator.ts"],"sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-progress-indicator' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_progress_indicator_navigator_finish: { message: 'Finish' },\n skyux_progress_indicator_navigator_next: { message: 'Next' },\n skyux_progress_indicator_navigator_previous: { message: 'Previous' },\n skyux_progress_indicator_navigator_reset: { message: 'Reset' },\n },\n};\n\nexport class SkyProgressIndicatorResourcesProvider\n implements SkyLibResourcesProvider\n{\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyProgressIndicatorResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyProgressIndicatorResourcesModule {}\n","export enum SkyProgressIndicatorItemStatus {\n /**\n * The item is active.\n */\n Active = 0,\n\n /**\n * The item is complete.\n */\n Complete,\n\n /**\n * The item is incomplete.\n */\n Incomplete,\n\n /**\n * The item is pending.\n */\n Pending,\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';\n\n@Pipe({\n name: 'skyProgressIndicatorMarkerClass',\n})\nexport class SkyProgressIndicatorMarkerClassPipe implements PipeTransform {\n public transform(\n displayMode: string,\n status: SkyProgressIndicatorItemStatus\n ): string {\n let statusName: string;\n\n switch (status) {\n case SkyProgressIndicatorItemStatus.Complete:\n statusName = 'complete';\n break;\n case SkyProgressIndicatorItemStatus.Incomplete:\n statusName = 'incomplete';\n break;\n case SkyProgressIndicatorItemStatus.Pending:\n statusName = 'pending';\n break;\n default:\n statusName = 'active';\n }\n\n return `sky-progress-indicator-status-marker-mode-${displayMode} sky-progress-indicator-status-marker-status-${statusName}`;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';\n\n/**\n * Specifies the content to display in the status marker.\n * @internal\n */\n@Component({\n selector: 'sky-progress-indicator-status-marker',\n templateUrl: './progress-indicator-status-marker.component.html',\n styleUrls: ['./progress-indicator-status-marker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorStatusMarkerComponent implements OnDestroy {\n @Input()\n public set displayMode(value: 'vertical' | 'horizontal') {\n this.#_displayMode = value;\n }\n\n public get displayMode(): 'vertical' | 'horizontal' {\n return this.#_displayMode;\n }\n\n @Input()\n public set status(value: SkyProgressIndicatorItemStatus) {\n this.#_status = value;\n this.isComplete = this.#_status === SkyProgressIndicatorItemStatus.Complete;\n }\n\n public get status(): SkyProgressIndicatorItemStatus {\n return this.#_status;\n }\n\n public isComplete = false;\n\n #ngUnsubscribe = new Subject<void>();\n #changeDetector: ChangeDetectorRef;\n\n #_status: SkyProgressIndicatorItemStatus =\n SkyProgressIndicatorItemStatus.Active;\n #_displayMode: 'vertical' | 'horizontal' = 'vertical';\n\n constructor(\n changeDetector: ChangeDetectorRef,\n @Optional() themeSvc?: SkyThemeService\n ) {\n this.#changeDetector = changeDetector;\n\n // Update icons when theme changes.\n themeSvc?.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#changeDetector.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<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","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';\n\nconst STATUS_DEFAULT = SkyProgressIndicatorItemStatus.Incomplete;\nconst STATUS_NAME_DEFAULT = 'incomplete';\n\n/**\n * Specifies a step to include in the progress indicator. Each step requires a label,\n * and you can also specify step details within the `sky-progress-indicator-item` element.\n */\n@Component({\n selector: 'sky-progress-indicator-item',\n templateUrl: './progress-indicator-item.component.html',\n styleUrls: ['./progress-indicator-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorItemComponent implements OnInit {\n /**\n * The step label for the step in the progress indicator.\n * @required\n */\n @Input()\n public set title(value: string | undefined) {\n this.#_title = value;\n this.#updateFormattedTitle();\n }\n\n public get title(): string | undefined {\n return this.#_title;\n }\n\n public set status(value: SkyProgressIndicatorItemStatus | undefined) {\n if (value === this.#_status) {\n return;\n }\n\n /* istanbul ignore next */\n this.#_status = value ?? STATUS_DEFAULT;\n\n switch (this.#_status) {\n case SkyProgressIndicatorItemStatus.Active:\n this.statusName = 'active';\n break;\n case SkyProgressIndicatorItemStatus.Complete:\n this.statusName = 'complete';\n break;\n case SkyProgressIndicatorItemStatus.Incomplete:\n this.statusName = 'incomplete';\n break;\n case SkyProgressIndicatorItemStatus.Pending:\n this.statusName = 'pending';\n break;\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public get status(): SkyProgressIndicatorItemStatus {\n return this.#_status;\n }\n\n public formattedTitle: string | undefined;\n\n public set isVisible(value: boolean | undefined) {\n this.#_isVisible = !!value;\n this.#changeDetector.markForCheck();\n }\n\n public get isVisible(): boolean {\n return this.#_isVisible;\n }\n\n public set showStatusMarker(value: boolean | undefined) {\n this.#_showStatusMarker = !!value;\n this.#changeDetector.markForCheck();\n }\n\n public get showStatusMarker(): boolean {\n return this.#_showStatusMarker;\n }\n\n public set showTitle(value: boolean | undefined) {\n this.#_showTitle = !!value;\n this.#changeDetector.markForCheck();\n }\n\n public get showTitle(): boolean {\n return this.#_showTitle;\n }\n\n public statusName = STATUS_NAME_DEFAULT;\n\n #titlePrefix: string | undefined;\n #changeDetector: ChangeDetectorRef;\n\n #_isVisible = false;\n #_title: string | undefined;\n #_showStatusMarker = true;\n #_showTitle = true;\n #_status = STATUS_DEFAULT;\n\n constructor(changeDetector: ChangeDetectorRef) {\n this.#changeDetector = changeDetector;\n }\n\n public ngOnInit(): void {\n this.#updateFormattedTitle();\n }\n\n public showStepNumber(step: number): void {\n this.#titlePrefix = `${step} - `;\n this.#updateFormattedTitle();\n }\n\n public hideStepNumber(): void {\n this.#titlePrefix = '';\n this.#updateFormattedTitle();\n }\n\n #updateFormattedTitle(): void {\n this.formattedTitle = `${this.#titlePrefix}${this.title}`;\n this.#changeDetector.markForCheck();\n }\n}\n","<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","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'skyProgressIndicatorNavButtonClass',\n})\nexport class SkyProgressIndicatorNavButtonClass implements PipeTransform {\n public transform(buttonType: string): string[] {\n const classNames = [`sky-progress-indicator-nav-button-${buttonType}`];\n\n switch (buttonType) {\n case 'next':\n case 'finish':\n classNames.push('sky-btn-primary');\n break;\n case 'reset':\n classNames.push('sky-btn-link');\n break;\n default:\n classNames.push('sky-btn-default');\n }\n\n return classNames;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';\nimport { SkyProgressIndicatorNavButtonType } from '../types/progress-indicator-nav-button-type';\n\n@Pipe({\n name: 'skyProgressIndicatorNavButtonDisabled',\n})\nexport class SkyProgressIndicatorNavButtonDisabledPipe\n implements PipeTransform\n{\n public transform(\n disabled: boolean | undefined,\n buttonType: SkyProgressIndicatorNavButtonType,\n activeIndex: number | undefined,\n itemStatuses: SkyProgressIndicatorItemStatus[] | undefined\n ): boolean | undefined {\n const isLastStep = itemStatuses && activeIndex === itemStatuses.length - 1;\n\n return (\n (buttonType === 'next' && isLastStep) ||\n (buttonType === 'previous' && activeIndex === 0) ||\n disabled\n );\n }\n}\n","/**\n * Allows the consumer to decide whether the button's action should be completed successfully.\n * The handler is provided with all nav button types.\n */\nexport class SkyProgressIndicatorActionClickProgressHandler {\n /**\n *\n * @param advance Advances the progress indicator to the next step.\n */\n constructor(public readonly advance: () => void) {}\n}\n","export enum SkyProgressIndicatorMessageType {\n /**\n * The current step is complete.\n * This completes the active item and moves to the next item.\n */\n Progress = 0,\n\n /**\n * Returns progress to the previous step.\n * This moves from the active item to the item that precedes it.\n */\n Regress = 1,\n\n /**\n * Progress is incomplete.\n * This marks all items as incomplete and sets the first item as the active item.\n */\n Reset = 2,\n\n /**\n * Progress is complete.\n * This marks all items as complete and sets the last item as the active item.\n */\n Finish = 3,\n\n /**\n * Moves progress to the item indicated by the `data.activeIndex` property.\n */\n GoTo = 4,\n}\n","/**\n * @deprecated Use `SkyProgressIndicatorDisplayModeType` instead.\n * @internal\n */\nexport enum SkyProgressIndicatorDisplayMode {\n /**\n * The vertical layout for the progress indicator.\n */\n Vertical = 0,\n\n /**\n * The horizontal layout for the progress indicator.\n */\n Horizontal,\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyLogService } from '@skyux/core';\n\nimport { Subject, Subscription } from 'rxjs';\nimport { delay, takeUntil } from 'rxjs/operators';\n\nimport { SkyProgressIndicatorItemComponent } from './progress-indicator-item/progress-indicator-item.component';\nimport { SkyProgressIndicatorChange } from './types/progress-indicator-change';\nimport { SkyProgressIndicatorDisplayModeType } from './types/progress-indicator-display-mode-type';\nimport { SkyProgressIndicatorItemStatus } from './types/progress-indicator-item-status';\nimport { SkyProgressIndicatorMessage } from './types/progress-indicator-message';\nimport { SkyProgressIndicatorMessageType } from './types/progress-indicator-message-type';\nimport { SkyProgressIndicatorDisplayMode } from './types/progress-indicator-mode';\n\n@Component({\n selector: 'sky-progress-indicator',\n templateUrl: './progress-indicator.component.html',\n styleUrls: ['./progress-indicator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n /**\n * The orientation of the progress indicator, which can be vertical or horizontal.\n * For [passive progress indicators](https://developer.blackbaud.com/skyux-progress-indicator/docs/passive-indicator)\n * and [waterfall progress indicators](https://developer.blackbaud.com/skyux/components/progress-indicator/waterfall-progress-indicator),\n * use the vertical display mode. For [modal wizards](https://developer.blackbaud.com/skyux/components/wizard),\n * use the horizontal display mode.\n * @deprecated The property was designed to create wizards by setting `displayMode=\"horizontal\"` on progress indicators in modals,\n * but this wizard implementation was replaced by the\n * [Wizard (Tabs) component](https://developer.blackbaud.com/skyux/components/progress-indicator).\n * @default \"vertical\"\n */\n @Input()\n public set displayMode(\n value: SkyProgressIndicatorDisplayModeType | undefined\n ) {\n switch (value) {\n case SkyProgressIndicatorDisplayMode.Horizontal:\n case 'horizontal':\n this.#_displayMode = 'horizontal';\n break;\n default:\n this.#_displayMode = 'vertical';\n }\n\n this.#updateCssClassNames();\n\n if (this.#_displayMode === 'horizontal') {\n this.#logger.deprecated('SkyProgressIndicator wizard', {\n deprecationMajorVersion: 6,\n replacementRecommendation: 'Use Wizard (Tabs) instead.',\n });\n }\n }\n\n public get displayMode(): SkyProgressIndicatorDisplayModeType {\n return this.#_displayMode;\n }\n\n /**\n * Whether the progress indicator is passive. Passive progress indicators inform users of\n * progress that concerns them but that they are not responsible for, and they must use the vertical display mode.\n * @default false\n */\n @Input()\n public set isPassive(value: boolean | undefined) {\n this.#_isPassive = value;\n this.#updateCssClassNames();\n }\n\n public get isPassive(): boolean | undefined {\n return this.#_isPassive;\n }\n\n /**\n * The observable of `SkyProgressIndicatorMessage` that determines the status to\n * display for items in the progress indicator. The message stream is a queue of\n * commanding messages to change the state of the progress indicator based on the message type.\n */\n @Input()\n public set messageStream(\n value:\n | Subject<SkyProgressIndicatorMessage | SkyProgressIndicatorMessageType>\n | undefined\n ) {\n this.#messageStream = value || new Subject();\n this.#subscribeToMessageStream();\n }\n\n /**\n * The index for the item to make active when the progress indicator\n * loads. All steps that precede the active item are marked as complete, and all steps\n * that follow the active item are marked as incomplete.\n */\n @Input()\n public set startingIndex(value: number | undefined) {\n this.#_startingIndex = value || 0;\n }\n\n public get startingIndex(): number {\n return this.#_startingIndex;\n }\n\n /**\n * Fires when the progress indicator changes the status of an item.\n */\n @Output()\n public progressChanges = new EventEmitter<SkyProgressIndicatorChange>();\n\n public get hasFinishButton(): boolean | undefined {\n return this.#_hasFinishButton;\n }\n\n public set hasFinishButton(value: boolean | undefined) {\n this.#_hasFinishButton = value;\n }\n\n @ContentChildren(SkyProgressIndicatorItemComponent)\n public itemComponents:\n | QueryList<SkyProgressIndicatorItemComponent>\n | undefined;\n\n public cssClassNames: string[] = [];\n public itemStatuses: SkyProgressIndicatorItemStatus[] = [];\n\n set #activeIndex(value: number | undefined) {\n const lastIndex = (this.itemComponents?.length || 0) - 1;\n this.#_activeIndex = Math.max(Math.min(value || 0, lastIndex), 0);\n }\n\n get #activeIndex(): number {\n return this.#_activeIndex;\n }\n\n #_activeIndex = 0;\n #_displayMode: SkyProgressIndicatorDisplayModeType = 'vertical';\n #_hasFinishButton: boolean | undefined;\n #_isPassive: boolean | undefined = false;\n #_startingIndex = 0;\n\n #messageStreamSub: Subscription | undefined;\n #initialized = false;\n #ngUnsubscribe = new Subject<void>();\n #messageStream = new Subject<\n SkyProgressIndicatorMessage | SkyProgressIndicatorMessageType\n >();\n #changeDetector: ChangeDetectorRef;\n #windowRef: SkyAppWindowRef;\n #logger: SkyLogService;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n windowRef: SkyAppWindowRef,\n logger: SkyLogService\n ) {\n this.#changeDetector = changeDetector;\n this.#windowRef = windowRef;\n this.#logger = logger;\n }\n\n public ngOnInit(): void {\n this.#initialized = true;\n\n this.#updateCssClassNames();\n this.#subscribeToMessageStream();\n }\n\n public ngAfterContentInit(): void {\n this.#activeIndex = this.startingIndex;\n\n this.#updateSteps();\n\n // Note: The delay here is to ensure all change detection on the items has finished. Without\n // the delay we receive a changed before checked error for vertical progress indicators\n this.itemComponents?.changes\n .pipe(takeUntil(this.#ngUnsubscribe), delay(0))\n .subscribe(() => {\n this.#updateSteps();\n this.#updateStatusesAndNotify();\n });\n\n // Wait for item components' change detection to complete\n // before notifying changes to the consumer.\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#updateStatusesAndNotify();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public sendMessage(message: SkyProgressIndicatorMessage): void {\n this.#messageStream.next(message);\n }\n\n #isPassiveAndVertical(): boolean | undefined {\n // Currently, passive mode is not supported for horizontal displays.\n if (this.displayMode === 'horizontal') {\n return false;\n }\n\n return this.isPassive;\n }\n\n #gotoNextStep(): void {\n const nextIndex = this.#activeIndex + 1;\n const lastIndex = this.#getLastIndex();\n\n if (nextIndex > lastIndex) {\n return;\n }\n\n this.#gotoStep(nextIndex);\n }\n\n #gotoPreviousStep(): void {\n const previousIndex = this.#activeIndex - 1;\n\n if (previousIndex < 0) {\n return;\n }\n\n this.#gotoStep(previousIndex);\n }\n\n #gotoStep(index: number): void {\n this.#activeIndex = index;\n this.#updateSteps();\n this.#updateStatusesAndNotify();\n }\n\n #finishSteps(): void {\n this.#activeIndex = this.#getLastIndex();\n\n this.itemComponents?.forEach((component) => {\n component.status = SkyProgressIndicatorItemStatus.Complete;\n });\n\n this.#updateStatusesAndNotify({\n isComplete: true,\n });\n }\n\n #resetSteps(): void {\n this.#gotoStep(0);\n }\n\n #updateSteps(): void {\n if (this.#activeIndex > this.#getLastIndex()) {\n this.#activeIndex = this.#activeIndex - 1;\n }\n\n const activeIndex = this.#activeIndex;\n const isPassiveAndVertical = this.#isPassiveAndVertical();\n const isVertical = this.displayMode === 'vertical';\n\n this.itemComponents?.forEach((component, i) => {\n // Set visibility.\n component.isVisible = activeIndex === i || isVertical;\n\n // Set status.\n let status: SkyProgressIndicatorItemStatus;\n if (activeIndex === i) {\n if (isPassiveAndVertical) {\n status = SkyProgressIndicatorItemStatus.Pending;\n } else {\n status = SkyProgressIndicatorItemStatus.Active;\n }\n } else if (activeIndex > i) {\n status = SkyProgressIndicatorItemStatus.Complete;\n } else {\n status = SkyProgressIndicatorItemStatus.Incomplete;\n }\n\n component.status = status;\n\n // Show or hide the status markers.\n component.showStatusMarker = isVertical;\n\n // Show or hide the step number.\n if (isPassiveAndVertical) {\n component.hideStepNumber();\n } else {\n component.showStepNumber(i + 1);\n }\n\n // If we're in passive mode, don't show titles for incomplete items.\n component.showTitle = !(isPassiveAndVertical && activeIndex < i);\n });\n }\n\n #updateItemStatuses(): void {\n /* istanbul ignore next */\n this.itemStatuses = this.itemComponents?.map((c) => c.status) || [];\n }\n\n #updateCssClassNames(): void {\n const classNames = [`sky-progress-indicator-mode-${this.displayMode}`];\n\n if (this.#isPassiveAndVertical()) {\n classNames.push('sky-progress-indicator-passive');\n }\n\n this.cssClassNames = classNames;\n }\n\n #handleIncomingMessage(\n message: SkyProgressIndicatorMessage | SkyProgressIndicatorMessageType\n ): void {\n const indicatorMessage = message as SkyProgressIndicatorMessage;\n\n let type: SkyProgressIndicatorMessageType;\n\n // Prints a deprecation warning if the consumer provides only `SkyProgressIndicatorMessageType`.\n if (indicatorMessage.type === undefined) {\n console.warn(\n \"[Deprecation warning] The progress indicator component's `messageStream` input is set \" +\n 'to `Subject<SkyProgressIndicatorMessageType>`. We will remove this deprecated type in ' +\n 'the next major version release. Instead, set the `messageStream` input to a value of ' +\n '`Subject<SkyProgressIndicatorMessage>`.'\n );\n\n type = message as SkyProgressIndicatorMessageType;\n } else {\n type = indicatorMessage.type;\n }\n\n switch (type) {\n case SkyProgressIndicatorMessageType.Progress:\n this.#gotoNextStep();\n break;\n\n case SkyProgressIndicatorMessageType.Regress:\n this.#gotoPreviousStep();\n break;\n\n case SkyProgressIndicatorMessageType.Finish:\n this.#finishSteps();\n break;\n\n case SkyProgressIndicatorMessageType.Reset:\n this.#resetSteps();\n break;\n\n case SkyProgressIndicatorMessageType.GoTo:\n if (\n !indicatorMessage.data ||\n indicatorMessage.data.activeIndex === undefined\n ) {\n console.warn(\n 'A message type of `SkyProgressIndicatorMessageType.GoTo` was passed to the progress ' +\n 'indicator, but no step index was provided. You can pass the desired active ' +\n 'index via:\\n' +\n '{\\n' +\n ' type: SkyProgressIndicatorMessageType.GoTo,\\n' +\n ' data: { activeIndex: 0 }\\n' +\n '}'\n );\n return;\n }\n\n this.#gotoStep(indicatorMessage.data.activeIndex);\n break;\n\n default:\n break;\n }\n\n // Update the view after a message is received.\n this.#changeDetector.markForCheck();\n }\n\n #subscribeToMessageStream(): void {\n if (this.#initialized) {\n if (this.#messageStreamSub) {\n this.#messageStreamSub.unsubscribe();\n this.#messageStreamSub = undefined;\n }\n\n if (this.#messageStream) {\n this.#messageStreamSub = this.#messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n this.#handleIncomingMessage(message);\n });\n }\n }\n }\n\n #updateStatusesAndNotify(change?: SkyProgressIndicatorChange): void {\n this.#updateItemStatuses();\n\n this.progressChanges.next(\n Object.assign(\n {},\n {\n activeIndex: this.#activeIndex,\n itemStatuses: this.itemStatuses,\n },\n change\n )\n );\n }\n\n #getLastIndex(): number {\n return (this.itemComponents?.length || 0) - 1;\n }\n}\n","<div class=\"sky-progress-indicator\" [ngClass]=\"cssClassNames\">\n <div\n *ngIf=\"displayMode === 'horizontal'\"\n class=\"sky-progress-indicator-horizontal-status-markers\"\n >\n <sky-progress-indicator-status-marker\n *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","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { SkyProgressIndicatorComponent } from '../progress-indicator.component';\nimport { SkyProgressIndicatorActionClickArgs } from '../types/progress-indicator-action-click-args';\nimport { SkyProgressIndicatorActionClickProgressHandler } from '../types/progress-indicator-action-click-progress-handler';\nimport { SkyProgressIndicatorChange } from '../types/progress-indicator-change';\nimport { SkyProgressIndicatorMessageType } from '../types/progress-indicator-message-type';\nimport { SkyProgressIndicatorNavButtonType } from '../types/progress-indicator-nav-button-type';\n\nconst BUTTON_TYPE_DEFAULT: SkyProgressIndicatorNavButtonType = 'next';\n\n/**\n * Displays a button to navigate the steps in modal wizards. We recommend against using it in\n * passive progress indicators and waterfall progress indicators.\n */\n@Component({\n selector: 'sky-progress-indicator-nav-button',\n templateUrl: './progress-indicator-nav-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorNavButtonComponent\n implements AfterViewInit, OnDestroy\n{\n /**\n * The label to display on the nav button.\n * @default \"Next\"\n */\n @Input()\n public buttonText: string | undefined;\n\n /**\n * The type of nav button to include.\n * @default \"next\"\n */\n @Input()\n public set buttonType(value: SkyProgressIndicatorNavButtonType | undefined) {\n this.#_buttonType = value || BUTTON_TYPE_DEFAULT;\n }\n\n public get buttonType(): SkyProgressIndicatorNavButtonType {\n return this.#_buttonType;\n }\n\n /**\n * Whether to disable the nav button.\n * @default false\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n this.#_disabled = value;\n this.#changeDetector.markForCheck();\n }\n\n public get disabled(): boolean | undefined {\n return this.#_disabled;\n }\n\n /**\n * The progress indicator component to associate with the nav button.\n * @required\n */\n @Input()\n public set progressIndicator(\n value: SkyProgressIndicatorComponent | undefined\n ) {\n this.#_progressIndicator = value;\n\n if (this.#_progressIndicator) {\n if (this.buttonType === 'finish') {\n // The `hasFinishButton` field was added to support legacy API.\n // Some implementations only include a next button; we cannot\n // assume that every implementation includes both a finish button and a next button.\n this.#_progressIndicator.hasFinishButton = true;\n }\n\n this.#_progressIndicator.progressChanges\n .pipe(distinctUntilChanged(), takeUntil(this.#ngUnsubscribe))\n .subscribe((change: SkyProgressIndicatorChange) => {\n this.lastProgressChange = change;\n this.#updateButtonVisibility(change);\n });\n } else {\n if (!this.#parentTimeout) {\n this.#parentTimeout = window.setTimeout(() => {\n /* istanbul ignore else */\n if (!this.progressIndicator) {\n throw new Error(\n 'The `<sky-progress-indicator-nav-button>` component requires a reference to ' +\n 'the `<sky-progress-indicator>` component it controls. For example:\\n' +\n '<sky-progress-indicator\\n' +\n ' #myProgressIndicator\\n' +\n '>\\n' +\n '</sky-progress-indicator>\\n' +\n '<sky-progress-indicator-nav-button\\n' +\n ' [progressIndicator]=\"myProgressIndicator\"\\n' +\n '>\\n' +\n '</sky-progress-indicator-nav-button>'\n );\n }\n }, 50);\n }\n }\n }\n\n public get progressIndicator(): SkyProgressIndicatorComponent | undefined {\n return this.#_progressIndicator;\n }\n\n /**\n * Fires when users select the nav button and emits a `SkyProgressIndicatorActionClickArgs`\n * object that is passed into the callback function to allow consumers to decide whether\n * the button’s action should complete successfully.\n */\n @Output()\n public actionClick = new EventEmitter<SkyProgressIndicatorActionClickArgs>();\n\n public set isVisible(value: boolean | undefined) {\n this.#_isVisible = value;\n this.#changeDetector.markForCheck();\n }\n\n public get isVisible(): boolean | undefined {\n return this.#_isVisible;\n }\n\n public lastProgressChange: SkyProgressIndicatorChange | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n #parentTimeout: number | undefined;\n\n #_buttonType = BUTTON_TYPE_DEFAULT;\n #_disabled: boolean | undefined;\n #_isVisible: boolean | undefined;\n #_progressIndicator: SkyProgressIndicatorComponent | undefined;\n\n #changeDetector: ChangeDetectorRef;\n #parentComponent: SkyProgressIndicatorComponent | undefined;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n @Optional() parentComponent?: SkyProgressIndicatorComponent\n ) {\n this.#changeDetector = changeDetector;\n this.#parentComponent = parentComponent;\n }\n\n public ngAfterViewInit(): void {\n if (!this.progressIndicator && this.#parentComponent) {\n this.progressIndicator = this.#parentComponent;\n } else if (!this.progressIndicator) {\n this.progressIndicator = undefined;\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.actionClick.complete();\n }\n\n public onClick(event: MouseEvent): void {\n event.preventDefault();\n\n let type: SkyProgressIndicatorMessageType | undefined;\n\n switch (this.buttonType) {\n case 'finish':\n type = SkyProgressIndicatorMessageType.Finish;\n break;\n case 'next':\n type = SkyProgressIndicatorMessageType.Progress;\n break;\n case 'previous':\n type = SkyProgressIndicatorMessageType.Regress;\n break;\n case 'reset':\n type = SkyProgressIndicatorMessageType.Reset;\n break;\n }\n\n // If the consumer has subscribed to the `actionClick` event,\n // allow them to decide when to advance to the next step.\n if (this.actionClick.observers.length > 0) {\n this.actionClick.emit({\n event,\n progressHandler: new SkyProgressIndicatorActionClickProgressHandler(\n () => {\n this.#sendMessage(type);\n }\n ),\n });\n } else {\n this.#sendMessage(type);\n }\n }\n\n #sendMessage(type: SkyProgressIndicatorMessageType | undefined): void {\n if (type !== undefined) {\n this.progressIndicator?.sendMessage({ type });\n }\n }\n\n #updateButtonVisibility(change: SkyProgressIndicatorChange): void {\n const isLastStep =\n change.itemStatuses &&\n change.activeIndex === change.itemStatuses.length - 1;\n const buttonType = this.buttonType;\n\n // Hide the button if all steps are complete\n // (except for the reset button)\n if (buttonType !== 'reset' && change.isComplete) {\n this.isVisible = false;\n return;\n }\n\n if (buttonType === 'finish') {\n this.isVisible = isLastStep;\n return;\n }\n\n // Hide the next button on the last step only if a finish button exists.\n if (\n buttonType === 'next' &&\n isLastStep &&\n this.progressIndicator?.hasFinishButton\n ) {\n this.isVisible = false;\n return;\n }\n\n this.isVisible = true;\n }\n}\n","<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","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { SkyProgressIndicatorComponent } from '../progress-indicator.component';\nimport { SkyProgressIndicatorMessageType } from '../types/progress-indicator-message-type';\n\n/**\n * Displays a button to mark all items in the progress indicator as incomplete and set the\n * first item as the active item. The steps after the active item remain incomplete until\n * users reach them in their sequential order.\n */\n@Component({\n selector: 'sky-progress-indicator-reset-button',\n templateUrl: './progress-indicator-reset-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorResetButtonComponent implements OnDestroy {\n /**\n * Whether to disable the reset button.\n * @default false\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n this.#_disabled = value;\n this.#changeDetector.markForCheck();\n }\n\n public get disabled(): boolean | undefined {\n return this.#_disabled;\n }\n\n /**\n * The progress indicator component to associate with the reset button.\n * @required\n */\n @Input()\n public progressIndicator: SkyProgressIndicatorComponent | undefined;\n\n /**\n * Fires when users select the reset button that marks all items as incomplete and sets the\n * first item as the active item.\n */\n @Output()\n public resetClick = new EventEmitter<void>();\n\n #_disabled: boolean | undefined;\n #changeDetector: ChangeDetectorRef;\n\n constructor(changeDetector: ChangeDetectorRef) {\n this.#changeDetector = changeDetector;\n console.warn(\n '[Deprecation warning] The `<sky-progress-indicator-reset-button>` component is ' +\n 'deprecated. Please use the `<sky-progress-indicator-nav-button>` component instead, with ' +\n '`buttonType` set to \"reset\".'\n );\n }\n\n public ngOnDestroy(): void {\n this.resetClick.complete();\n }\n\n public onClick(): void {\n this.resetClick.emit();\n\n this.progressIndicator?.sendMessage({\n type: SkyProgressIndicatorMessageType.Reset,\n });\n }\n}\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Specifies a header to display above the progress indicator.\n */\n@Component({\n selector: 'sky-progress-indicator-title',\n templateUrl: './progress-indicator-title.component.html',\n styleUrls: ['./progress-indicator-title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyProgressIndicatorTitleComponent {}\n","<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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyTrimModule } from '@skyux/core';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyProgressIndicatorResourcesModule } from '../shared/sky-progress-indicator-resources.module';\n\nimport { SkyProgressIndicatorItemComponent } from './progress-indicator-item/progress-indicator-item.component';\nimport { SkyProgressIndicatorNavButtonClass } from './progress-indicator-nav-button/progress-indicator-nav-button-class.pipe';\nimport { SkyProgressIndicatorNavButtonDisabledPipe } from './progress-indicator-nav-button/progress-indicator-nav-button-disabled.pipe';\nimport { SkyProgressIndicatorNavButtonComponent } from './progress-indicator-nav-button/progress-indicator-nav-button.component';\nimport { SkyProgressIndicatorResetButtonComponent } from './progress-indicator-reset-button/progress-indicator-reset-button.component';\nimport { SkyProgressIndicatorMarkerClassPipe } from './progress-indicator-status-marker/progress-indicator-status-marker-class.pipe';\nimport { SkyProgressIndicatorStatusMarkerComponent } from './progress-indicator-status-marker/progress-indicator-status-marker.component';\nimport { SkyProgressIndicatorTitleComponent } from './progress-indicator-title/progress-indicator-title.component';\nimport { SkyProgressIndicatorComponent } from './progress-indicator.component';\n\n@NgModule({\n declarations: [\n SkyProgressIndicatorComponent,\n SkyProgressIndicatorItemComponent,\n SkyProgressIndicatorMarkerClassPipe,\n SkyProgressIndicatorNavButtonClass,\n SkyProgressIndicatorNavButtonDisabledPipe,\n SkyProgressIndicatorNavButtonComponent,\n SkyProgressIndicatorResetButtonComponent,\n SkyProgressIndicatorStatusMarkerComponent,\n SkyProgressIndicatorTitleComponent,\n ],\n imports: [\n CommonModule,\n SkyI18nModule,\n SkyIconModule,\n SkyProgressIndicatorResourcesModule,\n SkyThemeModule,\n SkyTrimModule,\n ],\n exports: [\n SkyProgressIndicatorComponent,\n SkyProgressIndicatorItemComponent,\n SkyProgressIndicatorNavButtonComponent,\n SkyProgressIndicatorResetButtonComponent,\n SkyProgressIndicatorTitleComponent,\n ],\n})\nexport class SkyProgressIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.SkyProgressIndicatorMarkerClassPipe","i1","i2","i3","i4.SkyProgressIndicatorStatusMarkerComponent","i3.SkyProgressIndicatorStatusMarkerComponent","i1.SkyProgressIndicatorComponent","i4.SkyProgressIndicatorNavButtonClass","i5.SkyProgressIndicatorNavButtonDisabledPipe"],"mappings":"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"}