{"version":3,"file":"ng-zorro-antd-tree-select.mjs","sources":["../../components/tree-select/tree-select.service.ts","../../components/tree-select/tree-select.component.ts","../../components/tree-select/tree-select.module.ts","../../components/tree-select/public-api.ts","../../components/tree-select/ng-zorro-antd-tree-select.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 { Injectable } from '@angular/core';\n\nimport { NzTreeBaseService } from 'ng-zorro-antd/core/tree';\n\n@Injectable()\nexport class NzTreeSelectService extends NzTreeBaseService {}\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 { FocusMonitor } from '@angular/cdk/a11y';\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { BACKSPACE, ESCAPE, TAB } from '@angular/cdk/keycodes';\nimport { CdkConnectedOverlay, CdkOverlayOrigin, ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport {\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Host,\n  Injector,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Renderer2,\n  Self,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { merge, of as observableOf, Subject } from 'rxjs';\nimport { filter, takeUntil, tap } from 'rxjs/operators';\n\nimport { slideMotion } from 'ng-zorro-antd/core/animation';\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport { reqAnimFrame } from 'ng-zorro-antd/core/polyfill';\nimport {\n  NzFormatEmitEvent,\n  NzTreeBase,\n  NzTreeBaseService,\n  NzTreeHigherOrderServiceToken,\n  NzTreeNode,\n  NzTreeNodeOptions\n} from 'ng-zorro-antd/core/tree';\nimport { BooleanInput, NgStyleInterface, NzSizeLDSType, OnChangeType, OnTouchedType } from 'ng-zorro-antd/core/types';\nimport { InputBoolean, isNotNil } from 'ng-zorro-antd/core/util';\nimport { NzSelectSearchComponent } from 'ng-zorro-antd/select';\nimport { NzTreeComponent } from 'ng-zorro-antd/tree';\n\nimport { NzTreeSelectService } from './tree-select.service';\n\nexport function higherOrderServiceFactory(injector: Injector): NzTreeBaseService {\n  return injector.get(NzTreeSelectService);\n}\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'treeSelect';\nconst TREE_SELECT_DEFAULT_CLASS = 'ant-select-dropdown ant-select-tree-dropdown';\n\n@Component({\n  selector: 'nz-tree-select',\n  exportAs: 'nzTreeSelect',\n  animations: [slideMotion],\n  template: `\n    <ng-template\n      cdkConnectedOverlay\n      nzConnectedOverlay\n      [cdkConnectedOverlayHasBackdrop]=\"nzBackdrop\"\n      [cdkConnectedOverlayOrigin]=\"cdkOverlayOrigin\"\n      [cdkConnectedOverlayOpen]=\"nzOpen\"\n      [cdkConnectedOverlayTransformOriginOn]=\"'.ant-select-tree-dropdown'\"\n      [cdkConnectedOverlayMinWidth]=\"$any(nzDropdownMatchSelectWidth ? null : triggerWidth)\"\n      [cdkConnectedOverlayWidth]=\"$any(nzDropdownMatchSelectWidth ? triggerWidth : null)\"\n      (overlayOutsideClick)=\"onClickOutside($event)\"\n      (detach)=\"closeDropDown()\"\n      (positionChange)=\"onPositionChange($event)\"\n    >\n      <div\n        [@slideMotion]=\"'enter'\"\n        [ngClass]=\"dropdownClassName\"\n        [@.disabled]=\"noAnimation?.nzNoAnimation\"\n        [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n        [class.ant-select-dropdown-placement-bottomLeft]=\"dropDownPosition === 'bottom'\"\n        [class.ant-select-dropdown-placement-topLeft]=\"dropDownPosition === 'top'\"\n        [class.ant-tree-select-dropdown-rtl]=\"dir === 'rtl'\"\n        [dir]=\"dir\"\n        [ngStyle]=\"nzDropdownStyle\"\n      >\n        <nz-tree\n          #treeRef\n          [hidden]=\"isNotFound\"\n          nzNoAnimation\n          nzSelectMode\n          nzBlockNode\n          [nzData]=\"nzNodes\"\n          [nzMultiple]=\"nzMultiple\"\n          [nzSearchValue]=\"inputValue\"\n          [nzHideUnMatched]=\"nzHideUnMatched\"\n          [nzShowIcon]=\"nzShowIcon\"\n          [nzCheckable]=\"nzCheckable\"\n          [nzAsyncData]=\"nzAsyncData\"\n          [nzShowExpand]=\"nzShowExpand\"\n          [nzShowLine]=\"nzShowLine\"\n          [nzExpandedIcon]=\"nzExpandedIcon\"\n          [nzExpandAll]=\"nzDefaultExpandAll\"\n          [nzExpandedKeys]=\"expandedKeys\"\n          [nzCheckedKeys]=\"nzCheckable ? value : []\"\n          [nzSelectedKeys]=\"!nzCheckable ? value : []\"\n          [nzTreeTemplate]=\"treeTemplate\"\n          [nzCheckStrictly]=\"nzCheckStrictly\"\n          [nzVirtualItemSize]=\"nzVirtualItemSize\"\n          [nzVirtualMaxBufferPx]=\"nzVirtualMaxBufferPx\"\n          [nzVirtualMinBufferPx]=\"nzVirtualMinBufferPx\"\n          [nzVirtualHeight]=\"nzVirtualHeight\"\n          (nzExpandChange)=\"onExpandedKeysChange($event)\"\n          (nzClick)=\"nzTreeClick.emit($event)\"\n          (nzCheckedKeysChange)=\"updateSelectedNodes()\"\n          (nzSelectedKeysChange)=\"updateSelectedNodes()\"\n          (nzCheckBoxChange)=\"nzTreeCheckBoxChange.emit($event)\"\n          (nzSearchValueChange)=\"setSearchValues($event)\"\n        ></nz-tree>\n        <span *ngIf=\"nzNodes.length === 0 || isNotFound\" class=\"ant-select-not-found\">\n          <nz-embed-empty [nzComponentName]=\"'tree-select'\" [specificContent]=\"nzNotFoundContent\"></nz-embed-empty>\n        </span>\n      </div>\n    </ng-template>\n\n    <div cdkOverlayOrigin class=\"ant-select-selector\">\n      <ng-container *ngIf=\"isMultiple\">\n        <nz-select-item\n          *ngFor=\"let node of selectedNodes | slice: 0:nzMaxTagCount; trackBy: trackValue\"\n          [deletable]=\"true\"\n          [disabled]=\"node.isDisabled || nzDisabled\"\n          [label]=\"nzDisplayWith(node)\"\n          (delete)=\"removeSelected(node, true)\"\n        ></nz-select-item>\n\n        <nz-select-item\n          *ngIf=\"selectedNodes.length > nzMaxTagCount\"\n          [contentTemplateOutlet]=\"nzMaxTagPlaceholder\"\n          [contentTemplateOutletContext]=\"selectedNodes | slice: nzMaxTagCount\"\n          [deletable]=\"false\"\n          [disabled]=\"false\"\n          [label]=\"'+ ' + (selectedNodes.length - nzMaxTagCount) + ' ...'\"\n        ></nz-select-item>\n      </ng-container>\n\n      <nz-select-search\n        [nzId]=\"nzId\"\n        [showInput]=\"nzShowSearch\"\n        (keydown)=\"onKeyDownInput($event)\"\n        (isComposingChange)=\"isComposing = $event\"\n        (valueChange)=\"setInputValue($event)\"\n        [value]=\"inputValue\"\n        [mirrorSync]=\"isMultiple\"\n        [disabled]=\"nzDisabled\"\n        [focusTrigger]=\"nzOpen\"\n      ></nz-select-search>\n\n      <nz-select-placeholder\n        *ngIf=\"nzPlaceHolder && selectedNodes.length === 0\"\n        [placeholder]=\"nzPlaceHolder\"\n        [style.display]=\"placeHolderDisplay\"\n      ></nz-select-placeholder>\n\n      <nz-select-item\n        *ngIf=\"!isMultiple && selectedNodes.length === 1 && !isComposing && inputValue === ''\"\n        [deletable]=\"false\"\n        [disabled]=\"false\"\n        [label]=\"nzDisplayWith(selectedNodes[0])\"\n      ></nz-select-item>\n\n      <nz-select-arrow *ngIf=\"!isMultiple\"></nz-select-arrow>\n\n      <nz-select-clear\n        *ngIf=\"nzAllowClear && !nzDisabled && selectedNodes.length\"\n        (clear)=\"onClearSelection()\"\n      ></nz-select-clear>\n    </div>\n  `,\n  providers: [\n    NzTreeSelectService,\n    {\n      provide: NzTreeHigherOrderServiceToken,\n      useFactory: higherOrderServiceFactory,\n      deps: [[new Self(), Injector]]\n    },\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NzTreeSelectComponent),\n      multi: true\n    }\n  ],\n  host: {\n    class: 'ant-select',\n    '[class.ant-select-lg]': 'nzSize===\"large\"',\n    '[class.ant-select-rtl]': 'dir===\"rtl\"',\n    '[class.ant-select-sm]': 'nzSize===\"small\"',\n    '[class.ant-select-disabled]': 'nzDisabled',\n    '[class.ant-select-single]': '!isMultiple',\n    '[class.ant-select-show-arrow]': '!isMultiple',\n    '[class.ant-select-show-search]': '!isMultiple',\n    '[class.ant-select-multiple]': 'isMultiple',\n    '[class.ant-select-allow-clear]': 'nzAllowClear',\n    '[class.ant-select-open]': 'nzOpen',\n    '[class.ant-select-focused]': 'nzOpen || focused',\n    '(click)': 'trigger()',\n    '(keydown)': 'onKeydown($event)'\n  }\n})\nexport class NzTreeSelectComponent extends NzTreeBase implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {\n  readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n  static ngAcceptInputType_nzAllowClear: BooleanInput;\n  static ngAcceptInputType_nzShowExpand: BooleanInput;\n  static ngAcceptInputType_nzShowLine: BooleanInput;\n  static ngAcceptInputType_nzDropdownMatchSelectWidth: BooleanInput;\n  static ngAcceptInputType_nzCheckable: BooleanInput;\n  static ngAcceptInputType_nzHideUnMatched: BooleanInput;\n  static ngAcceptInputType_nzShowIcon: BooleanInput;\n  static ngAcceptInputType_nzShowSearch: BooleanInput;\n  static ngAcceptInputType_nzDisabled: BooleanInput;\n  static ngAcceptInputType_nzAsyncData: BooleanInput;\n  static ngAcceptInputType_nzMultiple: BooleanInput;\n  static ngAcceptInputType_nzDefaultExpandAll: BooleanInput;\n  static ngAcceptInputType_nzCheckStrictly: BooleanInput;\n\n  @Input() nzId: string | null = null;\n  @Input() @InputBoolean() nzAllowClear: boolean = true;\n  @Input() @InputBoolean() nzShowExpand: boolean = true;\n  @Input() @InputBoolean() nzShowLine: boolean = false;\n  @Input() @InputBoolean() @WithConfig() nzDropdownMatchSelectWidth: boolean = true;\n  @Input() @InputBoolean() nzCheckable: boolean = false;\n  @Input() @InputBoolean() @WithConfig() nzHideUnMatched: boolean = false;\n  @Input() @InputBoolean() @WithConfig() nzShowIcon: boolean = false;\n  @Input() @InputBoolean() nzShowSearch: boolean = false;\n  @Input() @InputBoolean() nzDisabled = false;\n  @Input() @InputBoolean() nzAsyncData = false;\n  @Input() @InputBoolean() nzMultiple = false;\n  @Input() @InputBoolean() nzDefaultExpandAll = false;\n  @Input() @InputBoolean() nzCheckStrictly = false;\n  @Input() nzVirtualItemSize = 28;\n  @Input() nzVirtualMaxBufferPx = 500;\n  @Input() nzVirtualMinBufferPx = 28;\n  @Input() nzVirtualHeight: string | null = null;\n  @Input() nzExpandedIcon?: TemplateRef<{ $implicit: NzTreeNode; origin: NzTreeNodeOptions }>;\n  @Input() nzNotFoundContent?: string;\n  @Input() nzNodes: Array<NzTreeNode | NzTreeNodeOptions> = [];\n  @Input() nzOpen = false;\n  @Input() @WithConfig() nzSize: NzSizeLDSType = 'default';\n  @Input() nzPlaceHolder = '';\n  @Input() nzDropdownStyle: NgStyleInterface | null = null;\n  @Input() nzDropdownClassName?: string;\n  @Input() @WithConfig() nzBackdrop = false;\n  @Input()\n  set nzExpandedKeys(value: string[]) {\n    this.expandedKeys = value;\n  }\n  get nzExpandedKeys(): string[] {\n    return this.expandedKeys;\n  }\n\n  @Input() nzDisplayWith: (node: NzTreeNode) => string | undefined = (node: NzTreeNode) => node.title;\n  @Input() nzMaxTagCount!: number;\n  @Input() nzMaxTagPlaceholder: TemplateRef<{ $implicit: NzTreeNode[] }> | null = null;\n  @Output() readonly nzOpenChange = new EventEmitter<boolean>();\n  @Output() readonly nzCleared = new EventEmitter<void>();\n  @Output() readonly nzRemoved = new EventEmitter<NzTreeNode>();\n  @Output() readonly nzExpandChange = new EventEmitter<NzFormatEmitEvent>();\n  @Output() readonly nzTreeClick = new EventEmitter<NzFormatEmitEvent>();\n  @Output() readonly nzTreeCheckBoxChange = new EventEmitter<NzFormatEmitEvent>();\n\n  @ViewChild(NzSelectSearchComponent, { static: false }) nzSelectSearchComponent!: NzSelectSearchComponent;\n  @ViewChild('treeRef', { static: false }) treeRef!: NzTreeComponent;\n  @ViewChild(CdkOverlayOrigin, { static: true }) cdkOverlayOrigin!: CdkOverlayOrigin;\n  @ViewChild(CdkConnectedOverlay, { static: false }) cdkConnectedOverlay!: CdkConnectedOverlay;\n\n  @Input() nzTreeTemplate!: TemplateRef<{ $implicit: NzTreeNode; origin: NzTreeNodeOptions }>;\n  @ContentChild('nzTreeTemplate', { static: true }) nzTreeTemplateChild!: TemplateRef<{\n    $implicit: NzTreeNode;\n    origin: NzTreeNodeOptions;\n  }>;\n  get treeTemplate(): TemplateRef<{ $implicit: NzTreeNode; origin: NzTreeNodeOptions }> {\n    return this.nzTreeTemplate || this.nzTreeTemplateChild;\n  }\n\n  dropdownClassName = TREE_SELECT_DEFAULT_CLASS;\n  triggerWidth?: number;\n  isComposing = false;\n  isDestroy = true;\n  isNotFound = false;\n  focused = false;\n  inputValue = '';\n  dropDownPosition: 'top' | 'center' | 'bottom' = 'bottom';\n  selectedNodes: NzTreeNode[] = [];\n  expandedKeys: string[] = [];\n  value: string[] = [];\n  dir: Direction = 'ltr';\n\n  private destroy$ = new Subject<void>();\n\n  onChange: OnChangeType = _value => {};\n  onTouched: OnTouchedType = () => {};\n\n  get placeHolderDisplay(): string {\n    return this.inputValue || this.isComposing || this.selectedNodes.length ? 'none' : 'block';\n  }\n\n  get isMultiple(): boolean {\n    return this.nzMultiple || this.nzCheckable;\n  }\n\n  constructor(\n    nzTreeService: NzTreeSelectService,\n    public nzConfigService: NzConfigService,\n    private renderer: Renderer2,\n    private cdr: ChangeDetectorRef,\n    private elementRef: ElementRef,\n    @Optional() private directionality: Directionality,\n    private focusMonitor: FocusMonitor,\n    @Host() @Optional() public noAnimation?: NzNoAnimationDirective\n  ) {\n    super(nzTreeService);\n\n    this.renderer.addClass(this.elementRef.nativeElement, 'ant-select');\n    this.renderer.addClass(this.elementRef.nativeElement, 'ant-tree-select');\n  }\n\n  ngOnInit(): void {\n    this.isDestroy = false;\n    this.subscribeSelectionChange();\n\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n    this.dir = this.directionality.value;\n\n    this.focusMonitor\n      .monitor(this.elementRef, true)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(focusOrigin => {\n        if (!focusOrigin) {\n          this.focused = false;\n          this.cdr.markForCheck();\n          Promise.resolve().then(() => {\n            this.onTouched();\n          });\n        } else {\n          this.focused = true;\n          this.cdr.markForCheck();\n        }\n      });\n  }\n\n  ngOnDestroy(): void {\n    this.isDestroy = true;\n    this.closeDropDown();\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  isComposingChange(isComposing: boolean): void {\n    this.isComposing = isComposing;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.nzDisabled = isDisabled;\n    this.closeDropDown();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { nzNodes, nzDropdownClassName } = changes;\n    if (nzNodes) {\n      this.updateSelectedNodes(true);\n    }\n    if (nzDropdownClassName) {\n      const className = this.nzDropdownClassName && this.nzDropdownClassName.trim();\n      this.dropdownClassName = className ? `${TREE_SELECT_DEFAULT_CLASS} ${className}` : TREE_SELECT_DEFAULT_CLASS;\n    }\n  }\n\n  writeValue(value: string[] | string): void {\n    if (isNotNil(value)) {\n      if (this.isMultiple && Array.isArray(value)) {\n        this.value = value;\n      } else {\n        this.value = [value as string];\n      }\n      this.updateSelectedNodes(true);\n    } else {\n      this.value = [];\n      this.selectedNodes.forEach(node => {\n        this.removeSelected(node, false);\n      });\n      this.selectedNodes = [];\n    }\n    this.cdr.markForCheck();\n  }\n\n  registerOnChange(fn: (_: string[] | string | null) => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  onKeydown(event: KeyboardEvent): void {\n    if (this.nzDisabled) {\n      return;\n    }\n    switch (event.keyCode) {\n      case ESCAPE:\n        /**\n         * Skip the ESCAPE processing, it will be handled in {@link onOverlayKeyDown}.\n         */\n        break;\n      case TAB:\n        this.closeDropDown();\n        break;\n      default:\n        if (!this.nzOpen) {\n          this.openDropdown();\n        }\n    }\n  }\n\n  trigger(): void {\n    if (this.nzDisabled || (!this.nzDisabled && this.nzOpen)) {\n      this.closeDropDown();\n    } else {\n      this.openDropdown();\n    }\n  }\n\n  openDropdown(): void {\n    if (!this.nzDisabled) {\n      this.nzOpen = true;\n      this.nzOpenChange.emit(this.nzOpen);\n      this.updateCdkConnectedOverlayStatus();\n      if (this.nzShowSearch || this.isMultiple) {\n        this.focusOnInput();\n      }\n    }\n  }\n\n  closeDropDown(): void {\n    this.onTouched();\n    this.nzOpen = false;\n    this.inputValue = '';\n    this.isNotFound = false;\n    this.nzOpenChange.emit(this.nzOpen);\n    this.cdr.markForCheck();\n  }\n\n  onKeyDownInput(e: KeyboardEvent): void {\n    const keyCode = e.keyCode;\n    const eventTarget = e.target as HTMLInputElement;\n    if (this.isMultiple && !eventTarget.value && keyCode === BACKSPACE) {\n      e.preventDefault();\n      if (this.selectedNodes.length) {\n        const removeNode = this.selectedNodes[this.selectedNodes.length - 1];\n        this.removeSelected(removeNode);\n      }\n    }\n  }\n\n  onExpandedKeysChange(value: NzFormatEmitEvent): void {\n    this.nzExpandChange.emit(value);\n    this.expandedKeys = [...value.keys!];\n  }\n\n  setInputValue(value: string): void {\n    this.inputValue = value;\n    this.updatePosition();\n  }\n\n  removeSelected(node: NzTreeNode, emit: boolean = true): void {\n    node.isSelected = false;\n    node.isChecked = false;\n    if (this.nzCheckable) {\n      this.nzTreeService.conduct(node, this.nzCheckStrictly);\n    } else {\n      this.nzTreeService.setSelectedNodeList(node, this.nzMultiple);\n    }\n\n    if (emit) {\n      this.nzRemoved.emit(node);\n    }\n  }\n\n  focusOnInput(): void {\n    if (this.nzSelectSearchComponent) {\n      this.nzSelectSearchComponent.focus();\n    }\n  }\n\n  subscribeSelectionChange(): void {\n    merge(\n      this.nzTreeClick.pipe(\n        tap((event: NzFormatEmitEvent) => {\n          const node = event.node!;\n          if (this.nzCheckable && !node.isDisabled && !node.isDisableCheckbox) {\n            node.isChecked = !node.isChecked;\n            node.isHalfChecked = false;\n            if (!this.nzCheckStrictly) {\n              this.nzTreeService.conduct(node);\n            }\n          }\n          if (this.nzCheckable) {\n            node.isSelected = false;\n          }\n        }),\n        filter((event: NzFormatEmitEvent) => {\n          const node = event.node!;\n          return this.nzCheckable ? !node.isDisabled && !node.isDisableCheckbox : !node.isDisabled && node.isSelectable;\n        })\n      ),\n      this.nzCheckable ? this.nzTreeCheckBoxChange : observableOf(),\n      this.nzCleared,\n      this.nzRemoved\n    )\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => {\n        this.updateSelectedNodes();\n        const value = this.selectedNodes.map(node => node.key!);\n        this.value = [...value];\n        if (this.nzShowSearch || this.isMultiple) {\n          this.inputValue = '';\n          this.isNotFound = false;\n        }\n        if (this.isMultiple) {\n          this.onChange(value);\n          this.focusOnInput();\n          this.updatePosition();\n        } else {\n          this.closeDropDown();\n          this.onChange(value.length ? value[0] : null);\n        }\n      });\n  }\n\n  updateSelectedNodes(init: boolean = false): void {\n    if (init) {\n      const nodes = this.coerceTreeNodes(this.nzNodes);\n      this.nzTreeService.isMultiple = this.isMultiple;\n      this.nzTreeService.isCheckStrictly = this.nzCheckStrictly;\n      this.nzTreeService.initTree(nodes);\n      if (this.nzCheckable) {\n        this.nzTreeService.conductCheck(this.value, this.nzCheckStrictly);\n      } else {\n        this.nzTreeService.conductSelectedKeys(this.value, this.isMultiple);\n      }\n    }\n\n    this.selectedNodes = [...(this.nzCheckable ? this.getCheckedNodeList() : this.getSelectedNodeList())];\n  }\n\n  updatePosition(): void {\n    reqAnimFrame(() => {\n      this.cdkConnectedOverlay?.overlayRef?.updatePosition();\n    });\n  }\n\n  onPositionChange(position: ConnectedOverlayPositionChange): void {\n    this.dropDownPosition = position.connectionPair.originY;\n  }\n\n  onClearSelection(): void {\n    this.selectedNodes.forEach(node => {\n      this.removeSelected(node, false);\n    });\n    this.nzCleared.emit();\n  }\n\n  onClickOutside(event: MouseEvent): void {\n    if (!this.elementRef.nativeElement.contains(event.target)) {\n      this.closeDropDown();\n    }\n  }\n\n  setSearchValues($event: NzFormatEmitEvent): void {\n    Promise.resolve().then(() => {\n      this.isNotFound = (this.nzShowSearch || this.isMultiple) && !!this.inputValue && $event.matchedKeys!.length === 0;\n    });\n  }\n\n  updateCdkConnectedOverlayStatus(): void {\n    this.triggerWidth = this.cdkOverlayOrigin.elementRef.nativeElement.getBoundingClientRect().width;\n  }\n\n  trackValue(_index: number, option: NzTreeNode): string {\n    return option.key!;\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 { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\nimport { NzOverlayModule } from 'ng-zorro-antd/core/overlay';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzTreeModule } from 'ng-zorro-antd/tree';\n\nimport { NzTreeSelectComponent } from './tree-select.component';\n\n@NgModule({\n  imports: [\n    BidiModule,\n    CommonModule,\n    OverlayModule,\n    FormsModule,\n    NzSelectModule,\n    NzTreeModule,\n    NzIconModule,\n    NzEmptyModule,\n    NzOverlayModule,\n    NzNoAnimationModule\n  ],\n  declarations: [NzTreeSelectComponent],\n  exports: [NzTreeSelectComponent]\n})\nexport class NzTreeSelectModule {}\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-select.component';\nexport * from './tree-select.module';\nexport * from './tree-select.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":"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"}