{"version":3,"file":"ui-vts-kit-ng-vts-select.mjs","sources":["../../components/select/option-group.component.ts","../../components/select/option-item.component.ts","../../components/select/option-item-group.component.ts","../../components/select/option-container.component.ts","../../components/select/option.component.ts","../../components/select/select-search.component.ts","../../components/select/select-item.component.ts","../../components/select/select-placeholder.component.ts","../../components/select/select-top-control.component.ts","../../components/select/select-clear.component.ts","../../components/select/select-arrow.component.ts","../../components/select/select-multiple-count.component.ts","../../components/select/select.component.ts","../../components/select/select.module.ts","../../components/select/select.types.ts","../../components/select/public-api.ts","../../components/select/ui-vts-kit-ng-vts-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 {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  OnChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { Subject } from 'rxjs';\n\n@Component({\n  selector: 'vts-option-group',\n  exportAs: 'vtsOptionGroup',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-content></ng-content>\n  `\n})\nexport class VtsOptionGroupComponent implements OnChanges {\n  @Input() vtsLabel: string | TemplateRef<VtsSafeAny> | null = null;\n  changes = new Subject<void>();\n  ngOnChanges(): void {\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 {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsSelectModeType } from './select.types';\n\n@Component({\n  selector: 'vts-option-item',\n  template: `\n    <div class=\"vts-select-item-option-content\">\n      <ng-container *ngIf=\"!customContent && mode === 'default'\">\n        {{ label }}\n      </ng-container>\n      <ng-container *ngIf=\"!customContent && mode !== 'default'\">\n        <label\n          [ngModel]=\"selected\"\n          (vtsCheckedChange)=\"innerCheckboxClick($event)\"\n          (click)=\"$event.stopPropagation()\"\n          vts-checkbox\n        >\n          {{ label }}\n        </label>\n      </ng-container>\n      <ng-container *ngIf=\"customContent\">\n        <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n      </ng-container>\n    </div>\n    <div\n      *ngIf=\"showState && selected\"\n      class=\"vts-select-item-option-state\"\n      style=\"user-select: none\"\n      unselectable=\"on\"\n    >\n      <i\n        vts-icon\n        vtsType=\"CheckOutline\"\n        class=\"vts-select-selected-icon\"\n        *ngIf=\"!icon; else icon\"\n      ></i>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[attr.title]': 'label',\n    '[class.vts-select-item-option-grouped]': 'grouped',\n    '[class.vts-select-item-option-selected]': 'selected && !disabled',\n    '[class.vts-select-item-option-disabled]': 'disabled',\n    '[class.vts-select-item-option-active]': 'activated && !disabled',\n    '(mouseenter)': 'onHostMouseEnter()',\n    '(click)': 'onHostClick()'\n  }\n})\nexport class VtsOptionItemComponent implements OnChanges {\n  selected = false;\n  activated = false;\n  @Input() grouped = false;\n  @Input() customContent = false;\n  @Input() template: TemplateRef<VtsSafeAny> | null = null;\n  @Input() disabled = false;\n  @Input() showState = false;\n  @Input() label: string | null = null;\n  @Input() value: VtsSafeAny | null = null;\n  @Input() activatedValue: VtsSafeAny | null = null;\n  @Input() listOfSelectedValue: VtsSafeAny[] = [];\n  @Input() icon: TemplateRef<VtsSafeAny> | null = null;\n  @Input() mode: VtsSelectModeType = 'default';\n  @Input() vtsCustomCompareFn!: (o1: VtsSafeAny, o2: VtsSafeAny) => boolean;\n  @Output() readonly itemClick = new EventEmitter<VtsSafeAny>();\n  @Output() readonly itemHover = new EventEmitter<VtsSafeAny>();\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-select-item', 'vts-select-item-option');\n  }\n\n  onHostMouseEnter(): void {\n    if (!this.disabled) {\n      this.itemHover.next(this.value);\n    }\n  }\n  onHostClick(): void {\n    if (!this.disabled) {\n      this.itemClick.next(this.value);\n    }\n  }\n  ngOnChanges(changes: SimpleChanges): void {\n    const { value, activatedValue, listOfSelectedValue } = changes;\n    if (value || listOfSelectedValue) {\n      this.selected = this.listOfSelectedValue.some(v => this.vtsCustomCompareFn(v, this.value));\n    }\n    if (value || activatedValue) {\n      this.activated = this.vtsCustomCompareFn(this.activatedValue, this.value);\n    }\n  }\n\n  innerCheckboxClick(_e: any) {\n    this.onHostClick();\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';\n\n@Component({\n  selector: 'vts-option-item-group',\n  template: `\n    <ng-container *vtsStringTemplateOutlet=\"vtsLabel\">\n      {{ vtsLabel }}\n    </ng-container>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None\n})\nexport class VtsOptionItemGroupComponent {\n  @Input() vtsLabel: string | 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-select-item', 'vts-select-item-group');\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 {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsSelectItemInterface, VtsSelectModeType } from './select.types';\n\n@Component({\n  selector: 'vts-option-container',\n  exportAs: 'vtsOptionContainer',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  template: `\n    <div>\n      <div *ngIf=\"listOfContainerItem.length === 0\" class=\"vts-select-item-empty\">\n        <vts-embed-empty\n          vtsComponentName=\"select\"\n          [specificContent]=\"notFoundContent!\"\n        ></vts-embed-empty>\n      </div>\n      <cdk-virtual-scroll-viewport\n        [class.full-width]=\"!matchWidth\"\n        [itemSize]=\"itemSize\"\n        [maxBufferPx]=\"itemSize * maxItemLength\"\n        [minBufferPx]=\"itemSize * maxItemLength\"\n        (scrolledIndexChange)=\"onScrolledIndexChange($event)\"\n        [style.height.px]=\"listOfContainerItem.length * itemSize + 2\"\n        [style.max-height.px]=\"itemSize * maxItemLength + 2\"\n      >\n        <ng-template\n          cdkVirtualFor\n          [cdkVirtualForOf]=\"listOfContainerItem\"\n          [cdkVirtualForTrackBy]=\"trackValue\"\n          [cdkVirtualForTemplateCacheSize]=\"0\"\n          let-item\n        >\n          <ng-container [ngSwitch]=\"item.type\">\n            <vts-option-item-group\n              *ngSwitchCase=\"'group'\"\n              [vtsLabel]=\"item.groupLabel\"\n            ></vts-option-item-group>\n            <vts-option-item\n              *ngSwitchCase=\"'item'\"\n              [icon]=\"menuItemSelectedIcon\"\n              [customContent]=\"item.vtsCustomContent\"\n              [template]=\"item.template\"\n              [grouped]=\"!!item.groupLabel\"\n              [disabled]=\"item.vtsDisabled\"\n              [showState]=\"mode === 'default'\"\n              [mode]=\"mode\"\n              [label]=\"item.vtsLabel\"\n              [vtsCustomCompareFn]=\"vtsCustomCompareFn\"\n              [activatedValue]=\"activatedValue\"\n              [listOfSelectedValue]=\"listOfSelectedValue\"\n              [value]=\"item.vtsValue\"\n              (itemHover)=\"onItemHover($event)\"\n              (itemClick)=\"onItemClick($event)\"\n            ></vts-option-item>\n          </ng-container>\n        </ng-template>\n      </cdk-virtual-scroll-viewport>\n      <ng-template [ngTemplateOutlet]=\"dropdownRender\"></ng-template>\n    </div>\n  `\n})\nexport class VtsOptionContainerComponent implements OnChanges, AfterViewInit {\n  @Input() notFoundContent: string | TemplateRef<VtsSafeAny> | undefined = undefined;\n  @Input() menuItemSelectedIcon: TemplateRef<VtsSafeAny> | null = null;\n  @Input() dropdownRender: TemplateRef<VtsSafeAny> | null = null;\n  @Input() activatedValue: VtsSafeAny | null = null;\n  @Input() listOfSelectedValue: VtsSafeAny[] = [];\n  @Input() vtsCustomCompareFn!: (o1: VtsSafeAny, o2: VtsSafeAny) => boolean;\n  @Input() mode: VtsSelectModeType = 'default';\n  @Input() matchWidth = true;\n  @Input() itemSize = 48;\n  @Input() maxItemLength = 8;\n  @Input() listOfContainerItem: VtsSelectItemInterface[] = [];\n  @Output() readonly itemClick = new EventEmitter<VtsSafeAny>();\n  @Output() readonly scrollToBottom = new EventEmitter<void>();\n  @ViewChild(CdkVirtualScrollViewport, { static: true })\n  cdkVirtualScrollViewport!: CdkVirtualScrollViewport;\n  private scrolledIndex = 0;\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-select-dropdown');\n  }\n\n  onItemClick(value: VtsSafeAny): void {\n    this.itemClick.emit(value);\n  }\n\n  onItemHover(value: VtsSafeAny): void {\n    // TODO: keydown.enter won't activate this value\n    this.activatedValue = value;\n  }\n\n  trackValue(_index: number, option: VtsSelectItemInterface): VtsSafeAny {\n    return option.key;\n  }\n\n  onScrolledIndexChange(index: number): void {\n    this.scrolledIndex = index;\n    if (index === this.listOfContainerItem.length - this.maxItemLength) {\n      this.scrollToBottom.emit();\n    }\n  }\n\n  scrollToActivatedValue(): void {\n    const index = this.listOfContainerItem.findIndex(item =>\n      this.vtsCustomCompareFn(item.key, this.activatedValue)\n    );\n    if (index < this.scrolledIndex || index >= this.scrolledIndex + this.maxItemLength) {\n      this.cdkVirtualScrollViewport.scrollToIndex(index || 0);\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { listOfContainerItem, activatedValue } = changes;\n    if (listOfContainerItem || activatedValue) {\n      this.scrollToActivatedValue();\n    }\n  }\n  ngAfterViewInit(): void {\n    setTimeout(() => this.scrollToActivatedValue());\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  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { BooleanInput, VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { VtsOptionGroupComponent } from './option-group.component';\n\n@Component({\n  selector: 'vts-option',\n  exportAs: 'vtsOption',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-template>\n      <ng-content></ng-content>\n    </ng-template>\n  `\n})\nexport class VtsOptionComponent implements OnChanges, OnInit, OnDestroy {\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\n  static ngAcceptInputType_vtsHide: BooleanInput;\n  static ngAcceptInputType_vtsCustomContent: BooleanInput;\n\n  private destroy$ = new Subject<void>();\n  changes = new Subject();\n  groupLabel: string | TemplateRef<VtsSafeAny> | null = null;\n  @ViewChild(TemplateRef, { static: true }) template!: TemplateRef<VtsSafeAny>;\n  @Input() vtsLabel: string | null = null;\n  @Input() vtsValue: VtsSafeAny | null = null;\n  @Input() @InputBoolean() vtsDisabled = false;\n  @Input() @InputBoolean() vtsHide = false;\n  @Input() @InputBoolean() vtsCustomContent = false;\n\n  constructor(@Optional() private vtsOptionGroupComponent: VtsOptionGroupComponent) {}\n\n  ngOnInit(): void {\n    if (this.vtsOptionGroupComponent) {\n      this.vtsOptionGroupComponent.changes\n        .pipe(startWith(true), takeUntil(this.destroy$))\n        .subscribe(() => {\n          this.groupLabel = this.vtsOptionGroupComponent.vtsLabel;\n        });\n    }\n  }\n\n  ngOnChanges(): void {\n    this.changes.next();\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 { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { COMPOSITION_BUFFER_MODE } from '@angular/forms';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\n@Component({\n  selector: 'vts-select-search',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <input\n      #inputElement\n      [attr.id]=\"vtsId\"\n      autocomplete=\"off\"\n      class=\"vts-select-selection-search-input\"\n      [ngModel]=\"value\"\n      [placeholder]=\"placeholder\"\n      [attr.autofocus]=\"autofocus ? 'autofocus' : null\"\n      [disabled]=\"disabled\"\n      [style.opacity]=\"showInput ? null : 0\"\n      (ngModelChange)=\"onValueChange($event)\"\n      (compositionstart)=\"setCompositionState(true)\"\n      (compositionend)=\"setCompositionState(false)\"\n    />\n    <span #mirrorElement *ngIf=\"mirrorSync\" class=\"vts-select-selection-search-mirror\"></span>\n  `,\n  providers: [{ provide: COMPOSITION_BUFFER_MODE, useValue: false }]\n})\nexport class VtsSelectSearchComponent implements AfterViewInit, OnChanges {\n  @Input() vtsId: string | null = null;\n  @Input() disabled = false;\n  @Input() mirrorSync = false;\n  @Input() showInput = true;\n  @Input() focusTrigger = false;\n  @Input() value = '';\n  @Input() autofocus = false;\n  @Input() placeholder: string | TemplateRef<VtsSafeAny> | null = '';\n  @Output() readonly valueChange = new EventEmitter<string>();\n  @Output() readonly isComposingChange = new EventEmitter<boolean>();\n  @ViewChild('inputElement', { static: true }) inputElement!: ElementRef;\n  @ViewChild('mirrorElement', { static: false }) mirrorElement?: ElementRef;\n\n  setCompositionState(isComposing: boolean): void {\n    this.isComposingChange.next(isComposing);\n  }\n\n  onValueChange(value: string): void {\n    this.value = value;\n    this.valueChange.next(value);\n    if (this.mirrorSync) {\n      this.syncMirrorWidth();\n    }\n  }\n\n  clearInputValue(): void {\n    const inputDOM = this.inputElement.nativeElement;\n    inputDOM.value = '';\n    this.onValueChange('');\n  }\n\n  syncMirrorWidth(): void {\n    // const mirrorDOM = this.mirrorElement!.nativeElement;\n    // const hostDOM = this.elementRef.nativeElement;\n    // const inputDOM = this.inputElement.nativeElement;\n    // this.renderer.removeStyle(hostDOM, 'width');\n    // mirrorDOM.innerHTML = this.renderer.createText(`${inputDOM.value}&nbsp;`);\n    // this.renderer.setStyle(hostDOM, 'width', `${mirrorDOM.scrollWidth}px`);\n  }\n\n  focus(): void {\n    this.focusMonitor.focusVia(this.inputElement, 'keyboard');\n  }\n\n  blur(): void {\n    this.inputElement.nativeElement.blur();\n  }\n\n  constructor(\n    private elementRef: ElementRef,\n    private renderer: Renderer2,\n    private focusMonitor: FocusMonitor\n  ) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-select-selection-search');\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const inputDOM = this.inputElement.nativeElement;\n    const { focusTrigger, showInput } = changes;\n\n    if (showInput) {\n      if (this.showInput) {\n        this.renderer.removeAttribute(inputDOM, 'readonly');\n      } else {\n        this.renderer.setAttribute(inputDOM, 'readonly', 'readonly');\n      }\n    }\n\n    // IE11 cannot input value if focused before removing readonly\n    if (\n      focusTrigger &&\n      focusTrigger.currentValue === true &&\n      focusTrigger.previousValue === false\n    ) {\n      inputDOM.focus();\n    }\n  }\n\n  ngAfterViewInit(): void {\n    if (this.mirrorSync) {\n      this.syncMirrorWidth();\n    }\n    if (this.autofocus) {\n      this.focus();\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 {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\n@Component({\n  selector: 'vts-select-item',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-container\n      *vtsStringTemplateOutlet=\"\n        contentTemplateOutlet;\n        context: { $implicit: contentTemplateOutletContext }\n      \"\n    >\n      <div class=\"vts-select-selection-item-content\" *ngIf=\"deletable; else labelTemplate\">\n        {{ label }}\n      </div>\n      <ng-template #labelTemplate>{{ label }}</ng-template>\n    </ng-container>\n    <span\n      *ngIf=\"deletable && !disabled\"\n      class=\"vts-select-selection-item-remove\"\n      (click)=\"onDelete($event)\"\n    >\n      <i vts-icon vtsType=\"Close\" *ngIf=\"!removeIcon; else removeIcon\"></i>\n    </span>\n  `,\n  host: {\n    '[attr.title]': 'label',\n    '[class.vts-select-selection-item-disabled]': 'disabled'\n  }\n})\nexport class VtsSelectItemComponent {\n  @Input() disabled = false;\n  @Input() label: string | null | undefined = null;\n  @Input() deletable = false;\n  @Input() removeIcon: TemplateRef<VtsSafeAny> | null = null;\n  @Input() contentTemplateOutletContext: VtsSafeAny | null = null;\n  @Input() contentTemplateOutlet: string | TemplateRef<VtsSafeAny> | null = null;\n  @Output() readonly delete = new EventEmitter<MouseEvent>();\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-select-selection-item');\n  }\n\n  onDelete(e: MouseEvent): void {\n    e.preventDefault();\n    e.stopPropagation();\n    if (!this.disabled) {\n      this.delete.next(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 {\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';\n\n@Component({\n  selector: 'vts-select-placeholder',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-container *vtsStringTemplateOutlet=\"placeholder\">\n      {{ placeholder }}\n    </ng-container>\n  `\n})\nexport class VtsSelectPlaceholderComponent {\n  @Input() placeholder: TemplateRef<VtsSafeAny> | string | null = null;\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-select-selection-placeholder');\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 { BACKSPACE } from '@angular/cdk/keycodes';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Host,\n  Input,\n  OnChanges,\n  Optional,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsNoAnimationDirective } from '@ui-vts-kit/ng-vts/core/no-animation';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsSelectSearchComponent } from './select-search.component';\nimport {\n  VtsSelectItemInterface,\n  VtsSelectModeType,\n  VtsSelectTopControlItemType\n} from './select.types';\n\n@Component({\n  selector: 'vts-select-top-control',\n  exportAs: 'vtsSelectTopControl',\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <!--single mode-->\n    <ng-container [ngSwitch]=\"mode\">\n      <ng-container *ngSwitchCase=\"'default'\">\n        <vts-select-search\n          [vtsId]=\"vtsId\"\n          [disabled]=\"disabled\"\n          [value]=\"inputValue!\"\n          [showInput]=\"showSearch\"\n          [mirrorSync]=\"false\"\n          [autofocus]=\"autofocus\"\n          [focusTrigger]=\"open\"\n          (isComposingChange)=\"isComposingChange($event)\"\n          (valueChange)=\"onInputValueChange($event)\"\n        ></vts-select-search>\n        <vts-select-item\n          *ngIf=\"isShowSingleLabel\"\n          [deletable]=\"false\"\n          [disabled]=\"false\"\n          [removeIcon]=\"removeIcon\"\n          [label]=\"listOfTopItem[0].vtsLabel\"\n          [contentTemplateOutlet]=\"customTemplate\"\n          [contentTemplateOutletContext]=\"listOfTopItem[0]\"\n        ></vts-select-item>\n      </ng-container>\n      <ng-container *ngSwitchDefault>\n        <!--multiple or tags mode-->\n        <vts-select-item\n          *ngFor=\"let item of listOfSlicedItem; trackBy: trackValue\"\n          [removeIcon]=\"removeIcon\"\n          [label]=\"item.vtsLabel\"\n          [disabled]=\"item.vtsDisabled || disabled\"\n          [contentTemplateOutlet]=\"item.contentTemplateOutlet\"\n          [deletable]=\"true\"\n          [contentTemplateOutletContext]=\"item.contentTemplateOutletContext\"\n          (delete)=\"onDeleteItem(item.contentTemplateOutletContext)\"\n        ></vts-select-item>\n        <vts-select-search\n          [vtsId]=\"vtsId\"\n          [disabled]=\"disabled\"\n          [value]=\"inputValue!\"\n          [autofocus]=\"autofocus\"\n          [showInput]=\"showSearch\"\n          [mirrorSync]=\"true\"\n          [focusTrigger]=\"open\"\n          (isComposingChange)=\"isComposingChange($event)\"\n          (valueChange)=\"onInputValueChange($event)\"\n          [placeholder]=\"\n            this.listOfTopItem.length !== 0 && !!placeHolder && !disabled ? placeHolder : ''\n          \"\n        ></vts-select-search>\n      </ng-container>\n    </ng-container>\n    <vts-select-placeholder\n      *ngIf=\"isShowPlaceholder\"\n      [placeholder]=\"placeHolder\"\n    ></vts-select-placeholder>\n  `,\n  host: {\n    '(keydown)': 'onHostKeydown($event)'\n  }\n})\nexport class VtsSelectTopControlComponent implements OnChanges {\n  @Input() vtsId: string | null = null;\n  @Input() showSearch = false;\n  @Input() placeHolder: string | TemplateRef<VtsSafeAny> | null = null;\n  @Input() open = false;\n  @Input() maxTagCount: number = Infinity;\n  @Input() autofocus = false;\n  @Input() disabled = false;\n  @Input() mode: VtsSelectModeType = 'default';\n  @Input() customTemplate: TemplateRef<{\n    $implicit: VtsSelectItemInterface;\n  }> | null = null;\n  @Input() maxTagPlaceholder: TemplateRef<{\n    $implicit: VtsSafeAny[];\n  }> | null = null;\n  @Input() removeIcon: TemplateRef<VtsSafeAny> | null = null;\n  @Input() listOfTopItem: VtsSelectItemInterface[] = [];\n  @Input() tokenSeparators: string[] = [];\n  @Output() readonly tokenize = new EventEmitter<string[]>();\n  @Output() readonly inputValueChange = new EventEmitter<string>();\n  @Output() readonly deleteItem = new EventEmitter<VtsSelectItemInterface>();\n  @ViewChild(VtsSelectSearchComponent)\n  vtsSelectSearchComponent!: VtsSelectSearchComponent;\n  listOfSlicedItem: VtsSelectTopControlItemType[] = [];\n  isShowPlaceholder = true;\n  isShowSingleLabel = false;\n  isComposing = false;\n  inputValue: string | null = null;\n\n  onHostKeydown(e: KeyboardEvent): void {\n    const inputValue = (e.target as HTMLInputElement).value;\n    if (\n      e.keyCode === BACKSPACE &&\n      this.mode !== 'default' &&\n      !inputValue &&\n      this.listOfTopItem.length > 0\n    ) {\n      e.preventDefault();\n      this.onDeleteItem(this.listOfTopItem[this.listOfTopItem.length - 1]);\n    }\n  }\n\n  updateTemplateVariable(): void {\n    const isSelectedValueEmpty = this.listOfTopItem.length === 0;\n    this.isShowPlaceholder = isSelectedValueEmpty && !this.isComposing && !this.inputValue;\n    this.isShowSingleLabel = !isSelectedValueEmpty && !this.isComposing && !this.inputValue;\n  }\n\n  isComposingChange(isComposing: boolean): void {\n    this.isComposing = isComposing;\n    this.updateTemplateVariable();\n  }\n\n  onInputValueChange(value: string): void {\n    if (value !== this.inputValue) {\n      this.inputValue = value;\n      this.updateTemplateVariable();\n      this.inputValueChange.emit(value);\n      this.tokenSeparate(value, this.tokenSeparators);\n    }\n  }\n\n  tokenSeparate(inputValue: string, tokenSeparators: string[]): void {\n    const includesSeparators = (str: string | string[], separators: string[]): boolean => {\n      // tslint:disable-next-line:prefer-for-of\n      for (let i = 0; i < separators.length; ++i) {\n        if (str.lastIndexOf(separators[i]) > 0) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const splitBySeparators = (str: string | string[], separators: string[]): string[] => {\n      const reg = new RegExp(`[${separators.join()}]`);\n      const array = (str as string).split(reg).filter(token => token);\n      return [...new Set(array)];\n    };\n    if (\n      inputValue &&\n      inputValue.length &&\n      tokenSeparators.length &&\n      this.mode !== 'default' &&\n      includesSeparators(inputValue, tokenSeparators)\n    ) {\n      const listOfLabel = splitBySeparators(inputValue, tokenSeparators);\n      this.tokenize.next(listOfLabel);\n    }\n  }\n\n  clearInputValue(): void {\n    if (this.vtsSelectSearchComponent) {\n      this.vtsSelectSearchComponent.clearInputValue();\n    }\n  }\n\n  focus(): void {\n    if (this.vtsSelectSearchComponent) {\n      this.vtsSelectSearchComponent.focus();\n    }\n  }\n\n  blur(): void {\n    if (this.vtsSelectSearchComponent) {\n      this.vtsSelectSearchComponent.blur();\n    }\n  }\n\n  trackValue(_index: number, option: VtsSelectTopControlItemType): VtsSafeAny {\n    return option.vtsValue;\n  }\n\n  onDeleteItem(item: VtsSelectItemInterface): void {\n    if (!this.disabled && !item.vtsDisabled) {\n      this.deleteItem.next(item);\n    }\n  }\n\n  constructor(\n    private elementRef: ElementRef,\n    @Host() @Optional() public noAnimation?: VtsNoAnimationDirective\n  ) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-select-selector');\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { listOfTopItem, maxTagCount, customTemplate, maxTagPlaceholder } = changes;\n    if (listOfTopItem) {\n      this.updateTemplateVariable();\n    }\n    if (listOfTopItem || maxTagCount || customTemplate || maxTagPlaceholder) {\n      const listOfSlicedItem: VtsSelectTopControlItemType[] = this.listOfTopItem\n        .slice(0, this.maxTagCount)\n        .map(o => {\n          return {\n            vtsLabel: o.vtsLabel,\n            vtsValue: o.vtsValue,\n            vtsDisabled: o.vtsDisabled,\n            contentTemplateOutlet: this.customTemplate,\n            contentTemplateOutletContext: o\n          };\n        });\n      if (this.listOfTopItem.length > this.maxTagCount) {\n        const exceededLabel = `+ ${this.listOfTopItem.length - this.maxTagCount} ...`;\n        const listOfSelectedValue = this.listOfTopItem.map(item => item.vtsValue);\n        const exceededItem = {\n          vtsLabel: exceededLabel,\n          vtsValue: '$$__vts_exceeded_item',\n          vtsDisabled: true,\n          contentTemplateOutlet: this.maxTagPlaceholder,\n          contentTemplateOutletContext: listOfSelectedValue.slice(this.maxTagCount)\n        };\n        listOfSlicedItem.push(exceededItem);\n      }\n      this.listOfSlicedItem = listOfSlicedItem;\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 {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\n@Component({\n  selector: 'vts-select-clear',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <i\n      vts-icon\n      vtsType=\"Close\"\n      *ngIf=\"!clearIcon; else clearIcon\"\n      class=\"vts-select-close-icon\"\n    ></i>\n  `,\n  host: {\n    '(click)': 'onClick($event)'\n  }\n})\nexport class VtsSelectClearComponent {\n  @Input() clearIcon: TemplateRef<VtsSafeAny> | null = null;\n  @Output() readonly clear = new EventEmitter<MouseEvent>();\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-select-clear');\n  }\n\n  onClick(e: MouseEvent): void {\n    e.preventDefault();\n    e.stopPropagation();\n    this.clear.emit(e);\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  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\n@Component({\n  selector: 'vts-select-arrow',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <i vts-icon vtsType=\"Sync\" *ngIf=\"loading; else defaultArrow\"></i>\n    <ng-template #defaultArrow>\n      <ng-container *ngIf=\"!suffixIcon; else suffixTemplate\">\n        <i vts-icon vtsType=\"ChevronDown:octIcon\" (click)=\"onClickArrow($event)\"></i>\n      </ng-container>\n      <ng-template #suffixTemplate>\n        <ng-container *vtsStringTemplateOutlet=\"suffixIcon; let suffixIcon\">\n          <i vts-icon [vtsType]=\"suffixIcon\" (click)=\"onClickArrow($event)\"></i>\n        </ng-container>\n      </ng-template>\n    </ng-template>\n  `,\n  host: {\n    '[class.vts-select-arrow-loading]': 'loading'\n  }\n})\nexport class VtsSelectArrowComponent {\n  @Input() loading = false;\n  @Input() search = false;\n  @Input() suffixIcon: TemplateRef<VtsSafeAny> | string | null = null;\n  @Input() isSelectOpen: boolean = false;\n\n  @Output() clickArrow = 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-select-arrow');\n  }\n\n  /**\n   * close select when it's opening \n   */\n  onClickArrow(evt: MouseEvent){\n    if(!this.isSelectOpen){\n      return;\n    }\n    else {\n      this.clickArrow.emit(false);\n      // stop fire host click event\n      evt.stopPropagation();\n    }\n  }\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'vts-select-multiple-count',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-container *ngIf=\"count\">\n      <span>{{ count }}</span>\n    </ng-container>\n  `,\n  host: {\n    '[class.vts-select-multiple-count]': 'true'\n  }\n})\nexport class VtsSelectMultipleCountComponent {\n  @Input() count: number = 0;\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 { FocusMonitor } from '@angular/cdk/a11y';\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { DOWN_ARROW, ENTER, ESCAPE, SPACE, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport {\n  CdkConnectedOverlay,\n  CdkOverlayOrigin,\n  ConnectedOverlayPositionChange\n} from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Host,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  QueryList,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { slideMotion } from '@ui-vts-kit/ng-vts/core/animation';\nimport { VtsConfigKey, VtsConfigService, WithConfig } from '@ui-vts-kit/ng-vts/core/config';\nimport { VtsNoAnimationDirective } from '@ui-vts-kit/ng-vts/core/no-animation';\nimport { reqAnimFrame } from '@ui-vts-kit/ng-vts/core/polyfill';\nimport {\n  BooleanInput,\n  VtsSafeAny,\n  OnChangeType,\n  OnTouchedType,\n  VtsSizeXLMSType\n} from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean, isNotNil } from '@ui-vts-kit/ng-vts/core/util';\nimport { BehaviorSubject, combineLatest, merge, Subject } from 'rxjs';\nimport { startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { VtsOptionGroupComponent } from './option-group.component';\nimport { VtsOptionComponent } from './option.component';\nimport { VtsSelectTopControlComponent } from './select-top-control.component';\nimport {\n  VtsFilterOptionType,\n  VtsSelectItemInterface,\n  VtsSelectModeType,\n  VtsSelectOptionInterface\n} from './select.types';\n\nconst defaultFilterOption: VtsFilterOptionType = (\n  searchValue: string,\n  item: VtsSelectItemInterface\n): boolean => {\n  if (item && item.vtsLabel) {\n    return item.vtsLabel.toLowerCase().indexOf(searchValue.toLowerCase()) > -1;\n  } else {\n    return false;\n  }\n};\n\nconst VTS_CONFIG_MODULE_NAME: VtsConfigKey = 'select';\n\n@Component({\n  selector: 'vts-select',\n  exportAs: 'vtsSelect',\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => VtsSelectComponent),\n      multi: true\n    }\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  animations: [slideMotion],\n  template: `\n    <vts-select-top-control\n      cdkOverlayOrigin\n      #origin=\"cdkOverlayOrigin\"\n      [vtsId]=\"vtsId\"\n      [open]=\"vtsOpen\"\n      [disabled]=\"vtsDisabled\"\n      [mode]=\"vtsMode\"\n      [@.disabled]=\"noAnimation?.vtsNoAnimation\"\n      [vtsNoAnimation]=\"noAnimation?.vtsNoAnimation\"\n      [maxTagPlaceholder]=\"vtsMaxTagPlaceholder\"\n      [removeIcon]=\"vtsRemoveIcon\"\n      [placeHolder]=\"vtsPlaceHolder\"\n      [maxTagCount]=\"vtsMaxTagCount\"\n      [customTemplate]=\"vtsCustomTemplate\"\n      [tokenSeparators]=\"vtsTokenSeparators\"\n      [showSearch]=\"vtsShowSearch\"\n      [autofocus]=\"vtsAutoFocus\"\n      [listOfTopItem]=\"listOfTopItem\"\n      (inputValueChange)=\"onInputValueChange($event)\"\n      (tokenize)=\"onTokenSeparate($event)\"\n      (deleteItem)=\"onItemDelete($event)\"\n      (keydown)=\"onKeyDown($event)\"\n    ></vts-select-top-control>\n    <vts-select-arrow\n      [loading]=\"vtsLoading\"\n      [search]=\"vtsOpen && vtsShowSearch\"\n      [suffixIcon]=\"vtsSuffixIcon\"\n      [isSelectOpen]=\"vtsOpen\"\n      (clickArrow)=\"clickArrow($event)\"\n    ></vts-select-arrow>\n    <vts-select-clear\n      *ngIf=\"vtsAllowClear && !vtsDisabled && listOfValue.length\"\n      [clearIcon]=\"vtsClearIcon\"\n      (clear)=\"onClearSelection()\"\n    ></vts-select-clear>\n    <vts-select-multiple-count\n      *ngIf=\"vtsMode !== 'default' && !vtsDisabled && !!listOfValue?.length\"\n      [count]=\"listOfValue.length\"\n    ></vts-select-multiple-count>\n    <ng-template\n      cdkConnectedOverlay\n      vtsConnectedOverlay\n      [cdkConnectedOverlayHasBackdrop]=\"vtsBackdrop\"\n      [cdkConnectedOverlayMinWidth]=\"$any(vtsDropdownMatchSelectWidth ? null : triggerWidth)\"\n      [cdkConnectedOverlayWidth]=\"$any(vtsDropdownMatchSelectWidth ? triggerWidth : null)\"\n      [cdkConnectedOverlayOrigin]=\"origin\"\n      [cdkConnectedOverlayTransformOriginOn]=\"'.vts-select-dropdown'\"\n      [cdkConnectedOverlayPanelClass]=\"vtsDropdownClassName!\"\n      [cdkConnectedOverlayOpen]=\"vtsOpen\"\n      (overlayKeydown)=\"onOverlayKeyDown($event)\"\n      (overlayOutsideClick)=\"onClickOutside($event)\"\n      (detach)=\"setOpenState(false)\"\n      (positionChange)=\"onPositionChange($event)\"\n    >\n      <vts-option-container\n        [ngStyle]=\"vtsDropdownStyle\"\n        [itemSize]=\"vtsOptionHeightPx\"\n        [maxItemLength]=\"vtsOptionOverflowSize\"\n        [matchWidth]=\"vtsDropdownMatchSelectWidth\"\n        [class.vts-select-dropdown-placement-bottomLeft]=\"dropDownPosition === 'bottom'\"\n        [class.vts-select-dropdown-placement-topLeft]=\"dropDownPosition === 'top'\"\n        [class.vts-select-dropdown-xl]=\"vtsSize === 'xl'\"\n        [class.vts-select-dropdown-lg]=\"vtsSize === 'lg'\"\n        [class.vts-select-dropdown-md]=\"vtsSize === 'md'\"\n        [class.vts-select-dropdown-sm]=\"vtsSize === 'sm'\"\n        [class.vts-select-dropdown-single]=\"vtsMode === 'default'\"\n        [class.vts-select-dropdown-multiple]=\"vtsMode !== 'default'\"\n        [@slideMotion]=\"'enter'\"\n        [@.disabled]=\"noAnimation?.vtsNoAnimation\"\n        [vtsNoAnimation]=\"noAnimation?.vtsNoAnimation\"\n        [listOfContainerItem]=\"listOfContainerItem\"\n        [menuItemSelectedIcon]=\"vtsMenuItemSelectedIcon\"\n        [notFoundContent]=\"vtsNoResult\"\n        [activatedValue]=\"activatedValue\"\n        [listOfSelectedValue]=\"listOfValue\"\n        [dropdownRender]=\"vtsDropdownRender\"\n        [vtsCustomCompareFn]=\"vtsCustomCompareFn\"\n        [mode]=\"vtsMode\"\n        (keydown)=\"onKeyDown($event)\"\n        (itemClick)=\"onItemClick($event)\"\n        (scrollToBottom)=\"vtsScrollToBottom.emit()\"\n      ></vts-option-container>\n    </ng-template>\n  `,\n  host: {\n    '[class.vts-select-xl]': 'vtsSize === \"xl\"',\n    '[class.vts-select-lg]': 'vtsSize === \"lg\"',\n    '[class.vts-select-md]': 'vtsSize === \"md\"',\n    '[class.vts-select-sm]': 'vtsSize === \"sm\"',\n    '[class.vts-select-show-arrow]': `vtsShowArrow`,\n    '[class.vts-select-disabled]': 'vtsDisabled',\n    '[class.vts-select-show-search]': `vtsShowSearch && !vtsDisabled`,\n    '[class.vts-select-allow-clear]': 'vtsAllowClear',\n    '[class.vts-select-borderless]': 'vtsBorderless',\n    '[class.vts-select-open]': 'vtsOpen',\n    '[class.vts-select-focused]': 'vtsOpen || focused',\n    '[class.vts-select-single]': `vtsMode === 'default'`,\n    '[class.vts-select-multiple]': `vtsMode !== 'default'`,\n    '[class.vts-select-rtl]': `dir === 'rtl'`,\n    '(click)': 'onHostClick()'\n  }\n})\nexport class VtsSelectComponent\n  implements ControlValueAccessor, OnInit, OnDestroy, AfterContentInit, OnChanges\n{\n  readonly _vtsModuleName: VtsConfigKey = VTS_CONFIG_MODULE_NAME;\n\n  static ngAcceptInputType_vtsAllowClear: BooleanInput;\n  static ngAcceptInputType_vtsBorderless: BooleanInput;\n  static ngAcceptInputType_vtsShowSearch: BooleanInput;\n  static ngAcceptInputType_vtsLoading: BooleanInput;\n  static ngAcceptInputType_vtsAutoFocus: BooleanInput;\n  static ngAcceptInputType_vtsAutoClearSearchValue: BooleanInput;\n  static ngAcceptInputType_vtsServerSearch: BooleanInput;\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\n  static ngAcceptInputType_vtsOpen: BooleanInput;\n\n  @Input() vtsId: string | null = null;\n  @Input() vtsSize: VtsSizeXLMSType = 'md';\n  @Input() vtsOptionOverflowSize = 8;\n  @Input() vtsDropdownClassName: string | null = null;\n  @Input() vtsDropdownMatchSelectWidth = true;\n  @Input() vtsDropdownStyle: { [key: string]: string } | null = null;\n  @Input() vtsNoResult: string | TemplateRef<VtsSafeAny> | undefined = undefined;\n  @Input() vtsPlaceHolder: string | TemplateRef<VtsSafeAny> | null = null;\n  @Input() vtsMaxTagCount = Infinity;\n  @Input() vtsDropdownRender: TemplateRef<VtsSafeAny> | null = null;\n  @Input() vtsCustomTemplate: TemplateRef<{\n    $implicit: VtsSelectItemInterface;\n  }> | null = null;\n  @Input()\n  @WithConfig<TemplateRef<VtsSafeAny> | string | null>()\n  vtsSuffixIcon: TemplateRef<VtsSafeAny> | string | null = null;\n  @Input() vtsClearIcon: TemplateRef<VtsSafeAny> | null = null;\n  @Input() vtsRemoveIcon: TemplateRef<VtsSafeAny> | null = null;\n  @Input() vtsMenuItemSelectedIcon: TemplateRef<VtsSafeAny> | null = null;\n  @Input() vtsTokenSeparators: string[] = [];\n  @Input() vtsMaxTagPlaceholder: TemplateRef<{\n    $implicit: VtsSafeAny[];\n  }> | null = null;\n  @Input() vtsMaxMultipleCount = Infinity;\n  @Input() vtsMode: VtsSelectModeType = 'default';\n  @Input() vtsCustomFilterFn: VtsFilterOptionType = defaultFilterOption;\n  @Input() vtsCustomCompareFn: (o1: VtsSafeAny, o2: VtsSafeAny) => boolean = (\n    o1: VtsSafeAny,\n    o2: VtsSafeAny\n  ) => o1 === o2;\n  @Input() @InputBoolean() vtsAllowClear = true;\n  @Input() @WithConfig<boolean>() @InputBoolean() vtsBorderless = false;\n  @Input() @InputBoolean() vtsShowSearch = false;\n  @Input() @InputBoolean() vtsLoading = false;\n  @Input() @InputBoolean() vtsAutoFocus = false;\n  @Input() @InputBoolean() vtsAutoClearSearchValue = true;\n  @Input() @InputBoolean() vtsServerSearch = false;\n  @Input() @InputBoolean() vtsDisabled = false;\n  @Input() @InputBoolean() vtsOpen = false;\n  @Input() @WithConfig<boolean>() @InputBoolean() vtsBackdrop = false;\n  @Input() vtsOptions: VtsSelectOptionInterface[] = [];\n\n  @Input()\n  set vtsShowArrow(value: boolean) {\n    this._vtsShowArrow = value;\n  }\n  get vtsShowArrow(): boolean {\n    return this._vtsShowArrow === undefined ? this.vtsMode === 'default' : this._vtsShowArrow;\n  }\n\n  get vtsOptionHeightPx() {\n    switch (this.vtsSize) {\n      case 'xl':\n        return 48;\n      case 'lg':\n        return 40;\n      case 'md':\n        return 36;\n      case 'sm':\n        return 32;\n    }\n  }\n\n  @Output() readonly vtsOnSearch = new EventEmitter<string>();\n  @Output() readonly vtsScrollToBottom = new EventEmitter<void>();\n  @Output() readonly vtsOpenChange = new EventEmitter<boolean>();\n  @Output() readonly vtsBlur = new EventEmitter<void>();\n  @Output() readonly vtsFocus = new EventEmitter<void>();\n  @ViewChild(CdkOverlayOrigin, { static: true, read: ElementRef })\n  originElement!: ElementRef;\n  @ViewChild(CdkConnectedOverlay, { static: true })\n  cdkConnectedOverlay!: CdkConnectedOverlay;\n  @ViewChild(VtsSelectTopControlComponent, { static: true })\n  vtsSelectTopControlComponent!: VtsSelectTopControlComponent;\n  @ContentChildren(VtsOptionComponent, { descendants: true })\n  listOfVtsOptionComponent!: QueryList<VtsOptionComponent>;\n  @ContentChildren(VtsOptionGroupComponent, { descendants: true })\n  listOfVtsOptionGroupComponent!: QueryList<VtsOptionGroupComponent>;\n  @ViewChild(VtsOptionGroupComponent, { static: true, read: ElementRef })\n  vtsOptionGroupComponentElement!: ElementRef;\n  @ViewChild(VtsSelectTopControlComponent, { static: true, read: ElementRef })\n  vtsSelectTopControlComponentElement!: ElementRef;\n  private listOfValue$ = new BehaviorSubject<VtsSafeAny[]>([]);\n  private listOfTemplateItem$ = new BehaviorSubject<VtsSelectItemInterface[]>([]);\n  private listOfTagAndTemplateItem: VtsSelectItemInterface[] = [];\n  private searchValue: string = '';\n  private isReactiveDriven = false;\n  private value: VtsSafeAny | VtsSafeAny[];\n  private destroy$ = new Subject();\n  private _vtsShowArrow: boolean | undefined;\n  onChange: OnChangeType = () => {};\n  onTouched: OnTouchedType = () => {};\n  dropDownPosition: 'top' | 'center' | 'bottom' = 'bottom';\n  triggerWidth: number | null = null;\n  listOfContainerItem: VtsSelectItemInterface[] = [];\n  listOfTopItem: VtsSelectItemInterface[] = [];\n  activatedValue: VtsSafeAny | null = null;\n  listOfValue: VtsSafeAny[] = [];\n  focused = false;\n  dir: Direction = 'ltr';\n\n  generateTagItem(value: string): VtsSelectItemInterface {\n    return {\n      vtsValue: value,\n      vtsLabel: value,\n      type: 'item'\n    };\n  }\n\n  onItemClick(value: VtsSafeAny): void {\n    this.activatedValue = value;\n    if (this.vtsMode === 'default') {\n      if (this.listOfValue.length === 0 || !this.vtsCustomCompareFn(this.listOfValue[0], value)) {\n        this.updateListOfValue([value]);\n      }\n      this.setOpenState(false);\n    } else {\n      const targetIndex = this.listOfValue.findIndex(o => this.vtsCustomCompareFn(o, value));\n      if (targetIndex !== -1) {\n        const listOfValueAfterRemoved = this.listOfValue.filter((_, i) => i !== targetIndex);\n        this.updateListOfValue(listOfValueAfterRemoved);\n      } else if (this.listOfValue.length < this.vtsMaxMultipleCount) {\n        const listOfValueAfterAdded = [...this.listOfValue, value];\n        this.updateListOfValue(listOfValueAfterAdded);\n      }\n      this.focus();\n      if (this.vtsAutoClearSearchValue) {\n        this.clearInput();\n      }\n    }\n  }\n\n  onItemDelete(item: VtsSelectItemInterface): void {\n    const listOfSelectedValue = this.listOfValue.filter(\n      v => !this.vtsCustomCompareFn(v, item.vtsValue)\n    );\n    this.updateListOfValue(listOfSelectedValue);\n    this.clearInput();\n  }\n\n  onHostClick(): void {\n    if ((this.vtsOpen && this.vtsShowSearch) || this.vtsDisabled) {\n      return;\n    }\n\n    this.setOpenState(!this.vtsOpen);\n  }\n\n  clickArrow(openState: boolean){\n    this.setOpenState(openState);\n  }\n\n  updateListOfContainerItem(): void {\n    let listOfContainerItem = this.listOfTagAndTemplateItem\n      .filter(item => !item.vtsHide)\n      .filter(item => {\n        if (!this.vtsServerSearch && this.searchValue) {\n          return this.vtsCustomFilterFn(this.searchValue, item);\n        } else {\n          return true;\n        }\n      });\n    if (this.vtsMode === 'tags' && this.searchValue) {\n      const matchedItem = this.listOfTagAndTemplateItem.find(\n        item => item.vtsLabel === this.searchValue\n      );\n      if (!matchedItem) {\n        const tagItem = this.generateTagItem(this.searchValue);\n        listOfContainerItem = [tagItem, ...listOfContainerItem];\n        this.activatedValue = tagItem.vtsValue;\n      } else {\n        this.activatedValue = matchedItem.vtsValue;\n      }\n    }\n    const activatedItem =\n      listOfContainerItem.find(item =>\n        this.vtsCustomCompareFn(item.vtsValue, this.listOfValue[0])\n      ) || listOfContainerItem[0];\n    this.activatedValue = (activatedItem && activatedItem.vtsValue) || null;\n    let listOfGroupLabel: Array<string | TemplateRef<VtsSafeAny> | null> = [];\n    if (this.isReactiveDriven) {\n      listOfGroupLabel = [\n        ...new Set(this.vtsOptions.filter(o => o.groupLabel).map(o => o.groupLabel!))\n      ];\n    } else {\n      if (this.listOfVtsOptionGroupComponent) {\n        listOfGroupLabel = this.listOfVtsOptionGroupComponent.map(o => o.vtsLabel);\n      }\n    }\n    /** insert group item **/\n    listOfGroupLabel.forEach(label => {\n      const index = listOfContainerItem.findIndex(item => label === item.groupLabel);\n      if (index > -1) {\n        const groupItem = {\n          groupLabel: label,\n          type: 'group',\n          key: label\n        } as VtsSelectItemInterface;\n        listOfContainerItem.splice(index, 0, groupItem);\n      }\n    });\n    this.listOfContainerItem = [...listOfContainerItem];\n    this.updateCdkConnectedOverlayPositions();\n  }\n\n  clearInput(): void {\n    this.vtsSelectTopControlComponent.clearInputValue();\n  }\n\n  updateListOfValue(listOfValue: VtsSafeAny[]): void {\n    const covertListToModel = (\n      list: VtsSafeAny[],\n      mode: VtsSelectModeType\n    ): VtsSafeAny[] | VtsSafeAny => {\n      if (mode === 'default') {\n        if (list.length > 0) {\n          return list[0];\n        } else {\n          return null;\n        }\n      } else {\n        return list;\n      }\n    };\n    const model = covertListToModel(listOfValue, this.vtsMode);\n    if (this.value !== model) {\n      this.listOfValue = listOfValue;\n      this.listOfValue$.next(listOfValue);\n      this.value = model;\n      this.onChange(this.value);\n    }\n  }\n\n  onTokenSeparate(listOfLabel: string[]): void {\n    const listOfMatchedValue = this.listOfTagAndTemplateItem\n      .filter(item => listOfLabel.findIndex(label => label === item.vtsLabel) !== -1)\n      .map(item => item.vtsValue)\n      .filter(item => this.listOfValue.findIndex(v => this.vtsCustomCompareFn(v, item)) === -1);\n    if (this.vtsMode === 'multiple') {\n      this.updateListOfValue([...this.listOfValue, ...listOfMatchedValue]);\n    } else if (this.vtsMode === 'tags') {\n      const listOfUnMatchedLabel = listOfLabel.filter(\n        label => this.listOfTagAndTemplateItem.findIndex(item => item.vtsLabel === label) === -1\n      );\n      this.updateListOfValue([...this.listOfValue, ...listOfMatchedValue, ...listOfUnMatchedLabel]);\n    }\n    this.clearInput();\n  }\n\n  onOverlayKeyDown(e: KeyboardEvent): void {\n    if (e.keyCode === ESCAPE) {\n      this.setOpenState(false);\n    }\n  }\n\n  onKeyDown(e: KeyboardEvent): void {\n    if (this.vtsDisabled) {\n      return;\n    }\n    const listOfFilteredOptionNotDisabled = this.listOfContainerItem\n      .filter(item => item.type === 'item')\n      .filter(item => !item.vtsDisabled);\n    const activatedIndex = listOfFilteredOptionNotDisabled.findIndex(item =>\n      this.vtsCustomCompareFn(item.vtsValue, this.activatedValue)\n    );\n    switch (e.keyCode) {\n      case UP_ARROW:\n        e.preventDefault();\n        if (this.vtsOpen) {\n          const preIndex =\n            activatedIndex > 0 ? activatedIndex - 1 : listOfFilteredOptionNotDisabled.length - 1;\n          this.activatedValue = listOfFilteredOptionNotDisabled[preIndex].vtsValue;\n        }\n        break;\n      case DOWN_ARROW:\n        e.preventDefault();\n        if (this.vtsOpen) {\n          const nextIndex =\n            activatedIndex < listOfFilteredOptionNotDisabled.length - 1 ? activatedIndex + 1 : 0;\n          this.activatedValue = listOfFilteredOptionNotDisabled[nextIndex].vtsValue;\n        } else {\n          this.setOpenState(true);\n        }\n        break;\n      case ENTER:\n        e.preventDefault();\n        if (this.vtsOpen) {\n          if (isNotNil(this.activatedValue)) {\n            this.onItemClick(this.activatedValue);\n          }\n        } else {\n          this.setOpenState(true);\n        }\n        break;\n      case SPACE:\n        if (!this.vtsOpen) {\n          this.setOpenState(true);\n          e.preventDefault();\n        }\n        break;\n      case TAB:\n        this.setOpenState(false);\n        break;\n      case ESCAPE:\n        /**\n         * Skip the ESCAPE processing, it will be handled in {@link onOverlayKeyDown}.\n         */\n        break;\n      default:\n        if (!this.vtsOpen) {\n          this.setOpenState(true);\n        }\n    }\n  }\n\n  setOpenState(value: boolean): void {\n    if (this.vtsOpen !== value) {\n      this.vtsOpen = value;\n      this.vtsOpenChange.emit(value);\n      this.onOpenChange();\n      this.cdr.markForCheck();\n    }\n  }\n\n  onOpenChange(): void {\n    this.updateCdkConnectedOverlayStatus();\n    this.clearInput();\n  }\n\n  onInputValueChange(value: string): void {\n    this.searchValue = value;\n    this.updateListOfContainerItem();\n    this.vtsOnSearch.emit(value);\n    this.updateCdkConnectedOverlayPositions();\n  }\n\n  onClearSelection(): void {\n    this.updateListOfValue([]);\n  }\n\n  onClickOutside(event: MouseEvent): void {\n    if (!this.elementRef.nativeElement.contains(event.target)) {\n      this.setOpenState(false);\n    }\n  }\n\n  focus(): void {\n    this.vtsSelectTopControlComponent.focus();\n  }\n\n  blur(): void {\n    this.vtsSelectTopControlComponent.blur();\n  }\n\n  onPositionChange(position: ConnectedOverlayPositionChange): void {\n    this.dropDownPosition = position.connectionPair.originY;\n  }\n\n  updateCdkConnectedOverlayStatus(): void {\n    if (this.platform.isBrowser && this.originElement.nativeElement) {\n      reqAnimFrame(() => {\n        this.triggerWidth = this.originElement.nativeElement.getBoundingClientRect().width;\n        this.cdr.markForCheck();\n      });\n    }\n  }\n\n  updateCdkConnectedOverlayPositions(): void {\n    reqAnimFrame(() => {\n      this.cdkConnectedOverlay?.overlayRef?.updatePosition();\n    });\n  }\n\n  constructor(\n    public vtsConfigService: VtsConfigService,\n    private cdr: ChangeDetectorRef,\n    private elementRef: ElementRef,\n    private platform: Platform,\n    private focusMonitor: FocusMonitor,\n    @Optional() private directionality: Directionality,\n    @Host() @Optional() public noAnimation?: VtsNoAnimationDirective\n  ) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-select');\n  }\n\n  writeValue(modelValue: VtsSafeAny | VtsSafeAny[]): void {\n    /** https://github.com/angular/angular/issues/14988 **/\n    if (this.value !== modelValue) {\n      this.value = modelValue;\n      const covertModelToList = (\n        model: VtsSafeAny[] | VtsSafeAny,\n        mode: VtsSelectModeType\n      ): VtsSafeAny[] => {\n        if (model === null || model === undefined) {\n          return [];\n        } else if (mode === 'default') {\n          return [model];\n        } else {\n          return model;\n        }\n      };\n      const listOfValue = covertModelToList(modelValue, this.vtsMode);\n      this.listOfValue = listOfValue;\n      this.listOfValue$.next(listOfValue);\n      this.cdr.markForCheck();\n    }\n  }\n\n  registerOnChange(fn: OnChangeType): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: OnTouchedType): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(disabled: boolean): void {\n    this.vtsDisabled = disabled;\n    if (disabled) {\n      this.setOpenState(false);\n    }\n    this.cdr.markForCheck();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { vtsOpen, vtsDisabled, vtsOptions } = changes;\n    if (vtsOpen) {\n      this.onOpenChange();\n    }\n    if (vtsDisabled && this.vtsDisabled) {\n      this.setOpenState(false);\n    }\n    if (vtsOptions) {\n      this.isReactiveDriven = true;\n      const listOfOptions = this.vtsOptions || [];\n      const listOfTransformedItem = listOfOptions.map(item => {\n        return {\n          template: item.label instanceof TemplateRef ? item.label : null,\n          vtsLabel: typeof item.label === 'string' ? item.label : null,\n          vtsValue: item.value,\n          vtsDisabled: item.disabled || false,\n          vtsHide: item.hide || false,\n          vtsCustomContent: item.label instanceof TemplateRef,\n          groupLabel: item.groupLabel || null,\n          type: 'item',\n          key: item.value\n        };\n      });\n      this.listOfTemplateItem$.next(listOfTransformedItem);\n    }\n  }\n\n  ngOnInit(): void {\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          this.vtsBlur.emit();\n          Promise.resolve().then(() => {\n            this.onTouched();\n          });\n        } else {\n          this.focused = true;\n          this.cdr.markForCheck();\n          this.vtsFocus.emit();\n        }\n      });\n    combineLatest([this.listOfValue$, this.listOfTemplateItem$])\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(([listOfSelectedValue, listOfTemplateItem]) => {\n        const listOfTagItem = listOfSelectedValue\n          .filter(() => this.vtsMode === 'tags')\n          .filter(\n            value =>\n              listOfTemplateItem.findIndex(o => this.vtsCustomCompareFn(o.vtsValue, value)) === -1\n          )\n          .map(\n            value =>\n              this.listOfTopItem.find(o => this.vtsCustomCompareFn(o.vtsValue, value)) ||\n              this.generateTagItem(value)\n          );\n        this.listOfTagAndTemplateItem = [...listOfTemplateItem, ...listOfTagItem];\n        this.listOfTopItem = this.listOfValue\n          .map(\n            v =>\n              [...this.listOfTagAndTemplateItem, ...this.listOfTopItem].find(item =>\n                this.vtsCustomCompareFn(v, item.vtsValue)\n              )!\n          )\n          .filter(item => !!item);\n        this.updateListOfContainerItem();\n      });\n\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n\n    this.vtsConfigService\n      .getConfigChangeEventForComponent('select')\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => {\n        this.cdr.markForCheck();\n      });\n\n    this.dir = this.directionality.value;\n  }\n\n  ngAfterContentInit(): void {\n    if (!this.isReactiveDriven) {\n      merge(this.listOfVtsOptionGroupComponent.changes, this.listOfVtsOptionComponent.changes)\n        .pipe(\n          startWith(true),\n          switchMap(() =>\n            merge(\n              ...[\n                this.listOfVtsOptionComponent.changes,\n                this.listOfVtsOptionGroupComponent.changes,\n                ...this.listOfVtsOptionComponent.map(option => option.changes),\n                ...this.listOfVtsOptionGroupComponent.map(option => option.changes)\n              ]\n            ).pipe(startWith(true))\n          ),\n          takeUntil(this.destroy$)\n        )\n        .subscribe(() => {\n          const listOfOptionInterface = this.listOfVtsOptionComponent.toArray().map(item => {\n            const {\n              template,\n              vtsLabel,\n              vtsValue,\n              vtsDisabled,\n              vtsHide,\n              vtsCustomContent,\n              groupLabel\n            } = item;\n            return {\n              template,\n              vtsLabel,\n              vtsValue,\n              vtsDisabled,\n              vtsHide,\n              vtsCustomContent,\n              groupLabel,\n              type: 'item',\n              key: vtsValue\n            };\n          });\n          this.listOfTemplateItem$.next(listOfOptionInterface);\n          this.cdr.markForCheck();\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 */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { OverlayModule } from '@angular/cdk/overlay';\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 { VtsCheckboxModule } from '@ui-vts-kit/ng-vts/checkbox';\nimport { VtsNoAnimationModule } from '@ui-vts-kit/ng-vts/core/no-animation';\nimport { VtsOutletModule } from '@ui-vts-kit/ng-vts/core/outlet';\nimport { VtsOverlayModule } from '@ui-vts-kit/ng-vts/core/overlay';\nimport { ɵVtsTransitionPatchModule as VtsTransitionPatchModule } from '@ui-vts-kit/ng-vts/core/transition-patch';\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 { VtsOptionContainerComponent } from './option-container.component';\nimport { VtsOptionGroupComponent } from './option-group.component';\nimport { VtsOptionItemGroupComponent } from './option-item-group.component';\nimport { VtsOptionItemComponent } from './option-item.component';\nimport { VtsOptionComponent } from './option.component';\nimport { VtsSelectArrowComponent } from './select-arrow.component';\nimport { VtsSelectClearComponent } from './select-clear.component';\nimport { VtsSelectItemComponent } from './select-item.component';\nimport { VtsSelectMultipleCountComponent } from './select-multiple-count.component';\nimport { VtsSelectPlaceholderComponent } from './select-placeholder.component';\nimport { VtsSelectSearchComponent } from './select-search.component';\nimport { VtsSelectTopControlComponent } from './select-top-control.component';\nimport { VtsSelectComponent } from './select.component';\n\n@NgModule({\n  imports: [\n    BidiModule,\n    CommonModule,\n    VtsI18nModule,\n    FormsModule,\n    PlatformModule,\n    OverlayModule,\n    VtsIconModule,\n    VtsOutletModule,\n    VtsEmptyModule,\n    VtsOverlayModule,\n    VtsCheckboxModule,\n    VtsNoAnimationModule,\n    VtsTransitionPatchModule,\n    ScrollingModule,\n    A11yModule\n  ],\n  declarations: [\n    VtsOptionComponent,\n    VtsSelectComponent,\n    VtsOptionContainerComponent,\n    VtsOptionGroupComponent,\n    VtsOptionItemComponent,\n    VtsSelectTopControlComponent,\n    VtsSelectSearchComponent,\n    VtsSelectItemComponent,\n    VtsSelectClearComponent,\n    VtsSelectArrowComponent,\n    VtsSelectPlaceholderComponent,\n    VtsOptionItemGroupComponent,\n    VtsSelectMultipleCountComponent\n  ],\n  exports: [\n    VtsOptionComponent,\n    VtsSelectComponent,\n    VtsOptionGroupComponent,\n    VtsSelectArrowComponent,\n    VtsSelectClearComponent,\n    VtsSelectItemComponent,\n    VtsSelectPlaceholderComponent,\n    VtsSelectSearchComponent,\n    VtsSelectMultipleCountComponent\n  ]\n})\nexport class VtsSelectModule {}\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 { TemplateRef } from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\nexport type VtsSelectModeType = 'default' | 'multiple' | 'tags';\nexport interface VtsSelectItemInterface {\n  template?: TemplateRef<VtsSafeAny> | null;\n  vtsLabel: string | null;\n  vtsValue: VtsSafeAny | null;\n  vtsDisabled?: boolean;\n  vtsHide?: boolean;\n  vtsCustomContent?: boolean;\n  groupLabel?: string | TemplateRef<VtsSafeAny> | null;\n  type?: string;\n  key?: VtsSafeAny;\n}\n\nexport interface VtsSelectOptionInterface {\n  label: string | null | TemplateRef<VtsSafeAny>;\n  value: VtsSafeAny | null;\n  disabled?: boolean;\n  hide?: boolean;\n  groupLabel?: string | TemplateRef<VtsSafeAny> | null;\n}\n\nexport type VtsSelectTopControlItemType = Partial<VtsSelectItemInterface> & {\n  contentTemplateOutlet: TemplateRef<VtsSafeAny> | null;\n  contentTemplateOutletContext: VtsSafeAny;\n};\n\nexport type VtsFilterOptionType = (input: string, option: VtsSelectItemInterface) => boolean;\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 './option-group.component';\nexport * from './option-container.component';\nexport * from './option.component';\nexport * from './select.component';\nexport * from './select.module';\nexport * from './option-item.component';\nexport * from './option-item-group.component';\nexport * from './select-top-control.component';\nexport * from './select-search.component';\nexport * from './select-item.component';\nexport * from './select-clear.component';\nexport * from './select-arrow.component';\nexport * from './select-placeholder.component';\nexport * from './select.types';\nexport * from './select-multiple-count.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i5","i1","i4.VtsOptionItemComponent","i5.VtsOptionItemGroupComponent","i1.VtsOptionGroupComponent","i4","i4.VtsSelectSearchComponent","i5.VtsSelectItemComponent","i6.VtsSelectPlaceholderComponent","i6","i9","i10.VtsOptionContainerComponent","i11.VtsSelectTopControlComponent","i12.VtsSelectClearComponent","i13.VtsSelectArrowComponent","i14.VtsSelectMultipleCountComponent","VtsTransitionPatchModule"],"mappings":"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"}