{"version":3,"file":"vts-voffice-ng-vts-steps.mjs","sources":["../../components/steps/step.component.ts","../../components/steps/steps.component.ts","../../components/steps/steps.module.ts","../../components/steps/public-api.ts","../../components/steps/vts-voffice-ng-vts-steps.ts"],"sourcesContent":["/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  Input,\r\n  OnDestroy,\r\n  TemplateRef,\r\n  ViewChild,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { BooleanInput, NgClassType } from '@vts-voffice/ng-vts/core/types';\r\nimport { InputBoolean } from '@vts-voffice/ng-vts/core/util';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  selector: 'vts-step',\r\n  exportAs: 'vtsStep',\r\n  preserveWhitespaces: false,\r\n  template: `\r\n    <div\r\n      class=\"vts-steps-item-container\"\r\n      [attr.role]=\"clickable && !vtsDisabled ? 'button' : null\"\r\n      [tabindex]=\"clickable && !vtsDisabled ? 0 : null\"\r\n      (click)=\"onClick()\"\r\n    >\r\n      <div class=\"vts-steps-item-tail\" *ngIf=\"last !== true\"></div>\r\n      <div class=\"vts-steps-item-icon\">\r\n        <ng-template [ngIf]=\"!showProcessDot\">\r\n          <span class=\"vts-steps-icon\" *ngIf=\"vtsStatus === 'finish' && !vtsIcon\">\r\n            <i vts-icon vtsType=\"check\"></i>\r\n          </span>\r\n          <span class=\"vts-steps-icon\" *ngIf=\"vtsStatus === 'error'\">\r\n            <i vts-icon vtsType=\"Close\"></i>\r\n          </span>\r\n          <span\r\n            class=\"vts-steps-icon\"\r\n            *ngIf=\"(vtsStatus === 'process' || vtsStatus === 'wait') && !vtsIcon\"\r\n          >\r\n            {{ index + 1 }}\r\n          </span>\r\n          <span class=\"vts-steps-icon\" *ngIf=\"vtsIcon\">\r\n            <ng-container *vtsStringTemplateOutlet=\"vtsIcon; let icon\">\r\n              <i vts-icon [vtsType]=\"!oldAPIIcon && icon\" [ngClass]=\"oldAPIIcon && icon\"></i>\r\n            </ng-container>\r\n          </span>\r\n        </ng-template>\r\n        <ng-template [ngIf]=\"showProcessDot\">\r\n          <span class=\"vts-steps-icon\">\r\n            <ng-template #processDotTemplate>\r\n              <span class=\"vts-steps-icon-dot\"></span>\r\n            </ng-template>\r\n            <ng-template\r\n              [ngTemplateOutlet]=\"customProcessTemplate || processDotTemplate\"\r\n              [ngTemplateOutletContext]=\"{\r\n                $implicit: processDotTemplate,\r\n                status: vtsStatus,\r\n                index: index\r\n              }\"\r\n            ></ng-template>\r\n          </span>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"vts-steps-item-content\">\r\n        <div class=\"vts-steps-item-title\">\r\n          <ng-container *vtsStringTemplateOutlet=\"vtsTitle\">\r\n            {{ vtsTitle }}\r\n          </ng-container>\r\n          <div *ngIf=\"vtsSubtitle\" class=\"vts-steps-item-subtitle\">\r\n            <ng-container *vtsStringTemplateOutlet=\"vtsSubtitle\">\r\n              {{ vtsSubtitle }}\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n        <div class=\"vts-steps-item-description\">\r\n          <ng-container *vtsStringTemplateOutlet=\"vtsDescription\">\r\n            {{ vtsDescription }}\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  `,\r\n  host: {\r\n    class: 'vts-steps-item',\r\n    '[class.vts-steps-item-wait]': 'vtsStatus === \"wait\"',\r\n    '[class.vts-steps-item-process]': 'vtsStatus === \"process\"',\r\n    '[class.vts-steps-item-finish]': 'vtsStatus === \"finish\"',\r\n    '[class.vts-steps-item-error]': 'vtsStatus === \"error\"',\r\n    '[class.vts-steps-item-active]': 'currentIndex === index',\r\n    '[class.vts-steps-item-disabled]': 'vtsDisabled',\r\n    '[class.vts-steps-item-custom]': '!!vtsIcon',\r\n    '[class.vts-steps-next-error]': '(outStatus === \"error\") && (currentIndex === index + 1)'\r\n  }\r\n})\r\nexport class VtsStepComponent implements OnDestroy {\r\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\r\n\r\n  @ViewChild('processDotTemplate', { static: false })\r\n  processDotTemplate?: TemplateRef<void>;\r\n\r\n  @Input() vtsTitle?: string | TemplateRef<void>;\r\n  @Input() vtsSubtitle?: string | TemplateRef<void>;\r\n  @Input() vtsDescription?: string | TemplateRef<void>;\r\n  @Input() @InputBoolean() vtsDisabled = false;\r\n\r\n  @Input()\r\n  get vtsStatus(): string {\r\n    return this._status;\r\n  }\r\n\r\n  set vtsStatus(status: string) {\r\n    this._status = status;\r\n    this.isCustomStatus = true;\r\n  }\r\n\r\n  isCustomStatus = false;\r\n  private _status = 'wait';\r\n\r\n  @Input()\r\n  get vtsIcon(): NgClassType | TemplateRef<void> | undefined {\r\n    return this._icon;\r\n  }\r\n\r\n  set vtsIcon(value: NgClassType | TemplateRef<void> | undefined) {\r\n    if (!(value instanceof TemplateRef)) {\r\n      this.oldAPIIcon = typeof value === 'string' && value.indexOf('vtsicon') > -1;\r\n    } else {\r\n    }\r\n    this._icon = value;\r\n  }\r\n\r\n  oldAPIIcon = true;\r\n  private _icon?: NgClassType | TemplateRef<void>;\r\n\r\n  customProcessTemplate?: TemplateRef<{\r\n    $implicit: TemplateRef<void>;\r\n    status: string;\r\n    index: number;\r\n  }>; // Set by parent.\r\n  direction = 'horizontal';\r\n  index = 0;\r\n  last = false;\r\n  outStatus = 'process';\r\n  showProcessDot = false;\r\n  clickable = false;\r\n  click$ = new Subject<number>();\r\n\r\n  get currentIndex(): number {\r\n    return this._currentIndex;\r\n  }\r\n\r\n  set currentIndex(current: number) {\r\n    this._currentIndex = current;\r\n    if (!this.isCustomStatus) {\r\n      this._status =\r\n        current > this.index ? 'finish' : current === this.index ? this.outStatus || '' : 'wait';\r\n    }\r\n  }\r\n\r\n  private _currentIndex = 0;\r\n\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n  onClick(): void {\r\n    if (this.clickable && this.currentIndex !== this.index && !this.vtsDisabled) {\r\n      this.click$.next(this.index);\r\n    }\r\n  }\r\n\r\n  enable(): void {\r\n    this.vtsDisabled = false;\r\n    this.cdr.markForCheck();\r\n  }\r\n\r\n  disable(): void {\r\n    this.vtsDisabled = true;\r\n    this.cdr.markForCheck();\r\n  }\r\n\r\n  markForCheck(): void {\r\n    this.cdr.markForCheck();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.click$.complete();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  AfterContentInit,\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChildren,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  Output,\r\n  QueryList,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { toBoolean } from '@vts-voffice/ng-vts/core/util';\r\nimport { merge, Subject, Subscription } from 'rxjs';\r\nimport { startWith, takeUntil } from 'rxjs/operators';\r\n\r\nimport { BooleanInput, NgClassType, VtsSizeDSType } from '@vts-voffice/ng-vts/core/types';\r\n\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport { VtsStepComponent } from './step.component';\r\n\r\nexport type VtsDirectionType = 'horizontal' | 'vertical';\r\nexport type VtsStatusType = 'wait' | 'process' | 'finish' | 'error';\r\nexport type vtsProgressDotTemplate = TemplateRef<{\r\n  $implicit: TemplateRef<void>;\r\n  status: string;\r\n  index: number;\r\n}>;\r\n@Component({\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false,\r\n  selector: 'vts-steps',\r\n  exportAs: 'vtsSteps',\r\n  template: `\r\n    <div class=\"vts-steps\" [ngClass]=\"classMap\">\r\n      <ng-content></ng-content>\r\n    </div>\r\n  `\r\n})\r\nexport class VtsStepsComponent implements OnChanges, OnInit, OnDestroy, AfterContentInit {\r\n  static ngAcceptInputType_vtsProgressDot: BooleanInput | vtsProgressDotTemplate | undefined | null;\r\n\r\n  @ContentChildren(VtsStepComponent) steps!: QueryList<VtsStepComponent>;\r\n\r\n  @Input() vtsCurrent = 0;\r\n  @Input() vtsDirection: VtsDirectionType = 'horizontal';\r\n  @Input() vtsLabelPlacement: 'horizontal' | 'vertical' = 'horizontal';\r\n  @Input() vtsType: 'default' | 'navigation' = 'default';\r\n  @Input() vtsSize: VtsSizeDSType = 'md';\r\n  @Input() vtsStartIndex = 0;\r\n  @Input() vtsStatus: VtsStatusType = 'process';\r\n\r\n  @Input()\r\n  set vtsProgressDot(value: boolean | vtsProgressDotTemplate) {\r\n    if (value instanceof TemplateRef) {\r\n      this.showProcessDot = true;\r\n      this.customProcessDotTemplate = value;\r\n    } else {\r\n      this.showProcessDot = toBoolean(value);\r\n    }\r\n    this.updateChildrenSteps();\r\n  }\r\n\r\n  @Output() readonly vtsIndexChange = new EventEmitter<number>();\r\n\r\n  private destroy$ = new Subject<void>();\r\n  private indexChangeSubscription?: Subscription;\r\n\r\n  showProcessDot = false;\r\n  customProcessDotTemplate?: TemplateRef<{\r\n    $implicit: TemplateRef<void>;\r\n    status: string;\r\n    index: number;\r\n  }>;\r\n  classMap: NgClassType = {};\r\n  dir: Direction = 'ltr';\r\n\r\n  constructor(private cdr: ChangeDetectorRef, @Optional() private directionality: Directionality) {\r\n    this.setClassMap();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes.vtsStartIndex || changes.vtsDirection || changes.vtsStatus || changes.vtsCurrent) {\r\n      this.updateChildrenSteps();\r\n    }\r\n    if (\r\n      changes.vtsDirection ||\r\n      changes.vtsProgressDot ||\r\n      changes.vtsLabelPlacement ||\r\n      changes.vtsSize\r\n    ) {\r\n      this.setClassMap();\r\n    }\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\r\n      this.dir = direction;\r\n      this.setClassMap();\r\n      this.cdr.detectChanges();\r\n    });\r\n\r\n    this.dir = this.directionality.value;\r\n    this.setClassMap();\r\n    this.updateChildrenSteps();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n    if (this.indexChangeSubscription) {\r\n      this.indexChangeSubscription.unsubscribe();\r\n    }\r\n  }\r\n\r\n  ngAfterContentInit(): void {\r\n    if (this.steps) {\r\n      this.steps.changes.pipe(startWith(null), takeUntil(this.destroy$)).subscribe(() => {\r\n        this.updateChildrenSteps();\r\n      });\r\n    }\r\n  }\r\n\r\n  private updateChildrenSteps(): void {\r\n    if (this.steps) {\r\n      const length = this.steps.length;\r\n      this.steps.toArray().forEach((step, index) => {\r\n        Promise.resolve().then(() => {\r\n          step.outStatus = this.vtsStatus;\r\n          step.showProcessDot = this.showProcessDot;\r\n          if (this.customProcessDotTemplate) {\r\n            step.customProcessTemplate = this.customProcessDotTemplate;\r\n          }\r\n          step.clickable = this.vtsIndexChange.observers.length > 0;\r\n          step.direction = this.vtsDirection;\r\n          step.index = index + this.vtsStartIndex;\r\n          step.currentIndex = this.vtsCurrent;\r\n          step.last = length === index + 1;\r\n          step.markForCheck();\r\n        });\r\n      });\r\n      if (this.indexChangeSubscription) {\r\n        this.indexChangeSubscription.unsubscribe();\r\n      }\r\n      this.indexChangeSubscription = merge(...this.steps.map(step => step.click$)).subscribe(\r\n        index => this.vtsIndexChange.emit(index)\r\n      );\r\n    }\r\n  }\r\n\r\n  private setClassMap(): void {\r\n    this.classMap = {\r\n      [`vts-steps-${this.vtsDirection}`]: true,\r\n      [`vts-steps-label-horizontal`]: this.vtsDirection === 'horizontal',\r\n      [`vts-steps-label-vertical`]:\r\n        (this.showProcessDot || this.vtsLabelPlacement === 'vertical') &&\r\n        this.vtsDirection === 'horizontal',\r\n      [`vts-steps-dot`]: this.showProcessDot,\r\n      ['vts-steps-small']: this.vtsSize === 'sm',\r\n      ['vts-steps-navigation']: this.vtsType === 'navigation',\r\n      ['vts-steps-rtl']: this.dir === 'rtl'\r\n    };\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { BidiModule } from '@angular/cdk/bidi';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { VtsOutletModule } from '@vts-voffice/ng-vts/core/outlet';\r\nimport { VtsIconModule } from '@vts-voffice/ng-vts/icon';\r\n\r\nimport { VtsStepComponent } from './step.component';\r\nimport { VtsStepsComponent } from './steps.component';\r\n\r\n@NgModule({\r\n  imports: [BidiModule, CommonModule, VtsIconModule, VtsOutletModule],\r\n  exports: [VtsStepsComponent, VtsStepComponent],\r\n  declarations: [VtsStepsComponent, VtsStepComponent]\r\n})\r\nexport class VtsStepsModule {}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nexport * from './steps.component';\r\nexport * from './step.component';\r\nexport * from './steps.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}