{"version":3,"file":"ui-vts-kit-ng-vts-spin.mjs","sources":["../../components/spin/spin.component.ts","../../components/spin/spin.module.ts","../../components/spin/public-api.ts","../../components/spin/ui-vts-kit-ng-vts-spin.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectorRef,\n  Component,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsConfigKey, VtsConfigService, WithConfig } from '@ui-vts-kit/ng-vts/core/config';\nimport { BooleanInput, NumberInput, VtsSafeAny, VtsSizeXLMSType } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean, InputNumber } from '@ui-vts-kit/ng-vts/core/util';\n\nimport { BehaviorSubject, ReplaySubject, Subject, timer } from 'rxjs';\nimport { debounce, distinctUntilChanged, startWith, switchMap, takeUntil } from 'rxjs/operators';\n\nconst VTS_CONFIG_MODULE_NAME: VtsConfigKey = 'spin';\n\n@Component({\n  selector: 'vts-spin',\n  exportAs: 'vtsSpin',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <ng-template #defaultTemplate>\n      <div class=\"vts-icon-container\">\n        <i style=\"font-size: 75px;\" vts-icon vtsType=\"icon:vts-spin\"></i>\n      </div>\n    </ng-template>\n    <div *ngIf=\"isLoading\">\n      <div\n        class=\"vts-spin\"\n        [class.vts-spin-rtl]=\"dir === 'rtl'\"\n        [class.vts-spin-spinning]=\"isLoading\"\n        [class.vts-spin-lg]=\"vtsSize === 'lg'\"\n        [class.vts-spin-sm]=\"vtsSize === 'sm'\"\n        [class.vts-spin-show-text]=\"vtsTip\"\n      >\n        <ng-template [ngTemplateOutlet]=\"vtsIndicator || defaultTemplate\"></ng-template>\n        <div class=\"vts-spin-text\" *ngIf=\"vtsTip\">{{ vtsTip }}</div>\n      </div>\n    </div>\n    <div *ngIf=\"!vtsSimple\" class=\"vts-spin-container\" [class.vts-spin-blur]=\"isLoading\">\n      <ng-content></ng-content>\n    </div>\n  `,\n  host: {\n    '[class.vts-spin-nested-loading]': '!vtsSimple'\n  },\n  styles: [\n    `\n      .vts-icon-container {\n        display:flex;\n        height: 100%;\n        align-items: center;\n        justify-content:center;\n      }\n    `\n  ]\n})\nexport class VtsSpinComponent implements OnChanges, OnDestroy, OnInit {\n  readonly _vtsModuleName: VtsConfigKey = VTS_CONFIG_MODULE_NAME;\n\n  static ngAcceptInputType_vtsDelay: NumberInput;\n  static ngAcceptInputType_vtsSimple: BooleanInput;\n  static ngAcceptInputType_vtsSpinning: BooleanInput;\n\n  @Input() @WithConfig() vtsIndicator: TemplateRef<VtsSafeAny> | null = null;\n  @Input() vtsSize: VtsSizeXLMSType = 'md';\n  @Input() vtsTip: string | null = null;\n  @Input() @InputNumber() vtsDelay = 0;\n  @Input() @InputBoolean() vtsSimple = false;\n  @Input() @InputBoolean() vtsSpinning = true;\n  private destroy$ = new Subject<void>();\n  private spinning$ = new BehaviorSubject(this.vtsSpinning);\n  private delay$ = new ReplaySubject<number>(1);\n  isLoading = false;\n  dir: Direction = 'ltr';\n\n  constructor(\n    public vtsConfigService: VtsConfigService,\n    private cdr: ChangeDetectorRef,\n    @Optional() private directionality: Directionality\n  ) {}\n\n  ngOnInit(): void {\n    const loading$ = this.delay$.pipe(\n      startWith(this.vtsDelay),\n      distinctUntilChanged(),\n      switchMap(delay => {\n        if (delay === 0) {\n          return this.spinning$;\n        }\n\n        return this.spinning$.pipe(debounce(spinning => timer(spinning ? delay : 0)));\n      }),\n      takeUntil(this.destroy$)\n    );\n    loading$.subscribe(loading => {\n      this.isLoading = loading;\n      this.cdr.markForCheck();\n    });\n    this.vtsConfigService\n      .getConfigChangeEventForComponent(VTS_CONFIG_MODULE_NAME)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => this.cdr.markForCheck());\n\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n\n    this.dir = this.directionality.value;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { vtsSpinning, vtsDelay } = changes;\n    if (vtsSpinning) {\n      this.spinning$.next(this.vtsSpinning);\n    }\n    if (vtsDelay) {\n      this.delay$.next(this.vtsDelay);\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { VtsIconModule } from '@ui-vts-kit/ng-vts/icon';\nimport { VtsSpinComponent } from './spin.component';\n\n@NgModule({\n  exports: [VtsSpinComponent],\n  declarations: [VtsSpinComponent],\n  imports: [BidiModule, CommonModule, ObserversModule, VtsIconModule]\n})\nexport class VtsSpinModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './spin.component';\nexport * from './spin.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}