{"version":3,"file":"ui-vts-kit-ng-vts-table.mjs","sources":["../../components/table/src/addon/filter-trigger.component.ts","../../components/table/src/addon/filter.component.ts","../../components/table/src/addon/row-expand-button.directive.ts","../../components/table/src/addon/row-indent.directive.ts","../../components/table/src/addon/selection.component.ts","../../components/table/src/addon/sorters.component.ts","../../components/table/src/cell/cell-fixed.directive.ts","../../components/table/src/table-style.service.ts","../../components/table/src/cell/cell.directive.ts","../../components/table/src/cell/td-addon.component.ts","../../components/table/src/cell/th-addon.component.ts","../../components/table/src/cell/th-measure.directive.ts","../../components/table/src/cell/th-selection.component.ts","../../components/table/src/styled/align.directive.ts","../../components/table/src/styled/ellipsis.directive.ts","../../components/table/src/styled/word-break.directive.ts","../../components/table/src/table/table-content.component.ts","../../components/table/src/table/table-fixed-row.component.ts","../../components/table/src/table/table-inner-default.component.ts","../../components/table/src/table/tr.directive.ts","../../components/table/src/table/tr-measure.component.ts","../../components/table/src/table/tbody.component.ts","../../components/table/src/table/table-inner-scroll.component.ts","../../components/table/src/table/table-virtual-scroll.directive.ts","../../components/table/src/table-data.service.ts","../../components/table/src/table/title-footer.component.ts","../../components/table/src/table/table.component.ts","../../components/table/src/table/thead.component.ts","../../components/table/src/table/tr-expand.directive.ts","../../components/table/src/table.module.ts","../../components/table/src/table.types.ts","../../components/table/public-api.ts","../../components/table/ui-vts-kit-ng-vts-table.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 */\n\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsDropdownMenuComponent } from '@ui-vts-kit/ng-vts/dropdown';\n\n@Component({\n  selector: 'vts-filter-trigger',\n  exportAs: `vtsFilterTrigger`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <span\n      vts-dropdown\n      class=\"vts-table-filter-trigger\"\n      vtsTrigger=\"click\"\n      vtsPlacement=\"bottomRight\"\n      [vtsHasBackdrop]=\"vtsHasBackdrop\"\n      [vtsClickHide]=\"false\"\n      [vtsDropdownMenu]=\"vtsDropdownMenu\"\n      [class.active]=\"vtsActive\"\n      [class.vts-table-filter-open]=\"vtsVisible\"\n      [vtsVisible]=\"vtsVisible\"\n      (vtsVisibleChange)=\"onVisibleChange($event)\"\n      (click)=\"onFilterClick($event)\"\n    >\n      <ng-content></ng-content>\n    </span>\n  `,\n  host: {\n    '[class.vts-table-filter-trigger-container-open]': 'vtsVisible'\n  }\n})\nexport class VtsFilterTriggerComponent {\n  @Input() vtsActive = false;\n  @Input() vtsDropdownMenu!: VtsDropdownMenuComponent;\n  @Input() vtsVisible = false;\n  @Input() vtsHasBackdrop = false;\n\n  @Output() readonly vtsVisibleChange = new EventEmitter<boolean>();\n\n  onVisibleChange(visible: boolean): void {\n    this.vtsVisible = visible;\n    this.vtsVisibleChange.next(visible);\n  }\n\n  onFilterClick($event: MouseEvent): void {\n    $event.stopPropagation();\n  }\n\n  hide(): void {\n    this.vtsVisible = false;\n    this.cdr.markForCheck();\n  }\n\n  show(): void {\n    this.vtsVisible = true;\n    this.cdr.markForCheck();\n  }\n\n  constructor(private cdr: ChangeDetectorRef, private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-filter-trigger-container');\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 {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { arraysEqual } from '@ui-vts-kit/ng-vts/core/util';\nimport { VtsI18nService, VtsTableI18nInterface } from '@ui-vts-kit/ng-vts/i18n';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { VtsTableFilterList } from '../table.types';\n\ninterface VtsThItemInterface {\n  text: string;\n  value: VtsSafeAny;\n  checked: boolean;\n}\n\n@Component({\n  selector: 'vts-table-filter',\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <span class=\"vts-table-filter-column-title\">\n      <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n    </span>\n    <ng-container *ngIf=\"!customFilter; else extraTemplate\">\n      <vts-filter-trigger\n        [vtsVisible]=\"isVisible\"\n        [vtsActive]=\"isChecked\"\n        [vtsDropdownMenu]=\"filterMenu\"\n        (vtsVisibleChange)=\"onVisibleChange($event)\"\n      >\n        <i vts-icon vtsType=\"filter\"></i>\n      </vts-filter-trigger>\n      <vts-dropdown-menu #filterMenu=\"vtsDropdownMenu\">\n        <div class=\"vts-table-filter-dropdown\">\n          <ul vts-menu>\n            <li\n              vts-menu-item\n              [vtsSelected]=\"f.checked\"\n              *ngFor=\"let f of listOfParsedFilter; trackBy: trackByValue\"\n              (click)=\"check(f)\"\n            >\n              <label\n                vts-radio\n                *ngIf=\"!filterMultiple\"\n                [ngModel]=\"f.checked\"\n                (ngModelChange)=\"check(f)\"\n              ></label>\n              <label\n                vts-checkbox\n                *ngIf=\"filterMultiple\"\n                [ngModel]=\"f.checked\"\n                (ngModelChange)=\"check(f)\"\n              ></label>\n              <span>{{ f.text }}</span>\n            </li>\n          </ul>\n          <div class=\"vts-table-filter-dropdown-btns\">\n            <button\n              vts-button\n              vtsType=\"link\"\n              vtsSize=\"sm\"\n              (click)=\"reset()\"\n              [disabled]=\"!isChecked\"\n            >\n              {{ locale.filterReset }}\n            </button>\n            <button vts-button vtsType=\"primary\" vtsSize=\"sm\" (click)=\"confirm()\">\n              {{ locale.filterConfirm }}\n            </button>\n          </div>\n        </div>\n      </vts-dropdown-menu>\n    </ng-container>\n  `\n})\nexport class VtsTableFilterComponent implements OnChanges, OnDestroy, OnInit {\n  @Input() contentTemplate: TemplateRef<VtsSafeAny> | null = null;\n  @Input() customFilter = false;\n  @Input() extraTemplate: TemplateRef<VtsSafeAny> | null = null;\n  @Input() filterMultiple = true;\n  @Input() listOfFilter: VtsTableFilterList = [];\n  @Output() readonly filterChange = new EventEmitter<VtsSafeAny[] | VtsSafeAny>();\n  private destroy$ = new Subject();\n  locale!: VtsTableI18nInterface;\n  isChecked = false;\n  isVisible = false;\n  listOfParsedFilter: VtsThItemInterface[] = [];\n  listOfChecked: VtsSafeAny[] = [];\n\n  trackByValue(_: number, item: VtsThItemInterface): VtsSafeAny {\n    return item.value;\n  }\n\n  check(filter: VtsThItemInterface): void {\n    if (this.filterMultiple) {\n      this.listOfParsedFilter = this.listOfParsedFilter.map(item => {\n        if (item === filter) {\n          return { ...item, checked: !filter.checked };\n        } else {\n          return item;\n        }\n      });\n      filter.checked = !filter.checked;\n    } else {\n      this.listOfParsedFilter = this.listOfParsedFilter.map(item => {\n        return { ...item, checked: item === filter };\n      });\n    }\n    this.isChecked = this.getCheckedStatus(this.listOfParsedFilter);\n  }\n\n  confirm(): void {\n    this.isVisible = false;\n    this.emitFilterData();\n  }\n\n  reset(): void {\n    this.isVisible = false;\n    this.listOfParsedFilter = this.parseListOfFilter(this.listOfFilter, true);\n    this.isChecked = this.getCheckedStatus(this.listOfParsedFilter);\n    this.emitFilterData();\n  }\n\n  onVisibleChange(value: boolean): void {\n    this.isVisible = value;\n    if (!value) {\n      this.emitFilterData();\n    } else {\n      this.listOfChecked = this.listOfParsedFilter\n        .filter(item => item.checked)\n        .map(item => item.value);\n    }\n  }\n\n  emitFilterData(): void {\n    const listOfChecked = this.listOfParsedFilter\n      .filter(item => item.checked)\n      .map(item => item.value);\n    if (!arraysEqual(this.listOfChecked, listOfChecked)) {\n      if (this.filterMultiple) {\n        this.filterChange.emit(listOfChecked);\n      } else {\n        this.filterChange.emit(listOfChecked.length > 0 ? listOfChecked[0] : null);\n      }\n    }\n  }\n\n  parseListOfFilter(listOfFilter: VtsTableFilterList, reset?: boolean): VtsThItemInterface[] {\n    return listOfFilter.map(item => {\n      const checked = reset ? false : !!item.byDefault;\n      return { text: item.text, value: item.value, checked };\n    });\n  }\n\n  getCheckedStatus(listOfParsedFilter: VtsThItemInterface[]): boolean {\n    return listOfParsedFilter.some(item => item.checked);\n  }\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private i18n: VtsI18nService,\n    private elementRef: ElementRef\n  ) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-filter-column');\n  }\n\n  ngOnInit(): void {\n    this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n      this.locale = this.i18n.getLocaleData('Table');\n      this.cdr.markForCheck();\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { listOfFilter } = changes;\n    if (listOfFilter && this.listOfFilter && this.listOfFilter.length) {\n      this.listOfParsedFilter = this.parseListOfFilter(this.listOfFilter);\n      this.isChecked = this.getCheckedStatus(this.listOfParsedFilter);\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 { Component, ElementRef, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\n\n@Component({\n  selector: 'button[vts-row-expand-button]',\n  template: `\n    <ng-container *ngIf=\"!!expandTemplate\">\n      <ng-template\n        [ngTemplateOutlet]=\"expandTemplate\"\n        [ngTemplateOutletContext]=\"{ $implicit: expand }\"\n      ></ng-template>\n    </ng-container>\n  `,\n  host: {\n    '[type]': `'button'`,\n    '[class.vts-table-row-expand-icon-template]': `!!expandTemplate`,\n    '[class.vts-table-row-expand-icon-expanded]': `!expandTemplate && !spaceMode && expand === true`,\n    '[class.vts-table-row-expand-icon-collapsed]': `!expandTemplate && !spaceMode && expand === false`,\n    '[class.vts-table-row-expand-icon-spaced]': 'spaceMode',\n    '(click)': 'onHostClick()'\n  }\n})\nexport class VtsRowExpandButtonComponent {\n  @Input() expand = false;\n  @Input() spaceMode = false;\n  @Output() readonly expandChange = new EventEmitter();\n  @Input() expandTemplate: TemplateRef<{\n    $implicit: boolean;\n  }> | null = null;\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-row-expand-icon');\n  }\n\n  onHostClick(): void {\n    if (!this.spaceMode) {\n      this.expand = !this.expand;\n      this.expandChange.next(this.expand);\n    }\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 { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n  selector: 'vts-row-indent',\n  host: {\n    '[style.padding-left.px]': 'indentSize'\n  }\n})\nexport class VtsRowIndentDirective {\n  @Input() indentSize = 0;\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-row-indent');\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 {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\n@Component({\n  selector: 'vts-table-selection',\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <label\n      *ngIf=\"showCheckbox\"\n      vts-checkbox\n      [class.vts-table-selection-select-all-custom]=\"showRowSelection\"\n      [ngModel]=\"checked\"\n      [vtsDisabled]=\"disabled\"\n      [vtsIndeterminate]=\"indeterminate\"\n      (ngModelChange)=\"onCheckedChange($event)\"\n    ></label>\n    <div class=\"vts-table-selection-extra\" *ngIf=\"showRowSelection\">\n      <span\n        vts-dropdown\n        class=\"vts-table-selection-down\"\n        vtsPlacement=\"bottomLeft\"\n        [vtsDropdownMenu]=\"selectionMenu\"\n      >\n        <i vts-icon vtsType=\"ArrowMiniDown\"></i>\n      </span>\n      <vts-dropdown-menu #selectionMenu=\"vtsDropdownMenu\">\n        <ul vts-menu class=\"vts-table-selection-menu\">\n          <li\n            vts-menu-item\n            *ngFor=\"let selection of listOfSelections\"\n            (click)=\"selection.onSelect()\"\n          >\n            {{ selection.text }}\n          </li>\n        </ul>\n      </vts-dropdown-menu>\n    </div>\n  `\n})\nexport class VtsTableSelectionComponent {\n  @Input() listOfSelections: Array<{\n    text: string;\n    onSelect(...args: VtsSafeAny[]): VtsSafeAny;\n  }> = [];\n  @Input() checked = false;\n  @Input() disabled = false;\n  @Input() indeterminate = false;\n  @Input() showCheckbox = false;\n  @Input() showRowSelection = false;\n  @Output() readonly checkedChange = new EventEmitter<boolean>();\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-selection');\n  }\n\n  onCheckedChange(checked: boolean): void {\n    this.checked = checked;\n    this.checkedChange.emit(checked);\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 {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  OnChanges,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsTableSortOrder } from '../table.types';\n\n@Component({\n  selector: 'vts-table-sorters',\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <span>\n      <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n    </span>\n    <span class=\"vts-table-column-sorter\" [class.vts-table-column-sorter-full]=\"isDown && isUp\">\n      <span class=\"vts-table-column-sorter-inner\">\n        <i\n          vts-icon\n          vtsType=\"ArrowUpOutline\"\n          *ngIf=\"isUp\"\n          class=\"vts-table-column-sorter-up\"\n          [class.active]=\"sortOrder == 'ascend'\"\n        ></i>\n        <i\n          vts-icon\n          vtsType=\"ArrowDownOutline\"\n          *ngIf=\"isDown\"\n          class=\"vts-table-column-sorter-down\"\n          [class.active]=\"sortOrder == 'descend'\"\n        ></i>\n      </span>\n    </span>\n  `\n})\nexport class VtsTableSortersComponent implements OnChanges {\n  @Input() sortDirections: VtsTableSortOrder[] = ['ascend', 'descend', null];\n  @Input() sortOrder: VtsTableSortOrder = null;\n  @Input() contentTemplate: TemplateRef<VtsSafeAny> | null = null;\n  isUp = false;\n  isDown = false;\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-column-sorters');\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { sortDirections } = changes;\n    if (sortDirections) {\n      this.isUp = this.sortDirections.indexOf('ascend') !== -1;\n      this.isDown = this.sortDirections.indexOf('descend') !== -1;\n    }\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 { Directive, ElementRef, Input, OnChanges, Renderer2 } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Directive({\n  selector: 'td[vtsRight],th[vtsRight],td[vtsLeft],th[vtsLeft]',\n  host: {\n    '[class.vts-table-cell-fix-right]': `isFixedRight`,\n    '[class.vts-table-cell-fix-left]': `isFixedLeft`,\n    '[style.position]': `isFixed? 'sticky' : null`\n  }\n})\nexport class VtsCellFixedDirective implements OnChanges {\n  @Input() vtsRight: string | boolean = false;\n  @Input() vtsLeft: string | boolean = false;\n  @Input() colspan: number | null = null;\n  @Input() colSpan: number | null = null;\n  changes$ = new Subject<void>();\n  isAutoLeft = false;\n  isAutoRight = false;\n  isFixedLeft = false;\n  isFixedRight = false;\n  isFixed = false;\n\n  setAutoLeftWidth(autoLeft: string | null): void {\n    this.renderer.setStyle(this.elementRef.nativeElement, 'left', autoLeft);\n  }\n\n  setAutoRightWidth(autoRight: string | null): void {\n    this.renderer.setStyle(this.elementRef.nativeElement, 'right', autoRight);\n  }\n\n  setIsFirstRight(isFirstRight: boolean): void {\n    this.setFixClass(isFirstRight, 'vts-table-cell-fix-right-first');\n  }\n\n  setIsLastLeft(isLastLeft: boolean): void {\n    this.setFixClass(isLastLeft, 'vts-table-cell-fix-left-last');\n  }\n\n  private setFixClass(flag: boolean, className: string): void {\n    // the setFixClass function may call many times, so remove it first.\n    this.renderer.removeClass(this.elementRef.nativeElement, className);\n\n    if (flag) {\n      this.renderer.addClass(this.elementRef.nativeElement, className);\n    }\n  }\n\n  constructor(private renderer: Renderer2, private elementRef: ElementRef) {}\n\n  ngOnChanges(): void {\n    this.setIsFirstRight(false);\n    this.setIsLastLeft(false);\n    this.isAutoLeft = this.vtsLeft === '' || this.vtsLeft === true;\n    this.isAutoRight = this.vtsRight === '' || this.vtsRight === true;\n    this.isFixedLeft = this.vtsLeft !== false;\n    this.isFixedRight = this.vtsRight !== false;\n    this.isFixed = this.isFixedLeft || this.isFixedRight;\n    const validatePx = (value: string | boolean): string | null => {\n      if (typeof value === 'string' && value !== '') {\n        return value;\n      } else {\n        return null;\n      }\n    };\n    this.setAutoLeftWidth(validatePx(this.vtsLeft));\n    this.setAutoRightWidth(validatePx(this.vtsRight));\n    this.changes$.next();\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 { Injectable, TemplateRef } from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { BehaviorSubject, combineLatest, merge, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { VtsThMeasureDirective } from './cell/th-measure.directive';\n\n@Injectable()\nexport class VtsTableStyleService {\n  theadTemplate$ = new ReplaySubject<TemplateRef<VtsSafeAny>>(1);\n  hasFixLeft$ = new ReplaySubject<boolean>(1);\n  hasFixRight$ = new ReplaySubject<boolean>(1);\n  hostWidth$ = new ReplaySubject<number>(1);\n  columnCount$ = new ReplaySubject<number>(1);\n  showEmpty$ = new ReplaySubject<boolean>(1);\n  noResult$ = new ReplaySubject<string | TemplateRef<VtsSafeAny> | undefined>(1);\n  private listOfThWidthConfigPx$ = new BehaviorSubject<ReadonlyArray<string | null>>([]);\n  private tableWidthConfigPx$ = new BehaviorSubject<ReadonlyArray<string | null>>([]);\n  manualWidthConfigPx$ = combineLatest([\n    this.tableWidthConfigPx$,\n    this.listOfThWidthConfigPx$\n  ]).pipe(map(([widthConfig, listOfWidth]) => (widthConfig.length ? widthConfig : listOfWidth)));\n  private listOfAutoWidthPx$ = new ReplaySubject<ReadonlyArray<string>>(1);\n  listOfListOfThWidthPx$ = merge(\n    /** init with manual width **/\n    this.manualWidthConfigPx$,\n    combineLatest([this.listOfAutoWidthPx$, this.manualWidthConfigPx$]).pipe(\n      map(([autoWidth, manualWidth]) => {\n        /** use autoWidth until column length match **/\n        if (autoWidth.length === manualWidth.length) {\n          return autoWidth.map((width, index) => {\n            if (width === '0px') {\n              return manualWidth[index] || null;\n            } else {\n              return manualWidth[index] || width;\n            }\n          });\n        } else {\n          return manualWidth;\n        }\n      })\n    )\n  );\n  listOfMeasureColumn$ = new ReplaySubject<ReadonlyArray<string>>(1);\n  listOfListOfThWidth$ = this.listOfAutoWidthPx$.pipe(\n    map(list => list.map(width => parseInt(width, 10)))\n  );\n  enableAutoMeasure$ = new ReplaySubject<boolean>(1);\n\n  setTheadTemplate(template: TemplateRef<VtsSafeAny>): void {\n    this.theadTemplate$.next(template);\n  }\n\n  setHasFixLeft(hasFixLeft: boolean): void {\n    this.hasFixLeft$.next(hasFixLeft);\n  }\n\n  setHasFixRight(hasFixRight: boolean): void {\n    this.hasFixRight$.next(hasFixRight);\n  }\n\n  setTableWidthConfig(widthConfig: ReadonlyArray<string | null>): void {\n    this.tableWidthConfigPx$.next(widthConfig);\n  }\n\n  setListOfTh(listOfTh: ReadonlyArray<VtsThMeasureDirective>): void {\n    let columnCount = 0;\n    listOfTh.forEach(th => {\n      columnCount += (th.colspan && +th.colspan) || (th.colSpan && +th.colSpan) || 1;\n    });\n    const listOfThPx = listOfTh.map(item => item.vtsWidth);\n    this.columnCount$.next(columnCount);\n    this.listOfThWidthConfigPx$.next(listOfThPx);\n  }\n\n  setListOfMeasureColumn(listOfTh: ReadonlyArray<VtsThMeasureDirective>): void {\n    const listOfKeys: string[] = [];\n    listOfTh.forEach(th => {\n      const length = (th.colspan && +th.colspan) || (th.colSpan && +th.colSpan) || 1;\n      for (let i = 0; i < length; i++) {\n        listOfKeys.push(`measure_key_${i}`);\n      }\n    });\n    this.listOfMeasureColumn$.next(listOfKeys);\n  }\n\n  setListOfAutoWidth(listOfAutoWidth: number[]): void {\n    this.listOfAutoWidthPx$.next(listOfAutoWidth.map(width => `${width}px`));\n  }\n\n  setShowEmpty(showEmpty: boolean): void {\n    this.showEmpty$.next(showEmpty);\n  }\n\n  setNoResult(noResult: string | TemplateRef<VtsSafeAny> | undefined): void {\n    this.noResult$.next(noResult);\n  }\n\n  setScroll(scrollX: string | null, scrollY: string | null): void {\n    const enableAutoMeasure = !!(scrollX || scrollY);\n    if (!enableAutoMeasure) {\n      this.setListOfAutoWidth([]);\n    }\n    this.enableAutoMeasure$.next(enableAutoMeasure);\n  }\n\n  constructor() {}\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 */\nimport { Directive, Optional } from '@angular/core';\nimport { VtsTableStyleService } from '../table-style.service';\n\n@Directive({\n  selector: 'th:not(.vts-disable-th):not([mat-cell]), td:not(.vts-disable-td):not([mat-cell])',\n  host: {\n    '[class.vts-table-cell]': 'isInsideTable'\n  }\n})\nexport class VtsTableCellDirective {\n  isInsideTable = false;\n  constructor(@Optional() vtsTableStyleService: VtsTableStyleService) {\n    this.isInsideTable = !!vtsTableStyleService;\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/* tslint:disable:component-selector */\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChange,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\n\n@Component({\n  selector:\n    'td[vtsChecked], td[vtsDisabled], td[vtsIndeterminate], td[vtsIndentSize], td[vtsExpand], td[vtsShowExpand], td[vtsShowCheckbox], td[vtsNoWrap]',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <ng-container *ngIf=\"vtsShowExpand || vtsIndentSize > 0\">\n      <vts-row-indent [indentSize]=\"vtsIndentSize\"></vts-row-indent>\n      <button\n        vts-row-expand-button\n        [expand]=\"vtsExpand\"\n        (expandChange)=\"onExpandChange($event)\"\n        [spaceMode]=\"!vtsShowExpand\"\n        [expandTemplate]=\"vtsExpandTemplate\"\n      ></button>\n    </ng-container>\n    <label\n      vts-checkbox\n      *ngIf=\"vtsShowCheckbox\"\n      [vtsDisabled]=\"vtsDisabled\"\n      [ngModel]=\"vtsChecked\"\n      [vtsIndeterminate]=\"vtsIndeterminate\"\n      (ngModelChange)=\"onCheckedChange($event)\"\n    ></label>\n    <ng-content></ng-content>\n  `,\n  host: {\n    '[class.vts-table-cell-with-append]': `vtsShowExpand || vtsIndentSize > 0`,\n    '[class.vts-table-selection-column]': `vtsShowCheckbox`,\n    '[class.vts-table-cell-nowrap]': `vtsNoWrap`\n  }\n})\nexport class VtsTdAddOnComponent implements OnChanges {\n  static ngAcceptInputType_vtsShowExpand: BooleanInput;\n  static ngAcceptInputType_vtsShowCheckbox: BooleanInput;\n  static ngAcceptInputType_vtsExpand: BooleanInput;\n  static ngAcceptInputType_vtsNoWrap: BooleanInput;\n\n  @Input() vtsChecked = false;\n  @Input() vtsDisabled = false;\n  @Input() vtsIndeterminate = false;\n  @Input() vtsIndentSize = 0;\n  @Input() @InputBoolean() vtsShowExpand = false;\n  @Input() @InputBoolean() vtsShowCheckbox = false;\n  @Input() @InputBoolean() vtsExpand = false;\n  @Input() @InputBoolean() vtsNoWrap = false;\n  @Input() vtsExpandTemplate: TemplateRef<{\n    $implicit: boolean;\n  }> | null = null;\n\n  @Output() readonly vtsCheckedChange = new EventEmitter<boolean>();\n  @Output() readonly vtsExpandChange = new EventEmitter<boolean>();\n  private isVtsShowExpandChanged = false;\n  private isVtsShowCheckboxChanged = false;\n\n  onCheckedChange(checked: boolean): void {\n    this.vtsChecked = checked;\n    this.vtsCheckedChange.emit(checked);\n  }\n\n  onExpandChange(expand: boolean): void {\n    this.vtsExpand = expand;\n    this.vtsExpandChange.emit(expand);\n  }\n  ngOnChanges(changes: SimpleChanges): void {\n    const isFirstChange = (value: SimpleChange) =>\n      value && value.firstChange && value.currentValue !== undefined;\n    const { vtsExpand, vtsChecked, vtsShowExpand, vtsShowCheckbox } = changes;\n    if (vtsShowExpand) {\n      this.isVtsShowExpandChanged = true;\n    }\n    if (vtsShowCheckbox) {\n      this.isVtsShowCheckboxChanged = true;\n    }\n    if (isFirstChange(vtsExpand) && !this.isVtsShowExpandChanged) {\n      this.vtsShowExpand = true;\n    }\n    if (isFirstChange(vtsChecked) && !this.isVtsShowCheckboxChanged) {\n      this.vtsShowCheckbox = true;\n    }\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/* tslint:disable:component-selector */\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChange,\n  SimpleChanges,\n  ViewEncapsulation\n} from '@angular/core';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport {\n  VtsTableFilterFn,\n  VtsTableFilterList,\n  VtsTableFilterValue,\n  VtsTableSortFn,\n  VtsTableSortOrder\n} from '../table.types';\n\n@Component({\n  selector:\n    'th[vtsColumnKey], th[vtsSortFn], th[vtsSortOrder], th[vtsFilters], th[vtsShowSort], th[vtsShowFilter], th[vtsCustomFilter], th[vtsNoWrap]',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <vts-table-filter\n      *ngIf=\"vtsShowFilter || vtsCustomFilter; else notFilterTemplate\"\n      [contentTemplate]=\"notFilterTemplate\"\n      [extraTemplate]=\"extraTemplate\"\n      [customFilter]=\"vtsCustomFilter\"\n      [filterMultiple]=\"vtsFilterMultiple\"\n      [listOfFilter]=\"vtsFilters\"\n      (filterChange)=\"onFilterValueChange($event)\"\n    ></vts-table-filter>\n    <ng-template #notFilterTemplate>\n      <ng-template [ngTemplateOutlet]=\"vtsShowSort ? sortTemplate : contentTemplate\"></ng-template>\n    </ng-template>\n    <ng-template #extraTemplate>\n      <ng-content select=\"[vts-th-extra]\"></ng-content>\n      <ng-content select=\"vts-filter-trigger\"></ng-content>\n    </ng-template>\n    <ng-template #sortTemplate>\n      <vts-table-sorters\n        [sortOrder]=\"sortOrder\"\n        [sortDirections]=\"sortDirections\"\n        [contentTemplate]=\"contentTemplate\"\n      ></vts-table-sorters>\n    </ng-template>\n    <ng-template #contentTemplate>\n      <ng-content></ng-content>\n    </ng-template>\n  `,\n  host: {\n    '[class.vts-table-column-has-sorters]': 'vtsShowSort',\n    '[class.vts-table-column-sort]': `sortOrder === 'descend' || sortOrder === 'ascend'`,\n    '[class.vts-table-cell-nowrap]': `vtsNoWrap`,\n    '(click)': 'emitNextSortValue()'\n  }\n})\nexport class VtsThAddOnComponent implements OnChanges, OnInit, OnDestroy {\n  static ngAcceptInputType_vtsShowSort: BooleanInput;\n  static ngAcceptInputType_vtsShowFilter: BooleanInput;\n  static ngAcceptInputType_vtsCustomFilter: BooleanInput;\n  static ngAcceptInputType_vtsNoWrap: BooleanInput;\n\n  manualClickOrder$ = new Subject<VtsThAddOnComponent>();\n  calcOperatorChange$ = new Subject();\n  vtsFilterValue: VtsTableFilterValue = null;\n  sortOrder: VtsTableSortOrder = null;\n  sortDirections: VtsTableSortOrder[] = ['ascend', 'descend', null];\n  private sortOrderChange$ = new Subject<VtsTableSortOrder>();\n  private destroy$ = new Subject();\n  private isVtsShowSortChanged = false;\n  private isVtsShowFilterChanged = false;\n  @Input() vtsColumnKey?: string;\n  @Input() vtsFilterMultiple = true;\n  @Input() vtsSortOrder: VtsTableSortOrder = null;\n  @Input() vtsSortPriority: number | boolean = false;\n  @Input() vtsSortDirections: VtsTableSortOrder[] = ['ascend', 'descend', null];\n  @Input() vtsFilters: VtsTableFilterList = [];\n  @Input() vtsSortFn: VtsTableSortFn | boolean | null = null;\n  @Input() vtsFilterFn: VtsTableFilterFn | boolean | null = null;\n  @Input() @InputBoolean() vtsShowSort = false;\n  @Input() @InputBoolean() vtsShowFilter = false;\n  @Input() @InputBoolean() vtsCustomFilter = false;\n  @Input() @InputBoolean() vtsNoWrap = false;\n  @Output() readonly vtsCheckedChange = new EventEmitter<boolean>();\n  @Output() readonly vtsSortOrderChange = new EventEmitter<string | null>();\n  @Output() readonly vtsFilterChange = new EventEmitter<VtsTableFilterValue>();\n\n  getNextSortDirection(\n    sortDirections: VtsTableSortOrder[],\n    current: VtsTableSortOrder\n  ): VtsTableSortOrder {\n    const index = sortDirections.indexOf(current);\n    if (index === sortDirections.length - 1) {\n      return sortDirections[0];\n    } else {\n      return sortDirections[index + 1];\n    }\n  }\n\n  emitNextSortValue(): void {\n    if (this.vtsShowSort) {\n      const nextOrder = this.getNextSortDirection(this.sortDirections, this.sortOrder!);\n      this.setSortOrder(nextOrder);\n      this.manualClickOrder$.next(this);\n    }\n  }\n\n  setSortOrder(order: VtsTableSortOrder): void {\n    this.sortOrderChange$.next(order);\n  }\n\n  clearSortOrder(): void {\n    if (this.sortOrder !== null) {\n      this.setSortOrder(null);\n    }\n  }\n\n  onFilterValueChange(value: VtsTableFilterValue): void {\n    this.vtsFilterChange.emit(value);\n    this.vtsFilterValue = value;\n    this.updateCalcOperator();\n  }\n\n  updateCalcOperator(): void {\n    this.calcOperatorChange$.next();\n  }\n\n  constructor(private cdr: ChangeDetectorRef) {}\n\n  ngOnInit(): void {\n    this.sortOrderChange$.pipe(takeUntil(this.destroy$)).subscribe(order => {\n      if (this.sortOrder !== order) {\n        this.sortOrder = order;\n        this.vtsSortOrderChange.emit(order);\n      }\n      this.updateCalcOperator();\n      this.cdr.markForCheck();\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const {\n      vtsSortDirections,\n      vtsFilters,\n      vtsSortOrder,\n      vtsSortFn,\n      vtsFilterFn,\n      vtsSortPriority,\n      vtsFilterMultiple,\n      vtsShowSort,\n      vtsShowFilter\n    } = changes;\n    if (vtsSortDirections) {\n      if (this.vtsSortDirections && this.vtsSortDirections.length) {\n        this.sortDirections = this.vtsSortDirections;\n      }\n    }\n    if (vtsSortOrder) {\n      this.sortOrder = this.vtsSortOrder;\n      this.setSortOrder(this.vtsSortOrder);\n    }\n    if (vtsShowSort) {\n      this.isVtsShowSortChanged = true;\n    }\n    if (vtsShowFilter) {\n      this.isVtsShowFilterChanged = true;\n    }\n    const isFirstChange = (value: SimpleChange) =>\n      value && value.firstChange && value.currentValue !== undefined;\n    if ((isFirstChange(vtsSortOrder) || isFirstChange(vtsSortFn)) && !this.isVtsShowSortChanged) {\n      this.vtsShowSort = true;\n    }\n    if (isFirstChange(vtsFilters) && !this.isVtsShowFilterChanged) {\n      this.vtsShowFilter = true;\n    }\n    if ((vtsFilters || vtsFilterMultiple) && this.vtsShowFilter) {\n      const listOfValue = this.vtsFilters.filter(item => item.byDefault).map(item => item.value);\n      this.vtsFilterValue = this.vtsFilterMultiple ? listOfValue : listOfValue[0] || null;\n    }\n    if (vtsSortFn || vtsFilterFn || vtsSortPriority || vtsFilters) {\n      this.updateCalcOperator();\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 */\nimport { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\nimport { isNil } from '@ui-vts-kit/ng-vts/core/util';\nimport { Subject } from 'rxjs';\n\n@Directive({\n  selector: 'th'\n})\nexport class VtsThMeasureDirective implements OnChanges {\n  changes$ = new Subject();\n  @Input() vtsWidth: string | null = null;\n  @Input() colspan: string | number | null = null;\n  @Input() colSpan: string | number | null = null;\n  @Input() rowspan: string | number | null = null;\n  @Input() rowSpan: string | number | null = null;\n  constructor(private renderer: Renderer2, private elementRef: ElementRef) {}\n  ngOnChanges(changes: SimpleChanges): void {\n    const { vtsWidth, colspan, rowspan, colSpan, rowSpan } = changes;\n    if (colspan || colSpan) {\n      const col = this.colspan || this.colSpan;\n      if (!isNil(col)) {\n        this.renderer.setAttribute(this.elementRef.nativeElement, 'colspan', `${col}`);\n      } else {\n        this.renderer.removeAttribute(this.elementRef.nativeElement, 'colspan');\n      }\n    }\n    if (rowspan || rowSpan) {\n      const row = this.rowspan || this.rowSpan;\n      if (!isNil(row)) {\n        this.renderer.setAttribute(this.elementRef.nativeElement, 'rowspan', `${row}`);\n      } else {\n        this.renderer.removeAttribute(this.elementRef.nativeElement, 'rowspan');\n      }\n    }\n    if (vtsWidth || colspan) {\n      this.changes$.next();\n    }\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/* tslint:disable:component-selector */\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChange,\n  SimpleChanges,\n  ViewEncapsulation\n} from '@angular/core';\nimport { BooleanInput, VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\n\n@Component({\n  selector: 'th[vtsSelections],th[vtsChecked],th[vtsShowCheckbox],th[vtsShowRowSelection]',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <vts-table-selection\n      [checked]=\"vtsChecked\"\n      [disabled]=\"vtsDisabled\"\n      [indeterminate]=\"vtsIndeterminate\"\n      [listOfSelections]=\"vtsSelections\"\n      [showCheckbox]=\"vtsShowCheckbox\"\n      [showRowSelection]=\"vtsShowRowSelection\"\n      (checkedChange)=\"onCheckedChange($event)\"\n    ></vts-table-selection>\n    <ng-content></ng-content>\n  `\n})\nexport class VtsThSelectionComponent implements OnChanges {\n  static ngAcceptInputType_vtsShowCheckbox: BooleanInput;\n  static ngAcceptInputType_vtsShowRowSelection: BooleanInput;\n\n  @Input() vtsSelections: Array<{\n    text: string;\n    onSelect(...args: VtsSafeAny[]): VtsSafeAny;\n  }> = [];\n  @Input() vtsChecked = false;\n  @Input() vtsDisabled = false;\n  @Input() vtsIndeterminate = false;\n  @Input() @InputBoolean() vtsShowCheckbox = false;\n  @Input() @InputBoolean() vtsShowRowSelection = false;\n  @Output() readonly vtsCheckedChange = new EventEmitter<boolean>();\n\n  private isVtsShowExpandChanged = false;\n  private isVtsShowCheckboxChanged = false;\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-selection-column');\n  }\n\n  onCheckedChange(checked: boolean): void {\n    this.vtsChecked = checked;\n    this.vtsCheckedChange.emit(checked);\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const isFirstChange = (value: SimpleChange) =>\n      value && value.firstChange && value.currentValue !== undefined;\n    const { vtsChecked, vtsSelections, vtsShowExpand, vtsShowCheckbox } = changes;\n    if (vtsShowExpand) {\n      this.isVtsShowExpandChanged = true;\n    }\n    if (vtsShowCheckbox) {\n      this.isVtsShowCheckboxChanged = true;\n    }\n    if (isFirstChange(vtsSelections) && !this.isVtsShowExpandChanged) {\n      this.vtsShowRowSelection = true;\n    }\n    if (isFirstChange(vtsChecked) && !this.isVtsShowCheckboxChanged) {\n      this.vtsShowCheckbox = true;\n    }\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 { Directive, Input } from '@angular/core';\n\n@Directive({\n  selector: 'th[vtsAlign],td[vtsAlign]',\n  host: {\n    '[style.text-align]': 'vtsAlign'\n  }\n})\nexport class VtsCellAlignDirective {\n  @Input() vtsAlign: 'left' | 'right' | 'center' | null = null;\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 { Directive, Input } from '@angular/core';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\n\n@Directive({\n  selector: 'th[vtsEllipsis],td[vtsEllipsis]',\n  host: {\n    '[class.vts-table-cell-ellipsis]': 'vtsEllipsis'\n  }\n})\nexport class VtsCellEllipsisDirective {\n  static ngAcceptInputType_vtsEllipsis: BooleanInput;\n\n  @Input() @InputBoolean() vtsEllipsis = true;\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 { Directive, Input } from '@angular/core';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\n\n@Directive({\n  selector: 'th[vtsBreakWord],td[vtsBreakWord]',\n  host: {\n    '[style.word-break]': `vtsBreakWord ? 'break-all' : ''`\n  }\n})\nexport class VtsCellBreakWordDirective {\n  static ngAcceptInputType_vtsBreakWord: BooleanInput;\n\n  @Input() @InputBoolean() vtsBreakWord = true;\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 {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsTableLayout } from '../table.types';\n\n@Component({\n  selector: 'table[vts-table-content]',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <col [style.width]=\"width\" [style.minWidth]=\"width\" *ngFor=\"let width of listOfColWidth\" />\n    <thead class=\"vts-table-thead\" *ngIf=\"theadTemplate\">\n      <ng-template [ngTemplateOutlet]=\"theadTemplate\"></ng-template>\n    </thead>\n    <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n    <ng-content></ng-content>\n  `,\n  host: {\n    '[style.table-layout]': 'tableLayout',\n    '[class.vts-table-fixed]': 'scrollX',\n    '[style.width]': 'scrollX',\n    '[style.min-width]': `scrollX ? '100%': null`\n  }\n})\nexport class VtsTableContentComponent {\n  @Input() tableLayout: VtsTableLayout = 'auto';\n  @Input() theadTemplate: TemplateRef<VtsSafeAny> | null = null;\n  @Input() contentTemplate: TemplateRef<VtsSafeAny> | null = null;\n  @Input() listOfColWidth: ReadonlyArray<string | null> = [];\n  @Input() scrollX: string | null = null;\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 {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { VtsTableStyleService } from '../table-style.service';\n\n@Component({\n  selector: 'tr[vts-table-fixed-row], tr[vtsExpand]',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <td class=\"vts-disable-td vts-table-cell\" #tdElement>\n      <div\n        class=\"vts-table-expanded-row-fixed\"\n        *ngIf=\"enableAutoMeasure$ | async; else contentTemplate\"\n        style=\"position: sticky; left: 0px; overflow: hidden;\"\n        [style.width.px]=\"hostWidth$ | async\"\n      >\n        <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n      </div>\n    </td>\n    <ng-template #contentTemplate><ng-content></ng-content></ng-template>\n  `\n})\nexport class VtsTableFixedRowComponent implements OnInit, OnDestroy, AfterViewInit {\n  @ViewChild('tdElement') tdElement!: ElementRef;\n  hostWidth$ = new BehaviorSubject<number | null>(null);\n  enableAutoMeasure$ = new BehaviorSubject<boolean>(false);\n  private destroy$ = new Subject();\n  constructor(private vtsTableStyleService: VtsTableStyleService, private renderer: Renderer2) {}\n  ngOnInit(): void {\n    if (this.vtsTableStyleService) {\n      const { enableAutoMeasure$, hostWidth$ } = this.vtsTableStyleService;\n      enableAutoMeasure$.pipe(takeUntil(this.destroy$)).subscribe(this.enableAutoMeasure$);\n      hostWidth$.subscribe(this.hostWidth$);\n    }\n  }\n  ngAfterViewInit(): void {\n    this.vtsTableStyleService.columnCount$.pipe(takeUntil(this.destroy$)).subscribe(count => {\n      this.renderer.setAttribute(this.tdElement.nativeElement, 'colspan', `${count}`);\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 {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsTableLayout } from '../table.types';\n\n@Component({\n  selector: 'vts-table-inner-default',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <div class=\"vts-table-content\">\n      <table\n        vts-table-content\n        [contentTemplate]=\"contentTemplate\"\n        [tableLayout]=\"tableLayout\"\n        [listOfColWidth]=\"listOfColWidth\"\n        [theadTemplate]=\"theadTemplate\"\n      ></table>\n    </div>\n  `\n})\nexport class VtsTableInnerDefaultComponent {\n  @Input() tableLayout: VtsTableLayout = 'auto';\n  @Input() listOfColWidth: ReadonlyArray<string | null> = [];\n  @Input() theadTemplate: TemplateRef<VtsSafeAny> | null = null;\n  @Input() contentTemplate: TemplateRef<VtsSafeAny> | null = null;\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-container');\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 {\n  AfterContentInit,\n  ContentChildren,\n  Directive,\n  OnDestroy,\n  Optional,\n  QueryList,\n  Input\n} from '@angular/core';\nimport { combineLatest, merge, Observable, ReplaySubject, Subject } from 'rxjs';\nimport { map, mergeMap, startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { VtsCellFixedDirective } from '../cell/cell-fixed.directive';\nimport { VtsThMeasureDirective } from '../cell/th-measure.directive';\nimport { VtsTableStyleService } from '../table-style.service';\n\n@Directive({\n  selector:\n    'tr:not([mat-row]):not([mat-header-row]):not([vts-table-measure-row]):not([vtsExpand]):not([vts-table-fixed-row])',\n  host: {\n    '[class.vts-table-row]': 'isInsideTable',\n    '[class.vts-table-row-odd]': 'isOdd',\n    '[class.vts-table-row-even]': '!isOdd'\n  }\n})\nexport class VtsTrDirective implements AfterContentInit, OnDestroy {\n  @Input() isOdd: boolean = true;\n  @ContentChildren(VtsThMeasureDirective)\n  listOfVtsThDirective!: QueryList<VtsThMeasureDirective>;\n  @ContentChildren(VtsCellFixedDirective)\n  listOfCellFixedDirective!: QueryList<VtsCellFixedDirective>;\n  private destroy$ = new Subject<void>();\n  private listOfFixedColumns$ = new ReplaySubject<VtsCellFixedDirective[]>(1);\n  private listOfColumns$ = new ReplaySubject<VtsThMeasureDirective[]>(1);\n  listOfFixedColumnsChanges$: Observable<VtsCellFixedDirective[]> = this.listOfFixedColumns$.pipe(\n    switchMap(list =>\n      merge(\n        ...[this.listOfFixedColumns$, ...list.map((c: VtsCellFixedDirective) => c.changes$)]\n      ).pipe(mergeMap(() => this.listOfFixedColumns$))\n    ),\n    takeUntil(this.destroy$)\n  );\n  listOfFixedLeftColumnChanges$ = this.listOfFixedColumnsChanges$.pipe(\n    map(list => list.filter(item => item.vtsLeft !== false))\n  );\n  listOfFixedRightColumnChanges$ = this.listOfFixedColumnsChanges$.pipe(\n    map(list => list.filter(item => item.vtsRight !== false))\n  );\n  listOfColumnsChanges$: Observable<VtsThMeasureDirective[]> = this.listOfColumns$.pipe(\n    switchMap(list =>\n      merge(...[this.listOfColumns$, ...list.map((c: VtsThMeasureDirective) => c.changes$)]).pipe(\n        mergeMap(() => this.listOfColumns$)\n      )\n    ),\n    takeUntil(this.destroy$)\n  );\n  isInsideTable = false;\n\n  constructor(@Optional() private vtsTableStyleService: VtsTableStyleService) {\n    this.isInsideTable = !!vtsTableStyleService;\n  }\n\n  ngAfterContentInit(): void {\n    if (this.vtsTableStyleService) {\n      this.listOfCellFixedDirective.changes\n        .pipe(startWith(this.listOfCellFixedDirective), takeUntil(this.destroy$))\n        .subscribe(this.listOfFixedColumns$);\n      this.listOfVtsThDirective.changes\n        .pipe(startWith(this.listOfVtsThDirective), takeUntil(this.destroy$))\n        .subscribe(this.listOfColumns$);\n      /** set last left and first right **/\n      this.listOfFixedLeftColumnChanges$.subscribe(listOfFixedLeft => {\n        listOfFixedLeft.forEach(cell =>\n          cell.setIsLastLeft(cell === listOfFixedLeft[listOfFixedLeft.length - 1])\n        );\n      });\n      this.listOfFixedRightColumnChanges$.subscribe(listOfFixedRight => {\n        listOfFixedRight.forEach(cell => cell.setIsFirstRight(cell === listOfFixedRight[0]));\n      });\n      /** calculate fixed vtsLeft and vtsRight **/\n      combineLatest([\n        this.vtsTableStyleService.listOfListOfThWidth$,\n        this.listOfFixedLeftColumnChanges$\n      ])\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(([listOfAutoWidth, listOfLeftCell]) => {\n          listOfLeftCell.forEach((cell, index) => {\n            if (cell.isAutoLeft) {\n              const currentArray = listOfLeftCell.slice(0, index);\n              const count = currentArray.reduce(\n                (pre, cur) => pre + (cur.colspan || cur.colSpan || 1),\n                0\n              );\n              const width = listOfAutoWidth.slice(0, count).reduce((pre, cur) => pre + cur, 0);\n              cell.setAutoLeftWidth(`${width}px`);\n            }\n          });\n        });\n      combineLatest([\n        this.vtsTableStyleService.listOfListOfThWidth$,\n        this.listOfFixedRightColumnChanges$\n      ])\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(([listOfAutoWidth, listOfRightCell]) => {\n          listOfRightCell.forEach((_, index) => {\n            const cell = listOfRightCell[listOfRightCell.length - index - 1];\n            if (cell.isAutoRight) {\n              const currentArray = listOfRightCell.slice(\n                listOfRightCell.length - index,\n                listOfRightCell.length\n              );\n              const count = currentArray.reduce(\n                (pre, cur) => pre + (cur.colspan || cur.colSpan || 1),\n                0\n              );\n              const width = listOfAutoWidth\n                .slice(listOfAutoWidth.length - count, listOfAutoWidth.length)\n                .reduce((pre, cur) => pre + cur, 0);\n              cell.setAutoRightWidth(`${width}px`);\n            }\n          });\n        });\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/* tslint:disable:component-selector */\n\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgZone,\n  OnDestroy,\n  Output,\n  QueryList,\n  ViewChildren,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsResizeObserver } from '@ui-vts-kit/ng-vts/cdk/resize-observer';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { debounceTime, map, startWith, switchMap, takeUntil } from 'rxjs/operators';\n\n@Component({\n  selector: 'tr[vts-table-measure-row]',\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <td\n      #tdElement\n      class=\"vts-disable-td\"\n      style=\"padding: 0px; border: 0px; height: 0px;\"\n      *ngFor=\"let th of listOfMeasureColumn; trackBy: trackByFunc\"\n    ></td>\n  `\n})\nexport class VtsTrMeasureComponent implements AfterViewInit, OnDestroy {\n  @Input() listOfMeasureColumn: ReadonlyArray<string> = [];\n  @Output() readonly listOfAutoWidth = new EventEmitter<number[]>();\n  @ViewChildren('tdElement') listOfTdElement!: QueryList<ElementRef>;\n  private destroy$ = new Subject();\n  constructor(\n    private vtsResizeObserver: VtsResizeObserver,\n    private ngZone: NgZone,\n    private elementRef: ElementRef\n  ) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-measure-now');\n  }\n  trackByFunc(_: number, key: string): string {\n    return key;\n  }\n  ngAfterViewInit(): void {\n    this.listOfTdElement.changes\n      .pipe(startWith(this.listOfTdElement))\n      .pipe(\n        switchMap(list => {\n          return combineLatest(\n            list.toArray().map((item: ElementRef) => {\n              return this.vtsResizeObserver.observe(item).pipe(\n                map(([entry]) => {\n                  const { width } = entry.target.getBoundingClientRect();\n                  return Math.floor(width);\n                })\n              );\n            })\n          ) as Observable<number[]>;\n        }),\n        debounceTime(16),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(data => {\n        this.ngZone.run(() => {\n          this.listOfAutoWidth.next(data);\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/* tslint:disable:component-selector */\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  OnDestroy,\n  Optional,\n  TemplateRef,\n  ViewEncapsulation,\n  ContentChildren,\n  QueryList,\n  AfterContentInit,\n  AfterViewInit\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { VtsTableStyleService } from '../table-style.service';\nimport { VtsTrDirective } from './tr.directive';\n\n@Component({\n  selector: 'tbody',\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <ng-container *ngIf=\"listOfMeasureColumn$ | async as listOfMeasureColumn\">\n      <tr\n        vts-table-measure-row\n        *ngIf=\"isInsideTable && listOfMeasureColumn.length\"\n        [listOfMeasureColumn]=\"listOfMeasureColumn\"\n        (listOfAutoWidth)=\"onListOfAutoWidthChange($event)\"\n      ></tr>\n    </ng-container>\n    <ng-content></ng-content>\n    <tr class=\"vts-table-placeholder\" vts-table-fixed-row *ngIf=\"showEmpty$ | async\">\n      <vts-embed-empty\n        vtsComponentName=\"table\"\n        [specificContent]=\"(noResult$ | async)!\"\n      ></vts-embed-empty>\n    </tr>\n  `,\n  host: {\n    '[class.vts-table-tbody]': 'isInsideTable'\n  }\n})\nexport class VtsTbodyComponent implements OnDestroy, AfterContentInit, AfterViewInit {\n  @ContentChildren(VtsTrDirective, { descendants: true })\n  listOfVtsTrDirective!: QueryList<VtsTrDirective>;\n  isInsideTable = false;\n  showEmpty$ = new BehaviorSubject<boolean>(false);\n  noResult$ = new BehaviorSubject<string | TemplateRef<VtsSafeAny> | undefined>(undefined);\n  listOfMeasureColumn$ = new BehaviorSubject<ReadonlyArray<string>>([]);\n  private destroy$ = new Subject<void>();\n\n  constructor(@Optional() private vtsTableStyleService: VtsTableStyleService) {\n    this.isInsideTable = !!this.vtsTableStyleService;\n    if (this.vtsTableStyleService) {\n      const { showEmpty$, noResult$, listOfMeasureColumn$ } = this.vtsTableStyleService;\n      noResult$.pipe(takeUntil(this.destroy$)).subscribe(this.noResult$);\n      listOfMeasureColumn$.pipe(takeUntil(this.destroy$)).subscribe(this.listOfMeasureColumn$);\n      showEmpty$.pipe(takeUntil(this.destroy$)).subscribe(this.showEmpty$);\n    }\n  }\n\n  onListOfAutoWidthChange(listOfAutoWidth: number[]): void {\n    this.vtsTableStyleService.setListOfAutoWidth(listOfAutoWidth);\n  }\n\n  ngAfterViewInit() {\n    if (this.listOfVtsTrDirective.length) {\n      this.listOfVtsTrDirective.toArray().forEach((r, i) => (r.isOdd = i % 2 == 1));\n    }\n  }\n\n  ngAfterContentInit(): void {\n    this.listOfVtsTrDirective.changes\n      .pipe(takeUntil(this.destroy$))\n      .subscribe((rows: QueryList<VtsTrDirective>) => {\n        rows.toArray().forEach((r, i) => (r.isOdd = i % 2 == 1));\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 { Platform } from '@angular/cdk/platform';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  TrackByFunction,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsResizeService } from '@ui-vts-kit/ng-vts/core/services';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { delay, filter, startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { VtsTableData } from '../table.types';\n\n@Component({\n  selector: 'vts-table-inner-scroll',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <ng-container *ngIf=\"scrollY\">\n      <div\n        #tableHeaderElement\n        [ngStyle]=\"headerStyleMap\"\n        class=\"vts-table-header vts-table-hide-scrollbar\"\n      >\n        <table\n          vts-table-content\n          tableLayout=\"fixed\"\n          [scrollX]=\"scrollX\"\n          [listOfColWidth]=\"listOfColWidth\"\n          [theadTemplate]=\"theadTemplate\"\n        ></table>\n      </div>\n      <div\n        #tableBodyElement\n        *ngIf=\"!virtualTemplate\"\n        class=\"vts-table-body\"\n        [ngStyle]=\"bodyStyleMap\"\n      >\n        <table\n          vts-table-content\n          tableLayout=\"fixed\"\n          [scrollX]=\"scrollX\"\n          [listOfColWidth]=\"listOfColWidth\"\n          [contentTemplate]=\"contentTemplate\"\n        ></table>\n      </div>\n      <cdk-virtual-scroll-viewport\n        #tableBodyElement\n        *ngIf=\"virtualTemplate\"\n        [itemSize]=\"virtualItemSize\"\n        [maxBufferPx]=\"virtualMaxBufferPx\"\n        [minBufferPx]=\"virtualMinBufferPx\"\n        [style.height]=\"data.length ? scrollY : noDateVirtualHeight\"\n      >\n        <table\n          vts-table-content\n          tableLayout=\"fixed\"\n          [scrollX]=\"scrollX\"\n          [listOfColWidth]=\"listOfColWidth\"\n        >\n          <tbody>\n            <ng-container\n              *cdkVirtualFor=\"let item of data; let i = index; trackBy: virtualForTrackBy\"\n            >\n              <ng-template\n                [ngTemplateOutlet]=\"virtualTemplate\"\n                [ngTemplateOutletContext]=\"{\n                  $implicit: item,\n                  index: i\n                }\"\n              ></ng-template>\n            </ng-container>\n          </tbody>\n        </table>\n      </cdk-virtual-scroll-viewport>\n    </ng-container>\n    <div class=\"vts-table-content\" #tableBodyElement *ngIf=\"!scrollY\" [ngStyle]=\"bodyStyleMap\">\n      <table\n        vts-table-content\n        tableLayout=\"fixed\"\n        [scrollX]=\"scrollX\"\n        [listOfColWidth]=\"listOfColWidth\"\n        [theadTemplate]=\"theadTemplate\"\n        [contentTemplate]=\"contentTemplate\"\n      ></table>\n    </div>\n  `\n})\nexport class VtsTableInnerScrollComponent implements OnChanges, AfterViewInit, OnDestroy {\n  @Input() data: ReadonlyArray<VtsTableData> = [];\n  @Input() scrollX: string | null = null;\n  @Input() scrollY: string | null = null;\n  @Input() contentTemplate: TemplateRef<VtsSafeAny> | null = null;\n  @Input() widthConfig: string[] = [];\n  @Input() listOfColWidth: ReadonlyArray<string | null> = [];\n  @Input() theadTemplate: TemplateRef<VtsSafeAny> | null = null;\n  @Input() virtualTemplate: TemplateRef<VtsSafeAny> | null = null;\n  @Input() virtualItemSize = 0;\n  @Input() virtualMaxBufferPx = 200;\n  @Input() virtualMinBufferPx = 100;\n  @Input() tableMainElement?: HTMLDivElement;\n  @Input() virtualForTrackBy: TrackByFunction<VtsTableData> = index => index;\n  @ViewChild('tableHeaderElement', { read: ElementRef })\n  tableHeaderElement!: ElementRef;\n  @ViewChild('tableBodyElement', { read: ElementRef })\n  tableBodyElement!: ElementRef;\n  @ViewChild(CdkVirtualScrollViewport, { read: CdkVirtualScrollViewport })\n  cdkVirtualScrollViewport?: CdkVirtualScrollViewport;\n  headerStyleMap = {};\n  bodyStyleMap = {};\n  @Input() verticalScrollBarWidth = 0;\n  noDateVirtualHeight = '182px';\n  private data$ = new Subject<void>();\n  private scroll$ = new Subject<void>();\n  private destroy$ = new Subject<void>();\n\n  setScrollPositionClassName(clear: boolean = false): void {\n    const { scrollWidth, scrollLeft, clientWidth } = this.tableBodyElement.nativeElement;\n    const leftClassName = 'vts-table-ping-left';\n    const rightClassName = 'vts-table-ping-right';\n    if ((scrollWidth === clientWidth && scrollWidth !== 0) || clear) {\n      this.renderer.removeClass(this.tableMainElement, leftClassName);\n      this.renderer.removeClass(this.tableMainElement, rightClassName);\n    } else if (scrollLeft === 0) {\n      this.renderer.removeClass(this.tableMainElement, leftClassName);\n      this.renderer.addClass(this.tableMainElement, rightClassName);\n    } else if (scrollWidth === scrollLeft + clientWidth) {\n      this.renderer.removeClass(this.tableMainElement, rightClassName);\n      this.renderer.addClass(this.tableMainElement, leftClassName);\n    } else {\n      this.renderer.addClass(this.tableMainElement, leftClassName);\n      this.renderer.addClass(this.tableMainElement, rightClassName);\n    }\n  }\n\n  constructor(\n    private renderer: Renderer2,\n    private ngZone: NgZone,\n    private platform: Platform,\n    private resizeService: VtsResizeService,\n    private elementRef: ElementRef\n  ) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-container');\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { scrollX, scrollY, data } = changes;\n    if (scrollX || scrollY) {\n      const hasVerticalScrollBar = this.verticalScrollBarWidth !== 0;\n      this.headerStyleMap = {\n        overflowX: 'hidden',\n        overflowY: this.scrollY && hasVerticalScrollBar ? 'scroll' : 'hidden'\n      };\n      this.bodyStyleMap = {\n        overflowY: this.scrollY ? 'scroll' : 'hidden',\n        overflowX: this.scrollX ? 'auto' : null,\n        maxHeight: this.scrollY\n      };\n      this.scroll$.next();\n    }\n    if (data) {\n      this.data$.next();\n    }\n  }\n  ngAfterViewInit(): void {\n    if (this.platform.isBrowser) {\n      this.ngZone.runOutsideAngular(() => {\n        const scrollEvent$ = this.scroll$.pipe(\n          startWith(null),\n          delay(0),\n          switchMap(() =>\n            fromEvent<MouseEvent>(this.tableBodyElement.nativeElement, 'scroll').pipe(\n              startWith(true)\n            )\n          ),\n          takeUntil(this.destroy$)\n        );\n        const resize$ = this.resizeService.subscribe().pipe(takeUntil(this.destroy$));\n        const data$ = this.data$.pipe(takeUntil(this.destroy$));\n        const setClassName$ = merge(scrollEvent$, resize$, data$, this.scroll$).pipe(\n          startWith(true),\n          delay(0),\n          takeUntil(this.destroy$)\n        );\n        setClassName$.subscribe(() => this.setScrollPositionClassName());\n        scrollEvent$\n          .pipe(filter(() => !!this.scrollY))\n          .subscribe(\n            () =>\n              (this.tableHeaderElement.nativeElement.scrollLeft =\n                this.tableBodyElement.nativeElement.scrollLeft)\n          );\n      });\n    }\n  }\n  ngOnDestroy(): void {\n    this.setScrollPositionClassName(true);\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 { Directive, TemplateRef } from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\n@Directive({\n  selector: '[vts-virtual-scroll]',\n  exportAs: 'vtsVirtualScroll'\n})\nexport class VtsTableVirtualScrollDirective {\n  constructor(public templateRef: TemplateRef<{ $implicit: VtsSafeAny; index: number }>) {}\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 { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs';\nimport {\n  debounceTime,\n  distinctUntilChanged,\n  filter,\n  map,\n  skip,\n  switchMap,\n  takeUntil\n} from 'rxjs/operators';\nimport {\n  VtsTableData,\n  VtsTableFilterFn,\n  VtsTableFilterValue,\n  VtsTableQueryParams,\n  VtsTableSortFn,\n  VtsTableSortOrder\n} from './table.types';\n\n@Injectable()\nexport class VtsTableDataService implements OnDestroy {\n  private destroy$ = new Subject();\n  private pageIndex$ = new BehaviorSubject<number>(1);\n  private frontPagination$ = new BehaviorSubject<boolean>(true);\n  private pageSize$ = new BehaviorSubject<number>(10);\n  private listOfData$ = new BehaviorSubject<ReadonlyArray<VtsTableData>>([]);\n  pageIndexDistinct$ = this.pageIndex$.pipe(distinctUntilChanged());\n  pageSizeDistinct$ = this.pageSize$.pipe(distinctUntilChanged());\n  listOfCalcOperator$ = new BehaviorSubject<\n    Array<{\n      key?: string;\n      sortFn: VtsTableSortFn | null | boolean;\n      sortOrder: VtsTableSortOrder;\n      filterFn: VtsTableFilterFn | null | boolean;\n      filterValue: VtsTableFilterValue;\n      sortPriority: number | boolean;\n    }>\n  >([]);\n  queryParams$: Observable<VtsTableQueryParams> = combineLatest([\n    this.pageIndexDistinct$,\n    this.pageSizeDistinct$,\n    this.listOfCalcOperator$\n  ]).pipe(\n    debounceTime(0),\n    skip(1),\n    map(([pageIndex, pageSize, listOfCalc]) => {\n      return {\n        pageIndex,\n        pageSize,\n        sort: listOfCalc\n          .filter(item => item.sortFn)\n          .map(item => {\n            return {\n              key: item.key!,\n              value: item.sortOrder\n            };\n          }),\n        filter: listOfCalc\n          .filter(item => item.filterFn)\n          .map(item => {\n            return {\n              key: item.key!,\n              value: item.filterValue\n            };\n          })\n      };\n    })\n  );\n  private listOfDataAfterCalc$ = combineLatest([this.listOfData$, this.listOfCalcOperator$]).pipe(\n    map(([listOfData, listOfCalcOperator]) => {\n      let listOfDataAfterCalc = [...listOfData];\n      const listOfFilterOperator = listOfCalcOperator.filter(item => {\n        const { filterValue, filterFn } = item;\n        const isReset =\n          filterValue === null ||\n          filterValue === undefined ||\n          (Array.isArray(filterValue) && filterValue!.length === 0);\n        return !isReset && typeof filterFn === 'function';\n      });\n      for (const item of listOfFilterOperator) {\n        const { filterFn, filterValue } = item;\n        listOfDataAfterCalc = listOfDataAfterCalc.filter(data =>\n          (filterFn as VtsTableFilterFn)(filterValue, data)\n        );\n      }\n      const listOfSortOperator = listOfCalcOperator\n        .filter(item => item.sortOrder !== null && typeof item.sortFn === 'function')\n        .sort((a, b) => +b.sortPriority - +a.sortPriority);\n      if (listOfCalcOperator.length) {\n        listOfDataAfterCalc.sort((record1, record2) => {\n          for (const item of listOfSortOperator) {\n            const { sortFn, sortOrder } = item;\n            if (sortFn && sortOrder) {\n              const compareResult = (sortFn as VtsTableSortFn)(record1, record2, sortOrder);\n              if (compareResult !== 0) {\n                return sortOrder === 'ascend' ? compareResult : -compareResult;\n              }\n            }\n          }\n          return 0;\n        });\n      }\n      return listOfDataAfterCalc;\n    })\n  );\n  private listOfFrontEndCurrentPageData$ = combineLatest([\n    this.pageIndexDistinct$,\n    this.pageSizeDistinct$,\n    this.listOfDataAfterCalc$\n  ]).pipe(\n    takeUntil(this.destroy$),\n    filter(value => {\n      const [pageIndex, pageSize, listOfData] = value;\n      const maxPageIndex = Math.ceil(listOfData.length / pageSize) || 1;\n      return pageIndex <= maxPageIndex;\n    }),\n    map(([pageIndex, pageSize, listOfData]) => {\n      return listOfData.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);\n    })\n  );\n  listOfCurrentPageData$ = this.frontPagination$.pipe(\n    switchMap(pagination => (pagination ? this.listOfFrontEndCurrentPageData$ : this.listOfData$))\n  );\n  total$ = this.frontPagination$.pipe(\n    switchMap(pagination => (pagination ? this.listOfDataAfterCalc$ : this.listOfData$)),\n    map(list => list.length),\n    distinctUntilChanged()\n  );\n\n  updatePageSize(size: number): void {\n    this.pageSize$.next(size);\n  }\n  updateFrontPagination(pagination: boolean): void {\n    this.frontPagination$.next(pagination);\n  }\n  updatePageIndex(index: number): void {\n    this.pageIndex$.next(index);\n  }\n  updateListOfData(list: ReadonlyArray<VtsTableData>): void {\n    this.listOfData$.next(list);\n  }\n  constructor() {}\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 {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\n@Component({\n  selector: 'vts-table-title-footer',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <ng-container *vtsStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n    <ng-container *vtsStringTemplateOutlet=\"footer\">{{ footer }}</ng-container>\n  `,\n  host: {\n    '[class.vts-table-title]': `title !== null`,\n    '[class.vts-table-footer]': `footer !== null`\n  }\n})\nexport class VtsTableTitleFooterComponent {\n  @Input() title: string | TemplateRef<VtsSafeAny> | null = null;\n  @Input() footer: string | TemplateRef<VtsSafeAny> | null = null;\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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  TrackByFunction,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsConfigKey, VtsConfigService, WithConfig } from '@ui-vts-kit/ng-vts/core/config';\nimport { VtsResizeObserver } from '@ui-vts-kit/ng-vts/cdk/resize-observer';\nimport { BooleanInput, VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean, measureScrollbar } from '@ui-vts-kit/ng-vts/core/util';\nimport { PaginationItemRenderContext, VtsPaginationComponent } from '@ui-vts-kit/ng-vts/pagination';\nimport { BehaviorSubject, combineLatest, Subject } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { VtsTableDataService } from '../table-data.service';\nimport { VtsTableStyleService } from '../table-style.service';\nimport {\n  VtsTableData,\n  VtsTableLayout,\n  VtsTablePaginationPosition,\n  VtsTableQueryParams,\n  VtsTableSize\n} from '../table.types';\nimport { VtsTableInnerScrollComponent } from './table-inner-scroll.component';\nimport { VtsTableVirtualScrollDirective } from './table-virtual-scroll.directive';\n\nconst VTS_CONFIG_MODULE_NAME: VtsConfigKey = 'table';\n\n@Component({\n  selector: 'vts-table',\n  exportAs: 'vtsTable',\n  providers: [VtsTableStyleService, VtsTableDataService],\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <vts-spin\n      [vtsDelay]=\"vtsLoadingDelay\"\n      [vtsSpinning]=\"vtsLoading\"\n      [vtsIndicator]=\"vtsLoadingIndicator\"\n    >\n      <ng-container *ngIf=\"vtsPaginationPosition === 'both' || vtsPaginationPosition === 'top'\">\n        <ng-template [ngTemplateOutlet]=\"paginationTemplate\"></ng-template>\n      </ng-container>\n      <div\n        #tableMainElement\n        class=\"vts-table\"\n        [class.vts-table-rtl]=\"dir === 'rtl'\"\n        [class.vts-table-fixed-header]=\"vtsData.length && scrollY\"\n        [class.vts-table-fixed-column]=\"scrollX\"\n        [class.vts-table-has-fix-left]=\"hasFixLeft\"\n        [class.vts-table-has-fix-right]=\"hasFixRight\"\n        [class.vts-table-bordered]=\"vtsBordered\"\n        [class.vts-table-out-bordered]=\"vtsOuterBordered && !vtsBordered\"\n        [class.vts-table-lg]=\"vtsSize === 'lg'\"\n        [class.vts-table-sm]=\"vtsSize === 'sm'\"\n        [class.vts-table-stripe]=\"vtsStripe\"\n      >\n        <vts-table-title-footer [title]=\"vtsTitle\" *ngIf=\"vtsTitle\"></vts-table-title-footer>\n        <vts-table-inner-scroll\n          *ngIf=\"scrollY || scrollX; else defaultTemplate\"\n          [data]=\"data\"\n          [scrollX]=\"scrollX\"\n          [scrollY]=\"scrollY\"\n          [contentTemplate]=\"contentTemplate\"\n          [listOfColWidth]=\"listOfAutoColWidth\"\n          [theadTemplate]=\"theadTemplate\"\n          [verticalScrollBarWidth]=\"verticalScrollBarWidth\"\n          [virtualTemplate]=\"\n            vtsVirtualScrollDirective ? vtsVirtualScrollDirective.templateRef : null\n          \"\n          [virtualItemSize]=\"vtsVirtualItemSize\"\n          [virtualMaxBufferPx]=\"vtsVirtualMaxBufferPx\"\n          [virtualMinBufferPx]=\"vtsVirtualMinBufferPx\"\n          [tableMainElement]=\"tableMainElement\"\n          [virtualForTrackBy]=\"vtsVirtualForTrackBy\"\n        ></vts-table-inner-scroll>\n        <ng-template #defaultTemplate>\n          <vts-table-inner-default\n            [tableLayout]=\"vtsTableLayout\"\n            [listOfColWidth]=\"listOfManualColWidth\"\n            [theadTemplate]=\"theadTemplate\"\n            [contentTemplate]=\"contentTemplate\"\n          ></vts-table-inner-default>\n        </ng-template>\n        <vts-table-title-footer [footer]=\"vtsFooter\" *ngIf=\"vtsFooter\"></vts-table-title-footer>\n      </div>\n      <ng-container *ngIf=\"vtsPaginationPosition === 'both' || vtsPaginationPosition === 'bottom'\">\n        <ng-template [ngTemplateOutlet]=\"paginationTemplate\"></ng-template>\n      </ng-container>\n    </vts-spin>\n    <ng-template #paginationTemplate>\n      <vts-pagination\n        *ngIf=\"vtsShowPagination && data.length\"\n        [hidden]=\"!showPagination\"\n        class=\"vts-table-pagination vts-table-pagination-right\"\n        [vtsShowSizeChanger]=\"vtsShowSizeChanger\"\n        [vtsPageSizeOptions]=\"vtsPageSizeOptions\"\n        [vtsItemRender]=\"vtsItemRender!\"\n        [vtsShowQuickJumper]=\"vtsShowQuickJumper\"\n        [vtsHidePaginationOnSinglePage]=\"vtsHidePaginationOnSinglePage\"\n        [vtsShowTotal]=\"vtsShowTotal\"\n        [vtsPageSize]=\"vtsPageSize\"\n        [vtsTotal]=\"vtsTotal\"\n        [vtsSimple]=\"vtsSimple\"\n        [vtsMini]=\"vtsMini\"\n        [vtsResponsive]=\"vtsResponsive\"\n        [vtsRounded]=\"vtsRounded\"\n        [vtsOutline]=\"vtsOutline\"\n        [vtsPageIndex]=\"vtsPageIndex\"\n        (vtsPageSizeChange)=\"onPageSizeChange($event)\"\n        (vtsPageIndexChange)=\"onPageIndexChange($event)\"\n      ></vts-pagination>\n    </ng-template>\n    <ng-template #contentTemplate>\n      <ng-content></ng-content>\n    </ng-template>\n  `,\n  host: {\n    '[class.vts-table-wrapper-rtl]': 'dir === \"rtl\"'\n  }\n})\nexport class VtsTableComponent<T = VtsSafeAny>\n  implements OnInit, OnDestroy, OnChanges, AfterViewInit\n{\n  readonly _vtsModuleName: VtsConfigKey = VTS_CONFIG_MODULE_NAME;\n\n  static ngAcceptInputType_vtsClientPagination: BooleanInput;\n  static ngAcceptInputType_vtsTemplateMode: BooleanInput;\n  static ngAcceptInputType_vtsShowPagination: BooleanInput;\n  static ngAcceptInputType_vtsLoading: BooleanInput;\n  static ngAcceptInputType_vtsBordered: BooleanInput;\n  static ngAcceptInputType_vtsOuterBordered: BooleanInput;\n  static ngAcceptInputType_vtsShowSizeChanger: BooleanInput;\n  static ngAcceptInputType_vtsHidePaginationOnSinglePage: BooleanInput;\n  static ngAcceptInputType_vtsShowQuickJumper: BooleanInput;\n  static ngAcceptInputType_vtsSimple: BooleanInput;\n  static ngAcceptInputType_vtsMini: BooleanInput;\n  static ngAcceptInputType_vtsOutline: BooleanInput;\n  static ngAcceptInputType_vtsRounded: BooleanInput;\n  static ngAcceptInputType_vtsResponsive: BooleanInput;\n  static ngAcceptInputType_vtsStripe: BooleanInput;\n\n  @Input() vtsTableLayout: VtsTableLayout = 'auto';\n  @Input() vtsShowTotal: TemplateRef<{\n    $implicit: number;\n    range: [number, number];\n  }> | null = null;\n  @Input()\n  @Input()\n  vtsItemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n  @Input() vtsTitle: string | TemplateRef<VtsSafeAny> | null = null;\n  @Input() vtsFooter: string | TemplateRef<VtsSafeAny> | null = null;\n  @Input() vtsNoResult: string | TemplateRef<VtsSafeAny> | undefined = undefined;\n  @Input() vtsPageSizeOptions = [10, 20, 30, 40];\n  @Input() vtsVirtualItemSize = 0;\n  @Input() vtsVirtualMaxBufferPx = 200;\n  @Input() vtsVirtualMinBufferPx = 100;\n  @Input() vtsVirtualForTrackBy: TrackByFunction<VtsTableData> = index => index;\n  @Input() vtsLoadingDelay = 0;\n  @Input() vtsPageIndex = 1;\n  @Input() vtsPageSize = 10;\n  @Input() vtsTotal = 0;\n  @Input() vtsWidthConfig: ReadonlyArray<string | null> = [];\n  @Input() vtsData: ReadonlyArray<T> = [];\n  @Input() vtsPaginationPosition: VtsTablePaginationPosition = 'bottom';\n  @Input() vtsScroll: { x?: string | null; y?: string | null } = {\n    x: null,\n    y: null\n  };\n  @Input() @InputBoolean() vtsClientPagination = true;\n  @Input() @InputBoolean() vtsTemplateMode = false;\n  @Input() @InputBoolean() vtsShowPagination = false;\n  @Input() @InputBoolean() vtsLoading = false;\n  @Input() @InputBoolean() vtsOuterBordered = false;\n  @Input() vtsLoadingIndicator: TemplateRef<VtsSafeAny> | null = null;\n  @Input() @WithConfig() @InputBoolean() vtsBordered: boolean = true;\n  @Input() @WithConfig() vtsSize: VtsTableSize = 'sm';\n  @Input() @WithConfig() @InputBoolean() vtsShowSizeChanger: boolean = false;\n  @Input() @WithConfig() @InputBoolean() vtsHidePaginationOnSinglePage: boolean = true;\n  @Input() @WithConfig() @InputBoolean() vtsShowQuickJumper: boolean = false;\n  @Input() @WithConfig() @InputBoolean() vtsSimple: boolean = false;\n  @Input() @InputBoolean() vtsMini: boolean = false;\n  @Input() @InputBoolean() vtsResponsive: boolean = false;\n  @Input() @InputBoolean() vtsRounded: boolean = false;\n  @Input() @InputBoolean() vtsOutline: boolean = false;\n  @Input() @InputBoolean() vtsStripe: boolean = true;\n  @Output() readonly vtsPageSizeChange = new EventEmitter<number>();\n  @Output() readonly vtsPageIndexChange = new EventEmitter<number>();\n  @Output() readonly vtsQueryParams = new EventEmitter<VtsTableQueryParams>();\n  @Output() readonly vtsCurrentPageDataChange = new EventEmitter<ReadonlyArray<VtsTableData>>();\n\n  @ViewChild(VtsPaginationComponent) pagination?: VtsPaginationComponent;\n\n  /** public data for ngFor tr */\n  public data: ReadonlyArray<T> = [];\n  public cdkVirtualScrollViewport?: CdkVirtualScrollViewport;\n  scrollX: string | null = null;\n  scrollY: string | null = null;\n  theadTemplate: TemplateRef<VtsSafeAny> | null = null;\n  listOfAutoColWidth: ReadonlyArray<string | null> = [];\n  listOfManualColWidth: ReadonlyArray<string | null> = [];\n  hasFixLeft = false;\n  hasFixRight = false;\n  showPagination = true;\n  private destroy$ = new Subject<void>();\n  private loading$ = new BehaviorSubject<boolean>(false);\n  private templateMode$ = new BehaviorSubject<boolean>(false);\n  dir: Direction = 'ltr';\n  @ContentChild(VtsTableVirtualScrollDirective, { static: false })\n  vtsVirtualScrollDirective!: VtsTableVirtualScrollDirective;\n  @ViewChild(VtsTableInnerScrollComponent)\n  vtsTableInnerScrollComponent!: VtsTableInnerScrollComponent;\n  verticalScrollBarWidth = 0;\n  onPageSizeChange(size: number): void {\n    this.vtsTableDataService.updatePageSize(size);\n  }\n\n  onPageIndexChange(index: number): void {\n    this.vtsTableDataService.updatePageIndex(index);\n  }\n\n  constructor(\n    private elementRef: ElementRef,\n    private vtsResizeObserver: VtsResizeObserver,\n    private vtsConfigService: VtsConfigService,\n    private cdr: ChangeDetectorRef,\n    private vtsTableStyleService: VtsTableStyleService,\n    private vtsTableDataService: VtsTableDataService,\n    @Optional() private directionality: Directionality\n  ) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-wrapper');\n    this.vtsConfigService\n      .getConfigChangeEventForComponent(VTS_CONFIG_MODULE_NAME)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => {\n        this.cdr.markForCheck();\n      });\n  }\n\n  ngOnInit(): void {\n    const { pageIndexDistinct$, pageSizeDistinct$, listOfCurrentPageData$, total$, queryParams$ } =\n      this.vtsTableDataService;\n    const { theadTemplate$, hasFixLeft$, hasFixRight$ } = this.vtsTableStyleService;\n\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n\n    queryParams$.pipe(takeUntil(this.destroy$)).subscribe(this.vtsQueryParams);\n    pageIndexDistinct$.pipe(takeUntil(this.destroy$)).subscribe(pageIndex => {\n      if (pageIndex !== this.vtsPageIndex) {\n        this.vtsPageIndex = pageIndex;\n        this.vtsPageIndexChange.next(pageIndex);\n      }\n    });\n    pageSizeDistinct$.pipe(takeUntil(this.destroy$)).subscribe(pageSize => {\n      if (pageSize !== this.vtsPageSize) {\n        this.vtsPageSize = pageSize;\n        this.vtsPageSizeChange.next(pageSize);\n      }\n    });\n    total$\n      .pipe(\n        takeUntil(this.destroy$),\n        filter(() => this.vtsClientPagination)\n      )\n      .subscribe(total => {\n        if (total !== this.vtsTotal) {\n          this.vtsTotal = total;\n          this.cdr.markForCheck();\n        }\n      });\n    listOfCurrentPageData$.pipe(takeUntil(this.destroy$)).subscribe(data => {\n      this.data = data;\n      this.vtsCurrentPageDataChange.next(data);\n      this.cdr.markForCheck();\n    });\n\n    theadTemplate$.pipe(takeUntil(this.destroy$)).subscribe(theadTemplate => {\n      this.theadTemplate = theadTemplate;\n      this.cdr.markForCheck();\n    });\n\n    hasFixLeft$.pipe(takeUntil(this.destroy$)).subscribe(hasFixLeft => {\n      this.hasFixLeft = hasFixLeft;\n      this.cdr.markForCheck();\n    });\n\n    hasFixRight$.pipe(takeUntil(this.destroy$)).subscribe(hasFixRight => {\n      this.hasFixRight = hasFixRight;\n      this.cdr.markForCheck();\n    });\n\n    combineLatest([total$, this.loading$, this.templateMode$])\n      .pipe(\n        map(([total, loading, templateMode]) => total === 0 && !loading && !templateMode),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(empty => {\n        this.vtsTableStyleService.setShowEmpty(empty);\n      });\n\n    this.verticalScrollBarWidth = measureScrollbar('vertical');\n    this.vtsTableStyleService.listOfListOfThWidthPx$\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(listOfWidth => {\n        this.listOfAutoColWidth = listOfWidth;\n        this.cdr.markForCheck();\n      });\n    this.vtsTableStyleService.manualWidthConfigPx$\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(listOfWidth => {\n        this.listOfManualColWidth = listOfWidth;\n        this.cdr.markForCheck();\n      });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const {\n      vtsScroll,\n      vtsPageIndex,\n      vtsPageSize,\n      vtsClientPagination,\n      vtsData,\n      vtsWidthConfig,\n      vtsNoResult,\n      vtsLoading,\n      vtsTemplateMode\n    } = changes;\n    if (vtsPageIndex) {\n      this.vtsTableDataService.updatePageIndex(this.vtsPageIndex);\n    }\n    if (vtsPageSize) {\n      this.vtsTableDataService.updatePageSize(this.vtsPageSize);\n    }\n    if (vtsData) {\n      this.vtsData = this.vtsData || [];\n      this.vtsTableDataService.updateListOfData(this.vtsData);\n    }\n    if (vtsClientPagination) {\n      this.vtsTableDataService.updateFrontPagination(this.vtsClientPagination);\n    }\n    if (vtsScroll) {\n      this.setScrollOnChanges();\n    }\n    if (vtsWidthConfig) {\n      this.vtsTableStyleService.setTableWidthConfig(this.vtsWidthConfig);\n    }\n    if (vtsLoading) {\n      this.loading$.next(this.vtsLoading);\n    }\n    if (vtsTemplateMode) {\n      this.templateMode$.next(this.vtsTemplateMode);\n    }\n    if (vtsNoResult) {\n      this.vtsTableStyleService.setNoResult(this.vtsNoResult);\n    }\n\n    this.updateShowPagination();\n  }\n\n  ngAfterViewInit(): void {\n    this.vtsResizeObserver\n      .observe(this.elementRef)\n      .pipe(\n        map(([entry]) => {\n          const { width } = entry.target.getBoundingClientRect();\n          const scrollBarWidth = this.scrollY ? this.verticalScrollBarWidth : 0;\n          return Math.floor(width - scrollBarWidth);\n        }),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(this.vtsTableStyleService.hostWidth$);\n    if (\n      this.vtsTableInnerScrollComponent &&\n      this.vtsTableInnerScrollComponent.cdkVirtualScrollViewport\n    ) {\n      this.cdkVirtualScrollViewport = this.vtsTableInnerScrollComponent.cdkVirtualScrollViewport;\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  private setScrollOnChanges(): void {\n    this.scrollX = (this.vtsScroll && this.vtsScroll.x) || null;\n    this.scrollY = (this.vtsScroll && this.vtsScroll.y) || null;\n    this.vtsTableStyleService.setScroll(this.scrollX, this.scrollY);\n  }\n\n  private updateShowPagination(): void {\n    this.showPagination =\n      (this.vtsHidePaginationOnSinglePage && this.vtsData.length > this.vtsPageSize) ||\n      (this.vtsData.length > 0 && !this.vtsHidePaginationOnSinglePage) ||\n      (!this.vtsClientPagination && this.vtsTotal > this.vtsPageSize);\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/* tslint:disable:component-selector */\nimport {\n  AfterContentInit,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  QueryList,\n  Renderer2,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\nimport { EMPTY, merge, Observable, of, Subject } from 'rxjs';\nimport { delay, map, mergeMap, startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { VtsThAddOnComponent } from '../cell/th-addon.component';\nimport { VtsTableDataService } from '../table-data.service';\nimport { VtsTableStyleService } from '../table-style.service';\nimport { VtsTrDirective } from './tr.directive';\n\n@Component({\n  selector: 'thead:not(.vts-table-thead)',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <ng-template #contentTemplate>\n      <ng-content></ng-content>\n    </ng-template>\n    <ng-container *ngIf=\"!isInsideTable\">\n      <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n    </ng-container>\n  `\n})\nexport class VtsTheadComponent implements AfterContentInit, OnDestroy, AfterViewInit, OnInit {\n  private destroy$ = new Subject<void>();\n  isInsideTable = false;\n  @ViewChild('contentTemplate', { static: true })\n  templateRef!: TemplateRef<VtsSafeAny>;\n  @ContentChildren(VtsTrDirective, { descendants: true })\n  listOfVtsTrDirective!: QueryList<VtsTrDirective>;\n  @ContentChildren(VtsThAddOnComponent, { descendants: true })\n  listOfVtsThAddOnComponent!: QueryList<VtsThAddOnComponent>;\n  @Output() readonly vtsSortOrderChange = new EventEmitter<{\n    key: VtsSafeAny;\n    value: string | null;\n  }>();\n\n  constructor(\n    private elementRef: ElementRef,\n    private renderer: Renderer2,\n    @Optional() private vtsTableStyleService: VtsTableStyleService,\n    @Optional() private vtsTableDataService: VtsTableDataService\n  ) {\n    this.isInsideTable = !!this.vtsTableStyleService;\n  }\n\n  ngOnInit(): void {\n    if (this.vtsTableStyleService) {\n      this.vtsTableStyleService.setTheadTemplate(this.templateRef);\n    }\n  }\n\n  ngAfterContentInit(): void {\n    if (this.vtsTableStyleService) {\n      const firstTableRow$ = this.listOfVtsTrDirective.changes.pipe(\n        startWith(this.listOfVtsTrDirective),\n        map(item => item && item.first)\n      ) as Observable<VtsTrDirective>;\n      const listOfColumnsChanges$ = firstTableRow$.pipe(\n        switchMap(firstTableRow => (firstTableRow ? firstTableRow.listOfColumnsChanges$ : EMPTY)),\n        takeUntil(this.destroy$)\n      );\n      listOfColumnsChanges$.subscribe(data => this.vtsTableStyleService.setListOfTh(data));\n      /** TODO: need reset the measure row when scrollX change **/\n      this.vtsTableStyleService.enableAutoMeasure$\n        .pipe(switchMap(enable => (enable ? listOfColumnsChanges$ : of([]))))\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(data => this.vtsTableStyleService.setListOfMeasureColumn(data));\n      const listOfFixedLeftColumnChanges$ = firstTableRow$.pipe(\n        switchMap(firstTr => (firstTr ? firstTr.listOfFixedLeftColumnChanges$ : EMPTY)),\n        takeUntil(this.destroy$)\n      );\n      const listOfFixedRightColumnChanges$ = firstTableRow$.pipe(\n        switchMap(firstTr => (firstTr ? firstTr.listOfFixedRightColumnChanges$ : EMPTY)),\n        takeUntil(this.destroy$)\n      );\n      listOfFixedLeftColumnChanges$.subscribe(listOfFixedLeftColumn => {\n        this.vtsTableStyleService.setHasFixLeft(listOfFixedLeftColumn.length !== 0);\n      });\n      listOfFixedRightColumnChanges$.subscribe(listOfFixedRightColumn => {\n        this.vtsTableStyleService.setHasFixRight(listOfFixedRightColumn.length !== 0);\n      });\n    }\n    if (this.vtsTableDataService) {\n      const listOfColumn$ = this.listOfVtsThAddOnComponent.changes.pipe(\n        startWith(this.listOfVtsThAddOnComponent)\n      ) as Observable<QueryList<VtsThAddOnComponent>>;\n      const manualSort$ = listOfColumn$.pipe(\n        switchMap(() => merge(...this.listOfVtsThAddOnComponent.map(th => th.manualClickOrder$))),\n        takeUntil(this.destroy$)\n      );\n      manualSort$.subscribe((data: VtsThAddOnComponent) => {\n        const emitValue = { key: data.vtsColumnKey, value: data.sortOrder };\n        this.vtsSortOrderChange.emit(emitValue);\n        if (data.vtsSortFn && data.vtsSortPriority === false) {\n          this.listOfVtsThAddOnComponent\n            .filter(th => th !== data)\n            .forEach(th => th.clearSortOrder());\n        }\n      });\n      const listOfCalcOperator$ = listOfColumn$.pipe(\n        switchMap(list =>\n          merge(\n            ...[listOfColumn$, ...list.map((c: VtsThAddOnComponent) => c.calcOperatorChange$)]\n          ).pipe(mergeMap(() => listOfColumn$))\n        ),\n        map(list =>\n          list\n            .filter(item => !!item.vtsSortFn || !!item.vtsFilterFn)\n            .map(item => {\n              const {\n                vtsSortFn,\n                sortOrder,\n                vtsFilterFn,\n                vtsFilterValue,\n                vtsSortPriority,\n                vtsColumnKey\n              } = item;\n              return {\n                key: vtsColumnKey,\n                sortFn: vtsSortFn,\n                sortPriority: vtsSortPriority,\n                sortOrder: sortOrder!,\n                filterFn: vtsFilterFn!,\n                filterValue: vtsFilterValue\n              };\n            })\n        ),\n        // TODO: after checked error here\n        delay(0),\n        takeUntil(this.destroy$)\n      );\n      listOfCalcOperator$.subscribe(list => {\n        this.vtsTableDataService.listOfCalcOperator$.next(list);\n      });\n    }\n  }\n\n  ngAfterViewInit(): void {\n    if (this.vtsTableStyleService) {\n      this.renderer.removeChild(\n        this.renderer.parentNode(this.elementRef.nativeElement),\n        this.elementRef.nativeElement\n      );\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 { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n  selector: 'tr[vtsExpand]',\n  host: {\n    '[hidden]': `!vtsExpand`\n  }\n})\nexport class VtsTrExpandDirective {\n  @Input() vtsExpand = true;\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-table-expanded-row');\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 */\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { VtsButtonModule } from '@ui-vts-kit/ng-vts/button';\nimport { VtsCheckboxModule } from '@ui-vts-kit/ng-vts/checkbox';\nimport { VtsOutletModule } from '@ui-vts-kit/ng-vts/core/outlet';\nimport { VtsResizeObserverModule } from '@ui-vts-kit/ng-vts/cdk/resize-observer';\nimport { VtsDropDownModule } from '@ui-vts-kit/ng-vts/dropdown';\nimport { VtsEmptyModule } from '@ui-vts-kit/ng-vts/empty';\nimport { VtsI18nModule } from '@ui-vts-kit/ng-vts/i18n';\nimport { VtsIconModule } from '@ui-vts-kit/ng-vts/icon';\nimport { VtsMenuModule } from '@ui-vts-kit/ng-vts/menu';\nimport { VtsPaginationModule } from '@ui-vts-kit/ng-vts/pagination';\nimport { VtsRadioModule } from '@ui-vts-kit/ng-vts/radio';\nimport { VtsSpinModule } from '@ui-vts-kit/ng-vts/spin';\nimport { VtsFilterTriggerComponent } from './addon/filter-trigger.component';\nimport { VtsTableFilterComponent } from './addon/filter.component';\nimport { VtsRowExpandButtonComponent } from './addon/row-expand-button.directive';\nimport { VtsRowIndentDirective } from './addon/row-indent.directive';\nimport { VtsTableSelectionComponent } from './addon/selection.component';\nimport { VtsTableSortersComponent } from './addon/sorters.component';\nimport { VtsCellFixedDirective } from './cell/cell-fixed.directive';\nimport { VtsTableCellDirective } from './cell/cell.directive';\nimport { VtsTdAddOnComponent } from './cell/td-addon.component';\nimport { VtsThAddOnComponent } from './cell/th-addon.component';\nimport { VtsThMeasureDirective } from './cell/th-measure.directive';\nimport { VtsThSelectionComponent } from './cell/th-selection.component';\nimport { VtsCellAlignDirective } from './styled/align.directive';\nimport { VtsCellEllipsisDirective } from './styled/ellipsis.directive';\nimport { VtsCellBreakWordDirective } from './styled/word-break.directive';\nimport { VtsTableContentComponent } from './table/table-content.component';\nimport { VtsTableFixedRowComponent } from './table/table-fixed-row.component';\nimport { VtsTableInnerDefaultComponent } from './table/table-inner-default.component';\nimport { VtsTableInnerScrollComponent } from './table/table-inner-scroll.component';\nimport { VtsTableVirtualScrollDirective } from './table/table-virtual-scroll.directive';\nimport { VtsTableComponent } from './table/table.component';\nimport { VtsTbodyComponent } from './table/tbody.component';\nimport { VtsTheadComponent } from './table/thead.component';\nimport { VtsTableTitleFooterComponent } from './table/title-footer.component';\nimport { VtsTrExpandDirective } from './table/tr-expand.directive';\nimport { VtsTrMeasureComponent } from './table/tr-measure.component';\nimport { VtsTrDirective } from './table/tr.directive';\n\n@NgModule({\n  declarations: [\n    VtsTableComponent,\n    VtsThAddOnComponent,\n    VtsTableCellDirective,\n    VtsThMeasureDirective,\n    VtsTdAddOnComponent,\n    VtsTheadComponent,\n    VtsTbodyComponent,\n    VtsTrDirective,\n    VtsTrExpandDirective,\n    VtsTableVirtualScrollDirective,\n    VtsCellFixedDirective,\n    VtsTableContentComponent,\n    VtsTableTitleFooterComponent,\n    VtsTableInnerDefaultComponent,\n    VtsTableInnerScrollComponent,\n    VtsTrMeasureComponent,\n    VtsRowIndentDirective,\n    VtsRowExpandButtonComponent,\n    VtsCellBreakWordDirective,\n    VtsCellAlignDirective,\n    VtsTableSortersComponent,\n    VtsTableFilterComponent,\n    VtsTableSelectionComponent,\n    VtsCellEllipsisDirective,\n    VtsFilterTriggerComponent,\n    VtsTableFixedRowComponent,\n    VtsThSelectionComponent\n  ],\n  exports: [\n    VtsTableComponent,\n    VtsThAddOnComponent,\n    VtsTableCellDirective,\n    VtsThMeasureDirective,\n    VtsTdAddOnComponent,\n    VtsTheadComponent,\n    VtsTbodyComponent,\n    VtsTrDirective,\n    VtsTableVirtualScrollDirective,\n    VtsCellFixedDirective,\n    VtsFilterTriggerComponent,\n    VtsTrExpandDirective,\n    VtsCellBreakWordDirective,\n    VtsCellAlignDirective,\n    VtsCellEllipsisDirective,\n    VtsTableFixedRowComponent,\n    VtsThSelectionComponent\n  ],\n  imports: [\n    BidiModule,\n    VtsMenuModule,\n    FormsModule,\n    VtsOutletModule,\n    VtsRadioModule,\n    VtsCheckboxModule,\n    VtsDropDownModule,\n    VtsButtonModule,\n    CommonModule,\n    PlatformModule,\n    VtsPaginationModule,\n    VtsResizeObserverModule,\n    VtsSpinModule,\n    VtsI18nModule,\n    VtsIconModule,\n    VtsEmptyModule,\n    ScrollingModule,\n    VtsResizeObserverModule\n  ]\n})\nexport class VtsTableModule {}\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 { VtsSafeAny, VtsSizeLMSType } from '@ui-vts-kit/ng-vts/core/types';\n\nexport type VtsTableData =\n  | VtsSafeAny\n  | {\n      [key: string]: VtsTableData;\n    };\nexport type VtsTableLayout = 'fixed' | 'auto';\nexport type VtsTablePaginationPosition = 'top' | 'bottom' | 'both';\nexport type VtsTablePaginationType = 'default' | 'small';\nexport type VtsTableSize = VtsSizeLMSType;\nexport type VtsTableFilterList = Array<{\n  text: string;\n  value: VtsSafeAny;\n  byDefault?: boolean;\n}>;\nexport type VtsTableSortOrder = string | 'ascend' | 'descend' | null;\nexport type VtsTableSortFn = (\n  a: VtsTableData,\n  b: VtsTableData,\n  sortOrder?: VtsTableSortOrder\n) => number;\nexport type VtsTableFilterValue = VtsSafeAny[] | VtsSafeAny;\nexport type VtsTableFilterFn = (value: VtsTableFilterValue, data: VtsTableData) => boolean;\n\nexport interface VtsTableQueryParams {\n  pageIndex: number;\n  pageSize: number;\n  sort: Array<{ key: string; value: VtsTableSortOrder }>;\n  filter: Array<{ key: string; value: VtsTableFilterValue }>;\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\nexport * from './src/table.module';\nexport * from './src/table.types';\nexport * from './src/table-data.service';\nexport * from './src/table-style.service';\nexport * from './src/table/table.component';\nexport * from './src/table/table-content.component';\nexport * from './src/table/table-fixed-row.component';\nexport * from './src/table/table-inner-default.component';\nexport * from './src/table/table-inner-scroll.component';\nexport * from './src/table/table-virtual-scroll.directive';\nexport * from './src/table/table-fixed-row.component';\nexport * from './src/table/tbody.component';\nexport * from './src/table/thead.component';\nexport * from './src/table/tr.directive';\nexport * from './src/table/tr-expand.directive';\nexport * from './src/table/title-footer.component';\nexport * from './src/table/tr-measure.component';\nexport * from './src/cell/cell-fixed.directive';\nexport * from './src/cell/cell.directive';\nexport * from './src/cell/th-measure.directive';\nexport * from './src/cell/td-addon.component';\nexport * from './src/cell/th-selection.component';\nexport * from './src/cell/th-addon.component';\nexport * from './src/addon/filter.component';\nexport * from './src/addon/row-expand-button.directive';\nexport * from './src/addon/row-indent.directive';\nexport * from './src/addon/selection.component';\nexport * from './src/addon/sorters.component';\nexport * from './src/addon/filter-trigger.component';\nexport * from './src/styled/align.directive';\nexport * from './src/styled/ellipsis.directive';\nexport * from './src/styled/word-break.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i4","i6","i9","i11.VtsFilterTriggerComponent","i2","i3","i5","i7","i1.VtsTableStyleService","i4.VtsRowIndentDirective","i5.VtsRowExpandButtonComponent","i2.VtsTableSortersComponent","i3.VtsTableFilterComponent","i1.VtsTableSelectionComponent","i1.VtsTableContentComponent","i4.VtsTrMeasureComponent","i5.VtsTableFixedRowComponent","i5.VtsTbodyComponent","i6.VtsTableContentComponent","i3.VtsTableStyleService","i4.VtsTableDataService","i8","i9.VtsTableTitleFooterComponent","i10.VtsTableInnerDefaultComponent","i11.VtsTableInnerScrollComponent","i2.VtsTableDataService"],"mappings":"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"}