\n @if (showSearch) {\n
\n \n
\n }\n @if (renderList) {\n
\n \n
\n } @else {\n @if (stat.shownCount > 0) {\n
\n @for (item of validData; track item.key) {\n - \n @if (!oneWay) {\n \n } @else {\n @if (!render) {\n \n {{ item.title }}\n \n
\n \n
\n } @else {\n \n }\n }\n \n }\n
\n } @else {\n
\n \n
\n }\n }\n
\n @if (footer) {\n \n }\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 imports: [NzCheckboxModule, NgTemplateOutlet, NzEmptyModule, NzTransferSearchComponent, NzIconModule, NzButtonModule]\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() oneWay: boolean = false;\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n @Input({ transform: booleanAttribute }) showSearch?: boolean;\n @Input() searchPlaceholder?: string;\n @Input() notFoundContent?: string;\n @Input() filterOption?: (inputValue: string, item: TransferItem) => boolean;\n\n @Input() renderList: TemplateRef