@skyux/progress-indicator 7.5.0 → 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 +43 -43
  2. package/esm2020/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +2 -2
  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 +20 -21
  13. package/fesm2015/skyux-progress-indicator.mjs.map +1 -1
  14. package/fesm2020/skyux-progress-indicator.mjs +20 -21
  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 +1 -1
  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
@@ -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\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 * 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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"}
@@ -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 = {}));
@@ -182,7 +182,7 @@ class SkyProgressIndicatorItemComponent {
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) {
@@ -323,27 +323,27 @@ class SkyProgressIndicatorActionClickProgressHandler {
323
323
  var SkyProgressIndicatorMessageType;
324
324
  (function (SkyProgressIndicatorMessageType) {
325
325
  /**
326
- * Indicates that the current step is complete.
326
+ * The current step is complete.
327
327
  * This completes the active item and moves to the next item.
328
328
  */
329
329
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Progress"] = 0] = "Progress";
330
330
  /**
331
- * Indicates that progress should return to the previous step.
331
+ * Returns progress to the previous step.
332
332
  * This moves from the active item to the item that precedes it.
333
333
  */
334
334
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Regress"] = 1] = "Regress";
335
335
  /**
336
- * Indicates that progress is incomplete.
336
+ * Progress is incomplete.
337
337
  * This marks all items as incomplete and sets the first item as the active item.
338
338
  */
339
339
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Reset"] = 2] = "Reset";
340
340
  /**
341
- * Indicates that progress is complete.
341
+ * Progress is complete.
342
342
  * This marks all items as complete and sets the last item as the active item.
343
343
  */
344
344
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["Finish"] = 3] = "Finish";
345
345
  /**
346
- * 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.
347
347
  */
348
348
  SkyProgressIndicatorMessageType[SkyProgressIndicatorMessageType["GoTo"] = 4] = "GoTo";
349
349
  })(SkyProgressIndicatorMessageType || (SkyProgressIndicatorMessageType = {}));
@@ -355,11 +355,11 @@ var SkyProgressIndicatorMessageType;
355
355
  var SkyProgressIndicatorDisplayMode;
356
356
  (function (SkyProgressIndicatorDisplayMode) {
357
357
  /**
358
- * Specifies a vertical layout for the progress indicator.
358
+ * The vertical layout for the progress indicator.
359
359
  */
360
360
  SkyProgressIndicatorDisplayMode[SkyProgressIndicatorDisplayMode["Vertical"] = 0] = "Vertical";
361
361
  /**
362
- * Specifies a horizontal layout for the progress indicator.
362
+ * The horizontal layout for the progress indicator.
363
363
  */
364
364
  SkyProgressIndicatorDisplayMode[SkyProgressIndicatorDisplayMode["Horizontal"] = 1] = "Horizontal";
365
365
  })(SkyProgressIndicatorDisplayMode || (SkyProgressIndicatorDisplayMode = {}));
@@ -391,7 +391,7 @@ class SkyProgressIndicatorComponent {
391
391
  __classPrivateFieldSet(this, _SkyProgressIndicatorComponent_logger, logger, "f");
392
392
  }
393
393
  /**
394
- * Specifies whether to display the progress indicator vertically or horizontally.
394
+ * The orientation of the progress indicator, which can be vertical or horizontal.
395
395
  * For [passive progress indicators](https://developer.blackbaud.com/skyux-progress-indicator/docs/passive-indicator)
396
396
  * and [waterfall progress indicators](https://developer.blackbaud.com/skyux/components/progress-indicator/waterfall-progress-indicator),
397
397
  * use the vertical display mode. For [modal wizards](https://developer.blackbaud.com/skyux/components/wizard),
@@ -422,7 +422,7 @@ class SkyProgressIndicatorComponent {
422
422
  return __classPrivateFieldGet(this, _SkyProgressIndicatorComponent__displayMode, "f");
423
423
  }
424
424
  /**
425
- * 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
426
426
  * progress that concerns them but that they are not responsible for, and they must use the vertical display mode.
427
427
  * @default false
428
428
  */
@@ -434,7 +434,7 @@ class SkyProgressIndicatorComponent {
434
434
  return __classPrivateFieldGet(this, _SkyProgressIndicatorComponent__isPassive, "f");
435
435
  }
436
436
  /**
437
- * Specifies an observable of `SkyProgressIndicatorMessage` that determines the status to
437
+ * The observable of `SkyProgressIndicatorMessage` that determines the status to
438
438
  * display for items in the progress indicator. The message stream is a queue of
439
439
  * commanding messages to change the state of the progress indicator based on the message type.
440
440
  */
@@ -443,7 +443,7 @@ class SkyProgressIndicatorComponent {
443
443
  __classPrivateFieldGet(this, _SkyProgressIndicatorComponent_instances, "m", _SkyProgressIndicatorComponent_subscribeToMessageStream).call(this);
444
444
  }
445
445
  /**
446
- * 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
447
447
  * loads. All steps that precede the active item are marked as complete, and all steps
448
448
  * that follow the active item are marked as incomplete.
449
449
  */
@@ -691,8 +691,7 @@ class SkyProgressIndicatorNavButtonComponent {
691
691
  __classPrivateFieldSet(this, _SkyProgressIndicatorNavButtonComponent_parentComponent, parentComponent, "f");
692
692
  }
693
693
  /**
694
- * Specifies the type of nav button to include.
695
- * The valid options are `"finish"`, `"next"`, `"previous"`, and `"reset"`.
694
+ * The type of nav button to include.
696
695
  * @default "next"
697
696
  */
698
697
  set buttonType(value) {
@@ -702,7 +701,7 @@ class SkyProgressIndicatorNavButtonComponent {
702
701
  return __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__buttonType, "f");
703
702
  }
704
703
  /**
705
- * Indicates whether to disable the nav button.
704
+ * Whether to disable the nav button.
706
705
  * @default false
707
706
  */
708
707
  set disabled(value) {
@@ -713,7 +712,7 @@ class SkyProgressIndicatorNavButtonComponent {
713
712
  return __classPrivateFieldGet(this, _SkyProgressIndicatorNavButtonComponent__disabled, "f");
714
713
  }
715
714
  /**
716
- * Specifies the progress indicator component to associate with the nav button.
715
+ * The progress indicator component to associate with the nav button.
717
716
  * @required
718
717
  */
719
718
  set progressIndicator(value) {
@@ -874,7 +873,7 @@ class SkyProgressIndicatorResetButtonComponent {
874
873
  '`buttonType` set to "reset".');
875
874
  }
876
875
  /**
877
- * Indicates whether to disable the reset button.
876
+ * Whether to disable the reset button.
878
877
  * @default false
879
878
  */
880
879
  set disabled(value) {