{"version":3,"file":"onepoint-yap-dashboard-components-stepper.mjs","sources":["../../../../projects/onepoint-yap/dashboard/components/stepper/step-title.directive.ts","../../../../projects/onepoint-yap/dashboard/components/stepper/step/step.component.ts","../../../../projects/onepoint-yap/dashboard/components/stepper/step/step.component.html","../../../../projects/onepoint-yap/dashboard/components/stepper/stepper.component.ts","../../../../projects/onepoint-yap/dashboard/components/stepper/stepper.component.html","../../../../projects/onepoint-yap/dashboard/components/stepper/stepper.module.ts","../../../../projects/onepoint-yap/dashboard/components/stepper/onepoint-yap-dashboard-components-stepper.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[stepTitle]' })\nexport class YapStepTitleDirective {\n  constructor(public templateRef: TemplateRef<any>) {}\n}\n","import { Component, ContentChild, HostBinding, Input, TemplateRef } from '@angular/core';\nimport { YapStepTitleDirective } from '../step-title.directive';\n\n@Component({\n  selector: 'yap-step',\n  templateUrl: './step.component.html'\n})\nexport class YapStepComponent {\n  @ContentChild(YapStepTitleDirective) stepTitleElement: YapStepTitleDirective | undefined;\n\n  @HostBinding('class.active-step')\n  isActive = false;\n\n  stepIndex: number = 1;\n  status: string = '';\n  title: string = '';\n\n  @Input() setActiveState(step: this) {\n    this.isActive = step === this;\n  }\n\n  getTitleTemplateRef(): TemplateRef<any> {\n    // @ts-ignore\n    return this.stepTitleElement ? this.stepTitleElement.templateRef : null;\n  }\n\n  hasTemplateRef(): boolean {\n    return Boolean(this.stepTitleElement);\n  }\n}\n","<ng-content></ng-content>\n","import {\n  AfterContentInit,\n  AfterViewInit,\n  Component,\n  ContentChildren,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n  ViewChildren,\n  ViewContainerRef\n} from '@angular/core';\nimport { YapStepComponent } from './step/step.component';\n\nexport enum Status {\n  PENDING = 'pending',\n  IN_PROGRESS = 'in progress',\n  COMPLETED = 'completed'\n}\n\n@Component({\n  selector: 'yap-stepper',\n  templateUrl: './stepper.component.html'\n})\nexport class YapStepperComponent implements AfterContentInit, AfterViewInit {\n  activeIndex: number = 0;\n  // @ts-ignore\n  @ContentChildren(YapStepComponent) public steps: QueryList<YapStepComponent>;\n  // @ts-ignore\n  @ViewChildren('vc', { read: ViewContainerRef }) stepViewRef: Array<ViewContainerRef>;\n  @Input() isConsultMode: boolean = false;\n  @Output() lastStepCompleted: EventEmitter<void> = new EventEmitter<void>();\n\n  get stepperSteps(): YapStepComponent[] {\n    return this.steps.toArray();\n  }\n\n  ngAfterContentInit() {\n    this.steps.forEach((step, index) => {\n      step.stepIndex = index;\n      if (this.isConsultMode) {\n        step.status = index === this.activeIndex ? Status.IN_PROGRESS : Status.COMPLETED;\n      } else {\n        step.status = index === this.activeIndex ? Status.IN_PROGRESS : Status.PENDING;\n      }\n      if (index === this.activeIndex) {\n        step.setActiveState(step);\n      }\n    });\n  }\n\n  ngAfterViewInit(): void {\n    this.stepViewRef.forEach((vcr, index) => {\n      const step = this.steps.toArray()[index];\n      if (step.hasTemplateRef()) {\n        vcr.createEmbeddedView(step.getTitleTemplateRef());\n        vcr.get(0)?.detectChanges();\n      }\n    });\n  }\n\n  updateActiveStep(index: number) {\n    this.steps.forEach((step) => (step.isActive = false));\n    this.stepperSteps[index].setActiveState(this.stepperSteps[index]);\n  }\n\n  completeLastStep() {\n    this.stepperSteps[this.activeIndex].status = Status.COMPLETED;\n    this.lastStepCompleted.emit();\n  }\n\n  undoLastComplete() {\n    this.stepperSteps[this.activeIndex].status = Status.IN_PROGRESS;\n  }\n\n  switchStatusNext(index: number): void {\n    this.stepperSteps[this.activeIndex - 1].status = Status.COMPLETED;\n    this.stepperSteps[index].status = Status.IN_PROGRESS;\n  }\n\n  switchStatusPrev(index: number) {\n    this.stepperSteps[this.activeIndex + 1].status = Status.PENDING;\n    this.stepperSteps[index].status = Status.IN_PROGRESS;\n  }\n\n  next() {\n    if (this.activeIndex === this.steps.length - 1 && this.stepperSteps[this.activeIndex].status !== Status.COMPLETED) {\n      this.completeLastStep();\n    }\n\n    if (this.activeIndex < this.steps.length - 1) {\n      this.activeIndex++;\n      this.switchStatusNext(this.activeIndex);\n      this.updateActiveStep(this.activeIndex);\n    }\n  }\n\n  prev() {\n    if (this.activeIndex === this.steps.length - 1 && this.stepperSteps[this.activeIndex].status === Status.COMPLETED) {\n      this.undoLastComplete();\n      return;\n    }\n    if (this.activeIndex > 0) {\n      this.activeIndex--;\n      this.switchStatusPrev(this.activeIndex);\n      this.updateActiveStep(this.activeIndex);\n    }\n  }\n\n  goTo(index: number) {\n    if (\n      this.stepperSteps[index].status === Status.COMPLETED ||\n      this.stepperSteps[index].status === Status.IN_PROGRESS\n    ) {\n      this.stepperSteps[this.activeIndex].status = Status.COMPLETED;\n      this.activeIndex = index;\n      this.updateActiveStep(this.activeIndex);\n      this.stepperSteps[index].status = Status.IN_PROGRESS;\n    }\n  }\n}\n","<div class=\"o-yap-stepper\">\n  <div class=\"o-yap-stepper__header\">\n    <div\n      class=\"m-stepper-item-wrapper\"\n      [class.has-step-line]=\"i !== steps.length - 1\"\n      *ngFor=\"let step of steps; index as i\"\n    >\n      <div class=\"m-stepper-item\" (click)=\"goTo(i)\" [class.-pointer]=\"step.status !== 'pending'\">\n        <div\n          class=\"m-stepper-item__count\"\n          [class.-complete]=\"step.status === 'completed'\"\n          [class.-active]=\"step.status === 'in progress'\"\n        >\n          <span>{{ i + 1 }}</span>\n        </div>\n        <ng-container #vc>{{ step.title }}</ng-container>\n      </div>\n      <div class=\"m-stepper-line\" *ngIf=\"i !== steps.length - 1\">\n        <div\n          class=\"m-stepper-line__percent\"\n          [class.-complete]=\"step.status === 'completed'\"\n          [class.-active]=\"step.status === 'in progress'\"\n        ></div>\n      </div>\n    </div>\n  </div>\n  <div class=\"o-yap-stepper__content\">\n    <ng-content select=\"yap-step\"></ng-content>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { YapStepperComponent } from './stepper.component';\nimport { YapStepTitleDirective } from './step-title.directive';\nimport { YapStepComponent } from './step/step.component';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [YapStepperComponent, YapStepComponent, YapStepTitleDirective],\n  exports: [YapStepperComponent, YapStepComponent, YapStepTitleDirective]\n})\nexport class YapStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}