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