{"version":3,"file":"ui-vts-kit-ng-vts-tree-view.mjs","sources":["../../components/tree-view/node-base.ts","../../components/tree-view/utils.ts","../../components/tree-view/tree.ts","../../components/tree-view/indent.ts","../../components/tree-view/node.ts","../../components/tree-view/checkbox.ts","../../components/tree-view/option.ts","../../components/tree-view/outlet.ts","../../components/tree-view/padding.ts","../../components/tree-view/toggle.ts","../../components/tree-view/tree-view.ts","../../components/tree-view/tree-virtual-scroll-view.ts","../../components/tree-view/tree-view.module.ts","../../components/tree-view/data-source.ts","../../components/tree-view/public-api.ts","../../components/tree-view/ui-vts-kit-ng-vts-tree-view.ts"],"sourcesContent":["import { CdkTreeNode } from '@angular/cdk/tree';\n\nexport abstract class VtsNodeBase<T> extends CdkTreeNode<T> {\n  abstract setIndents(indents: boolean[]): void;\n  abstract isLeaf: boolean;\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 function getParent<T>(nodes: T[], node: T, getLevel: (dataNode: T) => number): T | null {\n  let index = nodes.indexOf(node);\n  if (index < 0) {\n    return null;\n  }\n  const level = getLevel(node);\n  for (index--; index >= 0; index--) {\n    const preLevel = getLevel(nodes[index]);\n    if (preLevel + 1 === level) {\n      return nodes[index];\n    }\n    if (preLevel + 1 < level) {\n      return null;\n    }\n  }\n  return null;\n}\n\nexport function getNextSibling<T>(\n  nodes: T[],\n  node: T,\n  getLevel: (dataNode: T) => number,\n  _index?: number\n): T | null {\n  let index = typeof _index !== 'undefined' ? _index : nodes.indexOf(node);\n  if (index < 0) {\n    return null;\n  }\n  const level = getLevel(node);\n\n  for (index++; index < nodes.length; index++) {\n    const nextLevel = getLevel(nodes[index]);\n    if (nextLevel < level) {\n      return null;\n    }\n    if (nextLevel === level) {\n      return nodes[index];\n    }\n  }\n  return null;\n}\n\nexport function getPrevSibling<T>(\n  nodes: T[],\n  node: T,\n  getLevel: (dataNode: T) => number,\n  _index?: number\n): T | null {\n  let index = typeof _index !== 'undefined' ? _index : nodes.indexOf(node);\n  if (index < 0) {\n    return null;\n  }\n  const level = getLevel(node);\n\n  for (index--; index >= 0; index--) {\n    const prevLevel = getLevel(nodes[index]);\n    if (prevLevel < level) {\n      return null;\n    }\n    if (prevLevel === level) {\n      return nodes[index];\n    }\n  }\n  return 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 { CdkTree, TreeControl } from '@angular/cdk/tree';\nimport {\n  ChangeDetectorRef,\n  Component,\n  Host,\n  Input,\n  IterableDiffer,\n  IterableDiffers,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  SimpleChanges,\n  ViewContainerRef\n} from '@angular/core';\nimport { VtsNoAnimationDirective } from '@ui-vts-kit/ng-vts/core/no-animation';\nimport { Subject } from 'rxjs';\nimport { BooleanInput, NumberInput, VtsSafeAny, VtsSizeLMSType } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean, InputNumber } from '@ui-vts-kit/ng-vts/core/util';\nimport { takeUntil } from 'rxjs/operators';\nimport { DataSource } from '@angular/cdk/collections';\n\n@Component({ template: '' })\n//@ts-ignore\nexport class VtsTreeView<T, F> extends CdkTree<T> implements OnInit, OnDestroy, OnChanges {\n  static ngAcceptInputType_vtsShowLine: BooleanInput;\n  static ngAcceptInputType_vtsIndent: NumberInput;\n  static ngAcceptInputType_vtsInitialIndent: NumberInput;\n\n  private destroy$ = new Subject();\n  dir: Direction = 'ltr';\n  _dataSourceChanged = new Subject<void>();\n  _reRenderNodes = new Subject<void>();\n  @Input('vtsTreeControl') override treeControl!: TreeControl<T, VtsSafeAny>;\n  @Input('vtsDataSource')\n  override get dataSource(): DataSource<T> {\n    return super.dataSource as DataSource<T>;\n  }\n  override set dataSource(dataSource: DataSource<T>) {\n    super.dataSource = dataSource;\n  }\n  @Input() @InputNumber() vtsIndent: number = 24;\n  @Input() @InputNumber() vtsInitialIndent: number = 8;\n  @Input() @InputBoolean() vtsShowLine = false;\n  @Input() vtsSize: VtsSizeLMSType = 'md';\n\n  constructor(\n    protected differs: IterableDiffers,\n    protected changeDetectorRef: ChangeDetectorRef,\n    @Host() @Optional() public noAnimation?: VtsNoAnimationDirective,\n    @Optional() private directionality?: Directionality\n  ) {\n    super(differs, changeDetectorRef);\n  }\n\n  override ngOnInit(): void {\n    super.ngOnInit();\n\n    if (this.directionality) {\n      this.dir = this.directionality.value;\n      this.directionality.change\n        ?.pipe(takeUntil(this.destroy$))\n        .subscribe((direction: Direction) => {\n          this.dir = direction;\n          this.changeDetectorRef.detectChanges();\n        });\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { vtsShowLine } = changes;\n    if (vtsShowLine) {\n      this._reRenderNodes.next();\n    }\n  }\n\n  override ngOnDestroy(): void {\n    super.ngOnDestroy();\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  override renderNodeChanges(\n    data: T[] | ReadonlyArray<T>,\n    dataDiffer?: IterableDiffer<T>,\n    viewContainer?: ViewContainerRef,\n    parentData?: T\n  ): void {\n    super.renderNodeChanges(data, dataDiffer, viewContainer, parentData);\n    this._dataSourceChanged.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 { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'vts-tree-node-indents',\n  template: `\n    <span\n      class=\"vts-tree-indent-unit\"\n      [class.vts-tree-indent-unit-start]=\"first\"\n      [class.vts-tree-indent-unit-end]=\"last\"\n      [class.vts-tree-indent-unit-eliminated]=\"isEliminated\"\n      *ngFor=\"let isEliminated of indents; let last = last; let first = first\"\n    ></span>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'vts-tree-indent'\n  }\n})\nexport class VtsTreeNodeIndentsComponent {\n  @Input() indents: boolean[] = [];\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 { CdkTreeNode, CdkTreeNodeDef, CdkTreeNodeOutletContext } from '@angular/cdk/tree';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  Directive,\n  ElementRef,\n  EmbeddedViewRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChange,\n  SimpleChanges,\n  ViewContainerRef\n} from '@angular/core';\n\nimport { BooleanInput, VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\nimport { VtsTreeView } from './tree';\nimport { VtsNodeBase } from './node-base';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { getNextSibling, getParent, getPrevSibling } from './utils';\nimport { VtsDestroyService } from '@ui-vts-kit/ng-vts/core/services';\nimport { takeUntil } from 'rxjs/operators';\n\nexport interface VtsTreeVirtualNodeData<T> {\n  data: T;\n  context: CdkTreeNodeOutletContext<T>;\n  nodeDef: CdkTreeNodeDef<T>;\n}\n\n@Component({\n  selector: 'vts-tree-node:not([builtin])',\n  exportAs: 'vtsTreeNode',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    { provide: CdkTreeNode, useExisting: VtsTreeNodeComponent },\n    { provide: VtsNodeBase, useExisting: VtsTreeNodeComponent },\n    VtsDestroyService\n  ],\n  template: `\n    <vts-tree-node-indents [indents]=\"indents\" *ngIf=\"indents.length\"></vts-tree-node-indents>\n    <ng-content select=\"vts-tree-node-toggle, [vts-tree-node-toggle]\"></ng-content>\n\n    <ng-content select=\"vts-tree-node-checkbox\"></ng-content>\n    <ng-content select=\"vts-tree-node-option\"></ng-content>\n    <ng-content></ng-content>\n  `,\n  host: {\n    '[class.vts-tree-treenode-switcher-open]': 'isExpanded',\n    '[class.vts-tree-treenode-switcher-close]': '!isExpanded',\n    '[class.vts-tree-treenode-disabled]': 'vtsDisabled',\n    '[class.vts-tree-treenode-selected]': 'vtsSelected',\n    '[class.vts-tree-treenode-start]': `isFirst`,\n    '[class.vts-tree-treenode-end]': `isLast`,\n    '[class.vts-tree-treenode-end-of-expand]': `isEndOfExpand`,\n    '(click)': 'onClick($event)'\n  }\n})\nexport class VtsTreeNodeComponent<T, F> extends CdkTreeNode<T> implements OnDestroy, OnInit {\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\n  static ngAcceptInputType_vtsSelected: BooleanInput;\n\n  @Input() @InputBoolean() vtsDisabled: boolean = false;\n  @Input() @InputBoolean() vtsSelected: boolean = false;\n  @Output() readonly vtsClick = new EventEmitter<MouseEvent>();\n\n  indents: boolean[] = [];\n  isLeaf = false;\n  isFirst = false;\n  isLast = false;\n  isEndOfExpand = false;\n\n  constructor(\n    protected elementRef: ElementRef<HTMLElement>,\n    protected tree: VtsTreeView<T, F>,\n    private cdr: ChangeDetectorRef,\n    private vtsDestroyService: VtsDestroyService\n  ) {\n    super(elementRef, tree);\n    this._elementRef.nativeElement.classList.add('vts-tree-treenode');\n  }\n\n  override ngOnInit(): void {\n    this.renderChanged();\n    this.tree._reRenderNodes.pipe(takeUntil(this.vtsDestroyService)).subscribe(() => {\n      this.renderChanged();\n    });\n  }\n\n  onClick(e: MouseEvent): void {\n    if (!this.vtsDisabled) {\n      this.vtsClick.emit(e);\n    }\n  }\n\n  disable(): void {\n    this.vtsDisabled = true;\n  }\n\n  enable(): void {\n    this.vtsDisabled = false;\n  }\n\n  select(): void {\n    this.vtsSelected = true;\n  }\n\n  deselect(): void {\n    this.vtsSelected = false;\n  }\n\n  private getIndents() {\n    const getLevel = this.tree.treeControl.getLevel;\n    const nodes = this.tree.treeControl.dataNodes;\n    let parent = getParent(nodes, this.data, getLevel);\n    let isEnds: boolean[] = [];\n    while (parent) {\n      isEnds.push(!getNextSibling(nodes, parent, getLevel));\n      parent = getParent(nodes, parent, getLevel);\n    }\n    return isEnds.reverse().map((_, i) => (i + 1 > isEnds.length - 1 ? false : isEnds[i + 1]));\n  }\n\n  buildIndents() {\n    if (this.tree.vtsShowLine) this.indents = this.getIndents();\n    else this.indents = [];\n  }\n\n  renderChanged() {\n    const getLevel = this.tree.treeControl.getLevel;\n    const nodes = this.tree.treeControl.dataNodes;\n    const parent = getParent(nodes, this.data, getLevel);\n    this.isFirst = !getPrevSibling(nodes, this.data, getLevel);\n    this.isLast = !getNextSibling(nodes, this.data, getLevel);\n    this.isLeaf = !this.tree.treeControl.isExpandable(this.data);\n    this.isEndOfExpand = parent\n      ? this.level > 1 && !getNextSibling(nodes, parent, getLevel)\n      : false;\n    this.buildIndents();\n    this.cdr.markForCheck();\n  }\n}\n\n@Directive({\n  selector: '[vtsTreeNodeDef]',\n  providers: [{ provide: CdkTreeNodeDef, useExisting: VtsTreeNodeDefDirective }]\n})\nexport class VtsTreeNodeDefDirective<T> extends CdkTreeNodeDef<T> {\n  @Input('vtsTreeNodeDefWhen') override when!: (index: number, nodeData: T) => boolean;\n}\n\n@Directive({\n  selector: '[vtsTreeVirtualScrollNodeOutlet]'\n})\nexport class VtsTreeVirtualScrollNodeOutletDirective<T> implements OnChanges {\n  private _viewRef: EmbeddedViewRef<VtsSafeAny> | null = null;\n  @Input() data!: VtsTreeVirtualNodeData<T>;\n\n  constructor(private _viewContainerRef: ViewContainerRef) {}\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const recreateView = this.shouldRecreateView(changes);\n    if (recreateView) {\n      const viewContainerRef = this._viewContainerRef;\n\n      if (this._viewRef) {\n        viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n      }\n\n      this._viewRef = this.data\n        ? viewContainerRef.createEmbeddedView(this.data.nodeDef.template, this.data.context)\n        : null;\n\n      if (CdkTreeNode.mostRecentTreeNode && this._viewRef) {\n        CdkTreeNode.mostRecentTreeNode.data = this.data.data;\n      }\n    } else if (this._viewRef && this.data.context) {\n      this.updateExistingContext(this.data.context);\n    }\n  }\n\n  private shouldRecreateView(changes: SimpleChanges): boolean {\n    const ctxChange = changes.data;\n    return !!changes.data || (ctxChange && this.hasContextShapeChanged(ctxChange));\n  }\n\n  private hasContextShapeChanged(ctxChange: SimpleChange): boolean {\n    const prevCtxKeys = Object.keys(ctxChange.previousValue || {});\n    const currCtxKeys = Object.keys(ctxChange.currentValue || {});\n\n    if (prevCtxKeys.length === currCtxKeys.length) {\n      for (const propName of currCtxKeys) {\n        if (prevCtxKeys.indexOf(propName) === -1) {\n          return true;\n        }\n      }\n      return false;\n    }\n    return true;\n  }\n\n  private updateExistingContext(ctx: VtsSafeAny): void {\n    for (const propName of Object.keys(ctx)) {\n      this._viewRef!.context[propName] = (this.data.context as VtsSafeAny)[propName];\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 { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { VtsTreeNodeComponent } from './node';\n\n@Component({\n  selector: 'vts-tree-node-checkbox:not([builtin])',\n  template: `\n    <span class=\"vts-tree-checkbox-inner\"></span>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  host: {\n    class: 'vts-tree-checkbox',\n    '[class.vts-tree-checkbox-checked]': `vtsChecked`,\n    '[class.vts-tree-checkbox-indeterminate]': `vtsIndeterminate`,\n    '[class.vts-tree-checkbox-disabled]': `vtsDisabled`,\n    '(click)': 'onClick($event)'\n  }\n})\nexport class VtsTreeNodeCheckboxComponent<T, F> {\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\n\n  @Input() vtsChecked?: boolean;\n  @Input() vtsIndeterminate?: boolean;\n  @Input() @InputBoolean() vtsDisabled: boolean = false;\n  @Output() readonly vtsClick = new EventEmitter<MouseEvent>();\n\n  constructor(private treeNode: VtsTreeNodeComponent<T, F>) {}\n\n  get disabled() {\n    return this.vtsDisabled || this.treeNode.vtsDisabled;\n  }\n\n  onClick(e: MouseEvent): void {\n    if (!this.disabled) {\n      this.vtsClick.emit(e);\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 { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';\nimport { VtsTreeNodeComponent } from './node';\n\n@Component({\n  selector: 'vts-tree-node-option',\n  template: `\n    <span class=\"vts-tree-title\"><ng-content></ng-content></span>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'vts-tree-node-content-wrapper',\n    '[class.vts-tree-node-content-wrapper-open]': 'isExpanded',\n    '[class.vts-tree-node-selected]': 'vtsSelected',\n    '(click)': 'onClick($event)'\n  }\n})\nexport class VtsTreeNodeOptionComponent<T, F> {\n  @Output() readonly vtsClick = new EventEmitter<MouseEvent>();\n\n  constructor(private treeNode: VtsTreeNodeComponent<T, F>) {}\n\n  get isExpanded(): boolean {\n    return this.treeNode.isExpanded;\n  }\n\n  get disabled() {\n    return this.treeNode.vtsDisabled;\n  }\n\n  onClick(e: MouseEvent): void {\n    if (!this.disabled) {\n      this.vtsClick.emit(e);\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 { CdkTreeNodeOutlet, CDK_TREE_NODE_OUTLET_NODE } from '@angular/cdk/tree';\nimport { Directive, Inject, Optional, ViewContainerRef } from '@angular/core';\n\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\n@Directive({\n  selector: '[vtsTreeNodeOutlet]',\n  providers: [\n    {\n      provide: CdkTreeNodeOutlet,\n      useExisting: VtsTreeNodeOutletDirective\n    }\n  ]\n})\nexport class VtsTreeNodeOutletDirective implements CdkTreeNodeOutlet {\n  constructor(\n    public viewContainer: ViewContainerRef,\n    @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: VtsSafeAny\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 { CdkTree, CdkTreeNode, CdkTreeNodePadding } from '@angular/cdk/tree';\nimport { Directive, ElementRef } from '@angular/core';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { VtsTreeView } from './tree';\nimport { VtsDestroyService } from '@ui-vts-kit/ng-vts/core/services';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n  selector: 'vts-tree-node:not([builtin])',\n  providers: [\n    { provide: CdkTreeNodePadding, useExisting: VtsTreeNodePaddingDirective },\n    VtsDestroyService\n  ]\n})\nexport class VtsTreeNodePaddingDirective<T, F> extends CdkTreeNodePadding<T> {\n  override _indent = 24;\n  initialIndent = 8;\n\n  override get level(): number {\n    return this._level;\n  }\n  override set level(value: number) {\n    this._setLevelInput(value);\n  }\n\n  override get indent(): number | string {\n    return this._indent;\n  }\n  override set indent(indent: number | string) {\n    this._setIndentInput(indent);\n  }\n\n  override _paddingIndent() {\n    const padding = super._paddingIndent();\n    return padding !== null\n      ? `${Number(padding.replace(this.indentUnits, '')) + this.initialIndent}${this.indentUnits}`\n      : null;\n  }\n\n  setOptions() {\n    this.indent = this.treeView.vtsShowLine ? 0 : this.treeView.vtsIndent;\n    this.initialIndent = this.treeView.vtsInitialIndent;\n  }\n\n  constructor(\n    _treeNode: CdkTreeNode<T, T>,\n    _tree: CdkTree<T, T>,\n    _element: ElementRef<HTMLElement>,\n    _dir: Directionality,\n    protected treeView: VtsTreeView<T, F>,\n    vtsDestroyService: VtsDestroyService\n  ) {\n    super(_treeNode, _tree, _element, _dir);\n    this.setOptions();\n    this.treeView._reRenderNodes\n      .pipe(takeUntil(vtsDestroyService))\n      .subscribe(() => this.setOptions());\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 { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkTree, CdkTreeNode, CdkTreeNodeToggle } from '@angular/cdk/tree';\nimport { Component, Input } from '@angular/core';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsTreeNodeComponent } from './node';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\n\n@Component({\n  selector: 'vts-tree-node-toggle',\n  providers: [{ provide: CdkTreeNodeToggle, useExisting: VtsTreeNodeToggleDirective }],\n  host: {\n    class: 'vts-tree-switcher',\n    '[class.vts-tree-switcher_open]': 'isExpanded',\n    '[class.vts-tree-switcher_close]': '!isExpanded',\n    '[class.vts-tree-switcher-disabled]': 'vtsDisabled'\n  },\n  template: `\n    <ng-container *ngIf=\"vtsCaret || vtsLoading; else default\">\n      <ng-container *ngIf=\"vtsCaret\">\n        <ng-container *ngTemplateOutlet=\"caret\"></ng-container>\n      </ng-container>\n      <ng-container *ngIf=\"vtsLoading\">\n        <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n      </ng-container>\n    </ng-container>\n\n    <ng-template #caret>\n      <i class=\"vts-tree-switcher-icon\" vts-icon vtsType=\"CaretDownFill:bootstrap\"></i>\n    </ng-template>\n\n    <ng-template #loading>\n      <i vts-icon vtsType=\"BxLoaderAlt:boxIcon\" vtsSpin class=\"vts-tree-switcher-loading-icon\"></i>\n    </ng-template>\n\n    <ng-template #default>\n      <ng-content></ng-content>\n    </ng-template>\n  `\n})\nexport class VtsTreeNodeToggleDirective<T, F> extends CdkTreeNodeToggle<T> {\n  static ngAcceptInputType_vtsNoop: BooleanInput;\n  static ngAcceptInputType_vtsCaret: BooleanInput;\n  static ngAcceptInputType_vtsLoading: BooleanInput;\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\n  static ngAcceptInputType_recursive: BooleanInput;\n\n  @Input() @InputBoolean() vtsNoop: boolean = false;\n  @Input() @InputBoolean() vtsCaret: boolean = false;\n  @Input() @InputBoolean() vtsLoading: boolean = false;\n  @Input() @InputBoolean() vtsDisabled: boolean = false;\n\n  @Input('vtsRecursive')\n  @InputBoolean()\n  override get recursive(): boolean {\n    return this._recursive;\n  }\n  override set recursive(value: boolean) {\n    this._recursive = coerceBooleanProperty(value);\n  }\n\n  get isExpanded(): boolean {\n    return this._treeNode.isExpanded;\n  }\n\n  get disabled() {\n    return this.vtsDisabled || this.treeNode.vtsDisabled;\n  }\n\n  constructor(\n    _tree: CdkTree<T, T>,\n    _treeNode: CdkTreeNode<T, T>,\n    private treeNode: VtsTreeNodeComponent<T, F>\n  ) {\n    super(_tree, _treeNode);\n  }\n\n  override _toggle(event: Event): void {\n    if (!this.vtsNoop && !this.disabled) super._toggle(event);\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 { CdkTree } from '@angular/cdk/tree';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { treeAccordionMotion } from '@ui-vts-kit/ng-vts/core/animation';\n\nimport { VtsTreeNodeOutletDirective } from './outlet';\nimport { VtsTreeView } from './tree';\n\n@Component({\n  selector: 'vts-tree-view',\n  exportAs: 'vtsTreeView',\n  template: `\n    <div class=\"vts-tree-list-holder\">\n      <div\n        [@.disabled]=\"!_afterViewInit || noAnimation?.vtsNoAnimation\"\n        [@treeAccordionMotion]=\"_nodeOutlet.viewContainer.length\"\n        class=\"vts-tree-list-holder-inner\"\n      >\n        <ng-container vtsTreeNodeOutlet></ng-container>\n      </div>\n    </div>\n  `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    { provide: CdkTree, useExisting: VtsTreeViewComponent },\n    { provide: VtsTreeView, useExisting: VtsTreeViewComponent }\n  ],\n  host: {\n    class: 'vts-tree',\n    '[class.vts-tree-rtl]': `dir === 'rtl'`,\n    '[class.vts-tree-sm]': 'vtsSize === \"sm\"',\n    '[class.vts-tree-md]': 'vtsSize === \"md\"',\n    '[class.vts-tree-lg]': 'vtsSize === \"lg\"',\n    '[class.vts-tree-show-line]': `vtsShowLine`\n  },\n  animations: [treeAccordionMotion]\n})\nexport class VtsTreeViewComponent<T, F> extends VtsTreeView<T, F> implements AfterViewInit {\n  @ViewChild(VtsTreeNodeOutletDirective, { static: true })\n  nodeOutlet!: VtsTreeNodeOutletDirective;\n  _afterViewInit = false;\n  ngAfterViewInit(): void {\n    Promise.resolve().then(() => {\n      this._afterViewInit = true;\n      this.changeDetectorRef.markForCheck();\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 { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { CdkTree, CdkTreeNodeOutletContext } from '@angular/cdk/tree';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  OnChanges,\n  SimpleChanges,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { VtsTreeVirtualNodeData } from './node';\nimport { VtsTreeNodeOutletDirective } from './outlet';\n\nimport { VtsTreeView } from './tree';\nimport { VtsSizeLMSType } from '@ui-vts-kit/ng-vts/core/types';\n\nconst SIZE: { [k in VtsSizeLMSType]: number } = {\n  sm: 32,\n  md: 40,\n  lg: 48\n};\n\nconst DEFAULT_SIZE = SIZE.md;\n\n@Component({\n  selector: 'vts-tree-virtual-scroll-view',\n  exportAs: 'vtsTreeVirtualScrollView',\n  template: `\n    <div class=\"vts-tree-list\">\n      <cdk-virtual-scroll-viewport\n        class=\"vts-tree-list-holder\"\n        [itemSize]=\"itemSize\"\n        [minBufferPx]=\"vtsMinBufferPx\"\n        [maxBufferPx]=\"vtsMaxBufferPx\"\n      >\n        <ng-container *cdkVirtualFor=\"let item of nodes; let i = index\">\n          <ng-template vtsTreeVirtualScrollNodeOutlet [data]=\"item\"></ng-template>\n        </ng-container>\n      </cdk-virtual-scroll-viewport>\n    </div>\n    <ng-container vtsTreeNodeOutlet></ng-container>\n  `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    { provide: VtsTreeView, useExisting: VtsTreeVirtualScrollViewComponent },\n    { provide: CdkTree, useExisting: VtsTreeVirtualScrollViewComponent }\n  ],\n  host: {\n    class: 'vts-tree',\n    '[class.vts-tree-sm]': 'vtsSize === \"sm\"',\n    '[class.vts-tree-md]': 'vtsSize === \"md\"',\n    '[class.vts-tree-lg]': 'vtsSize === \"lg\"',\n    '[class.vts-tree-show-line]': `vtsShowLine`,\n    '[class.vts-tree-rtl]': `dir === 'rtl'`\n  }\n})\nexport class VtsTreeVirtualScrollViewComponent<T, F>\n  extends VtsTreeView<T, F>\n  implements OnChanges\n{\n  itemSize = DEFAULT_SIZE;\n\n  @ViewChild(VtsTreeNodeOutletDirective, { static: true })\n  readonly nodeOutlet!: VtsTreeNodeOutletDirective;\n  @ViewChild(CdkVirtualScrollViewport, { static: true })\n  readonly virtualScrollViewport!: CdkVirtualScrollViewport;\n\n  @Input() vtsItemSize = DEFAULT_SIZE;\n  @Input() vtsMinBufferPx = DEFAULT_SIZE * 5;\n  @Input() vtsMaxBufferPx = DEFAULT_SIZE * 10;\n\n  nodes: Array<VtsTreeVirtualNodeData<T>> = [];\n\n  override renderNodeChanges(data: T[] | ReadonlyArray<T>): void {\n    this.nodes = new Array(...data).map((n, i) => this.createNode(n, i));\n  }\n\n  private createNode(nodeData: T, index: number): VtsTreeVirtualNodeData<T> {\n    const node = this._getNodeDef(nodeData, index);\n    const context = new CdkTreeNodeOutletContext<T>(nodeData);\n    if (this.treeControl.getLevel) {\n      context.level = this.treeControl.getLevel(nodeData);\n    } else {\n      context.level = 0;\n    }\n    return {\n      data: nodeData,\n      context,\n      nodeDef: node\n    };\n  }\n\n  override ngOnChanges(changes: SimpleChanges): void {\n    const { vtsSize } = changes;\n    const size = SIZE[vtsSize.currentValue as VtsSizeLMSType];\n    this.itemSize = size;\n    this.vtsMinBufferPx = this.itemSize * 5;\n    this.vtsMaxBufferPx = this.itemSize * 10;\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { VtsNoAnimationModule } from '@ui-vts-kit/ng-vts/core/no-animation';\n\nimport { VtsTreeNodeCheckboxComponent } from './checkbox';\nimport { VtsTreeNodeIndentsComponent } from './indent';\nimport {\n  VtsTreeNodeComponent,\n  VtsTreeNodeDefDirective,\n  VtsTreeVirtualScrollNodeOutletDirective\n} from './node';\nimport { VtsTreeNodeOptionComponent } from './option';\nimport { VtsTreeNodeOutletDirective } from './outlet';\nimport { VtsTreeNodePaddingDirective } from './padding';\nimport { VtsTreeNodeToggleDirective } from './toggle';\nimport { VtsTreeView } from './tree';\nimport { VtsTreeViewComponent } from './tree-view';\nimport { VtsTreeVirtualScrollViewComponent } from './tree-virtual-scroll-view';\nimport { VtsIconModule } from '@ui-vts-kit/ng-vts/icon';\n\nconst treeWithControlComponents = [\n  VtsTreeView,\n  VtsTreeNodeOutletDirective,\n  VtsTreeViewComponent,\n  VtsTreeNodeDefDirective,\n  VtsTreeNodeComponent,\n  VtsTreeNodeToggleDirective,\n  VtsTreeNodePaddingDirective,\n  VtsTreeNodeOptionComponent,\n  VtsTreeNodeCheckboxComponent,\n  VtsTreeNodeIndentsComponent,\n  VtsTreeVirtualScrollViewComponent,\n  VtsTreeVirtualScrollNodeOutletDirective\n];\n\n@NgModule({\n  imports: [BidiModule, CommonModule, VtsNoAnimationModule, ScrollingModule, VtsIconModule],\n  declarations: [treeWithControlComponents],\n  exports: [treeWithControlComponents]\n})\nexport class VtsTreeViewModule {}\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 { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { FlatTreeControl, TreeControl } from '@angular/cdk/tree';\nimport { BehaviorSubject, merge, Observable } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\n\nexport class VtsTreeFlattener<T, F, K = F> {\n  constructor(\n    public transformFunction: (node: T, level: number) => F,\n    public getLevel: (node: F) => number,\n    public isExpandable: (node: F) => boolean,\n    public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null\n  ) {}\n\n  private flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\n    const flatNode = this.transformFunction(node, level);\n    resultNodes.push(flatNode);\n\n    if (this.isExpandable(flatNode)) {\n      const childrenNodes = this.getChildren(node);\n      if (childrenNodes) {\n        if (Array.isArray(childrenNodes)) {\n          this.flattenChildren(childrenNodes, level, resultNodes, parentMap);\n        } else {\n          childrenNodes.pipe(take(1)).subscribe(children => {\n            this.flattenChildren(children, level, resultNodes, parentMap);\n          });\n        }\n      }\n    }\n    return resultNodes;\n  }\n\n  private flattenChildren(\n    children: T[],\n    level: number,\n    resultNodes: F[],\n    parentMap: boolean[]\n  ): void {\n    children.forEach((child, index) => {\n      const childParentMap: boolean[] = parentMap.slice();\n      childParentMap.push(index !== children.length - 1);\n      this.flattenNode(child, level + 1, resultNodes, childParentMap);\n    });\n  }\n\n  /**\n   * Flatten a list of node type T to flattened version of node F.\n   * Please note that type T may be nested, and the length of `structuredData` may be different\n   * from that of returned list `F[]`.\n   */\n  flattenNodes(structuredData: T[]): F[] {\n    const resultNodes: F[] = [];\n    structuredData.forEach(node => this.flattenNode(node, 0, resultNodes, []));\n    return resultNodes;\n  }\n\n  /**\n   * Expand flattened node with current expansion status.\n   * The returned list may have different length.\n   */\n  expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n    const results: F[] = [];\n    const currentExpand: boolean[] = [];\n    currentExpand[0] = true;\n\n    nodes.forEach(node => {\n      let expand = true;\n      for (let i = 0; i <= this.getLevel(node); i++) {\n        expand = expand && currentExpand[i];\n      }\n      if (expand) {\n        results.push(node);\n      }\n      if (this.isExpandable(node)) {\n        currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n      }\n    });\n    return results;\n  }\n}\n\nexport class VtsTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n  _flattenedData = new BehaviorSubject<F[]>([]);\n\n  _expandedData = new BehaviorSubject<F[]>([]);\n\n  _data: BehaviorSubject<T[]>;\n\n  constructor(\n    private _treeControl: FlatTreeControl<F, K>,\n    private _treeFlattener: VtsTreeFlattener<T, F, K>,\n    initialData: T[] = []\n  ) {\n    super();\n    this._data = new BehaviorSubject<T[]>(initialData);\n    this.flatNodes();\n  }\n\n  setData(value: T[]): void {\n    this._data.next(value);\n    this.flatNodes();\n  }\n\n  getData(): T[] {\n    return this._data.getValue();\n  }\n\n  getFlattenData(): F[] {\n    return this._flattenedData.getValue();\n  }\n\n  connect(collectionViewer: CollectionViewer): Observable<F[]> {\n    const changes = [\n      collectionViewer.viewChange,\n      this._treeControl.expansionModel.changed,\n      this._flattenedData\n    ];\n    return merge(...changes).pipe(\n      map(() => {\n        this._expandedData.next(\n          this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl)\n        );\n        return this._expandedData.value;\n      })\n    );\n  }\n\n  disconnect(): void {\n    // no op\n  }\n\n  private flatNodes(): void {\n    const flatten = this._treeFlattener.flattenNodes(this.getData());\n    this._treeControl.dataNodes = flatten;\n    this._flattenedData.next(flatten);\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\nexport * from './tree-view.module';\nexport * from './checkbox';\nexport * from './utils';\nexport * from './data-source';\nexport * from './indent';\nexport * from './node';\nexport * from './option';\nexport * from './outlet';\nexport * from './padding';\nexport * from './toggle';\nexport * from './tree-view';\nexport * from './tree';\nexport * from './tree-virtual-scroll-view';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.VtsTreeView","i2","i4.VtsTreeNodeIndentsComponent","i1.VtsTreeNodeComponent","i3.VtsTreeView","i4","i2.VtsTreeNodeComponent","i1.VtsTreeNodeOutletDirective","i2.VtsTreeNodeOutletDirective","i3.VtsTreeVirtualScrollNodeOutletDirective"],"mappings":"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"}