{"version":3,"file":"ngx-obelisco-example-steps-form.mjs","sources":["../../../projects/ngx-obelisco/steps-form/o-steps-form.component.ts","../../../projects/ngx-obelisco/steps-form/o-steps-form.component.html","../../../projects/ngx-obelisco/steps-form/o-steps-form.module.ts","../../../projects/ngx-obelisco/steps-form/ngx-obelisco-example-steps-form.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport { AbstractStep } from 'ngx-obelisco-example/core/abstracts';\r\nimport { StepForm } from 'ngx-obelisco-example/core/models';\r\nimport { StepService } from 'ngx-obelisco-example/core/services';\r\n\r\n@Component({\r\n  selector: 'o-steps-form',\r\n  templateUrl: './o-steps-form.component.html',\r\n  styleUrls: ['./o-steps-form.component.scss']\r\n})\r\nexport class OStepsFormComponent extends AbstractStep implements OnInit, OnDestroy {\r\n  public actualStep!: StepForm;\r\n  public stepsForm: StepForm[] = [];\r\n\r\n  @Input() public steps: string[] = [];\r\n  @Input() public customClasses: string = '';\r\n\r\n  @Output() public override stopSteps = new EventEmitter<boolean>();\r\n\r\n  private onDestroy$ = new Subject<void>();\r\n\r\n  get isLastStep(): boolean {\r\n    return this.stepsForm.indexOf(this.actualStep) === this.stepsForm.length - 1;\r\n  }\r\n\r\n  get nextStepName(): string {\r\n    const index = this.stepsForm.indexOf(this.actualStep);\r\n    return this.stepsForm[index + 1].name;\r\n  }\r\n\r\n  get currentStepNumber(): number {\r\n    return this.stepsForm.indexOf(this.actualStep) + 1;\r\n  }\r\n\r\n  constructor(protected override readonly setpsService: StepService) {\r\n    super(setpsService);\r\n  }\r\n\r\n  public ngOnInit(): void {\r\n    this.setpsService.getNext.pipe(takeUntil(this.onDestroy$)).subscribe(() => {\r\n      this.nextStep();\r\n    });\r\n\r\n    this.setpsService.getPrevious.pipe(takeUntil(this.onDestroy$)).subscribe(() => {\r\n      this.previousStep();\r\n    });\r\n\r\n    this.stepsForm = this.steps.map((step, index) => {\r\n      return {\r\n        name: step,\r\n        active: index === 0\r\n      };\r\n    });\r\n    this.actualStep = this.stepsForm[0];\r\n  }\r\n\r\n  public previousStep(): void {\r\n    this.setpsService.isFirstStep.emit(false);\r\n\r\n    if (this.currentStepNumber === 1) {\r\n      this.setpsService.isFirstStep.emit(true);\r\n      return;\r\n    }\r\n\r\n    this.actualStep = this.stepsForm[this.stepsForm.indexOf(this.actualStep) - 1];\r\n    this.stepsForm[this.currentStepNumber].active = false;\r\n  }\r\n\r\n  public nextStep(): void {\r\n    this.setpsService.isFirstStep.emit(false);\r\n\r\n    if (this.isLastStep) {\r\n      this.setpsService.stopEmmiter.emit(true);\r\n      this.stopSteps.emit(true);\r\n      this.setpsService.stop();\r\n      return;\r\n    }\r\n\r\n    this.actualStep = this.stepsForm[this.currentStepNumber];\r\n    this.actualStep.active = true;\r\n  }\r\n\r\n  public ngOnDestroy(): void {\r\n    this.onDestroy$.next();\r\n    this.onDestroy$.complete();\r\n  }\r\n}\r\n","<div class=\"stepper\" [ngClass]=\"customClasses\">\r\n  <h2 class=\"step-title\">{{ actualStep.name }}</h2>\r\n  <p class=\"step-next\" *ngIf=\"!isLastStep; else lastStep\">Paso siguiente: {{ nextStepName }}</p>\r\n  <ng-template #lastStep><p class=\"step-next\">Ultimo paso</p></ng-template>\r\n\r\n  <div class=\"steps\">\r\n    <div class=\"step\" [class.active]=\"step.active\" *ngFor=\"let step of stepsForm\"></div>\r\n  </div>\r\n  <span class=\"step-text\">Paso {{ currentStepNumber }} de {{ stepsForm.length }}</span>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OStepsFormComponent } from './o-steps-form.component';\r\n\r\n@NgModule({\r\n  declarations: [OStepsFormComponent],\r\n  imports: [CommonModule],\r\n  exports: [OStepsFormComponent]\r\n})\r\nexport class OStepsFormModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}