{"version":3,"file":"ngx-form-wizard.mjs","sources":["../../../projects/ngx-form-wizard/src/lib/form-wizard.model.ts","../../../projects/ngx-form-wizard/src/lib/form-wizard-step.directive.ts","../../../projects/ngx-form-wizard/src/lib/form-wizard.service.ts","../../../projects/ngx-form-wizard/src/lib/form-wizard.component.ts","../../../projects/ngx-form-wizard/src/lib/form-wizard.component.html","../../../projects/ngx-form-wizard/src/lib/form-wizard.module.ts","../../../projects/ngx-form-wizard/src/lib/form-wizard-step-base.component.ts","../../../projects/ngx-form-wizard/src/public-api.ts","../../../projects/ngx-form-wizard/src/ngx-form-wizard.ts"],"sourcesContent":["import { Type } from \"@angular/core\";\r\nimport { FormArray, FormControl, FormGroup } from \"@angular/forms\";\r\n\r\nexport interface IWizardStep {\r\n  id: number;\r\n  title: string;\r\n  description: string;\r\n  component: Type<any>;\r\n  data?: any;\r\n  dataValidated?: boolean;\r\n}\r\n\r\nexport interface IWizardControls {\r\n  [key: string]: FormControl | FormGroup | FormArray;\r\n}\r\n\r\nexport type StepperPosition = 'top' | 'right';\r\n\r\nexport interface IStepperOptions {\r\n  custom: boolean;\r\n  position: StepperPosition;\r\n}\r\n\r\nexport const STEPPER_DEFAULTS: IStepperOptions = {\r\n  custom: false,\r\n  position: 'right'\r\n} as const;\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[formWizardStep]'\r\n})\r\nexport class FormWizardStepDirective {\r\n  constructor(public viewContaianerRef: ViewContainerRef) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { IWizardStep } from './form-wizard.model';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class FormWizardService {\r\n\r\n  private steps: IWizardStep[] = [];\r\n\r\n  getSteps(): IWizardStep[] {\r\n    return this.steps;\r\n  }\r\n\r\n  setSteps(config: IWizardStep[]): void {\r\n    this.steps = config;\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, OnDestroy, Output, ViewChild, HostBinding, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\nimport { FormWizardStepDirective } from './form-wizard-step.directive';\r\nimport { IStepperOptions, IWizardStep, STEPPER_DEFAULTS } from './form-wizard.model';\r\nimport { FormWizardService } from './form-wizard.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormWizardStepBaseComponent } from './form-wizard-step-base.component';\r\n\r\n@Component({\r\n  selector: 'ngx-form-wizard',\r\n  templateUrl: './form-wizard.component.html',\r\n  styleUrls: ['./form-wizard.component.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  host: {\r\n    class: 'ngx-form-wizard'\r\n  }\r\n})\r\nexport class FormWizardComponent implements OnInit, OnDestroy {\r\n\r\n  @Input() steps: IWizardStep[] = [];\r\n  @Input() stepperOptions: IStepperOptions = STEPPER_DEFAULTS;\r\n\r\n  @Input() prevActionBtnLabel: string = 'Previous';\r\n  @Input() nextActionBtnLabel: string = 'Next';\r\n  @Input() finishActionBtnLabel: string = 'Finish';\r\n  @Input() cancelActionBtnLabel: string = 'Cancel';\r\n\r\n  @Output() finished: EventEmitter<void> = new EventEmitter();\r\n  @Output() cancelled: EventEmitter<void> = new EventEmitter();\r\n\r\n  @ViewChild(FormWizardStepDirective, { static: true }) wizardStep!: FormWizardStepDirective;\r\n\r\n  @HostBinding('class.stepper-positioned-right') stepperRight = false;\r\n\r\n  noOfSteps: number = 0;\r\n  activeStep: number = 0;\r\n  isLastStep: boolean = false;\r\n  isFirstStep: boolean = true;\r\n  activeStepInfo: IWizardStep = <IWizardStep>{};\r\n  componentChangesSub: Subscription | undefined;\r\n\r\n  // Stepper variables\r\n  stepperClass: string = '';\r\n  useCustomStepper: boolean = false;\r\n\r\n  constructor(private wizardService: FormWizardService) {}\r\n\r\n  ngOnInit(): void {\r\n    this.wizardInit();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.componentChangesSub?.unsubscribe();\r\n    this.wizardStep?.viewContaianerRef?.clear();\r\n  }\r\n\r\n  goToPrevStep(): void {\r\n    if (this.activeStep > 1) {\r\n      const prevStep = this.steps[(--this.activeStep) - 1];\r\n      this.activeStepInfo = prevStep;\r\n      this.updateWizard();\r\n    }\r\n  }\r\n\r\n  goToNextStep(): void {\r\n    if (this.activeStep < this.noOfSteps) {\r\n      const nextStep = this.steps[this.activeStep++];\r\n      this.activeStepInfo = nextStep;\r\n      this.updateWizard();\r\n    }\r\n  }\r\n\r\n  finishWizard(): void {\r\n    this.finished.emit();\r\n  }\r\n\r\n  cancelWizard(): void {\r\n    this.cancelled.emit();\r\n  }\r\n\r\n  handleStepperClick(step: IWizardStep): void {\r\n    if (step.id >= this.activeStep) {\r\n      return;\r\n    }\r\n\r\n    const newActiveStep = this.steps[step.id - 1];\r\n    this.activeStep = step.id;\r\n    this.activeStepInfo = newActiveStep;\r\n    this.updateWizard();\r\n  }\r\n\r\n  /************************* Private Methods **************************************/\r\n\r\n  private wizardInit() {\r\n    if (this.steps?.length) {\r\n      this.wizardService.setSteps(this.steps);\r\n      this.activeStep = 1;\r\n      this.noOfSteps = this.steps.length;\r\n      this.activeStepInfo = this.steps[0];\r\n      this.isFirstStep = true;\r\n      this.isLastStep = false;\r\n      this.loadWizardStep();\r\n\r\n      if (this.stepperOptions) {\r\n        this.stepperRight = this.stepperOptions?.position === 'right';\r\n        this.stepperClass = this.stepperRight ? 'positioned-right' : '';\r\n        this.useCustomStepper = !!this.stepperOptions?.custom;\r\n      }\r\n    }\r\n  }\r\n\r\n  private loadWizardStep(): void {\r\n    const viewContaianerRef = this.wizardStep.viewContaianerRef;\r\n    viewContaianerRef.clear();\r\n    const componentRef = viewContaianerRef.createComponent<FormWizardStepBaseComponent>(this.activeStepInfo?.component);\r\n    this.stepComponentInit(componentRef.instance);\r\n  }\r\n\r\n  private stepComponentInit(component: FormWizardStepBaseComponent): void {\r\n    // Initialize component input properties\r\n    component.stepNo = this.activeStepInfo.id;\r\n    component.steps = this.steps;\r\n\r\n    if (component.isFormNeeded && component.form) {\r\n      component.form.patchValue(this.activeStepInfo.data);\r\n      this.componentChangesSub = component.form?.valueChanges.subscribe({\r\n        next: data => this.handleFormValueChanges(data, component)\r\n      });\r\n    }\r\n  }\r\n\r\n  private handleFormValueChanges(data: any, component: FormWizardStepBaseComponent): void {\r\n    if (component.steps.length && component.form) {\r\n      const stepConfig = component.getCurrentStepInfo();\r\n      stepConfig.dataValidated = component.form.valid;\r\n      stepConfig.data = data;\r\n    }\r\n  }\r\n\r\n  private updateWizard(): void {\r\n    this.componentChangesSub?.unsubscribe();\r\n    this.loadWizardStep();\r\n    if (this.activeStep <= 1) {\r\n      this.isFirstStep = true;\r\n      this.isLastStep = false;\r\n    } else if (this.activeStep >= this.noOfSteps) {\r\n      this.isFirstStep = false;\r\n      this.isLastStep = true;\r\n    } else {\r\n      this.isFirstStep = false;\r\n      this.isLastStep = false;\r\n    }\r\n  }\r\n}\r\n","<ng-container>\r\n  <ng-container *ngIf=\"useCustomStepper; else stepperDefault\">\r\n    <ng-content></ng-content>\r\n  </ng-container>\r\n\r\n  <div class=\"wizard\">\r\n    <div class=\"wizard-step\">\r\n      <div class=\"wizard-step-title\">\r\n        {{ activeStepInfo.title }}\r\n      </div>\r\n      <div class=\"wizard-step-description\">\r\n        {{ activeStepInfo.description }}\r\n      </div>\r\n      <div class=\"wizard-step-container\">\r\n        <ng-template formWizardStep></ng-template>\r\n      </div>\r\n    </div>\r\n    <div class=\"wizard-action\">\r\n      <button\r\n        *ngIf=\"!isFirstStep\"\r\n        class=\"wizard-action-btn prev-btn\"\r\n        (click)=\"goToPrevStep()\">\r\n        {{ prevActionBtnLabel }}\r\n      </button>\r\n      <button\r\n        *ngIf=\"!isLastStep\"\r\n        class=\"wizard-action-btn next-btn\"\r\n        [disabled]=\"!activeStepInfo.dataValidated\"\r\n        (click)=\"goToNextStep()\">\r\n        {{ nextActionBtnLabel }}\r\n      </button>\r\n      <button\r\n        *ngIf=\"isLastStep\"\r\n        class=\"wizard-action-btn finish-btn\"\r\n        (click)=\"finishWizard()\">\r\n        {{ finishActionBtnLabel }}\r\n      </button>\r\n      <button\r\n        class=\"wizard-action-btn cancel-btn\"\r\n        (click)=\"cancelWizard()\">\r\n        {{ cancelActionBtnLabel }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n<ng-template #stepperDefault>\r\n  <div class=\"stepper\" [class]=\"stepperClass\">\r\n    <div\r\n      class=\"step\"\r\n      *ngFor=\"let step of steps\"\r\n      [class.active]=\"step.id === activeStep\"\r\n      [class.clickable]=\"step.id < activeStep\"\r\n      (click)=\"handleStepperClick(step)\"\r\n      >\r\n      <span>{{ step.id }}</span>. <span>{{ step.title }}</span>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormWizardComponent } from './form-wizard.component';\r\nimport { FormWizardStepDirective } from './form-wizard-step.directive';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    FormWizardComponent,\r\n    FormWizardStepDirective\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    FormWizardComponent\r\n  ]\r\n})\r\nexport class FormWizardModule { }\r\n","import { FormGroup } from \"@angular/forms\";\r\nimport { IWizardStep, IWizardControls } from \"./form-wizard.model\";\r\n\r\n/**\r\n * This interface needs to be implemented by every Wizard Step Component\r\n */\r\nexport abstract class FormWizardStepBaseComponent {\r\n  stepNo: number;\r\n  form: FormGroup;\r\n  steps: IWizardStep[];\r\n  isFormNeeded: boolean = false;\r\n\r\n  constructor(stepNo: number, steps: IWizardStep[] = [], isFormNeeded: boolean = false, formControls: IWizardControls = {}) {\r\n    this.stepNo = stepNo;\r\n    this.steps = steps;\r\n    this.isFormNeeded = isFormNeeded;\r\n    this.form = isFormNeeded ? new FormGroup(formControls) : <FormGroup>{};\r\n  }\r\n\r\n  getCurrentStepInfo(): IWizardStep {\r\n    return this.steps[this.stepNo - 1];\r\n  }\r\n}\r\n","/*\r\n * Public API Surface of ngx-wizard\r\n */\r\n\r\nexport * from './lib/form-wizard.model'\r\nexport * from './lib/form-wizard.module';\r\nexport * from './lib/form-wizard.service';\r\nexport * from './lib/form-wizard.component';\r\nexport * from './lib/form-wizard-step.directive';\r\nexport * from './lib/form-wizard-step-base.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FormWizardService","i3.FormWizardStepDirective"],"mappings":"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"}