@fundamental-ngx/core 0.35.2-rc.1 → 0.35.2-rc.4

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 (125) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/package.json +1 -1
  8. package/busy-indicator/package.json +1 -1
  9. package/button/package.json +1 -1
  10. package/calendar/package.json +1 -1
  11. package/card/package.json +1 -1
  12. package/carousel/package.json +1 -1
  13. package/checkbox/package.json +1 -1
  14. package/combobox/package.json +1 -1
  15. package/date-picker/package.json +1 -1
  16. package/datetime/package.json +1 -1
  17. package/datetime-picker/package.json +1 -1
  18. package/dialog/package.json +1 -1
  19. package/dynamic-page/package.json +1 -1
  20. package/dynamic-side-content/package.json +1 -1
  21. package/esm2020/input-group/input-group.component.mjs +3 -3
  22. package/esm2020/select/select.component.mjs +1 -2
  23. package/esm2020/wizard/wizard.component.mjs +4 -3
  24. package/esm2020/wizard/wizard.module.mjs +5 -4
  25. package/facets/package.json +1 -1
  26. package/feed-input/package.json +1 -1
  27. package/feed-list-item/package.json +1 -1
  28. package/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
  29. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  30. package/fesm2015/fundamental-ngx-core-select.mjs +0 -1
  31. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  32. package/fesm2015/fundamental-ngx-core-wizard.mjs +7 -5
  33. package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  34. package/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
  35. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  36. package/fesm2020/fundamental-ngx-core-select.mjs +0 -1
  37. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  38. package/fesm2020/fundamental-ngx-core-wizard.mjs +7 -5
  39. package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  40. package/file-uploader/package.json +1 -1
  41. package/fixed-card-layout/package.json +1 -1
  42. package/flexible-column-layout/package.json +1 -1
  43. package/form/package.json +1 -1
  44. package/formatted-text/package.json +1 -1
  45. package/grid-list/package.json +1 -1
  46. package/icon/package.json +1 -1
  47. package/illustrated-message/package.json +1 -1
  48. package/infinite-scroll/package.json +1 -1
  49. package/info-label/package.json +1 -1
  50. package/inline-help/package.json +1 -1
  51. package/input-group/esm2020/input-group.component.mjs +3 -3
  52. package/input-group/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
  53. package/input-group/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  54. package/input-group/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
  55. package/input-group/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  56. package/input-group/package.json +1 -1
  57. package/layout-grid/package.json +1 -1
  58. package/layout-panel/package.json +1 -1
  59. package/link/package.json +1 -1
  60. package/list/package.json +1 -1
  61. package/menu/package.json +1 -1
  62. package/message-box/package.json +1 -1
  63. package/message-strip/package.json +1 -1
  64. package/message-toast/package.json +1 -1
  65. package/micro-process-flow/package.json +1 -1
  66. package/mobile-mode/package.json +1 -1
  67. package/multi-input/package.json +1 -1
  68. package/nested-list/package.json +1 -1
  69. package/notification/package.json +1 -1
  70. package/object-identifier/package.json +1 -1
  71. package/object-marker/package.json +1 -1
  72. package/object-number/package.json +1 -1
  73. package/object-status/package.json +1 -1
  74. package/overflow-layout/package.json +12 -12
  75. package/package.json +1 -1
  76. package/pagination/package.json +1 -1
  77. package/panel/package.json +1 -1
  78. package/popover/package.json +1 -1
  79. package/product-switch/package.json +1 -1
  80. package/progress-indicator/package.json +1 -1
  81. package/quick-view/package.json +1 -1
  82. package/radio/package.json +1 -1
  83. package/rating-indicator/package.json +1 -1
  84. package/resizable-card-layout/package.json +1 -1
  85. package/scroll-spy/package.json +1 -1
  86. package/scrollbar/package.json +1 -1
  87. package/segmented-button/package.json +1 -1
  88. package/select/esm2020/select.component.mjs +1 -2
  89. package/select/fesm2015/fundamental-ngx-core-select.mjs +0 -1
  90. package/select/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  91. package/select/fesm2020/fundamental-ngx-core-select.mjs +0 -1
  92. package/select/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  93. package/select/package.json +1 -1
  94. package/shared/package.json +1 -1
  95. package/shellbar/package.json +1 -1
  96. package/side-navigation/package.json +1 -1
  97. package/slider/package.json +1 -1
  98. package/split-button/package.json +1 -1
  99. package/splitter/package.json +1 -1
  100. package/status-indicator/package.json +1 -1
  101. package/step-input/package.json +1 -1
  102. package/switch/package.json +1 -1
  103. package/table/package.json +1 -1
  104. package/tabs/package.json +1 -1
  105. package/text/package.json +1 -1
  106. package/theming/package.json +1 -1
  107. package/tile/package.json +1 -1
  108. package/time/package.json +1 -1
  109. package/time-picker/package.json +1 -1
  110. package/timeline/package.json +1 -1
  111. package/title/package.json +1 -1
  112. package/token/package.json +1 -1
  113. package/toolbar/package.json +1 -1
  114. package/tree/package.json +1 -1
  115. package/upload-collection/package.json +1 -1
  116. package/utils/package.json +1 -1
  117. package/vertical-navigation/package.json +1 -1
  118. package/wizard/esm2020/wizard.component.mjs +4 -3
  119. package/wizard/esm2020/wizard.module.mjs +5 -4
  120. package/wizard/fesm2015/fundamental-ngx-core-wizard.mjs +7 -5
  121. package/wizard/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  122. package/wizard/fesm2020/fundamental-ngx-core-wizard.mjs +7 -5
  123. package/wizard/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  124. package/wizard/package.json +1 -1
  125. package/wizard/wizard.module.d.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-wizard.mjs","sources":["../../../../libs/core/src/lib/wizard/wizard-next-step/wizard-next-step.component.ts","../../../../libs/core/src/lib/wizard/wizard-next-step/wizard-next-step.component.html","../../../../libs/core/src/lib/wizard/wizard-content/wizard-content.component.ts","../../../../libs/core/src/lib/wizard/wizard-content/wizard-content.component.html","../../../../libs/core/src/lib/wizard/wizard-step-indicator/wizard-step-indicator.component.ts","../../../../libs/core/src/lib/wizard/wizard-step-indicator/wizard-step-indicator.component.html","../../../../libs/core/src/lib/wizard/constants.ts","../../../../libs/core/src/lib/wizard/wizard-injection-token.ts","../../../../libs/core/src/lib/wizard/wizard-step/wizard-step.component.ts","../../../../libs/core/src/lib/wizard/wizard-step/wizard-step.component.html","../../../../libs/core/src/lib/wizard/wizard-progress-bar/wizard-progress-bar.directive.ts","../../../../libs/core/src/lib/wizard/wizard.component.ts","../../../../libs/core/src/lib/wizard/wizard.component.html","../../../../libs/core/src/lib/wizard/wizard-navigation/wizard-navigation.component.ts","../../../../libs/core/src/lib/wizard/wizard-navigation/wizard-navigation.component.html","../../../../libs/core/src/lib/wizard/wizard.module.ts","../../../../libs/core/src/lib/wizard/wizard.service.ts","../../../../libs/core/src/lib/wizard/fundamental-ngx-core-wizard.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, Input } from '@angular/core';\n\n@Component({\n selector: 'fd-wizard-next-step',\n templateUrl: './wizard-next-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WizardNextStepComponent {\n /**\n * Whether or not the next step button should float directly above the footer.\n */\n @Input()\n floating = false;\n\n /**\n * Whether or not element can be hidden when step status is completed.\n */\n @Input()\n set canHide(value: boolean) {\n this._canHide = value;\n\n if (!value) {\n this._showElement();\n }\n }\n\n get canHide(): boolean {\n return this._canHide;\n }\n\n /** @hidden */\n private _canHide = true;\n\n /** @hidden */\n constructor(private _elRef: ElementRef) {}\n\n /** @hidden */\n _getElRef(): ElementRef {\n return this._elRef;\n }\n\n /** @hidden */\n _showElement(): void {\n this._elRef.nativeElement.style.removeProperty('display');\n }\n\n /** @hidden */\n _hideElement(): void {\n this._elRef.nativeElement.style.display = 'none';\n }\n}\n","<div class=\"fd-wizard__next-step\" [class.fd-wizard__next-step--floating]=\"floating\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { WizardSize } from '../wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardNextStepComponent } from '../wizard-next-step/wizard-next-step.component';\n\nexport type WizardContentBackground = 'solid' | 'list' | 'transparent';\n\n@Component({\n selector: 'fd-wizard-content',\n templateUrl: './wizard-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./wizard-content.component.scss']\n})\nexport class WizardContentComponent {\n /**\n * The type of wizard background ('solid', 'list', or 'transparent').\n */\n @Input()\n contentBackground: WizardContentBackground;\n\n /**\n * Size (horizontal paddings) of the wizard content.\n */\n @Input()\n size: WizardSize;\n\n /** @hidden */\n @ViewChild('contentTemplate')\n contentTemplate: TemplateRef<any>;\n\n /** @hidden */\n @ContentChild(WizardNextStepComponent)\n nextStep: WizardNextStepComponent;\n\n /** @hidden */\n wizardContentId: string;\n\n /** @hidden */\n tallContent = false;\n}\n","<ng-template #contentTemplate>\n <section\n [id]=\"wizardContentId\"\n class=\"fd-wizard__content\"\n [class]=\"\n (contentBackground ? 'fd-wizard__content--' + contentBackground + ' ' : '') +\n (size ? 'fd-wizard__content--' + size : '')\n \"\n [class.fd-wizard-tall-content]=\"tallContent\"\n >\n <div class=\"fd-wizard__step-content-container\">\n <ng-content></ng-content>\n </div>\n </section>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild\n} from '@angular/core';\nimport { WizardStepComponent } from '../wizard-step/wizard-step.component';\nimport { ActionSheetComponent } from '@fundamental-ngx/core/action-sheet';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\n@Component({\n selector: 'fd-wizard-step-indicator',\n templateUrl: './wizard-step-indicator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WizardStepIndicatorComponent implements OnInit, OnDestroy {\n /**\n * The icon to use for this step.\n */\n @Input()\n glyph: Nullable<string>;\n\n /**\n * Whether or not the step indicator (specifically, the action sheet) is compact.\n */\n @Input()\n compact?: boolean;\n\n /**\n * Event emitted when this step indicator is clicked.\n */\n @Output()\n stepIndicatorItemClicked = new EventEmitter<WizardStepComponent>();\n\n @ViewChild(ActionSheetComponent)\n actionSheet: ActionSheetComponent;\n\n /** @hidden */\n stackedItems: WizardStepComponent[];\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n constructor(private _cdRef: ChangeDetectorRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n stepItemClicked(step?: WizardStepComponent, event?: MouseEvent): void {\n if (step && step.visited) {\n if (this.actionSheet) {\n this.actionSheet.close();\n }\n event?.preventDefault();\n this.stepIndicatorItemClicked.emit(step);\n }\n }\n\n /** @hidden */\n setStackedItems(items: WizardStepComponent[]): void {\n this.stackedItems = items;\n this._cdRef.detectChanges();\n }\n}\n","<ng-container *ngIf=\"stackedItems && stackedItems.length > 1\">\n <fd-action-sheet [compact]=\"!!compact\" style=\"pointer-events: all\">\n <fd-action-sheet-control>\n <span class=\"fd-wizard__step-indicator\">\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngFor=\"let step of stackedItems\"\n [label]=\"step.label\"\n [glyph]=\"step.glyph\"\n [disabled]=\"!step.visited\"\n (click)=\"stepItemClicked(step, $event)\"\n ></li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</ng-container>\n\n<ng-container *ngIf=\"!stackedItems || stackedItems.length <= 1\">\n <span class=\"fd-wizard__step-indicator\" (click)=\"stepItemClicked(stackedItems?.[0], $event)\">\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n</ng-container>\n\n<ng-template #stepIndicatorContent>\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\" class=\"fd-wizard__icon\"></fd-icon>\n <ng-content></ng-content>\n</ng-template>\n","export const ACTIVE_STEP_STATUS = 'active';\nexport const CURRENT_STEP_STATUS = 'current';\nexport const UPCOMING_STEP_STATUS = 'upcoming';\nexport const COMPLETED_STEP_STATUS = 'completed';\n","import { InjectionToken } from '@angular/core';\n\nexport interface WizardComponentInterface {\n displaySummaryStep: boolean;\n}\n\nexport const WIZARD = new InjectionToken<WizardComponentInterface>('Wizard component dependency');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { WizardContentComponent } from '../wizard-content/wizard-content.component';\nimport { WizardStepIndicatorComponent } from '../wizard-step-indicator/wizard-step-indicator.component';\n\nexport type WizardStepStatus = 'completed' | 'current' | 'upcoming' | 'active';\n\nimport { CURRENT_STEP_STATUS, COMPLETED_STEP_STATUS } from '../constants';\nimport { WIZARD, WizardComponentInterface } from '../wizard-injection-token';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-wizard-step]',\n host: {\n class: 'fd-wizard__step',\n '[class.fd-wizard__step--completed]': 'status === \"completed\" || completed',\n '[class.fd-wizard__step--current]': 'status === \"current\"',\n '[class.fd-wizard__step--upcoming]': 'status === \"upcoming\"',\n '[class.fd-wizard__step--active]': 'status === \"active\"',\n '[attr.aria-label]': 'ariaLabel'\n },\n templateUrl: './wizard-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WizardStepComponent implements OnChanges, AfterViewInit, OnDestroy {\n /**\n * The aria-label for the step container.\n */\n @Input()\n ariaLabel: Nullable<string>;\n\n /**\n * The aria-label for the step container.\n */\n @Input()\n ariaRoleDecription = 'Navigation';\n\n /**\n * The type of step ('completed', 'current', 'upcoming', and 'active'.)\n */\n @Input()\n status: WizardStepStatus;\n\n /**\n * Whether or not this is a 'branching' step.\n */\n @Input()\n branching = false;\n\n /**\n * The label text.\n */\n @Input()\n label: string;\n\n /** @hidden */\n glyph: string;\n\n /**\n * The smaller text for labeling the step as optional.\n */\n @Input()\n optionalText: string;\n\n /**\n * Whether or not this step is the summary page.\n */\n @Input()\n isSummary = false;\n\n /**\n * User-defined validation function which determines if user can navigate between steps.\n */\n @Input()\n stepClickValidator: (visited: boolean, completed: boolean) => boolean | Promise<boolean>;\n\n /**\n * Event emitted when the wizard step's status changes.\n */\n @Output()\n statusChange = new EventEmitter<WizardStepStatus>();\n\n /**\n * Event emitted when a step is clicked.\n */\n @Output()\n stepClicked = new EventEmitter<WizardStepComponent>();\n\n /**\n * Event emitted when a step indicator is clicked.\n */\n @Output()\n stepIndicatorItemClicked = new EventEmitter<WizardStepComponent>();\n\n /** @hidden */\n @ContentChild(WizardContentComponent)\n content: WizardContentComponent;\n\n /** @hidden */\n @ContentChild(WizardStepIndicatorComponent)\n stepIndicator: WizardStepIndicatorComponent;\n\n /** The wizard label span element. */\n @ViewChild('wizardLabel', { read: ElementRef })\n wizardLabel: ElementRef;\n\n @ViewChild('progressBarLink', { read: ElementRef })\n progressBarLink: ElementRef;\n\n /** @hidden */\n visited = false;\n\n /** @hidden */\n completed = false;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n _stepId: number;\n\n /** @hidden */\n _finalStep = false;\n\n /** @hidden */\n constructor(\n private _elRef: ElementRef,\n private _cdRef: ChangeDetectorRef,\n @Optional() @Inject(WIZARD) private _wizard: WizardComponentInterface\n ) {}\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.status) {\n if (\n changes.status.previousValue === CURRENT_STEP_STATUS &&\n changes.status.currentValue === COMPLETED_STEP_STATUS\n ) {\n this.completed = true;\n }\n this.statusChange.emit(this.status);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.isSummary && !this._wizard?.displaySummaryStep) {\n this._summaryInit();\n } else if (this.stepIndicator) {\n this._notSummaryInit();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n setFinalStep(val: boolean): void {\n this._finalStep = val;\n this._cdRef.detectChanges();\n }\n\n /** @hidden */\n async stepContainerKeypress(event?: KeyboardEvent): Promise<void> {\n if (event) {\n event.preventDefault();\n }\n\n if (\n this.visited &&\n (!event || KeyUtil.isKeyCode(event, [SPACE, ENTER])) &&\n (!this.stepIndicator || !this.stepIndicator.stackedItems || !this.stepIndicator.stackedItems.length) &&\n (this.stepClickValidator === undefined ||\n (await this.stepClickValidator(this.visited, this.completed)) === true)\n ) {\n this.stepClicked.emit(this);\n }\n }\n\n /** @hidden */\n getClassList(): DOMTokenList {\n return this._elRef.nativeElement.classList;\n }\n\n /** @hidden */\n hasLabel(label: string): boolean {\n return this._elRef.nativeElement.classList.contains(label);\n }\n\n /** @hidden */\n getStepClientWidth(): number {\n return this._elRef.nativeElement.clientWidth;\n }\n\n /** @hidden */\n removeFromDom(): void {\n if (this._elRef.nativeElement.parentNode) {\n this._elRef.nativeElement.parentNode.removeChild(this._elRef.nativeElement);\n }\n }\n\n /** @hidden */\n _summaryInit(): void {\n this._elRef.nativeElement.style.display = 'none';\n this.content.tallContent = true;\n }\n\n /** @hidden */\n _notSummaryInit(): void {\n this._subscriptions.add(\n this.stepIndicator.stepIndicatorItemClicked.subscribe((step) => {\n this.stepIndicatorItemClicked.emit(step);\n })\n );\n if (this.stepIndicator.glyph) {\n this.glyph = this.stepIndicator.glyph;\n }\n }\n}\n","<div class=\"fd-wizard__step-wrapper\">\n <a\n #progressBarLink\n class=\"fd-wizard__step-container\"\n (click)=\"stepContainerKeypress()\"\n (keypress)=\"stepContainerKeypress($event)\"\n [style.cursor]=\"visited ? 'pointer' : 'auto'\"\n [style.pointer-events]=\"visited ? 'auto' : 'none'\"\n [attr.tabindex]=\"status === 'current' ? 0 : -1\"\n [attr.aria-roledescription]=\"ariaRoleDecription\"\n >\n <ng-content select=\"fd-wizard-step-indicator\"></ng-content>\n <div class=\"fd-wizard__label-container\" [class.fd-wizard__label-container--optional]=\"optionalText\">\n <div #wizardLabel>\n <span class=\"fd-wizard__label\">{{ label }}</span>\n <span *ngIf=\"optionalText\" class=\"fd-wizard__optional-text\">\n {{ optionalText }}\n </span>\n </div>\n </div>\n </a>\n <span\n *ngIf=\"!_finalStep || branching\"\n class=\"fd-wizard__connector\"\n [class.fd-wizard__connector--active]=\"completed\"\n [class.fd-wizard__connector--branching]=\"branching\"\n >\n </span>\n</div>\n","import { Directive, Input } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nexport type WizardSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-wizard-progress-bar]',\n host: {\n class: 'fd-wizard__progress-bar',\n '[class.fd-wizard__progress-bar--sm]': 'size === \"sm\"',\n '[class.fd-wizard__progress-bar--md]': 'size === \"md\"',\n '[class.fd-wizard__progress-bar--lg]': 'size === \"lg\"',\n '[class.fd-wizard__progress-bar--xl]': 'size === \"xl\"',\n '[style.display]': 'visible ? \"\" : \"none\"'\n }\n})\nexport class WizardProgressBarDirective {\n /**\n * Size (horizontal paddings) of the wizard progress bar.\n */\n @Input()\n size: Nullable<WizardSize> = null;\n\n /** @hidden */\n visible = true;\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DialogBodyComponent } from '@fundamental-ngx/core/dialog';\nimport { scrollTop } from '@fundamental-ngx/core/utils';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\nimport { WizardProgressBarDirective } from './wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardContentComponent } from './wizard-content/wizard-content.component';\nimport { ACTIVE_STEP_STATUS, CURRENT_STEP_STATUS, UPCOMING_STEP_STATUS, COMPLETED_STEP_STATUS } from './constants';\nimport { WIZARD } from './wizard-injection-token';\n\nexport const STEP_MIN_WIDTH = 168;\nexport const STEP_STACKED_TOP_CLASS = 'fd-wizard__step--stacked-top';\nexport const STEP_STACKED_CLASS = 'fd-wizard__step--stacked';\nexport const STEP_NO_LABEL_CLASS = 'fd-wizard__step--no-label';\n\nexport const WIZARD_NAVIGATION_CLASS = 'fd-wizard__navigation';\nexport const WIZARD_CONTENT_CLASS = 'fd-wizard__content';\nexport const WIZARD_CONTAINER_WRAPPER_CLASS = 'fd-wizard-container-wrapper';\nexport const WIZARD_TALL_CONTENT_CLASS = 'fd-wizard-tall-content';\nexport const SHELLBAR_CLASS = 'fd-shellbar';\nexport const BAR_FOOTER_CLASS = 'fd-bar--footer';\nexport const BAR_FLOATING_FOOTER_CLASS = 'fd-bar--floating-footer';\n\nexport let _fromScrollToCurrentStep;\nexport let timer: any = null;\nexport const handleTimeoutReference = (): void => {\n if (timer !== null) {\n clearTimeout(timer);\n }\n timer = setTimeout(() => {\n _fromScrollToCurrentStep = false;\n }, 150);\n};\n\n@Component({\n selector: 'fd-wizard',\n templateUrl: './wizard.component.html',\n styleUrls: ['./wizard.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: WIZARD,\n useExisting: WizardComponent\n }\n ],\n host: {\n role: 'region',\n '[attr.aria-label]': 'ariaLabel'\n }\n})\nexport class WizardComponent implements AfterViewInit, OnDestroy {\n /**\n * Whether or not to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n @Input()\n appendToWizard = true;\n\n /**\n * Custom height to use for the wizard's content pane. By default, this value is calc(100vh - 144px), where 144px\n * is the combined height of the shellbar, wizard header and wizard footer.\n */\n @Input()\n contentHeight: Nullable<string | null>;\n\n /**\n * Whether or not apply responsive paddings styling.\n */\n @Input()\n @HostBinding('class.fd-wizard--responsive-paddings')\n responsivePaddings = false;\n\n @Input()\n displaySummaryStep = false;\n\n /** adding aria label to the component */\n @Input()\n ariaLabel = 'Wizard';\n\n /** @hidden */\n @ContentChildren(WizardStepComponent, { descendants: true })\n steps: QueryList<WizardStepComponent>;\n\n /** @hidden */\n @ContentChild(WizardProgressBarDirective)\n progressBar: WizardProgressBarDirective;\n\n /** @hidden */\n @ContentChildren(WizardContentComponent)\n wizardContent: WizardContentComponent;\n\n /** @hidden */\n @ViewChild('wrapperContainer')\n wrapperContainer: ElementRef<HTMLElement>;\n\n /** @hidden */\n contentTemplates: TemplateRef<any>[] = [];\n\n /** @hidden */\n stackedStepsLeft: WizardStepComponent[] = [];\n\n /** @hidden */\n stackedStepsRight: WizardStepComponent[] = [];\n\n /** @hidden */\n private _stepEventSubscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _stepListChangesSubscription: Subscription = new Subscription();\n\n /** @hidden */\n private _previousWidth: number;\n\n constructor(\n private _elRef: ElementRef,\n private readonly _cdRef: ChangeDetectorRef,\n @Optional() private _dialogBodyComponent: DialogBodyComponent\n ) {}\n\n /** @hidden */\n @HostListener('window:resize')\n resizeHandler(): void {\n const wizardWidth = this._elRef.nativeElement.getBoundingClientRect().width;\n if (!this._previousWidth || wizardWidth <= this._previousWidth) {\n this._wizardShrinking();\n } else if (wizardWidth > this._previousWidth) {\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n this._previousWidth = wizardWidth;\n if (this.contentHeight) {\n this._elRef.nativeElement.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).style.height =\n this.contentHeight;\n } else {\n this._setContainerAndTallContentHeight();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n setTimeout(() => {\n // fixes ExpressionChangedAfterItHasBeenCheckedError\n this._setContentTemplates();\n this._stepListChangesSubscription.add(\n this.steps.changes.subscribe(() => {\n this._handleStepOrStatusChanges();\n this._setupStepEvents();\n })\n );\n this._setupStepEvents();\n this._cdRef.detectChanges();\n this._handleStepOrStatusChanges();\n this.resizeHandler();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._stepEventSubscriptions.unsubscribe();\n this._stepListChangesSubscription.unsubscribe();\n this.wrapperContainer?.nativeElement.removeEventListener('scroll', handleTimeoutReference);\n }\n\n /**\n * @hidden\n * @private\n * This function determines the height of the wizard content by looking for the document's shellbar, the wizard\n * navigation and the wizard footer, and calculating the height based on their presence.\n */\n private _calculateContentHeight(): number {\n let wizardNavHeight = 0;\n const shellbarHeight = this._getShellbarHeight();\n if (!this._isCurrentStepSummary() || this.displaySummaryStep) {\n wizardNavHeight = this._getWizardNavHeight();\n }\n const wizardFooterHeight = this._getWizardFooterHeight();\n const dialogOffset = this._getDialogOffset();\n\n return shellbarHeight + wizardNavHeight + wizardFooterHeight + dialogOffset;\n }\n\n /** @hidden */\n private _getShellbarHeight(): number {\n return document.querySelector<HTMLElement>('.' + SHELLBAR_CLASS)?.clientHeight ?? 0;\n }\n\n /** @hidden */\n private _getWizardNavHeight(): number {\n const wizard = this._elRef.nativeElement;\n let retVal;\n if (wizard.querySelector('.' + WIZARD_NAVIGATION_CLASS)) {\n retVal = wizard.querySelector('.' + WIZARD_NAVIGATION_CLASS).clientHeight;\n } else {\n retVal = 0;\n }\n return retVal;\n }\n\n /** @hidden */\n private _getWizardFooterHeight(): number {\n const wizard = this._elRef.nativeElement;\n let retVal;\n if (wizard.querySelector('.' + BAR_FOOTER_CLASS)) {\n retVal = wizard.querySelector('.' + BAR_FOOTER_CLASS).offsetHeight;\n } else if (wizard.querySelector('.' + BAR_FLOATING_FOOTER_CLASS)) {\n retVal = wizard.querySelector('.' + BAR_FLOATING_FOOTER_CLASS).offsetHeight;\n } else {\n retVal = 0;\n }\n return retVal;\n }\n\n /** @hidden */\n private _getDialogOffset(): number {\n let retVal = 0;\n if (this._dialogBodyComponent) {\n const dialogBody = this._dialogBodyComponent.elementRef().nativeElement;\n if (dialogBody.tagName.toLowerCase() === 'fd-dialog-body') {\n this._dialogBodyComponent.dialogConfig.verticalPadding = false;\n const dialogBodyTitle = dialogBody.querySelector('.fd-title--h2');\n if (dialogBodyTitle) {\n retVal = dialogBodyTitle.offsetHeight;\n }\n retVal = retVal + window.innerHeight - dialogBody.offsetHeight;\n }\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setContainerAndTallContentHeight(): void {\n const wizard = this._elRef.nativeElement;\n const combinedHeight = this.contentHeight ? this.contentHeight : this._calculateContentHeight();\n if (wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS)) {\n wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).style.height =\n 'calc(100vh - ' + combinedHeight + 'px)';\n }\n wizard.querySelectorAll('.' + WIZARD_CONTENT_CLASS).forEach((node) => {\n node.style.height = 'auto';\n });\n if (wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS)) {\n if (\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).offsetHeight <\n wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).offsetHeight\n ) {\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).style.height =\n 'calc(100vh - ' + combinedHeight + 'px)';\n } else {\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).style.paddingBottom = '24px';\n }\n }\n }\n\n /** @hidden */\n private _setupStepEvents(): void {\n this._stepEventSubscriptions.unsubscribe();\n this._stepEventSubscriptions = new Subscription();\n this.steps.forEach((step) => {\n this._stepEventSubscriptions.add(\n step.stepClicked.subscribe((event) => {\n this._stepClicked(event);\n })\n );\n this._stepEventSubscriptions.add(\n step.statusChange.subscribe(() => {\n this._handleStepOrStatusChanges();\n })\n );\n this._stepEventSubscriptions.add(\n step.stepIndicatorItemClicked.subscribe((event) => {\n this._stepClicked(event);\n })\n );\n // need to call wizardShrinking for each step < 168px on first load\n if (step.wizardLabel && step.getStepClientWidth() < STEP_MIN_WIDTH) {\n this._wizardShrinking();\n }\n });\n }\n\n /** @hidden */\n private _wizardShrinking(): void {\n const currentStep = this._getCurrentStep();\n if (\n currentStep &&\n (!currentStep.isSummary || this.displaySummaryStep) &&\n currentStep.wizardLabel &&\n currentStep.getStepClientWidth() < STEP_MIN_WIDTH\n ) {\n this._hideSomeStep(currentStep);\n this._setStackedTop();\n }\n }\n\n /** @hidden */\n private _setContentTemplates(): void {\n const templatesLength = this.contentTemplates.length;\n this.contentTemplates = [];\n let _stepId = 0;\n const steps = this.steps.toArray();\n for (const step of steps) {\n if (step.content) {\n if (!step.isSummary || this.displaySummaryStep) {\n step.content.tallContent = false;\n }\n step.content.wizardContentId = _stepId.toString();\n }\n step._stepId = _stepId;\n _stepId++;\n step.setFinalStep(false);\n /*\n If the step is completed and appendToWizard is true, hide the nextStep button, unless it's the last step,\n or if there's a summary and it is the second to last step\n */\n if (\n step.completed &&\n this.appendToWizard &&\n step.content?.nextStep?.canHide &&\n step !== this._getLastNonSummaryStep()\n ) {\n step.content.nextStep._hideElement();\n } else if (\n step.content?.nextStep &&\n ((step.completed && this.appendToWizard) ||\n (step.visited && step.branching && step.status === CURRENT_STEP_STATUS))\n ) {\n step.content.nextStep._showElement();\n }\n if (\n step.visited ||\n ((step.status === CURRENT_STEP_STATUS || step.status === COMPLETED_STEP_STATUS) && step.content)\n ) {\n step.visited = true;\n if (step.status === CURRENT_STEP_STATUS && (!step.completed || !this.appendToWizard)) {\n step.content.tallContent = true;\n }\n\n const isCurrentStep = !this.appendToWizard && step.status === CURRENT_STEP_STATUS;\n\n if (!templatesLength || isCurrentStep) {\n this.contentTemplates = [step.content.contentTemplate];\n\n // If we found needed step, break the cycle, since it might set wrong step later.\n if (isCurrentStep) {\n break;\n }\n } else if (this.appendToWizard && (!step.isSummary || this.displaySummaryStep)) {\n this.contentTemplates.push(step.content.contentTemplate);\n }\n }\n }\n\n const lastVisibleTemplate = steps[this.contentTemplates.length - 1];\n if (lastVisibleTemplate && lastVisibleTemplate.content) {\n lastVisibleTemplate.content.tallContent = true;\n }\n this._setFinalStep();\n }\n\n /** @hidden */\n private _scrollToCurrentStep(): void {\n if (this.appendToWizard) {\n _fromScrollToCurrentStep = true;\n this.steps.forEach((step, index) => {\n if (step.status === CURRENT_STEP_STATUS && (!step.isSummary || this.displaySummaryStep)) {\n const child = this.wrapperContainer.nativeElement.children[index] as HTMLElement;\n const wizardNavigationHeight = this._elRef.nativeElement.querySelector(\n '.' + WIZARD_NAVIGATION_CLASS\n ).clientHeight;\n\n scrollTop(this.wrapperContainer.nativeElement, child.offsetTop - wizardNavigationHeight);\n }\n });\n this._setUpScrollListener();\n }\n }\n\n /** @hidden */\n private _setUpScrollListener(): void {\n this.wrapperContainer?.nativeElement.addEventListener('scroll', handleTimeoutReference, false);\n }\n\n /** @hidden */\n private _hideSomeStep(currentStep: WizardStepComponent): void {\n // If a small step was found, get the step with a visible label furthest away from the current step and hide the label\n let stepsArray = this.steps.toArray();\n stepsArray = stepsArray.filter((step) => !step.hasLabel(STEP_NO_LABEL_CLASS));\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n stepsArray.pop();\n }\n if (stepsArray.length > 1) {\n let currentStepIndex = 0,\n stepToHide;\n if (currentStep) {\n currentStepIndex = stepsArray.indexOf(currentStep);\n }\n currentStepIndex > (stepsArray.length - 1) / 2\n ? (stepToHide = stepsArray[0])\n : (stepToHide = stepsArray[stepsArray.length - 1]);\n stepToHide.getClassList().add(STEP_NO_LABEL_CLASS);\n stepToHide.getClassList().add(STEP_STACKED_CLASS);\n if (stepsArray.indexOf(stepToHide) < currentStepIndex && !this.stackedStepsLeft.includes(stepToHide)) {\n this.stackedStepsLeft.splice(this.steps.toArray().indexOf(stepToHide), 0, stepToHide);\n } else if (\n stepsArray.indexOf(stepToHide) > currentStepIndex &&\n !this.stackedStepsRight.includes(stepToHide)\n ) {\n this.stackedStepsRight.unshift(stepToHide);\n }\n this._cdRef.detectChanges();\n }\n }\n\n /** @hidden */\n private _setStackedTop(): void {\n const currentStep = this._getCurrentStep();\n this.steps.forEach((step, index) => {\n if (step.stepIndicator) {\n step.getClassList().remove(STEP_STACKED_TOP_CLASS);\n if (this.steps.toArray()[index + 1] === currentStep) {\n if (this.steps.length > 1) {\n step.getClassList().add(STEP_STACKED_TOP_CLASS);\n if (!this.stackedStepsLeft.includes(step) && this.stackedStepsLeft.length >= 1) {\n this.stackedStepsLeft.splice(index, 0, step);\n }\n }\n step.stepIndicator.setStackedItems(this.stackedStepsLeft);\n } else {\n step.stepIndicator.stackedItems = [];\n }\n }\n });\n this._getLastNonSummaryStep().stepIndicator.setStackedItems(this.stackedStepsRight);\n }\n\n /** @hidden */\n private _resetStepClasses(): void {\n this.steps.forEach((step) => {\n step.getClassList().remove(STEP_STACKED_TOP_CLASS);\n step.getClassList().remove(STEP_STACKED_CLASS);\n step.getClassList().remove(STEP_NO_LABEL_CLASS);\n });\n }\n\n /** @hidden */\n private _handleStepOrStatusChanges(): void {\n if (this._isCurrentStepSummary() && !this.displaySummaryStep) {\n this.progressBar.visible = false;\n this._showSummary();\n } else {\n this.progressBar.visible = true;\n this._setContentTemplates();\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n setTimeout(() => {\n this._cdRef.detectChanges();\n this.resizeHandler();\n if (!this._isCurrentStepSummary() || this.displaySummaryStep) {\n this._scrollToCurrentStep();\n }\n });\n this._setFinalStep();\n }\n\n /** @hidden */\n private _setFinalStep(): void {\n const lastNonSummaryStep = this._getLastNonSummaryStep();\n if (lastNonSummaryStep) {\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n this.steps.last.removeFromDom();\n }\n if (lastNonSummaryStep.content) {\n lastNonSummaryStep.content.tallContent = true;\n }\n lastNonSummaryStep.setFinalStep(true);\n }\n }\n\n /** @hidden */\n private _showSummary(): void {\n this.steps.forEach((step) => {\n if (!step.isSummary) {\n step.completed = true;\n }\n });\n const summary = this.steps.find((step) => step.isSummary);\n if (summary) {\n summary.content.tallContent = true;\n this.contentTemplates = [summary.content.contentTemplate];\n }\n }\n\n /** @hidden */\n private _isCurrentStepSummary(): boolean {\n return this.steps.some((step) => step.status === CURRENT_STEP_STATUS && step.isSummary);\n }\n\n /** @hidden */\n private _getCurrentStep(): WizardStepComponent {\n return this.steps.filter(\n (step) => step.status === CURRENT_STEP_STATUS || step.status === ACTIVE_STEP_STATUS\n )[0];\n }\n\n /** @hidden */\n private _shrinkWhileAnyStepIsTooNarrow(): void {\n // Add small delay for elements to render appropriately.\n setTimeout(() => {\n this.stackedStepsLeft = [];\n this.stackedStepsRight = [];\n this.steps.first.stepIndicator.setStackedItems(this.stackedStepsLeft);\n this._getLastNonSummaryStep().stepIndicator.setStackedItems(this.stackedStepsRight);\n this._resetStepClasses();\n let i = 0;\n while (this._anyStepIsTooNarrow() && i < this.steps.length - 1) {\n i++;\n this._wizardShrinking();\n }\n }, 10);\n }\n\n /** @hidden */\n private _anyStepIsTooNarrow(): boolean {\n return this.steps.some((step) => step.getStepClientWidth() < STEP_MIN_WIDTH);\n }\n\n /** @hidden */\n private _stepClicked(clickedStep: WizardStepComponent): void {\n if (!clickedStep) {\n clickedStep = this.steps.first;\n }\n const clickedStepIndex = this.steps.toArray().indexOf(clickedStep);\n this.steps.forEach((step) => {\n if (step === clickedStep) {\n step.status = CURRENT_STEP_STATUS;\n step.statusChange.emit(CURRENT_STEP_STATUS);\n } else if (step !== clickedStep) {\n if (this.steps.toArray().indexOf(step) < clickedStepIndex) {\n step.status = COMPLETED_STEP_STATUS;\n step.statusChange.emit(COMPLETED_STEP_STATUS);\n } else if (this.steps.toArray().indexOf(step) > clickedStepIndex) {\n step.status = UPCOMING_STEP_STATUS;\n step.statusChange.emit(UPCOMING_STEP_STATUS);\n }\n }\n });\n setTimeout(() => {\n (document.activeElement as HTMLElement).blur(); // this function can focus step indicators undesirably\n });\n }\n\n /** @hidden */\n private _getLastNonSummaryStep(): WizardStepComponent {\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n return this.steps.toArray()[this.steps.length - 2];\n }\n\n return this.steps.last;\n }\n\n /** @hidden */\n scrollSpyChange($event: HTMLElement): void {\n if (!_fromScrollToCurrentStep) {\n this.steps.forEach((step) => {\n if (step._stepId.toString() === $event.children[0].id) {\n step.status = CURRENT_STEP_STATUS;\n } else if (step._stepId < parseInt($event.children[0].id, 10)) {\n step.status = COMPLETED_STEP_STATUS;\n } else {\n step.status = UPCOMING_STEP_STATUS;\n }\n });\n }\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n}\n","<section class=\"fd-wizard\">\n <ng-content select=\"fd-wizard-navigation\"></ng-content>\n <div\n *ngIf=\"appendToWizard\"\n class=\"fd-wizard-container-wrapper\"\n #wrapperContainer\n fdScrollSpy\n [trackedTags]=\"['div']\"\n (spyChange)=\"scrollSpyChange($event)\"\n >\n <div *ngFor=\"let contentTemplate of contentTemplates\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"!appendToWizard\" class=\"fd-wizard-container-wrapper\">\n <div *ngFor=\"let contentTemplate of contentTemplates\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n </div>\n <ng-content></ng-content>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'fd-wizard-navigation',\n templateUrl: './wizard-navigation.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WizardNavigationComponent {\n /** Aria label for the wizard navigation component element. */\n @Input()\n ariaLabel = 'Wizard';\n}\n","<nav class=\"fd-wizard__navigation\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</nav>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WizardComponent } from './wizard.component';\nimport { WizardNavigationComponent } from './wizard-navigation/wizard-navigation.component';\nimport { WizardProgressBarDirective } from './wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\nimport { WizardStepIndicatorComponent } from './wizard-step-indicator/wizard-step-indicator.component';\nimport { WizardContentComponent } from './wizard-content/wizard-content.component';\nimport { WizardNextStepComponent } from './wizard-next-step/wizard-next-step.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ActionSheetModule } from '@fundamental-ngx/core/action-sheet';\nimport { ScrollSpyModule } from '@fundamental-ngx/core/scroll-spy';\n\n@NgModule({\n declarations: [\n WizardComponent,\n WizardNavigationComponent,\n WizardProgressBarDirective,\n WizardStepComponent,\n WizardStepIndicatorComponent,\n WizardContentComponent,\n WizardNextStepComponent\n ],\n imports: [CommonModule, IconModule, ScrollSpyModule, ActionSheetModule],\n exports: [\n WizardComponent,\n WizardNavigationComponent,\n WizardProgressBarDirective,\n WizardStepComponent,\n WizardStepIndicatorComponent,\n WizardNextStepComponent,\n WizardContentComponent\n ]\n})\nexport class WizardModule {}\n","import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Injectable, Optional, QueryList } from '@angular/core';\nimport { WizardStepComponent } from '.';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { COMPLETED_STEP_STATUS, CURRENT_STEP_STATUS } from './constants';\n\n@Injectable()\nexport class WizardService {\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n progressBarKeyHandler(event: any, steps: QueryList<WizardStepComponent>, index: number): void {\n const rtlDirection: boolean = this._rtlService && this._rtlService.rtl.getValue();\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (\n steps.get(index - 1)?.status === COMPLETED_STEP_STATUS ||\n steps.get(index - 1)?.status === CURRENT_STEP_STATUS\n ) {\n if (!rtlDirection) {\n this._focusPrevious(index, steps);\n } else {\n this._focusNext(index, steps);\n }\n }\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (steps.get(index)?.status === COMPLETED_STEP_STATUS) {\n if (!rtlDirection) {\n this._focusNext(index, steps);\n } else {\n this._focusPrevious(index, steps);\n }\n }\n }\n }\n\n /** @hidden */\n private _focusNext(index: number, steps: QueryList<WizardStepComponent>): void {\n if (index + 1 < steps.length) {\n steps.get(index + 1)?.progressBarLink.nativeElement.focus();\n } else {\n steps.get(0)?.progressBarLink.nativeElement.focus();\n }\n }\n\n /** @hidden */\n private _focusPrevious(index: number, steps: QueryList<WizardStepComponent>): void {\n if (index - 1 >= 0) {\n steps.get(index - 1)?.progressBarLink.nativeElement.focus();\n } else {\n steps.get(steps.length - 1)?.progressBarLink.nativeElement.focus();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-wizard.mjs","sources":["../../../../libs/core/src/lib/wizard/wizard-next-step/wizard-next-step.component.ts","../../../../libs/core/src/lib/wizard/wizard-next-step/wizard-next-step.component.html","../../../../libs/core/src/lib/wizard/wizard-content/wizard-content.component.ts","../../../../libs/core/src/lib/wizard/wizard-content/wizard-content.component.html","../../../../libs/core/src/lib/wizard/wizard-step-indicator/wizard-step-indicator.component.ts","../../../../libs/core/src/lib/wizard/wizard-step-indicator/wizard-step-indicator.component.html","../../../../libs/core/src/lib/wizard/constants.ts","../../../../libs/core/src/lib/wizard/wizard-injection-token.ts","../../../../libs/core/src/lib/wizard/wizard-step/wizard-step.component.ts","../../../../libs/core/src/lib/wizard/wizard-step/wizard-step.component.html","../../../../libs/core/src/lib/wizard/wizard-progress-bar/wizard-progress-bar.directive.ts","../../../../libs/core/src/lib/wizard/wizard.component.ts","../../../../libs/core/src/lib/wizard/wizard.component.html","../../../../libs/core/src/lib/wizard/wizard-navigation/wizard-navigation.component.ts","../../../../libs/core/src/lib/wizard/wizard-navigation/wizard-navigation.component.html","../../../../libs/core/src/lib/wizard/wizard.module.ts","../../../../libs/core/src/lib/wizard/wizard.service.ts","../../../../libs/core/src/lib/wizard/fundamental-ngx-core-wizard.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, Input } from '@angular/core';\n\n@Component({\n selector: 'fd-wizard-next-step',\n templateUrl: './wizard-next-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WizardNextStepComponent {\n /**\n * Whether or not the next step button should float directly above the footer.\n */\n @Input()\n floating = false;\n\n /**\n * Whether or not element can be hidden when step status is completed.\n */\n @Input()\n set canHide(value: boolean) {\n this._canHide = value;\n\n if (!value) {\n this._showElement();\n }\n }\n\n get canHide(): boolean {\n return this._canHide;\n }\n\n /** @hidden */\n private _canHide = true;\n\n /** @hidden */\n constructor(private _elRef: ElementRef) {}\n\n /** @hidden */\n _getElRef(): ElementRef {\n return this._elRef;\n }\n\n /** @hidden */\n _showElement(): void {\n this._elRef.nativeElement.style.removeProperty('display');\n }\n\n /** @hidden */\n _hideElement(): void {\n this._elRef.nativeElement.style.display = 'none';\n }\n}\n","<div class=\"fd-wizard__next-step\" [class.fd-wizard__next-step--floating]=\"floating\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { WizardSize } from '../wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardNextStepComponent } from '../wizard-next-step/wizard-next-step.component';\n\nexport type WizardContentBackground = 'solid' | 'list' | 'transparent';\n\n@Component({\n selector: 'fd-wizard-content',\n templateUrl: './wizard-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./wizard-content.component.scss']\n})\nexport class WizardContentComponent {\n /**\n * The type of wizard background ('solid', 'list', or 'transparent').\n */\n @Input()\n contentBackground: WizardContentBackground;\n\n /**\n * Size (horizontal paddings) of the wizard content.\n */\n @Input()\n size: WizardSize;\n\n /** @hidden */\n @ViewChild('contentTemplate')\n contentTemplate: TemplateRef<any>;\n\n /** @hidden */\n @ContentChild(WizardNextStepComponent)\n nextStep: WizardNextStepComponent;\n\n /** @hidden */\n wizardContentId: string;\n\n /** @hidden */\n tallContent = false;\n}\n","<ng-template #contentTemplate>\n <section\n [id]=\"wizardContentId\"\n class=\"fd-wizard__content\"\n [class]=\"\n (contentBackground ? 'fd-wizard__content--' + contentBackground + ' ' : '') +\n (size ? 'fd-wizard__content--' + size : '')\n \"\n [class.fd-wizard-tall-content]=\"tallContent\"\n >\n <div class=\"fd-wizard__step-content-container\">\n <ng-content></ng-content>\n </div>\n </section>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild\n} from '@angular/core';\nimport { WizardStepComponent } from '../wizard-step/wizard-step.component';\nimport { ActionSheetComponent } from '@fundamental-ngx/core/action-sheet';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\n@Component({\n selector: 'fd-wizard-step-indicator',\n templateUrl: './wizard-step-indicator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WizardStepIndicatorComponent implements OnInit, OnDestroy {\n /**\n * The icon to use for this step.\n */\n @Input()\n glyph: Nullable<string>;\n\n /**\n * Whether or not the step indicator (specifically, the action sheet) is compact.\n */\n @Input()\n compact?: boolean;\n\n /**\n * Event emitted when this step indicator is clicked.\n */\n @Output()\n stepIndicatorItemClicked = new EventEmitter<WizardStepComponent>();\n\n @ViewChild(ActionSheetComponent)\n actionSheet: ActionSheetComponent;\n\n /** @hidden */\n stackedItems: WizardStepComponent[];\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n constructor(private _cdRef: ChangeDetectorRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n stepItemClicked(step?: WizardStepComponent, event?: MouseEvent): void {\n if (step && step.visited) {\n if (this.actionSheet) {\n this.actionSheet.close();\n }\n event?.preventDefault();\n this.stepIndicatorItemClicked.emit(step);\n }\n }\n\n /** @hidden */\n setStackedItems(items: WizardStepComponent[]): void {\n this.stackedItems = items;\n this._cdRef.detectChanges();\n }\n}\n","<ng-container *ngIf=\"stackedItems && stackedItems.length > 1\">\n <fd-action-sheet [compact]=\"!!compact\" style=\"pointer-events: all\">\n <fd-action-sheet-control>\n <span class=\"fd-wizard__step-indicator\">\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngFor=\"let step of stackedItems\"\n [label]=\"step.label\"\n [glyph]=\"step.glyph\"\n [disabled]=\"!step.visited\"\n (click)=\"stepItemClicked(step, $event)\"\n ></li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</ng-container>\n\n<ng-container *ngIf=\"!stackedItems || stackedItems.length <= 1\">\n <span class=\"fd-wizard__step-indicator\" (click)=\"stepItemClicked(stackedItems?.[0], $event)\">\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n</ng-container>\n\n<ng-template #stepIndicatorContent>\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\" class=\"fd-wizard__icon\"></fd-icon>\n <ng-content></ng-content>\n</ng-template>\n","export const ACTIVE_STEP_STATUS = 'active';\nexport const CURRENT_STEP_STATUS = 'current';\nexport const UPCOMING_STEP_STATUS = 'upcoming';\nexport const COMPLETED_STEP_STATUS = 'completed';\n","import { InjectionToken } from '@angular/core';\n\nexport interface WizardComponentInterface {\n displaySummaryStep: boolean;\n}\n\nexport const WIZARD = new InjectionToken<WizardComponentInterface>('Wizard component dependency');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { WizardContentComponent } from '../wizard-content/wizard-content.component';\nimport { WizardStepIndicatorComponent } from '../wizard-step-indicator/wizard-step-indicator.component';\n\nexport type WizardStepStatus = 'completed' | 'current' | 'upcoming' | 'active';\n\nimport { CURRENT_STEP_STATUS, COMPLETED_STEP_STATUS } from '../constants';\nimport { WIZARD, WizardComponentInterface } from '../wizard-injection-token';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-wizard-step]',\n host: {\n class: 'fd-wizard__step',\n '[class.fd-wizard__step--completed]': 'status === \"completed\" || completed',\n '[class.fd-wizard__step--current]': 'status === \"current\"',\n '[class.fd-wizard__step--upcoming]': 'status === \"upcoming\"',\n '[class.fd-wizard__step--active]': 'status === \"active\"',\n '[attr.aria-label]': 'ariaLabel'\n },\n templateUrl: './wizard-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WizardStepComponent implements OnChanges, AfterViewInit, OnDestroy {\n /**\n * The aria-label for the step container.\n */\n @Input()\n ariaLabel: Nullable<string>;\n\n /**\n * The aria-label for the step container.\n */\n @Input()\n ariaRoleDecription = 'Navigation';\n\n /**\n * The type of step ('completed', 'current', 'upcoming', and 'active'.)\n */\n @Input()\n status: WizardStepStatus;\n\n /**\n * Whether or not this is a 'branching' step.\n */\n @Input()\n branching = false;\n\n /**\n * The label text.\n */\n @Input()\n label: string;\n\n /** @hidden */\n glyph: string;\n\n /**\n * The smaller text for labeling the step as optional.\n */\n @Input()\n optionalText: string;\n\n /**\n * Whether or not this step is the summary page.\n */\n @Input()\n isSummary = false;\n\n /**\n * User-defined validation function which determines if user can navigate between steps.\n */\n @Input()\n stepClickValidator: (visited: boolean, completed: boolean) => boolean | Promise<boolean>;\n\n /**\n * Event emitted when the wizard step's status changes.\n */\n @Output()\n statusChange = new EventEmitter<WizardStepStatus>();\n\n /**\n * Event emitted when a step is clicked.\n */\n @Output()\n stepClicked = new EventEmitter<WizardStepComponent>();\n\n /**\n * Event emitted when a step indicator is clicked.\n */\n @Output()\n stepIndicatorItemClicked = new EventEmitter<WizardStepComponent>();\n\n /** @hidden */\n @ContentChild(WizardContentComponent)\n content: WizardContentComponent;\n\n /** @hidden */\n @ContentChild(WizardStepIndicatorComponent)\n stepIndicator: WizardStepIndicatorComponent;\n\n /** The wizard label span element. */\n @ViewChild('wizardLabel', { read: ElementRef })\n wizardLabel: ElementRef;\n\n @ViewChild('progressBarLink', { read: ElementRef })\n progressBarLink: ElementRef;\n\n /** @hidden */\n visited = false;\n\n /** @hidden */\n completed = false;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n _stepId: number;\n\n /** @hidden */\n _finalStep = false;\n\n /** @hidden */\n constructor(\n private _elRef: ElementRef,\n private _cdRef: ChangeDetectorRef,\n @Optional() @Inject(WIZARD) private _wizard: WizardComponentInterface\n ) {}\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.status) {\n if (\n changes.status.previousValue === CURRENT_STEP_STATUS &&\n changes.status.currentValue === COMPLETED_STEP_STATUS\n ) {\n this.completed = true;\n }\n this.statusChange.emit(this.status);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.isSummary && !this._wizard?.displaySummaryStep) {\n this._summaryInit();\n } else if (this.stepIndicator) {\n this._notSummaryInit();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n setFinalStep(val: boolean): void {\n this._finalStep = val;\n this._cdRef.detectChanges();\n }\n\n /** @hidden */\n async stepContainerKeypress(event?: KeyboardEvent): Promise<void> {\n if (event) {\n event.preventDefault();\n }\n\n if (\n this.visited &&\n (!event || KeyUtil.isKeyCode(event, [SPACE, ENTER])) &&\n (!this.stepIndicator || !this.stepIndicator.stackedItems || !this.stepIndicator.stackedItems.length) &&\n (this.stepClickValidator === undefined ||\n (await this.stepClickValidator(this.visited, this.completed)) === true)\n ) {\n this.stepClicked.emit(this);\n }\n }\n\n /** @hidden */\n getClassList(): DOMTokenList {\n return this._elRef.nativeElement.classList;\n }\n\n /** @hidden */\n hasLabel(label: string): boolean {\n return this._elRef.nativeElement.classList.contains(label);\n }\n\n /** @hidden */\n getStepClientWidth(): number {\n return this._elRef.nativeElement.clientWidth;\n }\n\n /** @hidden */\n removeFromDom(): void {\n if (this._elRef.nativeElement.parentNode) {\n this._elRef.nativeElement.parentNode.removeChild(this._elRef.nativeElement);\n }\n }\n\n /** @hidden */\n _summaryInit(): void {\n this._elRef.nativeElement.style.display = 'none';\n this.content.tallContent = true;\n }\n\n /** @hidden */\n _notSummaryInit(): void {\n this._subscriptions.add(\n this.stepIndicator.stepIndicatorItemClicked.subscribe((step) => {\n this.stepIndicatorItemClicked.emit(step);\n })\n );\n if (this.stepIndicator.glyph) {\n this.glyph = this.stepIndicator.glyph;\n }\n }\n}\n","<div class=\"fd-wizard__step-wrapper\">\n <a\n #progressBarLink\n class=\"fd-wizard__step-container\"\n (click)=\"stepContainerKeypress()\"\n (keypress)=\"stepContainerKeypress($event)\"\n [style.cursor]=\"visited ? 'pointer' : 'auto'\"\n [style.pointer-events]=\"visited ? 'auto' : 'none'\"\n [attr.tabindex]=\"status === 'current' ? 0 : -1\"\n [attr.aria-roledescription]=\"ariaRoleDecription\"\n >\n <ng-content select=\"fd-wizard-step-indicator\"></ng-content>\n <div class=\"fd-wizard__label-container\" [class.fd-wizard__label-container--optional]=\"optionalText\">\n <div #wizardLabel>\n <span class=\"fd-wizard__label\">{{ label }}</span>\n <span *ngIf=\"optionalText\" class=\"fd-wizard__optional-text\">\n {{ optionalText }}\n </span>\n </div>\n </div>\n </a>\n <span\n *ngIf=\"!_finalStep || branching\"\n class=\"fd-wizard__connector\"\n [class.fd-wizard__connector--active]=\"completed\"\n [class.fd-wizard__connector--branching]=\"branching\"\n >\n </span>\n</div>\n","import { Directive, Input } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nexport type WizardSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-wizard-progress-bar]',\n host: {\n class: 'fd-wizard__progress-bar',\n '[class.fd-wizard__progress-bar--sm]': 'size === \"sm\"',\n '[class.fd-wizard__progress-bar--md]': 'size === \"md\"',\n '[class.fd-wizard__progress-bar--lg]': 'size === \"lg\"',\n '[class.fd-wizard__progress-bar--xl]': 'size === \"xl\"',\n '[style.display]': 'visible ? \"\" : \"none\"'\n }\n})\nexport class WizardProgressBarDirective {\n /**\n * Size (horizontal paddings) of the wizard progress bar.\n */\n @Input()\n size: Nullable<WizardSize> = null;\n\n /** @hidden */\n visible = true;\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DialogBodyComponent } from '@fundamental-ngx/core/dialog';\nimport { scrollTop } from '@fundamental-ngx/core/utils';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\nimport { WizardProgressBarDirective } from './wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardContentComponent } from './wizard-content/wizard-content.component';\nimport { ACTIVE_STEP_STATUS, CURRENT_STEP_STATUS, UPCOMING_STEP_STATUS, COMPLETED_STEP_STATUS } from './constants';\nimport { WIZARD } from './wizard-injection-token';\n\nexport const STEP_MIN_WIDTH = 168;\nexport const STEP_STACKED_TOP_CLASS = 'fd-wizard__step--stacked-top';\nexport const STEP_STACKED_CLASS = 'fd-wizard__step--stacked';\nexport const STEP_NO_LABEL_CLASS = 'fd-wizard__step--no-label';\n\nexport const WIZARD_NAVIGATION_CLASS = 'fd-wizard__navigation';\nexport const WIZARD_CONTENT_CLASS = 'fd-wizard__content';\nexport const WIZARD_CONTAINER_WRAPPER_CLASS = 'fd-wizard-container-wrapper';\nexport const WIZARD_TALL_CONTENT_CLASS = 'fd-wizard-tall-content';\nexport const SHELLBAR_CLASS = 'fd-shellbar';\nexport const BAR_FOOTER_CLASS = 'fd-bar--footer';\nexport const BAR_FLOATING_FOOTER_CLASS = 'fd-bar--floating-footer';\n\nexport let _fromScrollToCurrentStep;\nexport let timer: any = null;\nexport const handleTimeoutReference = (): void => {\n if (timer !== null) {\n clearTimeout(timer);\n }\n timer = setTimeout(() => {\n _fromScrollToCurrentStep = false;\n }, 150);\n};\n\n@Component({\n selector: 'fd-wizard',\n templateUrl: './wizard.component.html',\n styleUrls: ['./wizard.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: WIZARD,\n useExisting: WizardComponent\n }\n ],\n host: {\n role: 'region',\n '[attr.aria-label]': 'ariaLabel'\n }\n})\nexport class WizardComponent implements AfterViewInit, OnDestroy {\n /**\n * Whether or not to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n @Input()\n appendToWizard = true;\n\n /**\n * Custom height to use for the wizard's content pane. By default, this value is calc(100vh - 144px), where 144px\n * is the combined height of the shellbar, wizard header and wizard footer.\n */\n @Input()\n contentHeight: Nullable<string | null>;\n\n /**\n * Whether or not apply responsive paddings styling.\n */\n @Input()\n @HostBinding('class.fd-wizard--responsive-paddings')\n responsivePaddings = false;\n\n @Input()\n displaySummaryStep = false;\n\n /** adding aria label to the component */\n @Input()\n ariaLabel = 'Wizard';\n\n /** @hidden */\n @ContentChildren(WizardStepComponent, { descendants: true })\n steps: QueryList<WizardStepComponent>;\n\n /** @hidden */\n @ContentChild(WizardProgressBarDirective)\n progressBar: WizardProgressBarDirective;\n\n /** @hidden */\n @ContentChildren(WizardContentComponent)\n wizardContent: WizardContentComponent;\n\n /** @hidden */\n @ViewChild('wrapperContainer')\n wrapperContainer: ElementRef<HTMLElement>;\n\n /** @hidden */\n contentTemplates: TemplateRef<any>[] = [];\n\n /** @hidden */\n stackedStepsLeft: WizardStepComponent[] = [];\n\n /** @hidden */\n stackedStepsRight: WizardStepComponent[] = [];\n\n /** @hidden */\n private _stepEventSubscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _stepListChangesSubscription: Subscription = new Subscription();\n\n /** @hidden */\n private _previousWidth: number;\n\n constructor(\n private _elRef: ElementRef,\n private readonly _cdRef: ChangeDetectorRef,\n @Optional() private _dialogBodyComponent: DialogBodyComponent\n ) {}\n\n /** @hidden */\n @HostListener('window:resize')\n resizeHandler(): void {\n const wizardWidth = this._elRef.nativeElement.getBoundingClientRect().width;\n if (!this._previousWidth || wizardWidth <= this._previousWidth) {\n this._wizardShrinking();\n } else if (wizardWidth > this._previousWidth) {\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n this._previousWidth = wizardWidth;\n if (this.contentHeight) {\n this._elRef.nativeElement.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).style.height =\n this.contentHeight;\n } else {\n this._setContainerAndTallContentHeight();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n setTimeout(() => {\n // fixes ExpressionChangedAfterItHasBeenCheckedError\n this._setContentTemplates();\n this._stepListChangesSubscription.add(\n this.steps.changes.subscribe(() => {\n this._handleStepOrStatusChanges();\n this._setupStepEvents();\n })\n );\n this._setupStepEvents();\n this._cdRef.detectChanges();\n this._handleStepOrStatusChanges();\n this.resizeHandler();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._stepEventSubscriptions.unsubscribe();\n this._stepListChangesSubscription.unsubscribe();\n this.wrapperContainer?.nativeElement.removeEventListener('scroll', handleTimeoutReference);\n }\n\n /**\n * @hidden\n * @private\n * This function determines the height of the wizard content by looking for the document's shellbar, the wizard\n * navigation and the wizard footer, and calculating the height based on their presence.\n */\n private _calculateContentHeight(): number {\n let wizardNavHeight = 0;\n const shellbarHeight = this._getShellbarHeight();\n if (!this._isCurrentStepSummary() || this.displaySummaryStep) {\n wizardNavHeight = this._getWizardNavHeight();\n }\n const wizardFooterHeight = this._getWizardFooterHeight();\n const dialogOffset = this._getDialogOffset();\n\n return shellbarHeight + wizardNavHeight + wizardFooterHeight + dialogOffset;\n }\n\n /** @hidden */\n private _getShellbarHeight(): number {\n return document.querySelector<HTMLElement>('.' + SHELLBAR_CLASS)?.clientHeight ?? 0;\n }\n\n /** @hidden */\n private _getWizardNavHeight(): number {\n const wizard = this._elRef.nativeElement;\n let retVal;\n if (wizard.querySelector('.' + WIZARD_NAVIGATION_CLASS)) {\n retVal = wizard.querySelector('.' + WIZARD_NAVIGATION_CLASS).clientHeight;\n } else {\n retVal = 0;\n }\n return retVal;\n }\n\n /** @hidden */\n private _getWizardFooterHeight(): number {\n const wizard = this._elRef.nativeElement;\n let retVal;\n if (wizard.querySelector('.' + BAR_FOOTER_CLASS)) {\n retVal = wizard.querySelector('.' + BAR_FOOTER_CLASS).offsetHeight;\n } else if (wizard.querySelector('.' + BAR_FLOATING_FOOTER_CLASS)) {\n retVal = wizard.querySelector('.' + BAR_FLOATING_FOOTER_CLASS).offsetHeight;\n } else {\n retVal = 0;\n }\n return retVal;\n }\n\n /** @hidden */\n private _getDialogOffset(): number {\n let retVal = 0;\n if (this._dialogBodyComponent) {\n const dialogBody = this._dialogBodyComponent.elementRef().nativeElement;\n if (dialogBody.tagName.toLowerCase() === 'fd-dialog-body') {\n this._dialogBodyComponent.dialogConfig.verticalPadding = false;\n const dialogBodyTitle = dialogBody.querySelector('.fd-title--h2');\n if (dialogBodyTitle) {\n retVal = dialogBodyTitle.offsetHeight;\n }\n retVal = retVal + window.innerHeight - dialogBody.offsetHeight;\n }\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setContainerAndTallContentHeight(): void {\n const wizard = this._elRef.nativeElement;\n const combinedHeight = this.contentHeight ? this.contentHeight : this._calculateContentHeight();\n if (wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS)) {\n wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).style.height =\n 'calc(100vh - ' + combinedHeight + 'px)';\n }\n wizard.querySelectorAll('.' + WIZARD_CONTENT_CLASS).forEach((node) => {\n node.style.height = 'auto';\n });\n if (wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS)) {\n if (\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).offsetHeight <\n wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).offsetHeight\n ) {\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).style.height =\n 'calc(100vh - ' + combinedHeight + 'px)';\n } else {\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).style.paddingBottom = '24px';\n }\n }\n }\n\n /** @hidden */\n private _setupStepEvents(): void {\n this._stepEventSubscriptions.unsubscribe();\n this._stepEventSubscriptions = new Subscription();\n this.steps.forEach((step) => {\n this._stepEventSubscriptions.add(\n step.stepClicked.subscribe((event) => {\n this._stepClicked(event);\n })\n );\n this._stepEventSubscriptions.add(\n step.statusChange.subscribe(() => {\n this._handleStepOrStatusChanges();\n })\n );\n this._stepEventSubscriptions.add(\n step.stepIndicatorItemClicked.subscribe((event) => {\n this._stepClicked(event);\n })\n );\n // need to call wizardShrinking for each step < 168px on first load\n if (step.wizardLabel && step.getStepClientWidth() < STEP_MIN_WIDTH) {\n this._wizardShrinking();\n }\n });\n }\n\n /** @hidden */\n private _wizardShrinking(): void {\n const currentStep = this._getCurrentStep();\n if (\n currentStep &&\n (!currentStep.isSummary || this.displaySummaryStep) &&\n currentStep.wizardLabel &&\n currentStep.getStepClientWidth() < STEP_MIN_WIDTH\n ) {\n this._hideSomeStep(currentStep);\n this._setStackedTop();\n }\n }\n\n /** @hidden */\n private _setContentTemplates(): void {\n const templatesLength = this.contentTemplates.length;\n this.contentTemplates = [];\n let _stepId = 0;\n const steps = this.steps.toArray();\n for (const step of steps) {\n if (step.content) {\n if (!step.isSummary || this.displaySummaryStep) {\n step.content.tallContent = false;\n }\n step.content.wizardContentId = _stepId.toString();\n }\n step._stepId = _stepId;\n _stepId++;\n step.setFinalStep(false);\n /*\n If the step is completed and appendToWizard is true, hide the nextStep button, unless it's the last step,\n or if there's a summary and it is the second to last step\n */\n if (\n step.completed &&\n this.appendToWizard &&\n step.content?.nextStep?.canHide &&\n step !== this._getLastNonSummaryStep()\n ) {\n step.content.nextStep._hideElement();\n } else if (\n step.content?.nextStep &&\n ((step.completed && this.appendToWizard) ||\n (step.visited && step.branching && step.status === CURRENT_STEP_STATUS))\n ) {\n step.content.nextStep._showElement();\n }\n if (\n step.visited ||\n ((step.status === CURRENT_STEP_STATUS || step.status === COMPLETED_STEP_STATUS) && step.content)\n ) {\n step.visited = true;\n if (step.status === CURRENT_STEP_STATUS && (!step.completed || !this.appendToWizard)) {\n step.content.tallContent = true;\n }\n\n const isCurrentStep = !this.appendToWizard && step.status === CURRENT_STEP_STATUS;\n\n if (!templatesLength || isCurrentStep) {\n this.contentTemplates = [step.content.contentTemplate];\n\n // If we found needed step, break the cycle, since it might set wrong step later.\n if (isCurrentStep) {\n break;\n }\n } else if (this.appendToWizard && (!step.isSummary || this.displaySummaryStep)) {\n this.contentTemplates.push(step.content.contentTemplate);\n }\n }\n }\n\n const lastVisibleTemplate = steps[this.contentTemplates.length - 1];\n if (lastVisibleTemplate && lastVisibleTemplate.content) {\n lastVisibleTemplate.content.tallContent = true;\n }\n this._setFinalStep();\n }\n\n /** @hidden */\n private _scrollToCurrentStep(): void {\n if (this.appendToWizard) {\n _fromScrollToCurrentStep = true;\n this.steps.forEach((step, index) => {\n if (step.status === CURRENT_STEP_STATUS && (!step.isSummary || this.displaySummaryStep)) {\n const child = this.wrapperContainer.nativeElement.children[index] as HTMLElement;\n const wizardNavigationHeight = this._elRef.nativeElement.querySelector(\n '.' + WIZARD_NAVIGATION_CLASS\n ).clientHeight;\n\n scrollTop(this.wrapperContainer.nativeElement, child.offsetTop - wizardNavigationHeight);\n }\n });\n this._setUpScrollListener();\n }\n }\n\n /** @hidden */\n private _setUpScrollListener(): void {\n this.wrapperContainer?.nativeElement.addEventListener('scroll', handleTimeoutReference, false);\n }\n\n /** @hidden */\n private _hideSomeStep(currentStep: WizardStepComponent): void {\n // If a small step was found, get the step with a visible label furthest away from the current step and hide the label\n let stepsArray = this.steps.toArray();\n stepsArray = stepsArray.filter((step) => !step.hasLabel(STEP_NO_LABEL_CLASS));\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n stepsArray.pop();\n }\n if (stepsArray.length > 1) {\n let currentStepIndex = 0,\n stepToHide;\n if (currentStep) {\n currentStepIndex = stepsArray.indexOf(currentStep);\n }\n currentStepIndex > (stepsArray.length - 1) / 2\n ? (stepToHide = stepsArray[0])\n : (stepToHide = stepsArray[stepsArray.length - 1]);\n stepToHide.getClassList().add(STEP_NO_LABEL_CLASS);\n stepToHide.getClassList().add(STEP_STACKED_CLASS);\n if (stepsArray.indexOf(stepToHide) < currentStepIndex && !this.stackedStepsLeft.includes(stepToHide)) {\n this.stackedStepsLeft.splice(this.steps.toArray().indexOf(stepToHide), 0, stepToHide);\n } else if (\n stepsArray.indexOf(stepToHide) > currentStepIndex &&\n !this.stackedStepsRight.includes(stepToHide)\n ) {\n this.stackedStepsRight.unshift(stepToHide);\n }\n this._cdRef.detectChanges();\n }\n }\n\n /** @hidden */\n private _setStackedTop(): void {\n const currentStep = this._getCurrentStep();\n this.steps.forEach((step, index) => {\n if (step.stepIndicator) {\n step.getClassList().remove(STEP_STACKED_TOP_CLASS);\n if (this.steps.toArray()[index + 1] === currentStep) {\n if (this.steps.length > 1) {\n step.getClassList().add(STEP_STACKED_TOP_CLASS);\n if (!this.stackedStepsLeft.includes(step) && this.stackedStepsLeft.length >= 1) {\n this.stackedStepsLeft.splice(index, 0, step);\n }\n }\n step.stepIndicator.setStackedItems(this.stackedStepsLeft);\n } else {\n step.stepIndicator.stackedItems = [];\n }\n }\n });\n this._getLastNonSummaryStep().stepIndicator.setStackedItems(this.stackedStepsRight);\n }\n\n /** @hidden */\n private _resetStepClasses(): void {\n this.steps.forEach((step) => {\n step.getClassList().remove(STEP_STACKED_TOP_CLASS);\n step.getClassList().remove(STEP_STACKED_CLASS);\n step.getClassList().remove(STEP_NO_LABEL_CLASS);\n });\n }\n\n /** @hidden */\n private _handleStepOrStatusChanges(): void {\n if (this._isCurrentStepSummary() && !this.displaySummaryStep) {\n this.progressBar.visible = false;\n this._showSummary();\n } else {\n this.progressBar.visible = true;\n this._setContentTemplates();\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n setTimeout(() => {\n this._cdRef.detectChanges();\n this.resizeHandler();\n if (!this._isCurrentStepSummary() || this.displaySummaryStep) {\n this._scrollToCurrentStep();\n }\n });\n this._setFinalStep();\n }\n\n /** @hidden */\n private _setFinalStep(): void {\n const lastNonSummaryStep = this._getLastNonSummaryStep();\n if (lastNonSummaryStep) {\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n this.steps.last.removeFromDom();\n }\n if (lastNonSummaryStep.content) {\n lastNonSummaryStep.content.tallContent = true;\n }\n lastNonSummaryStep.setFinalStep(true);\n }\n }\n\n /** @hidden */\n private _showSummary(): void {\n this.steps.forEach((step) => {\n if (!step.isSummary) {\n step.completed = true;\n }\n });\n const summary = this.steps.find((step) => step.isSummary);\n if (summary) {\n summary.content.tallContent = true;\n this.contentTemplates = [summary.content.contentTemplate];\n }\n }\n\n /** @hidden */\n private _isCurrentStepSummary(): boolean {\n return this.steps.some((step) => step.status === CURRENT_STEP_STATUS && step.isSummary);\n }\n\n /** @hidden */\n private _getCurrentStep(): WizardStepComponent {\n return this.steps.filter(\n (step) => step.status === CURRENT_STEP_STATUS || step.status === ACTIVE_STEP_STATUS\n )[0];\n }\n\n /** @hidden */\n private _shrinkWhileAnyStepIsTooNarrow(): void {\n // Add small delay for elements to render appropriately.\n setTimeout(() => {\n this.stackedStepsLeft = [];\n this.stackedStepsRight = [];\n this.steps.first.stepIndicator.setStackedItems(this.stackedStepsLeft);\n this._getLastNonSummaryStep().stepIndicator.setStackedItems(this.stackedStepsRight);\n this._resetStepClasses();\n let i = 0;\n while (this._anyStepIsTooNarrow() && i < this.steps.length - 1) {\n i++;\n this._wizardShrinking();\n }\n }, 10);\n }\n\n /** @hidden */\n private _anyStepIsTooNarrow(): boolean {\n return this.steps.some((step) => step.getStepClientWidth() < STEP_MIN_WIDTH);\n }\n\n /** @hidden */\n private _stepClicked(clickedStep: WizardStepComponent): void {\n if (!clickedStep) {\n clickedStep = this.steps.first;\n }\n const clickedStepIndex = this.steps.toArray().indexOf(clickedStep);\n this.steps.forEach((step) => {\n if (step === clickedStep) {\n step.status = CURRENT_STEP_STATUS;\n step.statusChange.emit(CURRENT_STEP_STATUS);\n } else if (step !== clickedStep) {\n if (this.steps.toArray().indexOf(step) < clickedStepIndex) {\n step.status = COMPLETED_STEP_STATUS;\n step.statusChange.emit(COMPLETED_STEP_STATUS);\n } else if (this.steps.toArray().indexOf(step) > clickedStepIndex) {\n step.status = UPCOMING_STEP_STATUS;\n step.statusChange.emit(UPCOMING_STEP_STATUS);\n }\n }\n });\n setTimeout(() => {\n (document.activeElement as HTMLElement).blur(); // this function can focus step indicators undesirably\n });\n }\n\n /** @hidden */\n private _getLastNonSummaryStep(): WizardStepComponent {\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n return this.steps.toArray()[this.steps.length - 2];\n }\n\n return this.steps.last;\n }\n\n /** @hidden */\n scrollSpyChange($event: HTMLElement): void {\n if (!_fromScrollToCurrentStep) {\n this.steps.forEach((step) => {\n if (step._stepId.toString() === $event.children[0].id) {\n step.status = CURRENT_STEP_STATUS;\n } else if (step._stepId < parseInt($event.children[0].id, 10)) {\n step.status = COMPLETED_STEP_STATUS;\n } else {\n step.status = UPCOMING_STEP_STATUS;\n }\n });\n }\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n}\n","<section class=\"fd-wizard\">\n <ng-content select=\"fd-wizard-navigation\"></ng-content>\n <div\n *ngIf=\"appendToWizard\"\n class=\"fd-wizard-container-wrapper\"\n #wrapperContainer\n fdScrollSpy\n cdkScrollable\n [trackedTags]=\"['div']\"\n (spyChange)=\"scrollSpyChange($event)\"\n >\n <div *ngFor=\"let contentTemplate of contentTemplates\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"!appendToWizard\" cdkScrollable class=\"fd-wizard-container-wrapper\">\n <div *ngFor=\"let contentTemplate of contentTemplates\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n </div>\n <ng-content></ng-content>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'fd-wizard-navigation',\n templateUrl: './wizard-navigation.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WizardNavigationComponent {\n /** Aria label for the wizard navigation component element. */\n @Input()\n ariaLabel = 'Wizard';\n}\n","<nav class=\"fd-wizard__navigation\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</nav>\n","import { ScrollingModule } from '@angular/cdk/scrolling';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WizardComponent } from './wizard.component';\nimport { WizardNavigationComponent } from './wizard-navigation/wizard-navigation.component';\nimport { WizardProgressBarDirective } from './wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\nimport { WizardStepIndicatorComponent } from './wizard-step-indicator/wizard-step-indicator.component';\nimport { WizardContentComponent } from './wizard-content/wizard-content.component';\nimport { WizardNextStepComponent } from './wizard-next-step/wizard-next-step.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ActionSheetModule } from '@fundamental-ngx/core/action-sheet';\nimport { ScrollSpyModule } from '@fundamental-ngx/core/scroll-spy';\n\n@NgModule({\n declarations: [\n WizardComponent,\n WizardNavigationComponent,\n WizardProgressBarDirective,\n WizardStepComponent,\n WizardStepIndicatorComponent,\n WizardContentComponent,\n WizardNextStepComponent\n ],\n imports: [CommonModule, IconModule, ScrollSpyModule, ActionSheetModule, ScrollingModule],\n exports: [\n WizardComponent,\n WizardNavigationComponent,\n WizardProgressBarDirective,\n WizardStepComponent,\n WizardStepIndicatorComponent,\n WizardNextStepComponent,\n WizardContentComponent\n ]\n})\nexport class WizardModule {}\n","import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Injectable, Optional, QueryList } from '@angular/core';\nimport { WizardStepComponent } from '.';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { COMPLETED_STEP_STATUS, CURRENT_STEP_STATUS } from './constants';\n\n@Injectable()\nexport class WizardService {\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n progressBarKeyHandler(event: any, steps: QueryList<WizardStepComponent>, index: number): void {\n const rtlDirection: boolean = this._rtlService && this._rtlService.rtl.getValue();\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (\n steps.get(index - 1)?.status === COMPLETED_STEP_STATUS ||\n steps.get(index - 1)?.status === CURRENT_STEP_STATUS\n ) {\n if (!rtlDirection) {\n this._focusPrevious(index, steps);\n } else {\n this._focusNext(index, steps);\n }\n }\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (steps.get(index)?.status === COMPLETED_STEP_STATUS) {\n if (!rtlDirection) {\n this._focusNext(index, steps);\n } else {\n this._focusPrevious(index, steps);\n }\n }\n }\n }\n\n /** @hidden */\n private _focusNext(index: number, steps: QueryList<WizardStepComponent>): void {\n if (index + 1 < steps.length) {\n steps.get(index + 1)?.progressBarLink.nativeElement.focus();\n } else {\n steps.get(0)?.progressBarLink.nativeElement.focus();\n }\n }\n\n /** @hidden */\n private _focusPrevious(index: number, steps: QueryList<WizardStepComponent>): void {\n if (index - 1 >= 0) {\n steps.get(index - 1)?.progressBarLink.nativeElement.focus();\n } else {\n steps.get(steps.length - 1)?.progressBarLink.nativeElement.focus();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}