{"version":3,"file":"ng-zorro-antd-transfer.mjs","sources":["../../components/transfer/interface.ts","../../components/transfer/transfer-search.component.ts","../../components/transfer/transfer-list.component.ts","../../components/transfer/transfer.component.ts","../../components/transfer/transfer.module.ts","../../components/transfer/public-api.ts","../../components/transfer/ng-zorro-antd-transfer.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 { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport type TransferDirection = 'left' | 'right';\n\nexport interface TransferItem {\n  title: string;\n  direction?: TransferDirection;\n  disabled?: boolean;\n  checked?: boolean;\n  hide?: boolean;\n  [key: string]: NzSafeAny;\n}\n\nexport interface TransferCanMove {\n  direction: TransferDirection;\n  list: TransferItem[];\n}\n\nexport interface TransferChange {\n  from: TransferDirection;\n  to: TransferDirection;\n  list: TransferItem[];\n}\n\nexport interface TransferSearchChange {\n  direction: TransferDirection;\n  value: string;\n}\n\nexport interface TransferSelectChange {\n  direction: TransferDirection;\n  checked: boolean;\n  list: TransferItem[];\n  item?: TransferItem;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n  selector: '[nz-transfer-search]',\n  exportAs: 'nzTransferSearch',\n  preserveWhitespaces: false,\n  template: `\n    <span class=\"ant-input-prefix\">\n      <span nz-icon nzType=\"search\"></span>\n    </span>\n    <input\n      [(ngModel)]=\"value\"\n      (ngModelChange)=\"_handle()\"\n      [disabled]=\"disabled\"\n      [placeholder]=\"placeholder\"\n      class=\"ant-input\"\n      [ngClass]=\"{ 'ant-input-disabled': disabled }\"\n    />\n    <span *ngIf=\"value && value.length > 0\" class=\"ant-input-suffix\" (click)=\"_clear()\">\n      <span nz-icon nzType=\"close-circle\" class=\"ant-input-clear-icon\"></span>\n    </span>\n  `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NzTransferSearchComponent implements OnChanges {\n  // region: fields\n\n  @Input() placeholder?: string;\n  @Input() value?: string;\n  @Input() disabled: boolean = false;\n\n  @Output() readonly valueChanged = new EventEmitter<string>();\n  @Output() readonly valueClear = new EventEmitter<void>();\n\n  // endregion\n\n  constructor(private cdr: ChangeDetectorRef) {}\n\n  _handle(): void {\n    this.valueChanged.emit(this.value);\n  }\n\n  _clear(): void {\n    if (this.disabled) {\n      return;\n    }\n    this.value = '';\n    this.valueClear.emit();\n  }\n\n  ngOnChanges(): void {\n    this.cdr.detectChanges();\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  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgZone,\n  Output,\n  QueryList,\n  TemplateRef,\n  ViewChild,\n  ViewChildren,\n  ViewEncapsulation\n} from '@angular/core';\nimport { fromEvent, merge, Observable } from 'rxjs';\nimport { startWith, switchMap } from 'rxjs/operators';\n\nimport { NzCheckboxComponent } from 'ng-zorro-antd/checkbox';\n\nimport { TransferDirection, TransferItem } from './interface';\n\n@Component({\n  selector: 'nz-transfer-list',\n  exportAs: 'nzTransferList',\n  preserveWhitespaces: false,\n  template: `\n    <ng-template #defaultRenderList>\n      <ul *ngIf=\"stat.shownCount > 0\" class=\"ant-transfer-list-content\">\n        <li\n          *ngFor=\"let item of validData; trackBy: trackByHide\"\n          (click)=\"onItemSelect(item)\"\n          class=\"ant-transfer-list-content-item\"\n          [ngClass]=\"{ 'ant-transfer-list-content-item-disabled': disabled || item.disabled }\"\n        >\n          <label\n            #checkboxes\n            nz-checkbox\n            [nzChecked]=\"item.checked\"\n            (nzCheckedChange)=\"onItemSelect(item)\"\n            [nzDisabled]=\"disabled || item.disabled\"\n          >\n            <ng-container *ngIf=\"!render; else renderContainer\">{{ item.title }}</ng-container>\n            <ng-template\n              #renderContainer\n              [ngTemplateOutlet]=\"render\"\n              [ngTemplateOutletContext]=\"{ $implicit: item }\"\n            ></ng-template>\n          </label>\n        </li>\n      </ul>\n      <div *ngIf=\"stat.shownCount === 0\" class=\"ant-transfer-list-body-not-found\">\n        <nz-embed-empty [nzComponentName]=\"'transfer'\" [specificContent]=\"notFoundContent\"></nz-embed-empty>\n      </div>\n    </ng-template>\n    <div class=\"ant-transfer-list-header\">\n      <label\n        *ngIf=\"showSelectAll\"\n        class=\"ant-transfer-list-checkbox\"\n        nz-checkbox\n        #headerCheckbox\n        [nzChecked]=\"stat.checkAll\"\n        (nzCheckedChange)=\"onItemSelectAll($event)\"\n        [nzIndeterminate]=\"stat.checkHalf\"\n        [nzDisabled]=\"stat.shownCount === 0 || disabled\"\n      ></label>\n      <span class=\"ant-transfer-list-header-selected\">\n        <span>\n          {{ (stat.checkCount > 0 ? stat.checkCount + '/' : '') + stat.shownCount }}\n          {{ validData.length > 1 ? itemsUnit : itemUnit }}\n        </span>\n      </span>\n      <span *ngIf=\"titleText\" class=\"ant-transfer-list-header-title\">{{ titleText }}</span>\n    </div>\n    <div\n      class=\"{{ showSearch ? 'ant-transfer-list-body ant-transfer-list-body-with-search' : 'ant-transfer-list-body' }}\"\n      [ngClass]=\"{ 'ant-transfer__nodata': stat.shownCount === 0 }\"\n    >\n      <div *ngIf=\"showSearch\" class=\"ant-transfer-list-body-search-wrapper\">\n        <span\n          nz-transfer-search\n          class=\"ant-input-affix-wrapper ant-transfer-list-search\"\n          (valueChanged)=\"handleFilter($event)\"\n          (valueClear)=\"handleClear()\"\n          [placeholder]=\"searchPlaceholder\"\n          [disabled]=\"disabled\"\n          [value]=\"filter\"\n        ></span>\n      </div>\n      <ng-container *ngIf=\"renderList; else defaultRenderList\">\n        <div class=\"ant-transfer-list-body-customize-wrapper\">\n          <ng-container\n            *ngTemplateOutlet=\"\n              renderList;\n              context: {\n                $implicit: validData,\n                direction: direction,\n                disabled: disabled,\n                onItemSelectAll: onItemSelectAll,\n                onItemSelect: onItemSelect,\n                stat: stat\n              }\n            \"\n          ></ng-container>\n        </div>\n      </ng-container>\n    </div>\n    <div *ngIf=\"footer\" class=\"ant-transfer-list-footer\">\n      <ng-template [ngTemplateOutlet]=\"footer\" [ngTemplateOutletContext]=\"{ $implicit: direction }\"></ng-template>\n    </div>\n  `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'ant-transfer-list',\n    '[class.ant-transfer-list-with-footer]': '!!footer'\n  }\n})\nexport class NzTransferListComponent implements AfterViewInit {\n  // #region fields\n\n  @Input() direction: TransferDirection = 'left';\n  @Input() titleText = '';\n  @Input() showSelectAll = true;\n\n  @Input() dataSource: TransferItem[] = [];\n\n  @Input() itemUnit: string | undefined = '';\n  @Input() itemsUnit: string | undefined = '';\n  @Input() filter = '';\n  @Input() disabled: boolean = false;\n  @Input() showSearch?: boolean;\n  @Input() searchPlaceholder?: string;\n  @Input() notFoundContent?: string;\n  @Input() filterOption?: (inputValue: string, item: TransferItem) => boolean;\n\n  @Input() renderList: TemplateRef<void> | null = null;\n  @Input() render: TemplateRef<void> | null = null;\n  @Input() footer: TemplateRef<void> | null = null;\n\n  // events\n  @Output() readonly handleSelectAll: EventEmitter<boolean> = new EventEmitter<boolean>();\n  @Output() readonly handleSelect: EventEmitter<TransferItem> = new EventEmitter();\n  @Output() readonly filterChange: EventEmitter<{ direction: TransferDirection; value: string }> = new EventEmitter();\n\n  @ViewChild('headerCheckbox', { read: NzCheckboxComponent }) headerCheckbox?: NzCheckboxComponent;\n\n  @ViewChildren('checkboxes', { read: ElementRef }) checkboxes!: QueryList<ElementRef<HTMLLabelElement>>;\n\n  stat = {\n    checkAll: false,\n    checkHalf: false,\n    checkCount: 0,\n    shownCount: 0\n  };\n\n  get validData(): TransferItem[] {\n    return this.dataSource.filter(w => !w.hide);\n  }\n\n  trackByHide(_index: number, item: TransferItem): boolean | undefined {\n    // The `validData` is a getter which returns new array each time the property is read.\n    // This may lead to unexpected re-renders, tho the array hasn't been updated.\n    return item.hide;\n  }\n\n  onItemSelect = (item: TransferItem): void => {\n    if (this.disabled || item.disabled) {\n      return;\n    }\n    item.checked = !item.checked;\n    this.updateCheckStatus();\n    this.handleSelect.emit(item);\n  };\n\n  onItemSelectAll = (status: boolean): void => {\n    this.dataSource.forEach(item => {\n      if (!item.disabled && !item.hide) {\n        item.checked = status;\n      }\n    });\n\n    this.updateCheckStatus();\n    this.handleSelectAll.emit(status);\n  };\n\n  private updateCheckStatus(): void {\n    const validCount = this.dataSource.filter(w => !w.disabled).length;\n    this.stat.checkCount = this.dataSource.filter(w => w.checked && !w.disabled).length;\n    this.stat.shownCount = this.validData.length;\n    this.stat.checkAll = validCount > 0 && validCount === this.stat.checkCount;\n    this.stat.checkHalf = this.stat.checkCount > 0 && !this.stat.checkAll;\n    // Note: this is done explicitly since the internal `nzChecked` value may not be updated in edge cases.\n    // Consider the following flow:\n    // 1) the initial value of `stat.checkAll` is `false`\n    // 2) the user filters items\n    // 3) the user clicks \"Select All\" checkbox\n    // 4) the `NzCheckboxComponent` sets `nzChecked` to `true` internally\n    // 5) the user clicks \"Move to right\"\n    // 6) items are moved and the `updateCheckStatus` is invoked\n    // 7) the `stat.checkAll` value has never been updated in this flow, it's always been `false`\n    // 8) the `nzChecked` is still `true` and the checkbox is not unchecked\n    // This is because Angular checks bindings and it checked that `[nzChecked]=\"stat.checkAll\"` has\n    // never been updated, so Angular did not set new `nzChecked` value on the checkbox.\n    this.headerCheckbox && (this.headerCheckbox.nzChecked = this.stat.checkAll);\n  }\n\n  // #endregion\n\n  // #region search\n\n  handleFilter(value: string): void {\n    this.filter = value;\n    this.dataSource.forEach(item => {\n      item.hide = value.length > 0 && !this.matchFilter(value, item);\n    });\n    this.stat.shownCount = this.validData.length;\n    this.filterChange.emit({ direction: this.direction, value });\n  }\n\n  handleClear(): void {\n    this.handleFilter('');\n  }\n\n  private matchFilter(text: string, item: TransferItem): boolean {\n    if (this.filterOption) {\n      return this.filterOption(text, item);\n    }\n    return item.title.includes(text);\n  }\n\n  // #endregion\n\n  constructor(private ngZone: NgZone, private cdr: ChangeDetectorRef) {}\n\n  markForCheck(): void {\n    this.updateCheckStatus();\n    this.cdr.markForCheck();\n  }\n\n  ngAfterViewInit(): void {\n    this.checkboxes.changes\n      .pipe(\n        startWith(this.checkboxes),\n        switchMap(() => {\n          const checkboxes = this.checkboxes.toArray();\n          // Caretaker note: we explicitly should call `subscribe()` within the root zone.\n          // `runOutsideAngular(() => fromEvent(...))` will just create an observable within the root zone,\n          // but `addEventListener` is called when the `fromEvent` is subscribed.\n          return new Observable<MouseEvent>(subscriber =>\n            this.ngZone.runOutsideAngular(() =>\n              merge(...checkboxes.map(checkbox => fromEvent<MouseEvent>(checkbox.nativeElement, 'click'))).subscribe(\n                subscriber\n              )\n            )\n          );\n        })\n      )\n      .subscribe(event => {\n        event.stopPropagation();\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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  QueryList,\n  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  ViewChildren,\n  ViewEncapsulation\n} from '@angular/core';\nimport { Observable, of as observableOf, of, Subject } from 'rxjs';\nimport { distinctUntilChanged, map, takeUntil, withLatestFrom } from 'rxjs/operators';\n\nimport { NzFormNoStatusService, NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport {\n  BooleanInput,\n  NgClassInterface,\n  NgStyleInterface,\n  NzSafeAny,\n  NzStatus,\n  NzValidateStatus\n} from 'ng-zorro-antd/core/types';\nimport { getStatusClassNames, InputBoolean, toArray } from 'ng-zorro-antd/core/util';\nimport { NzI18nService, NzTransferI18nInterface } from 'ng-zorro-antd/i18n';\n\nimport {\n  TransferCanMove,\n  TransferChange,\n  TransferDirection,\n  TransferItem,\n  TransferSearchChange,\n  TransferSelectChange\n} from './interface';\nimport { NzTransferListComponent } from './transfer-list.component';\n\n@Component({\n  selector: 'nz-transfer',\n  exportAs: 'nzTransfer',\n  preserveWhitespaces: false,\n  template: `\n    <nz-transfer-list\n      class=\"ant-transfer-list\"\n      [ngStyle]=\"nzListStyle\"\n      data-direction=\"left\"\n      direction=\"left\"\n      [titleText]=\"nzTitles[0]\"\n      [showSelectAll]=\"nzShowSelectAll\"\n      [dataSource]=\"leftDataSource\"\n      [filter]=\"leftFilter\"\n      [filterOption]=\"nzFilterOption\"\n      (filterChange)=\"handleFilterChange($event)\"\n      [renderList]=\"nzRenderList && nzRenderList[0]\"\n      [render]=\"nzRender\"\n      [disabled]=\"nzDisabled\"\n      [showSearch]=\"nzShowSearch\"\n      [searchPlaceholder]=\"nzSearchPlaceholder || locale?.searchPlaceholder\"\n      [notFoundContent]=\"nzNotFoundContent\"\n      [itemUnit]=\"nzItemUnit || locale?.itemUnit\"\n      [itemsUnit]=\"nzItemsUnit || locale?.itemsUnit\"\n      [footer]=\"nzFooter\"\n      (handleSelect)=\"handleLeftSelect($event)\"\n      (handleSelectAll)=\"handleLeftSelectAll($event)\"\n    ></nz-transfer-list>\n    <div *ngIf=\"dir !== 'rtl'\" class=\"ant-transfer-operation\">\n      <button\n        nz-button\n        type=\"button\"\n        (click)=\"moveToLeft()\"\n        [disabled]=\"nzDisabled || !leftActive\"\n        [nzType]=\"'primary'\"\n        [nzSize]=\"'small'\"\n      >\n        <span nz-icon nzType=\"left\"></span>\n        <span *ngIf=\"nzOperations[1]\">{{ nzOperations[1] }}</span>\n      </button>\n      <button\n        nz-button\n        type=\"button\"\n        (click)=\"moveToRight()\"\n        [disabled]=\"nzDisabled || !rightActive\"\n        [nzType]=\"'primary'\"\n        [nzSize]=\"'small'\"\n      >\n        <span nz-icon nzType=\"right\"></span>\n        <span *ngIf=\"nzOperations[0]\">{{ nzOperations[0] }}</span>\n      </button>\n    </div>\n    <div *ngIf=\"dir === 'rtl'\" class=\"ant-transfer-operation\">\n      <button\n        nz-button\n        type=\"button\"\n        (click)=\"moveToRight()\"\n        [disabled]=\"nzDisabled || !rightActive\"\n        [nzType]=\"'primary'\"\n        [nzSize]=\"'small'\"\n      >\n        <span nz-icon nzType=\"left\"></span>\n        <span *ngIf=\"nzOperations[0]\">{{ nzOperations[0] }}</span>\n      </button>\n      <button\n        nz-button\n        type=\"button\"\n        (click)=\"moveToLeft()\"\n        [disabled]=\"nzDisabled || !leftActive\"\n        [nzType]=\"'primary'\"\n        [nzSize]=\"'small'\"\n      >\n        <span nz-icon nzType=\"right\"></span>\n        <span *ngIf=\"nzOperations[1]\">{{ nzOperations[1] }}</span>\n      </button>\n    </div>\n    <nz-transfer-list\n      class=\"ant-transfer-list\"\n      [ngStyle]=\"nzListStyle\"\n      data-direction=\"right\"\n      direction=\"right\"\n      [titleText]=\"nzTitles[1]\"\n      [showSelectAll]=\"nzShowSelectAll\"\n      [dataSource]=\"rightDataSource\"\n      [filter]=\"rightFilter\"\n      [filterOption]=\"nzFilterOption\"\n      (filterChange)=\"handleFilterChange($event)\"\n      [renderList]=\"nzRenderList && nzRenderList[1]\"\n      [render]=\"nzRender\"\n      [disabled]=\"nzDisabled\"\n      [showSearch]=\"nzShowSearch\"\n      [searchPlaceholder]=\"nzSearchPlaceholder || locale?.searchPlaceholder\"\n      [notFoundContent]=\"nzNotFoundContent\"\n      [itemUnit]=\"nzItemUnit || locale?.itemUnit\"\n      [itemsUnit]=\"nzItemsUnit || locale?.itemsUnit\"\n      [footer]=\"nzFooter\"\n      (handleSelect)=\"handleRightSelect($event)\"\n      (handleSelectAll)=\"handleRightSelectAll($event)\"\n    ></nz-transfer-list>\n  `,\n  host: {\n    class: 'ant-transfer',\n    '[class.ant-transfer-rtl]': `dir === 'rtl'`,\n    '[class.ant-transfer-disabled]': `nzDisabled`,\n    '[class.ant-transfer-customize-list]': `nzRenderList`\n  },\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NzTransferComponent implements OnInit, OnChanges, OnDestroy {\n  static ngAcceptInputType_nzDisabled: BooleanInput;\n  static ngAcceptInputType_nzShowSelectAll: BooleanInput;\n  static ngAcceptInputType_nzShowSearch: BooleanInput;\n\n  private unsubscribe$ = new Subject<void>();\n\n  @ViewChildren(NzTransferListComponent) lists!: QueryList<NzTransferListComponent>;\n  locale!: NzTransferI18nInterface;\n\n  leftFilter = '';\n  rightFilter = '';\n  dir: Direction = 'ltr';\n\n  // status\n  prefixCls: string = 'ant-transfer';\n  statusCls: NgClassInterface = {};\n  hasFeedback: boolean = false;\n\n  // #region fields\n\n  @Input() @InputBoolean() nzDisabled = false;\n  @Input() nzDataSource: TransferItem[] = [];\n  @Input() nzTitles: string[] = ['', ''];\n  @Input() nzOperations: string[] = [];\n  @Input() nzListStyle: NgStyleInterface = {};\n  @Input() @InputBoolean() nzShowSelectAll = true;\n  @Input() nzItemUnit?: string;\n  @Input() nzItemsUnit?: string;\n  @Input() nzCanMove: (arg: TransferCanMove) => Observable<TransferItem[]> = (arg: TransferCanMove) => of(arg.list);\n  @Input() nzRenderList: Array<TemplateRef<NzSafeAny> | null> | null = null;\n  @Input() nzRender: TemplateRef<NzSafeAny> | null = null;\n  @Input() nzFooter: TemplateRef<NzSafeAny> | null = null;\n  @Input() @InputBoolean() nzShowSearch = false;\n  @Input() nzFilterOption?: (inputValue: string, item: TransferItem) => boolean;\n  @Input() nzSearchPlaceholder?: string;\n  @Input() nzNotFoundContent?: string;\n  @Input() nzTargetKeys: string[] = [];\n  @Input() nzSelectedKeys: string[] = [];\n  @Input() nzStatus: NzStatus = '';\n\n  // events\n  @Output() readonly nzChange = new EventEmitter<TransferChange>();\n  @Output() readonly nzSearchChange = new EventEmitter<TransferSearchChange>();\n  @Output() readonly nzSelectChange = new EventEmitter<TransferSelectChange>();\n\n  // #endregion\n\n  // #region process data\n\n  // left\n  leftDataSource: TransferItem[] = [];\n\n  // right\n  rightDataSource: TransferItem[] = [];\n\n  private splitDataSource(): void {\n    this.leftDataSource = [];\n    this.rightDataSource = [];\n    this.nzDataSource.forEach(record => {\n      if (record.direction === 'right') {\n        record.direction = 'right';\n        this.rightDataSource.push(record);\n      } else {\n        record.direction = 'left';\n        this.leftDataSource.push(record);\n      }\n    });\n  }\n\n  private getCheckedData(direction: TransferDirection): TransferItem[] {\n    return this[direction === 'left' ? 'leftDataSource' : 'rightDataSource'].filter(w => w.checked);\n  }\n\n  handleLeftSelectAll = (checked: boolean): void => this.handleSelect('left', checked);\n  handleRightSelectAll = (checked: boolean): void => this.handleSelect('right', checked);\n\n  handleLeftSelect = (item: TransferItem): void => this.handleSelect('left', !!item.checked, item);\n  handleRightSelect = (item: TransferItem): void => this.handleSelect('right', !!item.checked, item);\n\n  handleSelect(direction: TransferDirection, checked: boolean, item?: TransferItem): void {\n    const list = this.getCheckedData(direction);\n    this.updateOperationStatus(direction, list.length);\n    this.nzSelectChange.emit({ direction, checked, list, item });\n  }\n\n  handleFilterChange(ret: { direction: TransferDirection; value: string }): void {\n    this.nzSearchChange.emit(ret);\n  }\n\n  // #endregion\n\n  // #region operation\n\n  leftActive = false;\n  rightActive = false;\n\n  private updateOperationStatus(direction: TransferDirection, count?: number): void {\n    this[direction === 'right' ? 'leftActive' : 'rightActive'] =\n      (typeof count === 'undefined' ? this.getCheckedData(direction).filter(w => !w.disabled).length : count) > 0;\n  }\n\n  moveToLeft = (): void => this.moveTo('left');\n  moveToRight = (): void => this.moveTo('right');\n\n  moveTo(direction: TransferDirection): void {\n    const oppositeDirection = direction === 'left' ? 'right' : 'left';\n    this.updateOperationStatus(oppositeDirection, 0);\n    const datasource = direction === 'left' ? this.rightDataSource : this.leftDataSource;\n    const moveList = datasource.filter(item => item.checked === true && !item.disabled);\n    this.nzCanMove({ direction, list: moveList }).subscribe(\n      newMoveList =>\n        this.truthMoveTo(\n          direction,\n          newMoveList.filter(i => !!i)\n        ),\n      () => moveList.forEach(i => (i.checked = false))\n    );\n  }\n\n  private truthMoveTo(direction: TransferDirection, list: TransferItem[]): void {\n    const oppositeDirection = direction === 'left' ? 'right' : 'left';\n    const datasource = direction === 'left' ? this.rightDataSource : this.leftDataSource;\n    const targetDatasource = direction === 'left' ? this.leftDataSource : this.rightDataSource;\n    for (const item of list) {\n      item.checked = false;\n      item.hide = false;\n      item.direction = direction;\n      datasource.splice(datasource.indexOf(item), 1);\n    }\n    targetDatasource.splice(0, 0, ...list);\n    this.updateOperationStatus(oppositeDirection);\n    this.nzChange.emit({\n      from: oppositeDirection,\n      to: direction,\n      list\n    });\n    this.markForCheckAllList();\n  }\n\n  // #endregion\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private i18n: NzI18nService,\n    private elementRef: ElementRef<HTMLElement>,\n    private renderer: Renderer2,\n    @Optional() private directionality: Directionality,\n    @Optional() private nzFormStatusService?: NzFormStatusService,\n    @Optional() private nzFormNoStatusService?: NzFormNoStatusService\n  ) {}\n\n  private markForCheckAllList(): void {\n    if (!this.lists) {\n      return;\n    }\n    this.lists.forEach(i => i.markForCheck());\n  }\n\n  private handleNzTargetKeys(): void {\n    const keys = toArray(this.nzTargetKeys);\n    const hasOwnKey = (e: TransferItem): boolean => e.hasOwnProperty('key');\n    this.leftDataSource.forEach(e => {\n      if (hasOwnKey(e) && keys.indexOf(e.key) !== -1 && !e.disabled) {\n        e.checked = true;\n      }\n    });\n    this.moveToRight();\n  }\n\n  private handleNzSelectedKeys(): void {\n    const keys = toArray(this.nzSelectedKeys);\n    this.nzDataSource.forEach(e => {\n      if (keys.indexOf(e.key) !== -1) {\n        e.checked = true;\n      }\n    });\n    const term = (ld: TransferItem): boolean => ld.disabled === false && ld.checked === true;\n    this.rightActive = this.leftDataSource.some(term);\n    this.leftActive = this.rightDataSource.some(term);\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.unsubscribe$)\n      )\n      .subscribe(({ status, hasFeedback }) => {\n        this.setStatusStyles(status, hasFeedback);\n      });\n\n    this.i18n.localeChange.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {\n      this.locale = this.i18n.getLocaleData('Transfer');\n      this.markForCheckAllList();\n    });\n\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.unsubscribe$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { nzStatus, nzDataSource, nzTargetKeys, nzSelectedKeys } = changes;\n    if (nzDataSource) {\n      this.splitDataSource();\n      this.updateOperationStatus('left');\n      this.updateOperationStatus('right');\n      this.cdr.detectChanges();\n      this.markForCheckAllList();\n    }\n    if (nzTargetKeys) {\n      this.handleNzTargetKeys();\n    }\n    if (nzSelectedKeys) {\n      this.handleNzSelectedKeys();\n    }\n    if (nzStatus) {\n      this.setStatusStyles(this.nzStatus, this.hasFeedback);\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.unsubscribe$.next();\n    this.unsubscribe$.complete();\n  }\n\n  private setStatusStyles(status: NzValidateStatus, hasFeedback: boolean): void {\n    // set inner 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.elementRef.nativeElement, status);\n      } else {\n        this.renderer.removeClass(this.elementRef.nativeElement, status);\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 { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { NzTransferListComponent } from './transfer-list.component';\nimport { NzTransferSearchComponent } from './transfer-search.component';\nimport { NzTransferComponent } from './transfer.component';\n\n@NgModule({\n  imports: [\n    BidiModule,\n    CommonModule,\n    FormsModule,\n    NzCheckboxModule,\n    NzButtonModule,\n    NzInputModule,\n    NzI18nModule,\n    NzIconModule,\n    NzEmptyModule\n  ],\n  declarations: [NzTransferComponent, NzTransferListComponent, NzTransferSearchComponent],\n  exports: [NzTransferComponent]\n})\nexport class NzTransferModule {}\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 './interface';\nexport { NzTransferListComponent } from './transfer-list.component';\nexport { NzTransferSearchComponent } from './transfer-search.component';\nexport { NzTransferComponent } from './transfer.component';\nexport { NzTransferModule } from './transfer.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i4.NzTransferSearchComponent","observableOf","i1","i4","i6","i8","i9.NzTransferListComponent"],"mappings":"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"}