{"version":3,"file":"ng-wizard.mjs","sources":["../../../projects/ng-wizard/src/lib/directives/ng-wizard-step-content.directive.ts","../../../projects/ng-wizard/src/lib/ng-wizard-config.token.ts","../../../projects/ng-wizard/src/lib/utils/enums.ts","../../../projects/ng-wizard/src/lib/utils/functions.ts","../../../projects/ng-wizard/src/lib/utils/interfaces.ts","../../../projects/ng-wizard/src/lib/utils/constants.ts","../../../projects/ng-wizard/src/lib/services/ng-wizard-data.service.ts","../../../projects/ng-wizard/src/lib/components/ng-wizard/ng-wizard.component.ts","../../../projects/ng-wizard/src/lib/components/ng-wizard/ng-wizard.component.html","../../../projects/ng-wizard/src/lib/components/ng-wizard-step/ng-wizard-step.component.ts","../../../projects/ng-wizard/src/lib/components/ng-wizard-step/ng-wizard-step.component.html","../../../projects/ng-wizard/src/ng-wizard.module.ts","../../../projects/ng-wizard/src/lib/services/ng-wizard.service.ts","../../../projects/ng-wizard/src/public-api.ts","../../../projects/ng-wizard/src/ng-wizard.ts"],"sourcesContent":["import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n  selector: '[ngWizardStepContent]',\n  standalone: false,\n})\nexport class NgWizardStepContentDirective {\n  constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { InjectionToken } from '@angular/core';\nimport { NgWizardConfig } from './utils/interfaces';\n\nexport const NG_WIZARD_CONFIG_TOKEN = new InjectionToken<NgWizardConfig>(\n  'ngWizardCustom.config'\n);\n","export enum TOOLBAR_POSITION {\n  none = 'none',\n  top = 'top',\n  bottom = 'bottom',\n  both = 'both',\n}\n\nexport enum TOOLBAR_BUTTON_POSITION {\n  start = 'start',\n  end = 'end',\n}\n\n// export enum TRANSITION_EFFECT {\n//     none = 'none',\n//     slide = 'slide',\n//     fade = 'fade'\n// }\n\nexport enum THEME {\n  default = 'default',\n  arrows = 'arrows',\n  circles = 'circles',\n  dots = 'dots',\n}\n\nexport enum STEP_STATE {\n  normal = 'normal',\n  disabled = 'disabled',\n  error = 'error',\n  hidden = 'hidden',\n}\n\nexport enum STEP_STATUS {\n  untouched = 'untouched',\n  done = 'done',\n  active = 'active',\n}\n\nexport enum STEP_DIRECTION {\n  forward = 'forward',\n  backward = 'backward',\n}\n\nexport enum STEP_POSITION {\n  first = 'first',\n  final = 'final',\n  middle = 'middle',\n}\n","// https://gist.github.com/ahtcx/0cd94e62691f539160b32ecda18af3d6\n// Merge a `source` object to a `target` recursively\nexport function merge(target: any, source: any) {\n  // Iterate through `source` properties and if an `Object` set property to merge of `target` and `source` properties\n  for (let key of Object.keys(source)) {\n    if (source[key] instanceof Object && key in target) {\n      Object.assign(source[key], merge(target[key], source[key]));\n    }\n  }\n\n  // Join `target` and modified `source`\n  Object.assign(target || {}, source);\n\n  return target;\n}\n","import {\n  TOOLBAR_POSITION,\n  TOOLBAR_BUTTON_POSITION,\n  /* TRANSITION_EFFECT,*/ THEME,\n  STEP_STATE,\n  STEP_STATUS,\n  STEP_DIRECTION,\n  STEP_POSITION,\n} from './enums';\nimport {\n  Input,\n  HostBinding,\n  Directive,\n  Type,\n  ComponentRef,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport interface Language {\n  next?: string;\n  previous?: string;\n}\n\nexport interface ToolbarSettings {\n  toolbarPosition?: TOOLBAR_POSITION; // none, top, bottom, both\n  toolbarButtonPosition?: TOOLBAR_BUTTON_POSITION; // start, end\n  showNextButton?: boolean; // show/hide a Next button\n  showPreviousButton?: boolean; // show/hide a Previous button\n  toolbarExtraButtons?: ToolbarButton[]; // Extra buttons to show on toolbar, array of input/buttons elements\n}\n\nexport interface ToolbarButton {\n  text: string;\n  class: string;\n  event?: () => void;\n}\n\nexport interface AnchorSettings {\n  anchorClickable?: boolean; // Enable/Disable anchor navigation\n  enableAllAnchors?: boolean; // Activates all anchors clickable all times\n  markDoneStep?: boolean; // Add done css\n  markAllPreviousStepsAsDone?: boolean; // When a step selected, all previous steps are marked done\n  removeDoneStepOnNavigateBack?: boolean; // While navigate back done step after active step will be cleared\n  enableAnchorOnDoneStep?: boolean; // Enable/Disable the done steps navigation\n}\n\nexport interface NgWizardConfig {\n  selected?: number; // Initial selected step, 0 = first step\n  keyNavigation?: boolean; // Enable/Disable keyboard navigation(left and right keys are used if enabled)\n  cycleSteps?: boolean; // Allows to cycle the navigation of steps\n  lang?: Language; // Language variables for button\n  toolbarSettings?: ToolbarSettings;\n  anchorSettings?: AnchorSettings;\n  theme?: THEME; // theme for the wizard, related css need to include for other than default theme\n}\n\n@Directive()\nexport abstract class NgWizardStep {\n  index: number;\n\n  @Input()\n  title: string;\n\n  @Input()\n  description: string;\n\n  @Input()\n  state?: STEP_STATE;\n  initialState?: STEP_STATE;\n\n  @Input()\n  component: Type<any>;\n  componentRef: ComponentRef<any>;\n\n  @Input()\n  canEnter:\n    | boolean\n    | ((args: StepValidationArgs) => boolean | Observable<boolean>);\n\n  @Input()\n  canExit:\n    | boolean\n    | ((args: StepValidationArgs) => boolean | Observable<boolean>);\n\n  status?: STEP_STATUS;\n  initialStatus?: STEP_STATUS;\n\n  abstract get isHidden(): boolean;\n\n  @HostBinding('hidden')\n  public get hidden(): boolean {\n    return this.status != STEP_STATUS.active;\n  }\n}\n\nexport interface StepValidationArgs {\n  direction: STEP_DIRECTION;\n  fromStep: NgWizardStep;\n  toStep: NgWizardStep;\n}\n\nexport interface StepChangedArgs {\n  step: NgWizardStep;\n  previousStep: NgWizardStep;\n  direction: STEP_DIRECTION;\n  position: STEP_POSITION;\n}\n","import { NgWizardConfig } from './interfaces';\nimport {\n  TOOLBAR_POSITION,\n  TOOLBAR_BUTTON_POSITION /*, TRANSITION_EFFECT*/,\n  THEME,\n} from './enums';\n\nexport const DEFAULT_CONFIG: NgWizardConfig = {\n  selected: 0,\n  keyNavigation: true,\n  cycleSteps: false,\n  lang: {\n    next: 'Next',\n    previous: 'Previous',\n  },\n  toolbarSettings: {\n    toolbarPosition: TOOLBAR_POSITION.bottom,\n    toolbarButtonPosition: TOOLBAR_BUTTON_POSITION.end,\n    showNextButton: true,\n    showPreviousButton: true,\n    toolbarExtraButtons: [],\n  },\n  anchorSettings: {\n    anchorClickable: true,\n    enableAllAnchors: false,\n    markDoneStep: true,\n    markAllPreviousStepsAsDone: true,\n    removeDoneStepOnNavigateBack: false,\n    enableAnchorOnDoneStep: true,\n  },\n  theme: THEME.default,\n};\n","import { Injectable, Optional, Inject } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { NG_WIZARD_CONFIG_TOKEN } from '../ng-wizard-config.token';\nimport { DEFAULT_CONFIG } from '../utils/constants';\nimport { THEME } from '../utils/enums';\nimport { merge } from '../utils/functions';\nimport { StepChangedArgs, NgWizardConfig } from '../utils/interfaces';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class NgWizardDataService {\n  resetWizard$: Observable<void>;\n  showNextStep$: Observable<void>;\n  showPreviousStep$: Observable<void>;\n  showStep$: Observable<number>;\n  setTheme$: Observable<THEME>;\n  stepChangedArgs$: Observable<StepChangedArgs>;\n\n  private _resetWizard: Subject<void>;\n  private _showNextStep: Subject<void>;\n  private _showPreviousStep: Subject<void>;\n  private _showStep: Subject<number>;\n  private _setTheme: Subject<THEME>;\n  private _stepChangedArgs: Subject<StepChangedArgs>;\n  private _defaultConfig: NgWizardConfig;\n\n  constructor(\n    @Optional() @Inject(NG_WIZARD_CONFIG_TOKEN) private config: NgWizardConfig\n  ) {\n    this._defaultConfig = { ...DEFAULT_CONFIG };\n    if (this.config) {\n      this._defaultConfig = merge(this._defaultConfig, this.config);\n    }\n\n    // Observable sources\n    this._resetWizard = new Subject<void>();\n    this._showNextStep = new Subject<void>();\n    this._showPreviousStep = new Subject<void>();\n    this._showStep = new Subject<number>();\n    this._setTheme = new Subject<THEME>();\n    this._stepChangedArgs = new Subject<StepChangedArgs>();\n\n    // Observable streams\n    this.resetWizard$ = this._resetWizard.asObservable();\n    this.showNextStep$ = this._showNextStep.asObservable();\n    this.showPreviousStep$ = this._showPreviousStep.asObservable();\n    this.showStep$ = this._showStep.asObservable();\n    this.setTheme$ = this._setTheme.asObservable();\n    this.stepChangedArgs$ = this._stepChangedArgs.asObservable();\n  }\n\n  getDefaultConfig(): NgWizardConfig {\n    return { ...this._defaultConfig };\n  }\n\n  resetWizard() {\n    this._resetWizard.next();\n  }\n\n  showNextStep() {\n    this._showNextStep.next();\n  }\n\n  showPreviousStep() {\n    this._showPreviousStep.next();\n  }\n\n  showStep(index: number) {\n    this._showStep.next(index);\n  }\n\n  setTheme(theme: THEME) {\n    this._setTheme.next(theme);\n  }\n\n  stepChanged(args: StepChangedArgs) {\n    this._stepChangedArgs.next(args);\n  }\n}\n","import {\n  Component,\n  OnDestroy,\n  AfterContentInit,\n  ContentChildren,\n  QueryList,\n  Input,\n  Output,\n  EventEmitter,\n} from '@angular/core';\nimport { Subscription, of, Observable, isObservable } from 'rxjs';\nimport { NgWizardDataService } from '../../services/ng-wizard-data.service';\nimport {\n  THEME,\n  STEP_STATUS,\n  STEP_STATE,\n  TOOLBAR_POSITION,\n  STEP_DIRECTION,\n  STEP_POSITION,\n} from '../../utils/enums';\nimport { merge } from '../../utils/functions';\nimport {\n  NgWizardConfig,\n  StepChangedArgs,\n  NgWizardStep,\n  StepValidationArgs,\n  ToolbarButton,\n} from '../../utils/interfaces';\n\n@Component({\n  selector: 'ng-wizard',\n  templateUrl: './ng-wizard.component.html',\n  styleUrls: ['./ng-wizard.component.scss'],\n  standalone: false,\n})\nexport class NgWizardComponent implements OnDestroy, AfterContentInit {\n  @ContentChildren(NgWizardStep)\n  public steps: QueryList<NgWizardStep>;\n\n  _pConfig: NgWizardConfig;\n  get pConfig(): NgWizardConfig {\n    return this._pConfig || {};\n  }\n\n  @Input('config')\n  set pConfig(config: NgWizardConfig) {\n    this._pConfig = config;\n  }\n\n  config: NgWizardConfig;\n\n  @Output() stepChanged = new EventEmitter<StepChangedArgs>();\n  @Output() themeChanged = new EventEmitter<THEME>();\n  @Output() reset = new EventEmitter<void>();\n\n  styles: {\n    main?: string;\n    step?: string;\n    previousButton?: string;\n    nextButton?: string;\n    toolbarTop?: string;\n    toolbarBottom?: string;\n  } = {};\n\n  showToolbarTop: boolean = false;\n  showPreviousButton: boolean = false;\n  showNextButton: boolean = false;\n  showToolbarBottom: boolean = false;\n  showExtraButtons: boolean = false;\n  currentStepIndex: number = null; // Active step index\n  currentStep: NgWizardStep; // Active step\n\n  resetWizardWatcher: Subscription;\n  showNextStepWatcher: Subscription;\n  showPreviousStepWatcher: Subscription;\n  showStepWatcher: Subscription;\n  setThemeWatcher: Subscription;\n\n  constructor(private ngWizardDataService: NgWizardDataService) {}\n\n  ngAfterContentInit() {\n    this._backupStepStates();\n\n    this._init();\n\n    // Set toolbar\n    this._setToolbar();\n\n    // Assign plugin events\n    this._setEvents();\n\n    this.resetWizardWatcher = this.ngWizardDataService.resetWizard$.subscribe(\n      () => this._reset()\n    );\n    this.showNextStepWatcher = this.ngWizardDataService.showNextStep$.subscribe(\n      () => this._showNextStep()\n    );\n    this.showPreviousStepWatcher =\n      this.ngWizardDataService.showPreviousStep$.subscribe(() =>\n        this._showPreviousStep()\n      );\n    this.showStepWatcher = this.ngWizardDataService.showStep$.subscribe(\n      (index) => this._showStep(index)\n    );\n    this.setThemeWatcher = this.ngWizardDataService.setTheme$.subscribe(\n      (theme) => this._setTheme(theme)\n    );\n  }\n\n  _init() {\n    // set config\n    let defaultConfig = this.ngWizardDataService.getDefaultConfig();\n    this.config = merge(defaultConfig, this.pConfig);\n\n    // set step states\n    this._initSteps();\n\n    // Set the elements\n    this._initStyles();\n\n    // Show the initial step\n    this._showStep(this.config.selected);\n  }\n\n  _initSteps() {\n    this.steps.forEach((step, index) => {\n      step.index = index;\n      step.status = step.status || STEP_STATUS.untouched;\n      step.state = step.state || STEP_STATE.normal;\n    });\n\n    // Mark previous steps of the active step as done\n    if (\n      this.config.selected > 0 &&\n      this.config.anchorSettings.markDoneStep &&\n      this.config.anchorSettings.markAllPreviousStepsAsDone\n    ) {\n      this.steps.forEach((step) => {\n        if (\n          step.state != STEP_STATE.disabled &&\n          step.state != STEP_STATE.hidden\n        ) {\n          step.status =\n            step.index < this.config.selected ? STEP_STATUS.done : step.status;\n        }\n      });\n    }\n  }\n\n  _backupStepStates() {\n    this.steps.forEach((step) => {\n      step.initialStatus = step.status;\n      step.initialState = step.state;\n    });\n  }\n\n  _restoreStepStates() {\n    this.steps.forEach((step) => {\n      step.status = step.initialStatus;\n      step.state = step.initialState;\n    });\n  }\n\n  // PRIVATE FUNCTIONS\n  _initStyles() {\n    // Set the main element\n    this.styles.main = 'ng-wizard-main ng-wizard-theme-' + this.config.theme;\n\n    // Set anchor elements\n    this.styles.step = 'nav-item'; // li\n\n    // Make the anchor clickable\n    if (\n      this.config.anchorSettings.enableAllAnchors &&\n      this.config.anchorSettings.anchorClickable\n    ) {\n      this.styles.step += ' clickable';\n    }\n\n    // Set the toolbar styles\n    this.styles.toolbarTop =\n      'btn-toolbar ng-wizard-toolbar ng-wizard-toolbar-top justify-content-' +\n      this.config.toolbarSettings.toolbarButtonPosition;\n    this.styles.toolbarBottom =\n      'btn-toolbar ng-wizard-toolbar ng-wizard-toolbar-bottom justify-content-' +\n      this.config.toolbarSettings.toolbarButtonPosition;\n\n    // Set previous&next buttons\n    this.styles.previousButton = 'btn btn-secondary ng-wizard-btn-prev';\n    this.styles.nextButton = 'btn btn-secondary ng-wizard-btn-next';\n  }\n\n  _setToolbar() {\n    this.showToolbarTop =\n      this.config.toolbarSettings.toolbarPosition == TOOLBAR_POSITION.top ||\n      this.config.toolbarSettings.toolbarPosition == TOOLBAR_POSITION.both;\n\n    this.showToolbarBottom =\n      this.config.toolbarSettings.toolbarPosition == TOOLBAR_POSITION.bottom ||\n      this.config.toolbarSettings.toolbarPosition == TOOLBAR_POSITION.both;\n\n    this.showPreviousButton = this.config.toolbarSettings.showPreviousButton;\n    this.showNextButton = this.config.toolbarSettings.showNextButton;\n\n    this.showExtraButtons =\n      this.config.toolbarSettings.toolbarExtraButtons &&\n      this.config.toolbarSettings.toolbarExtraButtons.length > 0;\n  }\n\n  _setEvents() {\n    //TODO: keyNavigation\n    // Keyboard navigation event\n    if (this.config.keyNavigation) {\n      // $(document).keyup(function (e) {\n      //   mi._keyNav(e);\n      // });\n    }\n  }\n\n  _getStepCssClass(selectedStep: NgWizardStep) {\n    let stepClass = this.styles.step;\n\n    switch (selectedStep.state) {\n      case STEP_STATE.disabled:\n        stepClass += ' disabled';\n        break;\n      case STEP_STATE.error:\n        stepClass += ' danger';\n        break;\n      case STEP_STATE.hidden:\n        stepClass += ' hidden';\n        break;\n    }\n\n    switch (selectedStep.status) {\n      case STEP_STATUS.done:\n        stepClass += ' done';\n        break;\n      case STEP_STATUS.active:\n        stepClass += ' active';\n        break;\n    }\n\n    return stepClass;\n  }\n\n  _showSelectedStep(event: Event, selectedStep: NgWizardStep) {\n    event.preventDefault();\n\n    if (!this.config.anchorSettings.anchorClickable) {\n      return;\n    }\n\n    if (\n      !this.config.anchorSettings.enableAnchorOnDoneStep &&\n      selectedStep.status == STEP_STATUS.done\n    ) {\n      return;\n    }\n\n    if (selectedStep.index != this.currentStepIndex) {\n      if (\n        this.config.anchorSettings.enableAllAnchors &&\n        this.config.anchorSettings.anchorClickable\n      ) {\n        this._showStep(selectedStep.index);\n      } else {\n        if (selectedStep.status == STEP_STATUS.done) {\n          this._showStep(selectedStep.index);\n        }\n      }\n    }\n  }\n\n  _showNextStep(event?: Event) {\n    if (event) {\n      event.preventDefault();\n    }\n    // Find the next not disabled & hidden step\n    let filteredSteps = this.steps.filter((step) => {\n      return (\n        step.index >\n          (this.currentStepIndex == null ? -1 : this.currentStepIndex) &&\n        step.state != STEP_STATE.disabled &&\n        step.state != STEP_STATE.hidden\n      );\n    });\n\n    if (filteredSteps.length == 0) {\n      if (!this.config.cycleSteps) {\n        return;\n      }\n\n      this._showStep(0);\n    } else {\n      this._showStep(filteredSteps.shift().index);\n    }\n  }\n\n  _showPreviousStep(event?: Event) {\n    if (event) {\n      event.preventDefault();\n    }\n    // Find the previous not disabled & hidden step\n    let filteredSteps = this.steps.filter((step) => {\n      return (\n        step.index <\n          (this.currentStepIndex == null && this.config.cycleSteps\n            ? this.steps.length\n            : this.currentStepIndex) &&\n        step.state != STEP_STATE.disabled &&\n        step.state != STEP_STATE.hidden\n      );\n    });\n\n    if (filteredSteps.length == 0) {\n      if (!this.config.cycleSteps) {\n        return;\n      }\n\n      this._showStep(this.steps.length - 1);\n    } else {\n      this._showStep(filteredSteps.pop().index);\n    }\n  }\n\n  _showStep(selectedStepIndex: number) {\n    // If step not found, skip\n    if (selectedStepIndex >= this.steps.length || selectedStepIndex < 0) {\n      return;\n    }\n\n    // If current step is requested again, skip\n    if (selectedStepIndex == this.currentStepIndex) {\n      return;\n    }\n\n    let selectedStep = this.steps.toArray()[selectedStepIndex];\n\n    // If it is a disabled or hidden step, skip\n    if (\n      selectedStep.state == STEP_STATE.disabled ||\n      selectedStep.state == STEP_STATE.hidden\n    ) {\n      return;\n    }\n\n    this._showLoader();\n\n    this._isStepChangeValid(\n      selectedStep,\n      this.currentStep && this.currentStep.canExit\n    )\n      .toPromise()\n      .then((isValid) => {\n        if (isValid) {\n          return this._isStepChangeValid(\n            selectedStep,\n            selectedStep.canEnter\n          ).toPromise();\n        }\n\n        return of(isValid).toPromise();\n      })\n      .then((isValid) => {\n        if (isValid) {\n          // Load step content\n          this._loadStepContent(selectedStep);\n        }\n      })\n      .finally(() => this._hideLoader());\n  }\n\n  private _isStepChangeValid(\n    selectedStep: NgWizardStep,\n    condition:\n      | boolean\n      | ((args: StepValidationArgs) => boolean | Observable<boolean>)\n  ): Observable<boolean> {\n    if (typeof condition === typeof true) {\n      return of(<boolean>condition);\n    } else if (condition instanceof Function) {\n      let direction = this._getStepDirection(selectedStep.index);\n      let result = condition({\n        direction: direction,\n        fromStep: this.currentStep,\n        toStep: selectedStep,\n      });\n\n      if (isObservable(result)) {\n        return result;\n      } else if (typeof result === typeof true) {\n        return of(<boolean>result);\n      } else {\n        return of(false);\n      }\n    }\n\n    return of(true);\n  }\n\n  _loadStepContent(selectedStep: NgWizardStep) {\n    // Update controls\n    this._setAnchor(selectedStep);\n    // Set the buttons based on the step\n    this._setButtons(selectedStep.index);\n\n    // Trigger \"stepChanged\" event\n    const args = <StepChangedArgs>{\n      step: selectedStep,\n      previousStep: this.currentStep,\n      direction: this._getStepDirection(selectedStep.index),\n      position: this._getStepPosition(selectedStep.index),\n    };\n    this.stepChanged.emit(args);\n    this.ngWizardDataService.stepChanged(args);\n\n    // Update the current index\n    this.currentStepIndex = selectedStep.index;\n    this.currentStep = selectedStep;\n  }\n\n  _setAnchor(selectedStep: NgWizardStep) {\n    // Current step anchor > Remove other classes and add done class\n    if (this.currentStep) {\n      this.currentStep.status = STEP_STATUS.untouched;\n\n      if (this.config.anchorSettings.markDoneStep) {\n        this.currentStep.status = STEP_STATUS.done;\n\n        if (this.config.anchorSettings.removeDoneStepOnNavigateBack) {\n          this.steps.forEach((step) => {\n            if (step.index > selectedStep.index) {\n              step.status = STEP_STATUS.untouched;\n            }\n          });\n        }\n      }\n    }\n\n    // Next step anchor > Remove other classes and add active class\n    selectedStep.status = STEP_STATUS.active;\n  }\n\n  _setButtons(index: number) {\n    // Previous/Next Button enable/disable based on step\n    if (!this.config.cycleSteps) {\n      if (0 >= index) {\n        this.styles.previousButton =\n          'btn btn-secondary ng-wizard-btn-prev disabled';\n      } else {\n        this.styles.previousButton = 'btn btn-secondary ng-wizard-btn-prev';\n      }\n\n      if (this.steps.length - 1 <= index) {\n        this.styles.nextButton =\n          'btn btn-secondary ng-wizard-btn-next disabled';\n      } else {\n        this.styles.nextButton = 'btn btn-secondary ng-wizard-btn-next';\n      }\n    }\n  }\n\n  _extraButtonClicked(button: ToolbarButton) {\n    if (button.event) {\n      button.event();\n    }\n  }\n\n  // HELPER FUNCTIONS\n  _keyNav(event: KeyboardEvent) {\n    // Keyboard navigation\n    switch (event.which) {\n      case 37:\n        // left\n        this._showPreviousStep(event);\n        event.preventDefault();\n        break;\n      case 39:\n        // right\n        this._showNextStep(event);\n        event.preventDefault();\n        break;\n      default:\n        return; // exit this handler for other keys\n    }\n  }\n\n  _showLoader() {\n    this.styles.main =\n      'ng-wizard-main ng-wizard-theme-' +\n      this.config.theme +\n      ' ng-wizard-loading';\n  }\n\n  _hideLoader() {\n    this.styles.main = 'ng-wizard-main ng-wizard-theme-' + this.config.theme;\n  }\n\n  _getStepDirection(selectedStepIndex: number): STEP_DIRECTION {\n    return this.currentStepIndex != null &&\n      this.currentStepIndex != selectedStepIndex\n      ? this.currentStepIndex < selectedStepIndex\n        ? STEP_DIRECTION.forward\n        : STEP_DIRECTION.backward\n      : null;\n  }\n\n  _getStepPosition(selectedStepIndex: number): STEP_POSITION {\n    return selectedStepIndex == 0\n      ? STEP_POSITION.first\n      : selectedStepIndex == this.steps.length - 1\n      ? STEP_POSITION.final\n      : STEP_POSITION.middle;\n  }\n\n  // PUBLIC FUNCTIONS\n  _setTheme(theme: THEME) {\n    if (this.config.theme == theme) {\n      return;\n    }\n\n    this.config.theme = theme;\n    this.styles.main = 'ng-wizard-main ng-wizard-theme-' + this.config.theme;\n\n    // Trigger \"themeChanged\" event\n    this.themeChanged.emit(this.config.theme);\n  }\n\n  _reset() {\n    // Reset all elements and classes\n    this.currentStepIndex = null;\n    this.currentStep = null;\n    this._restoreStepStates();\n    this._init();\n\n    // Trigger \"reset\" event\n    this.reset.emit();\n  }\n\n  ngOnDestroy() {\n    if (this.resetWizardWatcher) {\n      this.resetWizardWatcher.unsubscribe();\n    }\n\n    if (this.showNextStepWatcher) {\n      this.showNextStepWatcher.unsubscribe();\n    }\n\n    if (this.showPreviousStepWatcher) {\n      this.showPreviousStepWatcher.unsubscribe();\n    }\n\n    if (this.showStepWatcher) {\n      this.showStepWatcher.unsubscribe();\n    }\n\n    if (this.setThemeWatcher) {\n      this.setThemeWatcher.unsubscribe();\n    }\n  }\n}\n","<div id=\"ngwizard\" [ngClass]=\"styles.main\">\n  <ul class=\"nav nav-tabs step-anchor\">\n    <li\n      *ngFor=\"let step of steps; let i = index\"\n      [ngClass]=\"_getStepCssClass(step)\"\n    >\n      <a\n        href=\"#step-{{ i }}\"\n        (click)=\"_showSelectedStep($event, step)\"\n        *ngIf=\"!step.isHidden\"\n        class=\"nav-link\"\n        >{{ step.title }}<br /><small>{{ step.description }}</small></a\n      >\n    </li>\n  </ul>\n\n  <div *ngIf=\"showToolbarTop\" [ngClass]=\"styles.toolbarTop\">\n    <div class=\"btn-group mr-2 ng-wizard-btn-group\" role=\"group\">\n      <button\n        *ngIf=\"showPreviousButton\"\n        [ngClass]=\"styles.previousButton\"\n        type=\"button\"\n        (click)=\"_showPreviousStep($event)\"\n      >\n        {{ config!.lang!.previous }}\n      </button>\n      <button\n        *ngIf=\"showNextButton\"\n        [ngClass]=\"styles.nextButton\"\n        type=\"button\"\n        (click)=\"_showNextStep($event)\"\n      >\n        {{ config!.lang!.next }}\n      </button>\n    </div>\n\n    <div\n      *ngIf=\"showExtraButtons\"\n      class=\"btn-group mr-2 ng-wizard-btn-group-extra\"\n      role=\"group\"\n    >\n      <button\n        *ngFor=\"\n          let button of config!.toolbarSettings!.toolbarExtraButtons;\n          let j = index\n        \"\n        [ngClass]=\"button.class\"\n        type=\"button\"\n        (click)=\"_extraButtonClicked(button)\"\n      >\n        {{ button.text }}\n      </button>\n    </div>\n  </div>\n\n  <div class=\"ng-wizard-container tab-content\">\n    <ng-content></ng-content>\n  </div>\n\n  <div *ngIf=\"showToolbarBottom\" [ngClass]=\"styles.toolbarBottom\">\n    <div class=\"btn-group mr-2 ng-wizard-btn-group\" role=\"group\">\n      <button\n        *ngIf=\"showPreviousButton\"\n        [ngClass]=\"styles.previousButton\"\n        type=\"button\"\n        (click)=\"_showPreviousStep($event)\"\n      >\n        {{ config!.lang!.previous }}\n      </button>\n      <button\n        *ngIf=\"showNextButton\"\n        [ngClass]=\"styles.nextButton\"\n        type=\"button\"\n        (click)=\"_showNextStep($event)\"\n      >\n        {{ config!.lang!.next }}\n      </button>\n    </div>\n\n    <div\n      *ngIf=\"showExtraButtons\"\n      class=\"btn-group mr-2 ng-wizard-btn-group-extra\"\n      role=\"group\"\n    >\n      <button\n        *ngFor=\"\n          let button of config!.toolbarSettings!.toolbarExtraButtons;\n          let j = index\n        \"\n        [ngClass]=\"button.class\"\n        type=\"button\"\n        (click)=\"_extraButtonClicked(button)\"\n      >\n        {{ button.text }}\n      </button>\n    </div>\n  </div>\n</div>\n","import {\n  Component,\n  forwardRef,\n  OnInit,\n  ViewChild,\n  ComponentFactoryResolver,\n} from '@angular/core';\nimport { NgWizardStepContentDirective } from '../../directives/ng-wizard-step-content.directive';\nimport { STEP_STATE } from '../../utils/enums';\nimport { NgWizardStep } from '../../utils/interfaces';\n\n@Component({\n  selector: 'ng-wizard-step',\n  templateUrl: './ng-wizard-step.component.html',\n  styleUrls: ['./ng-wizard-step.component.scss'],\n  providers: [\n    {\n      provide: NgWizardStep,\n      useExisting: forwardRef(() => NgWizardStepComponent),\n    },\n  ],\n  standalone: false,\n})\nexport class NgWizardStepComponent extends NgWizardStep implements OnInit {\n  @ViewChild(NgWizardStepContentDirective, { static: true })\n  stepContent: NgWizardStepContentDirective;\n\n  constructor(private componentFactoryResolver: ComponentFactoryResolver) {\n    super();\n  }\n\n  ngOnInit() {\n    this.loadComponent();\n  }\n\n  loadComponent() {\n    if (!this.component) {\n      return;\n    }\n\n    let componentFactory =\n      this.componentFactoryResolver.resolveComponentFactory(this.component);\n\n    this.stepContent.viewContainerRef.clear();\n    this.componentRef =\n      this.stepContent.viewContainerRef.createComponent(componentFactory);\n  }\n\n  get isHidden(): boolean {\n    return this.state == STEP_STATE.hidden;\n  }\n}\n","<div class=\"tab-pane step-content\" style=\"display: block\">\n  <ng-content></ng-content>\n  <ng-template ngWizardStepContent></ng-template>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NgWizardStepContentDirective } from './lib/directives/ng-wizard-step-content.directive';\nimport { NG_WIZARD_CONFIG_TOKEN } from './lib/ng-wizard-config.token';\nimport { NgWizardComponent } from './lib/components/ng-wizard/ng-wizard.component';\nimport { NgWizardStepComponent } from './lib/components/ng-wizard-step/ng-wizard-step.component';\nimport { NgWizardConfig } from './lib/utils/interfaces';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [\n    NgWizardComponent,\n    NgWizardStepComponent,\n    NgWizardStepContentDirective,\n  ],\n  exports: [NgWizardComponent, NgWizardStepComponent],\n})\nexport class NgWizardModule {\n  static forRoot(\n    ngWizardConfig: NgWizardConfig\n  ): ModuleWithProviders<NgWizardModule> {\n    return {\n      ngModule: NgWizardModule,\n      providers: [\n        {\n          provide: NG_WIZARD_CONFIG_TOKEN,\n          useValue: ngWizardConfig,\n        },\n      ],\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { THEME } from '../utils/enums';\nimport { StepChangedArgs } from '../utils/interfaces';\nimport { NgWizardDataService } from './ng-wizard-data.service';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class NgWizardService {\n  constructor(private ngWizardDataService: NgWizardDataService) {}\n\n  reset() {\n    this.ngWizardDataService.resetWizard();\n  }\n\n  next() {\n    this.ngWizardDataService.showNextStep();\n  }\n\n  previous() {\n    this.ngWizardDataService.showPreviousStep();\n  }\n\n  show(index: number) {\n    this.ngWizardDataService.showStep(index);\n  }\n\n  theme(theme: THEME) {\n    this.ngWizardDataService.setTheme(theme);\n  }\n\n  stepChanged(): Observable<StepChangedArgs> {\n    return this.ngWizardDataService.stepChangedArgs$;\n  }\n}\n","/*\n * Public API Surface of ng-wizard\n */\n\nexport { NgWizardModule } from './ng-wizard.module';\nexport { NgWizardService } from './lib/services/ng-wizard.service';\nexport {\n  TOOLBAR_POSITION,\n  TOOLBAR_BUTTON_POSITION,\n  THEME,\n  STEP_STATE,\n  STEP_DIRECTION,\n  STEP_POSITION,\n} from './lib/utils/enums';\nexport { NgWizardStep } from './lib/utils/interfaces';\nexport type {\n  Language,\n  ToolbarSettings,\n  ToolbarButton,\n  AnchorSettings,\n  NgWizardConfig,\n  StepValidationArgs,\n  StepChangedArgs,\n} from './lib/utils/interfaces';\nexport { NgWizardComponent } from './lib/components/ng-wizard/ng-wizard.component';\nexport { NgWizardStepComponent } from './lib/components/ng-wizard-step/ng-wizard-step.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgWizardDataService","i1.NgWizardStepContentDirective"],"mappings":"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"}