UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

1 lines 137 kB
{"version":3,"file":"ng-zorro-antd-select.mjs","sources":["../../components/select/option-group.component.ts","../../components/select/option-item-group.component.ts","../../components/select/option-item.component.ts","../../components/select/option-container.component.ts","../../components/select/option.component.ts","../../components/select/select-arrow.component.ts","../../components/select/select-clear.component.ts","../../components/select/select-item.component.ts","../../components/select/select-placeholder.component.ts","../../components/select/select-search.component.ts","../../components/select/select-top-control.component.ts","../../components/select/select.component.ts","../../components/select/select.module.ts","../../components/select/select.types.ts","../../components/select/public-api.ts","../../components/select/ng-zorro-antd-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 { ChangeDetectionStrategy, Component, Input, OnChanges, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n  selector: 'nz-option-group',\n  exportAs: 'nzOptionGroup',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: ` <ng-content></ng-content> `,\n  standalone: true\n})\nexport class NzOptionGroupComponent implements OnChanges {\n  @Input() nzLabel: string | number | TemplateRef<NzSafeAny> | 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 { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n  selector: 'nz-option-item-group',\n  template: ` <ng-container *nzStringTemplateOutlet=\"nzLabel\">{{ nzLabel }}</ng-container> `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'ant-select-item ant-select-item-group'\n  },\n  imports: [NzOutletModule],\n  standalone: true\n})\nexport class NzOptionItemGroupComponent {\n  @Input() nzLabel: string | number | TemplateRef<NzSafeAny> | null = null;\n\n  constructor() {}\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgZone,\n  OnChanges,\n  OnInit,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n  selector: 'nz-option-item',\n  template: `\n    <div class=\"ant-select-item-option-content\">\n      @if (customContent) {\n        <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n      } @else {\n        {{ label }}\n      }\n    </div>\n    @if (showState && selected) {\n      <div class=\"ant-select-item-option-state\" unselectable=\"on\">\n        @if (!icon) {\n          <span nz-icon nzType=\"check\" class=\"ant-select-selected-icon\"></span>\n        } @else {\n          <ng-template [ngTemplateOutlet]=\"icon\"></ng-template>\n        }\n      </div>\n    }\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'ant-select-item ant-select-item-option',\n    '[attr.title]': 'title',\n    '[class.ant-select-item-option-grouped]': 'grouped',\n    '[class.ant-select-item-option-selected]': 'selected && !disabled',\n    '[class.ant-select-item-option-disabled]': 'disabled',\n    '[class.ant-select-item-option-active]': 'activated && !disabled'\n  },\n  providers: [NzDestroyService],\n  imports: [NgTemplateOutlet, NzIconModule],\n  standalone: true\n})\nexport class NzOptionItemComponent implements OnChanges, OnInit {\n  selected = false;\n  activated = false;\n  @Input() grouped = false;\n  @Input() customContent = false;\n  @Input() template: TemplateRef<NzSafeAny> | null = null;\n  @Input() disabled = false;\n  @Input() showState = false;\n  @Input() title?: string | number | null;\n  @Input() label: string | number | null = null;\n  @Input() value: NzSafeAny | null = null;\n  @Input() activatedValue: NzSafeAny | null = null;\n  @Input() listOfSelectedValue: NzSafeAny[] = [];\n  @Input() icon: TemplateRef<NzSafeAny> | null = null;\n  @Input() compareWith!: (o1: NzSafeAny, o2: NzSafeAny) => boolean;\n  @Output() readonly itemClick = new EventEmitter<NzSafeAny>();\n  @Output() readonly itemHover = new EventEmitter<NzSafeAny>();\n\n  constructor(\n    private elementRef: ElementRef<HTMLElement>,\n    private ngZone: NgZone,\n    private destroy$: NzDestroyService\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.compareWith(v, this.value));\n    }\n    if (value || activatedValue) {\n      this.activated = this.compareWith(this.activatedValue, this.value);\n    }\n  }\n\n  ngOnInit(): void {\n    this.ngZone.runOutsideAngular(() => {\n      fromEvent(this.elementRef.nativeElement, 'click')\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(() => {\n          if (!this.disabled) {\n            this.ngZone.run(() => this.itemClick.emit(this.value));\n          }\n        });\n\n      fromEvent(this.elementRef.nativeElement, 'mouseenter')\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(() => {\n          if (!this.disabled) {\n            this.ngZone.run(() => this.itemHover.emit(this.value));\n          }\n        });\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 { OverlayModule } from '@angular/cdk/overlay';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  inject,\n  Input,\n  NgZone,\n  OnChanges,\n  Output,\n  PLATFORM_ID,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { NzOverlayModule } from 'ng-zorro-antd/core/overlay';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\n\nimport { NzOptionItemGroupComponent } from './option-item-group.component';\nimport { NzOptionItemComponent } from './option-item.component';\nimport { NzSelectItemInterface, NzSelectModeType } from './select.types';\n\n@Component({\n  selector: 'nz-option-container',\n  exportAs: 'nzOptionContainer',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  template: `\n    <div>\n      @if (listOfContainerItem.length === 0) {\n        <div class=\"ant-select-item-empty\">\n          <nz-embed-empty nzComponentName=\"select\" [specificContent]=\"notFoundContent!\"></nz-embed-empty>\n        </div>\n      }\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\"\n        [style.max-height.px]=\"itemSize * maxItemLength\"\n      >\n        <ng-template\n          cdkVirtualFor\n          [cdkVirtualForOf]=\"listOfContainerItem\"\n          [cdkVirtualForTrackBy]=\"trackValue\"\n          [cdkVirtualForTemplateCacheSize]=\"0\"\n          let-item\n        >\n          @switch (item.type) {\n            @case ('group') {\n              <nz-option-item-group [nzLabel]=\"item.groupLabel\"></nz-option-item-group>\n            }\n            @case ('item') {\n              <nz-option-item\n                [icon]=\"menuItemSelectedIcon\"\n                [customContent]=\"item.nzCustomContent\"\n                [template]=\"item.template\"\n                [grouped]=\"!!item.groupLabel\"\n                [disabled]=\"item.nzDisabled || (isMaxLimitReached && !listOfSelectedValue.includes(item['nzValue']))\"\n                [showState]=\"mode === 'tags' || mode === 'multiple'\"\n                [title]=\"item.nzTitle\"\n                [label]=\"item.nzLabel\"\n                [compareWith]=\"compareWith\"\n                [activatedValue]=\"activatedValue\"\n                [listOfSelectedValue]=\"listOfSelectedValue\"\n                [value]=\"item.nzValue\"\n                (itemHover)=\"onItemHover($event)\"\n                (itemClick)=\"onItemClick($event)\"\n              ></nz-option-item>\n            }\n          }\n        </ng-template>\n      </cdk-virtual-scroll-viewport>\n      <ng-template [ngTemplateOutlet]=\"dropdownRender\"></ng-template>\n    </div>\n  `,\n  host: { class: 'ant-select-dropdown' },\n  imports: [\n    NzEmptyModule,\n    NzOptionItemGroupComponent,\n    NzOptionItemComponent,\n    NgTemplateOutlet,\n    OverlayModule,\n    NzOverlayModule\n  ],\n  standalone: true\n})\nexport class NzOptionContainerComponent implements OnChanges, AfterViewInit {\n  @Input() notFoundContent: string | TemplateRef<NzSafeAny> | undefined = undefined;\n  @Input() menuItemSelectedIcon: TemplateRef<NzSafeAny> | null = null;\n  @Input() dropdownRender: TemplateRef<NzSafeAny> | null = null;\n  @Input() activatedValue: NzSafeAny | null = null;\n  @Input() listOfSelectedValue: NzSafeAny[] = [];\n  @Input() compareWith!: (o1: NzSafeAny, o2: NzSafeAny) => boolean;\n  @Input() mode: NzSelectModeType = 'default';\n  @Input() matchWidth = true;\n  @Input() itemSize = 32;\n  @Input() maxItemLength = 8;\n  @Input() isMaxLimitReached = false;\n  @Input() listOfContainerItem: NzSelectItemInterface[] = [];\n  @Output() readonly itemClick = new EventEmitter<NzSafeAny>();\n  @Output() readonly scrollToBottom = new EventEmitter<void>();\n  @ViewChild(CdkVirtualScrollViewport, { static: true }) cdkVirtualScrollViewport!: CdkVirtualScrollViewport;\n  private scrolledIndex = 0;\n  private ngZone = inject(NgZone);\n  private platformId = inject(PLATFORM_ID);\n\n  onItemClick(value: NzSafeAny): void {\n    this.itemClick.emit(value);\n  }\n\n  onItemHover(value: NzSafeAny): void {\n    // TODO: keydown.enter won't activate this value\n    this.activatedValue = value;\n  }\n\n  trackValue(_index: number, option: NzSelectItemInterface): NzSafeAny {\n    return option.key;\n  }\n\n  onScrolledIndexChange(index: number): void {\n    this.scrolledIndex = index;\n    if (index === this.listOfContainerItem.length - this.maxItemLength - 1) {\n      this.scrollToBottom.emit();\n    }\n  }\n\n  scrollToActivatedValue(): void {\n    const index = this.listOfContainerItem.findIndex(item => this.compareWith(item.key, this.activatedValue));\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\n  ngAfterViewInit(): void {\n    if (isPlatformBrowser(this.platformId)) {\n      this.ngZone.runOutsideAngular(() => setTimeout(() => this.scrollToActivatedValue()));\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  Input,\n  OnChanges,\n  OnInit,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n  booleanAttribute,\n  inject\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\n\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzOptionGroupComponent } from './option-group.component';\n\n@Component({\n  selector: 'nz-option',\n  exportAs: 'nzOption',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [NzDestroyService],\n  template: `\n    <ng-template>\n      <ng-content></ng-content>\n    </ng-template>\n  `,\n  standalone: true\n})\nexport class NzOptionComponent implements OnChanges, OnInit {\n  changes = new Subject<void>();\n  groupLabel?: string | number | TemplateRef<NzSafeAny> | null = null;\n  @ViewChild(TemplateRef, { static: true }) template!: TemplateRef<NzSafeAny>;\n  @Input() nzTitle?: string | number | null;\n  @Input() nzLabel: string | number | null = null;\n  @Input() nzValue: NzSafeAny | null = null;\n  @Input() nzKey?: string | number;\n  @Input({ transform: booleanAttribute }) nzDisabled = false;\n  @Input({ transform: booleanAttribute }) nzHide = false;\n  @Input({ transform: booleanAttribute }) nzCustomContent = false;\n\n  private nzOptionGroupComponent = inject(NzOptionGroupComponent, { optional: true });\n\n  constructor(private destroy$: NzDestroyService) {}\n\n  ngOnInit(): void {\n    if (this.nzOptionGroupComponent) {\n      this.nzOptionGroupComponent.changes.pipe(startWith(true), takeUntil(this.destroy$)).subscribe(() => {\n        this.groupLabel = this.nzOptionGroupComponent?.nzLabel;\n      });\n    }\n  }\n\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  Input,\n  TemplateRef,\n  ViewEncapsulation,\n  numberAttribute\n} from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n  selector: 'nz-select-arrow',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    @if (isMaxTagCountSet) {\n      <span>{{ listOfValue.length }} / {{ nzMaxMultipleCount }}</span>\n    }\n    @if (loading) {\n      <span nz-icon nzType=\"loading\"></span>\n    } @else {\n      @if (showArrow && !suffixIcon) {\n        @if (search) {\n          <span nz-icon nzType=\"search\"></span>\n        } @else {\n          <span nz-icon nzType=\"down\"></span>\n        }\n      } @else {\n        <ng-container *nzStringTemplateOutlet=\"suffixIcon; let suffixIcon\">\n          @if (suffixIcon) {\n            <span nz-icon [nzType]=\"suffixIcon\"></span>\n          }\n        </ng-container>\n      }\n    }\n    <ng-container *nzStringTemplateOutlet=\"feedbackIcon\">{{ feedbackIcon }}</ng-container>\n  `,\n  host: {\n    class: 'ant-select-arrow',\n    '[class.ant-select-arrow-loading]': 'loading'\n  },\n  imports: [NzIconModule, NzOutletModule],\n  standalone: true\n})\nexport class NzSelectArrowComponent {\n  @Input() listOfValue: NzSafeAny[] = [];\n  @Input() loading = false;\n  @Input() search = false;\n  @Input() showArrow = false;\n  @Input() isMaxTagCountSet = false;\n  @Input() suffixIcon: TemplateRef<NzSafeAny> | string | null = null;\n  @Input() feedbackIcon: TemplateRef<NzSafeAny> | string | null = null;\n  @Input({ transform: numberAttribute }) nzMaxMultipleCount: number = Infinity;\n\n  constructor() {}\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n  selector: 'nz-select-clear',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    @if (clearIcon) {\n      <ng-template [ngTemplateOutlet]=\"clearIcon\"></ng-template>\n    } @else {\n      <span nz-icon nzType=\"close-circle\" nzTheme=\"fill\" class=\"ant-select-close-icon\"></span>\n    }\n  `,\n  host: {\n    class: 'ant-select-clear',\n    '(click)': 'onClick($event)'\n  },\n  imports: [NgTemplateOutlet, NzIconModule],\n  standalone: true\n})\nexport class NzSelectClearComponent {\n  @Input() clearIcon: TemplateRef<NzSafeAny> | null = null;\n  @Output() readonly clear = new EventEmitter<MouseEvent>();\n\n  constructor() {}\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 { NgTemplateOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n  selector: 'nz-select-item',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-container *nzStringTemplateOutlet=\"contentTemplateOutlet; context: { $implicit: contentTemplateOutletContext }\">\n      @if (deletable) {\n        <div class=\"ant-select-selection-item-content\">{{ label }}</div>\n      } @else {\n        {{ label }}\n      }\n    </ng-container>\n    @if (deletable && !disabled) {\n      <span class=\"ant-select-selection-item-remove\" (click)=\"onDelete($event)\">\n        @if (!removeIcon) {\n          <span nz-icon nzType=\"close\"></span>\n        } @else {\n          <ng-template [ngTemplateOutlet]=\"removeIcon\"></ng-template>\n        }\n      </span>\n    }\n  `,\n  host: {\n    class: 'ant-select-selection-item',\n    '[attr.title]': 'label',\n    '[class.ant-select-selection-item-disabled]': 'disabled'\n  },\n  imports: [NgTemplateOutlet, NzOutletModule, NzIconModule],\n  standalone: true\n})\nexport class NzSelectItemComponent {\n  @Input() disabled = false;\n  @Input() label: string | number | null | undefined = null;\n  @Input() deletable = false;\n  @Input() removeIcon: TemplateRef<NzSafeAny> | null = null;\n  @Input() contentTemplateOutletContext: NzSafeAny | null = null;\n  @Input() contentTemplateOutlet: string | TemplateRef<NzSafeAny> | null = null;\n  @Output() readonly delete = new EventEmitter<MouseEvent>();\n\n  constructor() {}\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 { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n  selector: 'nz-select-placeholder',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-container *nzStringTemplateOutlet=\"placeholder\">\n      {{ placeholder }}\n    </ng-container>\n  `,\n  host: { class: 'ant-select-selection-placeholder' },\n  imports: [NzOutletModule],\n  standalone: true\n})\nexport class NzSelectPlaceholderComponent {\n  @Input() placeholder: TemplateRef<NzSafeAny> | string | null = null;\n\n  constructor() {}\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\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  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { COMPOSITION_BUFFER_MODE, FormsModule } from '@angular/forms';\n\nimport { reqAnimFrame } from 'ng-zorro-antd/core/polyfill';\n\n@Component({\n  selector: 'nz-select-search',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <input\n      #inputElement\n      [attr.id]=\"nzId\"\n      autocomplete=\"off\"\n      class=\"ant-select-selection-search-input\"\n      [ngModel]=\"value\"\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    @if (mirrorSync) {\n      <span #mirrorElement class=\"ant-select-selection-search-mirror\"></span>\n    }\n  `,\n  host: { class: 'ant-select-selection-search' },\n  providers: [{ provide: COMPOSITION_BUFFER_MODE, useValue: false }],\n  imports: [FormsModule],\n  standalone: true\n})\nexport class NzSelectSearchComponent implements AfterViewInit, OnChanges {\n  @Input() nzId: 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  @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    reqAnimFrame(() => {\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      this.renderer.setProperty(mirrorDOM, 'textContent', `${inputDOM.value}\\u00a0`);\n      this.renderer.setStyle(hostDOM, 'width', `${mirrorDOM.scrollWidth}px`);\n    });\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\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 (focusTrigger && focusTrigger.currentValue === true && focusTrigger.previousValue === false) {\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 { BACKSPACE } from '@angular/cdk/keycodes';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n  inject,\n  numberAttribute\n} from '@angular/core';\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzSelectItemComponent } from './select-item.component';\nimport { NzSelectPlaceholderComponent } from './select-placeholder.component';\nimport { NzSelectSearchComponent } from './select-search.component';\nimport { NzSelectItemInterface, NzSelectModeType, NzSelectTopControlItemType } from './select.types';\n\n@Component({\n  selector: 'nz-select-top-control',\n  exportAs: 'nzSelectTopControl',\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <!--single mode-->\n    @switch (mode) {\n      @case ('default') {\n        <nz-select-search\n          [nzId]=\"nzId\"\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        ></nz-select-search>\n        @if (isShowSingleLabel) {\n          <nz-select-item\n            [deletable]=\"false\"\n            [disabled]=\"false\"\n            [removeIcon]=\"removeIcon\"\n            [label]=\"listOfTopItem[0].nzLabel\"\n            [contentTemplateOutlet]=\"customTemplate\"\n            [contentTemplateOutletContext]=\"listOfTopItem[0]\"\n          ></nz-select-item>\n        }\n      }\n      @default {\n        <!--multiple or tags mode-->\n        @for (item of listOfSlicedItem; track item.nzValue) {\n          <nz-select-item\n            [removeIcon]=\"removeIcon\"\n            [label]=\"item.nzLabel\"\n            [disabled]=\"item.nzDisabled || disabled\"\n            [contentTemplateOutlet]=\"item.contentTemplateOutlet\"\n            [deletable]=\"true\"\n            [contentTemplateOutletContext]=\"item.contentTemplateOutletContext\"\n            (delete)=\"onDeleteItem(item.contentTemplateOutletContext)\"\n          ></nz-select-item>\n        }\n        <nz-select-search\n          [nzId]=\"nzId\"\n          [disabled]=\"disabled\"\n          [value]=\"inputValue!\"\n          [autofocus]=\"autofocus\"\n          [showInput]=\"true\"\n          [mirrorSync]=\"true\"\n          [focusTrigger]=\"open\"\n          (isComposingChange)=\"isComposingChange($event)\"\n          (valueChange)=\"onInputValueChange($event)\"\n        ></nz-select-search>\n      }\n    }\n    @if (isShowPlaceholder) {\n      <nz-select-placeholder [placeholder]=\"placeHolder\"></nz-select-placeholder>\n    }\n  `,\n  host: { class: 'ant-select-selector' },\n  imports: [NzSelectSearchComponent, NzSelectItemComponent, NzSelectPlaceholderComponent],\n  standalone: true\n})\nexport class NzSelectTopControlComponent implements OnChanges, OnInit, OnDestroy {\n  @Input() nzId: string | null = null;\n  @Input() showSearch = false;\n  @Input() placeHolder: string | TemplateRef<NzSafeAny> | null = null;\n  @Input() open = false;\n  @Input({ transform: numberAttribute }) maxTagCount: number = Infinity;\n  @Input() autofocus = false;\n  @Input() disabled = false;\n  @Input() mode: NzSelectModeType = 'default';\n  @Input() customTemplate: TemplateRef<{ $implicit: NzSelectItemInterface }> | null = null;\n  @Input() maxTagPlaceholder: TemplateRef<{ $implicit: NzSafeAny[] }> | null = null;\n  @Input() removeIcon: TemplateRef<NzSafeAny> | null = null;\n  @Input() listOfTopItem: NzSelectItemInterface[] = [];\n  @Input() tokenSeparators: string[] = [];\n  @Output() readonly tokenize = new EventEmitter<string[]>();\n  @Output() readonly inputValueChange = new EventEmitter<string>();\n  @Output() readonly deleteItem = new EventEmitter<NzSelectItemInterface>();\n  @ViewChild(NzSelectSearchComponent) nzSelectSearchComponent!: NzSelectSearchComponent;\n  listOfSlicedItem: NzSelectTopControlItemType[] = [];\n  isShowPlaceholder = true;\n  isShowSingleLabel = false;\n  isComposing = false;\n  inputValue: string | null = null;\n\n  private destroy$ = new Subject<void>();\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, separators: string[]): boolean => {\n      // eslint-disable-next-line @typescript-eslint/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, separators: string[]): string[] => {\n      const reg = new RegExp(`[${separators.join()}]`);\n      const array = str.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.nzSelectSearchComponent) {\n      this.nzSelectSearchComponent.clearInputValue();\n    }\n  }\n\n  focus(): void {\n    if (this.nzSelectSearchComponent) {\n      this.nzSelectSearchComponent.focus();\n    }\n  }\n\n  blur(): void {\n    if (this.nzSelectSearchComponent) {\n      this.nzSelectSearchComponent.blur();\n    }\n  }\n\n  onDeleteItem(item: NzSelectItemInterface): void {\n    if (!this.disabled && !item.nzDisabled) {\n      this.deleteItem.next(item);\n    }\n  }\n\n  noAnimation = inject(NzNoAnimationDirective, { host: true, optional: true });\n\n  constructor(\n    private elementRef: ElementRef<HTMLElement>,\n    private ngZone: NgZone\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: NzSelectTopControlItemType[] = this.listOfTopItem.slice(0, this.maxTagCount).map(o => ({\n        nzLabel: o.nzLabel,\n        nzValue: o.nzValue,\n        nzDisabled: o.nzDisabled,\n        contentTemplateOutlet: this.customTemplate,\n        contentTemplateOutletContext: o\n      }));\n      if (this.listOfTopItem.length > this.maxTagCount) {\n        const exceededLabel = `+ ${this.listOfTopItem.length - this.maxTagCount} ...`;\n        const listOfSelectedValue = this.listOfTopItem.map(item => item.nzValue);\n        const exceededItem = {\n          nzLabel: exceededLabel,\n          nzValue: '$$__nz_exceeded_item',\n          nzDisabled: 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  ngOnInit(): void {\n    this.ngZone.runOutsideAngular(() => {\n      fromEvent<MouseEvent>(this.elementRef.nativeElement, 'click')\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(event => {\n          // `HTMLElement.focus()` is a native DOM API which doesn't require Angular to run change detection.\n          if (event.target !== this.nzSelectSearchComponent.inputElement.nativeElement) {\n            this.nzSelectSearchComponent.focus();\n          }\n        });\n\n      fromEvent<KeyboardEvent>(this.elementRef.nativeElement, 'keydown')\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(event => {\n          if (event.target instanceof HTMLInputElement) {\n            const inputValue = event.target.value;\n\n            if (\n              event.keyCode === BACKSPACE &&\n              this.mode !== 'default' &&\n              !inputValue &&\n              this.listOfTopItem.length > 0\n            ) {\n              event.preventDefault();\n              // Run change detection only if the user has pressed the `Backspace` key and the following condition is met.\n              this.ngZone.run(() => this.onDeleteItem(this.listOfTopItem[this.listOfTopItem.length - 1]));\n            }\n          }\n        });\n    });\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.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 { 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  ConnectionPositionPair\n} from '@angular/cdk/overlay';\nimport { Platform, _getEventTarget } from '@angular/cdk/platform';\nimport { NgStyle } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  QueryList,\n  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n  booleanAttribute,\n  forwardRef,\n  inject\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BehaviorSubject, combineLatest, fromEvent, merge, of as observableOf } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, switchMap, takeUntil, withLatestFrom } from 'rxjs/operators';\n\nimport { slideMotion } from 'ng-zorro-antd/core/animation';\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzFormNoStatusService, NzFormPatchModule, NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport { NzOverlayModule, POSITION_MAP, POSITION_TYPE, getPlacementName } from 'ng-zorro-antd/core/overlay';\nimport { cancelRequestAnimationFrame, reqAnimFrame } from 'ng-zorro-antd/core/polyfill';\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport {\n  NgClassInterface,\n  NzSafeAny,\n  NzStatus,\n  NzValidateStatus,\n  OnChangeType,\n  OnTouchedType\n} from 'ng-zorro-antd/core/types';\nimport { getStatusClassNames, isNotNil } from 'ng-zorro-antd/core/util';\n\nimport { NzOptionContainerComponent } from './option-container.component';\nimport { NzOptionGroupComponent } from './option-group.component';\nimport { NzOptionComponent } from './option.component';\nimport { NzSelectArrowComponent } from './select-arrow.component';\nimport { NzSelectClearComponent } from './select-clear.component';\nimport { NzSelectTopControlComponent } from './select-top-control.component';\nimport {\n  NzFilterOptionType,\n  NzSelectItemInterface,\n  NzSelectModeType,\n  NzSelectOptionInterface,\n  NzSelectPlacementType\n} from './select.types';\n\nconst defaultFilterOption: NzFilterOptionType = (searchValue: string, item: NzSelectItemInterface): boolean => {\n  if (item && item.nzLabel) {\n    return item.nzLabel.toString().toLowerCase().indexOf(searchValue.toLowerCase()) > -1;\n  } else {\n    return false;\n  }\n};\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'select';\n\nexport type NzSelectSizeType = 'large' | 'default' | 'small';\n\n@Component({\n  selector: 'nz-select',\n  exportAs: 'nzSelect',\n  preserveWhitespaces: false,\n  providers: [\n    NzDestroyService,\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NzSelectComponent),\n      multi: true\n    }\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  animations: [slideMotion],\n  template: `\n    <nz-select-top-control\n      cdkOverlayOrigin\n      #origin=\"cdkOverlayOrigin\"\n      [nzId]=\"nzId\"\n      [open]=\"nzOpen\"\n      [disabled]=\"nzDisabled\"\n      [mode]=\"nzMode\"\n      [@.disabled]=\"!!noAnimation?.nzNoAnimation\"\n      [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n      [maxTagPlaceholder]=\"nzMaxTagPlaceholder\"\n      [removeIcon]=\"nzRemoveIcon\"\n      [placeHolder]=\"nzPlaceHolder\"\n      [maxTagCount]=\"nzMaxTagCount\"\n      [customTemplate]=\"nzCustomTemplate\"\n      [tokenSeparators]=\"nzTokenSeparators\"\n      [showSearch]=\"nzShowSearch\"\n      [autofocus]=\"nzAutoFocus\"\n      [listOfTopItem]=\"listOfTopItem\"\n      (inputValueChange)=\"onInputValueChange($event)\"\n      (tokenize)=\"onTokenSeparate($event)\"\n      (deleteItem)=\"onItemDelete($event)\"\n      (keydown)=\"onKeyDown($event)\"\n    ></nz-select-top-control>\n    @if (nzShowArrow || (hasFeedback && !!status) || isMaxTagCountSet) {\n      <nz-select-arrow\n        [showArrow]=\"nzShowArrow\"\n        [loading]=\"nzLoading\"\n        [search]=\"nzOpen && nzShowSearch\"\n        [suffixIcon]=\"nzSuffixIcon\"\n        [feedbackIcon]=\"feedbackIconTpl\"\n        [nzMaxMultipleCount]=\"nzMaxMultipleCount\"\n        [listOfValue]=\"listOfValue\"\n        [isMaxTagCountSet]=\"isMaxTagCountSet\"\n      >\n        <ng-template #feedbackIconTpl>\n          @if (hasFeedback && !!status) {\n            <nz-form-item-feedback-icon [status]=\"status\"></nz-form-item-feedback-icon>\n          }\n        </ng-template>\n      </nz-select-arrow>\n    }\n\n    @if (nzAllowClear && !nzDisabled && listOfValue.length) {\n      <nz-select-clear [clearIcon]=\"nzClearIcon\" (clear)=\"onClearSelection()\"></nz-select-clear>\n    }\n    <ng-template\n      cdkConnectedOverlay\n      nzConnectedOverlay\n      [cdkConnectedOverlayHasBackdrop]=\"nzBackdrop\"\n      [cdkConnectedOverlayMinWidth]=\"$any(nzDropdownMatchSelectWidth ? null : triggerWidth)\"\n      [cdkConnectedOverlayWidth]=\"$any(nzDropdownMatchSelectWidth ? triggerWidth : null)\"\n      [cdkConnectedOverlayOrigin]=\"origin\"\n      [cdkConnectedOverlayTransformOriginOn]=\"'.ant-select-dropdown'\"\n      [cdkConnectedOverlayPanelClass]=\"nzDropdownClassName!\"\n      [cdkConnectedOverlayOpen]=\"nzOpen\"\n      [cdkConnectedOverlayPositions]=\"positions\"\n      (overlayOutsideClick)=\"onClickOutside($event)\"\n      (detach)=\"setOpenState(false)\"\n      (positionChange)=\"onPositionChange($event)\"\n    >\n      <nz-option-container\n        [ngStyle]=\"nzDropdownStyle\"\n        [itemSize]=\"nzOptionHeightPx\"\n        [maxItemLength]=\"nzOptionOverflowSize\"\n        [matchWidth]=\"nzDropdownMatchSelectWidth\"\n        [class.ant-select-dropdown-placement-bottomLeft]=\"dropDownPosition === 'bottomLeft'\"\n        [class.ant-select-dropdown-placement-topLeft]=\"dropDownPosition === 'topLeft'\"\n        [class.ant-select-dropdown-placement-bottomRight]=\"dropDownPosition === 'bottomRight'\"\n        [class.ant-select-dropdown-placement-topRight]=\"dropDownPosition === 'topRight'\"\n        [@slideMotion]=\"'enter'\"\n        [@.disabled]=\"!!noAnimation?.nzNoAnimation\"\n        [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n        [listOfContainerItem]=\"listOfContainerItem\"\n        [menuItemSelectedIcon]=\"nzMenuItemSelectedIcon\"\n        [notFoundContent]=\"nzNotFoundContent\"\n        [activatedValue]=\"activatedValue\"\n        [listOfSelectedValue]=\"listOfValue\"\n        [dropdownRender]=\"nzDropdownRender\"\n        [compareWith]=\"compareWith\"\n        [mode]=\"nzMode\"\n        [isMaxLimitReached]=\"isMaxLimitReached\"\n        (keydown)=\"onKeyDown($event)\"\n        (itemClick)=\"onItemClick($event)\"\n        (scrollToBottom)=\"nzScrollToBottom.emit()\"\n      ></nz-option-container>\n    </ng-template>\n  `,\n  host: {\n    class: 'ant-select',\n    '[class.ant-select-in-form-item]': '!!nzFormStatusService',\n    '[class.ant-select-lg]': 'nzSize === \"large\"',\n    '[class.ant-select-sm]': 'nzSize === \"small\"',\n    '[class.ant-select-show-arrow]': `nzShowArrow`,\n    '[class.ant-select-disabled]': 'nzDisabled',\n    '[class.ant-select-show-search]': `(nzShowSearch || nzMode !== 'default') && !nzDisabled`,\n    '[class.ant-select-allow-clear]': 'nzAllowClear',\n    '[class.ant-select-borderless]': 'nzBorderless',\n    '[class.ant-select-open]': 'nzOpen',\n    '[class.ant-select-focused]': 'nzOpen || focused',\n    '[class.ant-select-single]': `nzMode === 'default'`,\n    '[class.ant-select-multiple]': `nzMode !== 'default'`,\n    '[class.ant-select-rtl]': `dir === 'rtl'`\n  },\n  imports: [\n    NzSelectTopControlComponent,\n    CdkOverlayOrigin,\n    NzNoAnimationDirective,\n    NzSelectArrowComponent,\n    NzFormPatchModule,\n    NzSelectClearComponent,\n    CdkConnectedOverlay,\n    NzOverlayModule,\n    NzOptionContainerComponent,\n    NgStyle\n  ],\n  standalone: true\n})\nexport class NzSelectComponent implements ControlValueAccessor, OnInit, AfterContentInit, OnChanges, OnDestroy {\n  readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n  @Input() nzId: string | null = null;\n  @Input() nzSize: NzSelectSizeType = 'default';\n  @Input() nzStatus: NzStatus = '';\n  @Input() @WithConfig<number>() nzOptionHeightPx = 32;\n  @Input() nzOptionOverflowSize = 8;\n  @Input() nzDropdownClassName: string[] | string | null = null;\n  @Input() nzDropdownMatchSelectWidth = true;\n  @Input() nzDropdownStyle: { [key: string]: string } | null = null;\n  @Input() nzNotFoundContent: string | TemplateRef<NzSafeAny> | undefined = undefined;\n  @Input() nzPlaceHolder: string | TemplateRef<NzSafeAny> | null = null;\n  @Input() nzPlacement: NzSelectPlacementType | null = null;\n  @Input() nzMaxTagCount = Infinity;\n  @Input() nzDropdownRender: TemplateRef<NzSafeAny> | null = null;\n  @Input() nzCustomTemplate: TemplateRef<{ $implicit: NzSelectItemInterface }> | null = null;\n  @Input()\n  @WithConfig<TemplateRef<NzSafeAny> | string | null>()\n  nzSuffixIcon: TemplateRef<NzSafeAny> | string | null = null;\n  @Input() nzClearIcon: TemplateRef<NzSafeAny> | null = null;\n  @Input() nzRemoveIcon: TemplateRef<NzSafeAny> | null = null;\n  @Input() nzMenuItemSelectedIcon: TemplateRef<NzSafeAny> | null = null;\n  @Input() nzTokenSeparators: string[] = [];\n  @Input() nzMaxTagPlaceholder: TemplateRef<{ $implicit: NzSafeAny[] }> | null = null;\n  @Input() nzMaxMultipleCount = Infinity;\n  @Input() nzMode: NzSelectModeType = 'default';\n  @Input() nzFilterOption: NzFilterOptionType = defaultFilterOption;\n  @Input() compareWith: (o1: NzSafeAny, o2: NzSafeAny) => boolean = (o1: NzSafeAny, o2: NzSafeAny) => o1 === o2;\n  @Input({ transform: booleanAttribute }) nzAllowClear = false;\n  @Input({ transform: booleanAttribute }) @WithConfig<boolean>() nzBorderless = false;\n  @Input({ transform: booleanAttribute }) nzShowSearch = false;\n  @Input({ transform: booleanAttribute }) nzLoading = false;\n  @Input({ transform: booleanAttribute }) nzAutoFocus = false;\n  @Input({ transform: booleanAttribute }) nzAutoClearSearchValue = true;\n  @Input({ transform: booleanAttribute }) nzServerSearch = false;\n  @Input({ transform: booleanAttribute }) nzDisabled = false;\n  @Input({ transform: booleanAttribute }) nzOpen = false;\n  @Input({ transform: booleanAttribute }) nzSelectOnTab = false;\n  @Input({ transform: booleanAttribute }) @WithConfig<boolean>() nzBackdrop = false;\n  @Input() nzOptions: NzSelectOptionInterface[] = [];\n\n  @Input({ transform: booleanAttribute })\n  set nzShowArrow(value: boolean) {\n    this._nzShowArrow = value;\n  }\n  get nzShowArrow(): boolean {\n    return this._nzShowArrow === undefined ? this.nzMode === 'default' : this._nzShowArrow;\n  }\n\n  get isMaxTagCountSet(): boolean {\n    return this.nzMaxMultipleCount !== Infinity;\n  }\n\n  @Output() readonly nzOnSearch = new EventEmitter<string>();\n  @Output() readonly nzScrollToBottom = new EventEmitter<void>();\n  @Output() readonly nzOpenChange = new EventEmitter<boolean>();\n  @Output() readonly nzBlur = new EventEmitter<void>();\n  @Output() readonly nzFocus = new EventEmitter<void>();\n  @ViewChild(CdkOverlayOrigin, { static: true, read: ElementRef }) originElement!: ElementRef;\n  @ViewChild(CdkConnectedOverlay, { static: true }) cdkConnectedOverlay!: CdkConnectedOverlay;\n  @ViewChild(NzSelectTopControlComponent, { static: true }) nzSelectTopControlComponent!: NzSelectTopControlComponent;\n  @ContentChildren(NzOptionComponent, { descendants: true }) listOfNzOptionComponent!: QueryList<NzOptionComponent>;\n  @ContentChildren(NzOptionGroupComponent, { descendants: true })\n  listOfNzOptionGroupComponent!: QueryList<NzOptionGroupComponent>;\n  @ViewChild(NzOptionGroupComponent, { static: true, read: ElementRef }) nzOptionGroupComponentElement!: ElementRef;\n  @ViewChild(NzSelectTopControlComponent, { static: true, read: ElementRef })\n  nzSelectTopControlComponentElement!: ElementRef;\n  private listOfValue$ = new BehaviorSubject<NzSafeAny[]>([]);\n  private listOfTemplateItem$ = new BehaviorSubject<NzSelectItemInterface[]>([]);\n  private listOfTagAndTemplateItem: NzSelectItemInterface[] = [];\n  private searchValue: string = '';\n  private isReactiveDriven = false;\n  private value: NzSafeAny | NzSafeAny[];\n  private _nzShowArrow: boolean | undefined;\n  private requestId: number = -1;\n  private isNzDisableFirstChange: boolean = true;\n  onChange: OnChangeType = () => {};\n  onTouched: OnTouchedType = () => {};\n  dropDownPosition: NzSelectPlacementType = 'bottomLeft';\n  triggerWidth: number | null = null;\n  listOfContainerItem: NzSelectItemInterface[] = [];\n  listOfTopItem: NzSelectItemInterface[] = [];\n  activatedValue: NzSafeAny | null = null;\n  listOfValue: NzSafeAny[] = [];\n  focused = false;\n  dir: Direction = 'ltr';\n  positions: ConnectionPositionPair[] = [];\n  isMaxLimitReached = false;\n\n  // status\n  prefixCls: string = 'ant-select';\n  statusCls: NgClassInterface = {};\n  status: NzValidateStatus = '';\n  hasFeedback: boolean = false;\n\n  generateTagItem(value: string): NzSelectItemInterface {\n    return {\n      nzValue: value,\n      nzLabel: value,\n      type: 'item'\n    };\n  }\n\n  onItemClick(value: NzSafeAny): void {\n    this.activatedValue = value;\n    if (this.nzMode === 'default') {\n      if (this.listOfValue.length === 0 || !this.compareWith(this.listOfValue[0], value)) {\n        this.updateListOfValue([value]);\n      }\n      this.setOpenState(false);\n    } else {\n      const targetIndex = this.listOfValue.findIndex(o => this.compareWith(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.nzMaxMultipleCount) {\n        const listOfValueAfterAdded = [...this.listOfValue, value];\n        this.updateListOfValue(listOfValueAfterAdded);\n      }\n      this.focus();\n      if (this.nzAutoClearSearchValue) {\n        this.clearInput();\n      }\n    }\n  }\n\n  onItemDelete(item: NzSelectItemInterface): void {\n    const listOfSelectedValue = this.listOfValue.filter(v => !this.compareWith(v, item.nzValue));\n    this.updateListOfValue(listOfSelectedValue);\n    this.clearInput();\n  }\n\n  updateListOfContainerItem(): void {\n    let listOfContainerItem = this.listOfTagAndTemplateItem\n      .filter(item => !item.nzHide)\n      .filter(item => {\n        if (!this.nzServerSearch && this.searchValue) {\n          return this.nzFilterOption(this.searchValue, item);\n        } else {\n          return true;\n        }\n      });\n    if (this.nzMode === 'tags' && this.searchValue) {\n      const matchedItem = this.listOfTagAndTemplateItem.find(item => item.nzLabel === this.searchValue);\n      if (!matchedItem) {\n        const tagItem = this.generateTagItem(this.searchValue);\n        listOfContainerItem = [tagItem, ...listOfContainerItem];\n        this.activatedValue = tagItem.nzValue;\n      } else {\n        this.activatedValue = matchedItem.nzValue;\n      }\n    }\n    const activatedItem =\n      listOfContainerItem.find(item => item.nzLabel === this.searchValue) ||\n      listOfContainerItem.find(item => this.compareWith(item.nzValue, this.activatedValue)) ||\n      listOfContainerItem.find(item => this.compareWith(item.nzValue, this.listOfValue[0])) ||\n      listOfContainerItem[0];\n    this.activatedValue = (activatedItem && activatedItem.nzValue) || null;\n    let listOfGroupLabel: Array<string | number | TemplateRef<NzSafeAny> | null> = [];\n    if (this.isReactiveDriven) {\n      listOfGroupLabel = [...new Set(this.nzOptions.filter(o => o.groupLabel).map(o => o.groupLabel!))];\n    } else {\n      if (this.listOfNzOptionGroupComponent) {\n        listOfGroupLabel = this.listOfNzOptionGroupComponent.map(o => o.nzLabel);\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 = { groupLabel: label, type: 'group', key: label } as NzSelectItemInterface;\n        listOfContainerItem.splice(index, 0, groupItem);\n      }\n    });\n    this.listOfContainerItem = [...listOfContainerItem];\n    this.updateCdkConnectedOverlayPositions();\n  }\n\n  clearInput(): void {\n    this.nzSelectTopControlComponent.clearInputValue();\n  }\n\n  updateListOfValue(listOfValue: NzSafeAny[]): void {\n    const covertListToModel = (list: NzSafeAny[], mode: NzSelectModeType): NzSafeAny[] | NzSafeAny => {\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.nzMode);\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    this.isMaxLimitReached =\n      this.nzMaxMultipleCount !== Infinity && this.listOfValue.length === this.nzMaxMultipleCount;\n  }\n\n  onTokenSeparate(listOfLabel: string[]): void {\n    const listOfMatchedValue = this.listOfTagAndTemplateItem\n      .filter(item => listOfLabel.findIndex(label => label === item.nzLabel) !== -1)\n      .map(item => item.nzValue)\n      .filter(item => this.listOfValue.findIndex(v => this.compareWith(v, item)) === -1);\n    if (this.nzMode === 'multiple') {\n      this.updateListOfValue([...this.listOfValue, ...listOfMatchedValue]);\n    } else if (this.nzMode === 'tags') {\n      const listOfUnMatchedLabel = listOfLabel.filter(\n        label => this.listOfTagAndTemplateItem.findIndex(item => item.nzLabel === label) === -1\n      );\n      this.updateListOfValue([...this.listOfValue, ...listOfMatchedValue, ...listOfUnMatchedLabel]);\n    }\n    this.clearInput();\n  }\n\n  onKeyDown(e: KeyboardEvent): void {\n    if (this.nzDisabled) {\n      return;\n    }\n    const listOfFilteredOptionNotDisabled = this.listOfContainerItem\n      .filter(item => item.type === 'item')\n      .filter(item => !item.nzDisabled);\n    const activatedIndex = listOfFilteredOptionNotDisabled.findIndex(item =>\n      this.compareWith(item.nzValue, this.activatedValue)\n    );\n    switch (e.keyCode) {\n      case UP_ARROW:\n        e.preventDefault();\n        if (this.nzOpen && listOfFilteredOptionNotDisabled.length > 0) {\n          const preIndex = activatedIndex > 0 ? activatedIndex - 1 : listOfFilteredOptionNotDisabled.length - 1;\n          this.activatedValue = listOfFilteredOptionNotDisabled[preIndex].nzValue;\n        }\n        break;\n      case DOWN_ARROW:\n        e.preventDefault();\n        if (this.nzOpen && listOfFilteredOptionNotDisabled.length > 0) {\n          const nextIndex = activatedIndex < listOfFilteredOptionNotDisabled.length - 1 ? activatedIndex + 1 : 0;\n          this.activatedValue = listOfFilteredOptionNotDisabled[nextIndex].nzValue;\n        } else {\n          this.setOpenState(true);\n        }\n        break;\n      case ENTER:\n        e.preventDefault();\n        if (this.nzOpen) {\n          if (isNotNil(this.activatedValue) && activatedIndex !== -1) {\n            this.onItemClick(this.activatedValue);\n          }\n        } else {\n          this.setOpenState(true);\n        }\n        break;\n      case SPACE:\n        if (!this.nzOpen) {\n          this.setOpenState(true);\n          e.preventDefault();\n        }\n        break;\n      case TAB:\n        if (this.nzSelectOnTab) {\n          if (this.nzOpen) {\n            e.preventDefault();\n            if (isNotNil(this.activatedValue)) {\n              this.onItemClick(this.activatedValue);\n            }\n          }\n        } else {\n          this.setOpenState(false);\n        }\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.nzOpen) {\n          this.setOpenState(true);\n        }\n    }\n  }\n\n  setOpenState(value: boolean): void {\n    if (this.nzOpen !== value) {\n      this.nzOpen = value;\n      this.nzOpenChange.emit(value);\n      this.onOpenChange();\n      this.cdr.markForCheck();\n    }\n  }\n\n  onOpenChange(): void {\n    this.updateCdkConnectedOverlayStatus();\n    if (this.nzAutoClearSearchValue) {\n      this.clearInput();\n    }\n  }\n\n  onInputValueChange(value: string): void {\n    this.searchValue = value;\n    this.updateListOfContainerItem();\n    this.nzOnSearch.emit(value);\n    this.updateCdkConnectedOverlayPositions();\n  }\n\n  onClearSelection(): void {\n    this.updateListOfValue([]);\n  }\n\n  onClickOutside(event: MouseEvent): void {\n    const target = _getEventTarget(event);\n    if (!this.host.nativeElement.contains(target as Node)) {\n      this.setOpenState(false);\n    }\n  }\n\n  focus(): void {\n    this.nzSelectTopControlComponent.focus();\n  }\n\n  blur(): void {\n    this.nzSelectTopControlComponent.blur();\n  }\n\n  onPositionChange(position: ConnectedOverlayPositionChange): void {\n    const placement = getPlacementName(position);\n    this.dropDownPosition = placement as NzSelectPlacementType;\n  }\n\n  updateCdkConnectedOverlayStatus(): void {\n    if (this.platform.isBrowser && this.originElement.nativeElement) {\n      const triggerWidth = this.triggerWidth;\n      cancelRequestAnimationFrame(this.requestId);\n      this.requestId = reqAnimFrame(() => {\n        // Blink triggers style and layout pipelines anytime the `getBoundingClientRect()` is called, which may cause a\n        // frame drop. That's why it's scheduled through the `requestAnimationFrame` to unload the composite thread.\n        this.triggerWidth = this.originElement.nativeElement.getBoundingClientRect().width;\n        if (triggerWidth !== this.triggerWidth) {\n          // The `requestAnimationFrame` will trigger change detection, but we're inside an `OnPush` component which won't have\n          // the `ChecksEnabled` state. Calling `markForCheck()` will allow Angular to run the change detection from the root component\n          // down to the `nz-select`. But we'll trigger only local change detection if the `triggerWidth` has been changed.\n          this.cdr.detectChanges();\n        }\n      });\n    }\n  }\n\n  updateCdkConnectedOverlayPositions(): void {\n    reqAnimFrame(() => {\n      this.cdkConnectedOverlay?.overlayRef?.updatePosition();\n    });\n  }\n\n  noAnimation = inject(NzNoAnimationDirective, { host: true, optional: true });\n  private nzFormStatusService = inject(NzFormStatusService, { optional: true });\n  private nzFormNoStatusService = inject(NzFormNoStatusService, { optional: true });\n\n  constructor(\n    private ngZone: NgZone,\n    private destroy$: NzDestroyService,\n    public nzConfigService: NzConfigService,\n    private cdr: ChangeDetectorRef,\n    private host: ElementRef<HTMLElement>,\n    private renderer: Renderer2,\n    private platform: Platform,\n    private focusMonitor: FocusMonitor,\n    private directionality: Directionality\n  ) {}\n\n  writeValue(modelValue: NzSafeAny | NzSafeAny[]): void {\n    /** https://github.com/angular/angular/issues/14988 **/\n    if (this.value !== modelValue) {\n      this.value = modelValue;\n      const covertModelToList = (model: NzSafeAny[] | NzSafeAny, mode: NzSelectModeType): NzSafeAny[] => {\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.nzMode);\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.nzDisabled = (this.isNzDisableFirstChange && this.nzDisabled) || disabled;\n    this.isNzDisableFirstChange = false;\n    if (this.nzDisabled) {\n      this.setOpenState(false);\n    }\n    this.cdr.markForCheck();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { nzOpen, nzDisabled, nzOptions, nzStatus, nzPlacement } = changes;\n    if (nzOpen) {\n      this.onOpenChange();\n    }\n    if (nzDisabled && this.nzDisabled) {\n      this.setOpenState(false);\n    }\n    if (nzOptions) {\n      this.isReactiveDriven = true;\n      const listOfOptions = this.nzOptions || [];\n      const listOfTransformedItem = listOfOptions.map(item => {\n        return {\n          template: item.label instanceof TemplateRef ? item.label : null,\n          nzTitle: this.getTitle(item.title, item.label),\n          nzLabel: typeof item.label === 'string' || typeof item.label === 'number' ? item.label : null,\n          nzValue: item.value,\n          nzDisabled: item.disabled || false,\n          nzHide: item.hide || false,\n          nzCustomContent: item.label instanceof TemplateRef,\n          groupLabel: item.groupLabel || null,\n          type: 'item',\n          key: item.key === undefined ? item.value : item.key\n        };\n      });\n      this.listOfTemplateItem$.next(listOfTransformedItem);\n    }\n    if (nzStatus) {\n      this.setStatusStyles(this.nzStatus, this.hasFeedback);\n    }\n    if (nzPlacement) {\n      const { currentValue } = nzPlacement;\n      this.dropDownPosition = currentValue as NzSelectPlacementType;\n      const listOfPlacement = ['bottomLeft', 'topLeft', 'bottomRight', 'topRight'];\n      if (currentValue && listOfPlacement.includes(currentValue)) {\n        this.positions = [POSITION_MAP[currentValue as POSITION_TYPE]];\n      } else {\n        this.positions = listOfPlacement.map(e => POSITION_MAP[e as POSITION_TYPE]);\n      }\n    }\n  }\n\n  ngOnInit(): void {\n    this.nzFormStatusService?.formStatusChanges\n      .pipe(\n        distinctUntilChanged((pre, cur) => {\n          return pre.status === cur.status && pre.hasFeedback === cur.hasFeedback;\n        }),\n        withLatestFrom(this.nzFormNoStatusService ? this.nzFormNoStatusService.noFormStatus : observableOf(false)),\n        map(([{ status, hasFeedback }, noStatus]) => ({ status: noStatus ? '' : status, hasFeedback })),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(({ status, hasFeedback }) => {\n        this.setStatusStyles(status, hasFeedback);\n      });\n\n    this.focusMonitor\n      .monitor(this.host, true)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(focusOrigin => {\n        if (!focusOrigin) {\n          this.focused = false;\n          this.cdr.markForCheck();\n          this.nzBlur.emit();\n          Promise.resolve().then(() => {\n            this.onTouched();\n          });\n        } else {\n          this.focused = true;\n          this.cdr.markForCheck();\n          this.nzFocus.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.nzMode === 'tags')\n          .filter(value => listOfTemplateItem.findIndex(o => this.compareWith(o.nzValue, value)) === -1)\n          .map(\n            value => this.listOfTopItem.find(o => this.compareWith(o.nzValue, value)) || 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 => this.compareWith(v, item.nzValue))!\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.nzConfigService\n      .getConfigChangeEventForComponent('select')\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => {\n        this.cdr.markForCheck();\n      });\n\n    this.dir = this.directionality.value;\n\n    this.ngZone.runOutsideAngular(() =>\n      fromEvent(this.host.nativeElement, 'click')\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(() => {\n          if ((this.nzOpen && this.nzShowSearch) || this.nzDisabled) {\n            return;\n          }\n\n          this.ngZone.run(() => this.setOpenState(!this.nzOpen));\n        })\n    );\n\n    // Caretaker note: we could've added this listener within the template `(overlayKeydown)=\"...\"`,\n    // but with this approach, it'll run change detection on each keyboard click, and also it'll run\n    // `markForCheck()` internally, which means the whole component tree (starting from the root and\n    // going down to the select component) will be re-checked and updated (if needed).\n    // This is safe to do that manually since `setOpenState()` calls `markForCheck()` if needed.\n    this.cdkConnectedOverlay.overlayKeydown.pipe(takeUntil(this.destroy$)).subscribe(event => {\n      if (event.keyCode === ESCAPE) {\n        this.setOpenState(false);\n      }\n    });\n  }\n\n  ngAfterContentInit(): void {\n    if (!this.isReactiveDriven) {\n      merge(this.listOfNzOptionGroupComponent.changes, this.listOfNzOptionComponent.changes)\n        .pipe(\n          startWith(true),\n          switchMap(() =>\n            merge(\n              ...[\n                this.listOfNzOptionComponent.changes,\n                this.listOfNzOptionGroupComponent.changes,\n                ...this.listOfNzOptionComponent.map(option => option.changes),\n                ...this.listOfNzOptionGroupComponent.map(option => option.changes)\n              ]\n            ).pipe(startWith(true))\n          ),\n          takeUntil(this.destroy$)\n        )\n        .subscribe(() => {\n          const listOfOptionInterface = this.listOfNzOptionComponent.toArray().map(item => {\n            const { template, nzLabel, nzValue, nzKey, nzDisabled, nzHide, nzCustomContent, groupLabel } = item;\n            return {\n              template,\n              nzLabel,\n              nzValue,\n              nzDisabled,\n              nzHide,\n              nzCustomContent,\n              groupLabel,\n              nzTitle: this.getTitle(item.nzTitle, item.nzLabel),\n              type: 'item',\n              key: nzKey === undefined ? nzValue : nzKey\n            };\n          });\n          this.listOfTemplateItem$.next(listOfOptionInterface);\n          this.cdr.markForCheck();\n        });\n    }\n  }\n\n  ngOnDestroy(): void {\n    cancelRequestAnimationFrame(this.requestId);\n    this.focusMonitor.stopMonitoring(this.host);\n  }\n\n  private setStatusStyles(status: NzValidateStatus, hasFeedback: boolean): void {\n    this.status = status;\n    this.hasFeedback = hasFeedback;\n    this.cdr.markForCheck();\n    // render status if nzStatus is set\n    this.statusCls = getStatusClassNames(this.prefixCls, status, hasFeedback);\n    Object.keys(this.statusCls).forEach(status => {\n      if (this.statusCls[status]) {\n        this.renderer.addClass(this.host.nativeElement, status);\n      } else {\n        this.renderer.removeClass(this.host.nativeElement, status);\n      }\n    });\n  }\n\n  private getTitle(title: NzSelectOptionInterface['title'], label: NzSelectOptionInterface['label']): string {\n    let rawTitle: string = undefined!;\n    if (title === undefined) {\n      if (typeof label === 'string' || typeof label === 'number') {\n        rawTitle = label.toString();\n      }\n    } else if (typeof title === 'string' || typeof title === 'number') {\n      rawTitle = title.toString();\n    }\n\n    return rawTitle;\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 { NgModule } from '@angular/core';\n\nimport { NzOptionContainerComponent } from './option-container.component';\nimport { NzOptionGroupComponent } from './option-group.component';\nimport { NzOptionItemGroupComponent } from './option-item-group.component';\nimport { NzOptionItemComponent } from './option-item.component';\nimport { NzOptionComponent } from './option.component';\nimport { NzSelectArrowComponent } from './select-arrow.component';\nimport { NzSelectClearComponent } from './select-clear.component';\nimport { NzSelectItemComponent } from './select-item.component';\nimport { NzSelectPlaceholderComponent } from './select-placeholder.component';\nimport { NzSelectSearchComponent } from './select-search.component';\nimport { NzSelectTopControlComponent } from './select-top-control.component';\nimport { NzSelectComponent } from './select.component';\n\n@NgModule({\n  imports: [\n    NzOptionComponent,\n    NzSelectComponent,\n    NzOptionContainerComponent,\n    NzOptionGroupComponent,\n    NzOptionItemComponent,\n    NzSelectTopControlComponent,\n    NzSelectSearchComponent,\n    NzSelectItemComponent,\n    NzSelectClearComponent,\n    NzSelectArrowComponent,\n    NzSelectPlaceholderComponent,\n    NzOptionItemGroupComponent\n  ],\n  exports: [\n    NzOptionComponent,\n    NzSelectComponent,\n    NzOptionGroupComponent,\n    NzSelectArrowComponent,\n    NzSelectClearComponent,\n    NzSelectItemComponent,\n    NzSelectPlaceholderComponent,\n    NzSelectSearchComponent\n  ]\n})\nexport class NzSelectModule {}\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';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport type NzSelectModeType = 'default' | 'multiple' | 'tags';\nexport interface NzSelectItemInterface {\n  template?: TemplateRef<NzSafeAny> | null;\n  nzLabel: string | number | null;\n  nzValue: NzSafeAny | null;\n  nzTitle?: string | number | null;\n  nzDisabled?: boolean;\n  nzHide?: boolean;\n  nzCustomContent?: boolean;\n  groupLabel?: string | number | TemplateRef<NzSafeAny> | null;\n  type?: string;\n  key?: NzSafeAny;\n}\n\nexport interface NzSelectOptionInterface {\n  label: string | number | null | TemplateRef<NzSafeAny>;\n  value: NzSafeAny | null;\n  title?: string | number | null;\n  disabled?: boolean;\n  hide?: boolean;\n  groupLabel?: string | number | TemplateRef<NzSafeAny> | null;\n  key?: string | number;\n}\n\nexport type NzSelectTopControlItemType = Partial<NzSelectItemInterface> & {\n  contentTemplateOutlet: TemplateRef<NzSafeAny> | null;\n  contentTemplateOutletContext: NzSafeAny;\n};\n\nexport type NzFilterOptionType = (input: string, option: NzSelectItemInterface) => boolean;\n\nexport type NzSelectPlacementType = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\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';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","observableOf","i4"],"mappings":"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"}