UNPKG

ng-zorro-antd

Version:

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

1,135 lines 97 kB
/** * @fileoverview added by tsickle * Generated from: select.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __decorate, __metadata, __read, __spread } from "tslib"; /** * @license * Copyright Alibaba.com All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { FocusMonitor } from '@angular/cdk/a11y'; import { DOWN_ARROW, ENTER, SPACE, TAB, UP_ARROW } from '@angular/cdk/keycodes'; import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay'; import { Platform } from '@angular/cdk/platform'; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Host, Input, Optional, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { slideMotion } from 'ng-zorro-antd/core/animation'; import { NzConfigService, WithConfig } from 'ng-zorro-antd/core/config'; import { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation'; import { InputBoolean } from 'ng-zorro-antd/core/util'; import { BehaviorSubject, combineLatest, merge, Subject } from 'rxjs'; import { startWith, switchMap, takeUntil } from 'rxjs/operators'; import { NzOptionGroupComponent } from './option-group.component'; import { NzOptionComponent } from './option.component'; import { NzSelectTopControlComponent } from './select-top-control.component'; /** @type {?} */ var defaultFilterOption = (/** * @param {?} searchValue * @param {?} item * @return {?} */ function (searchValue, item) { if (item && item.nzLabel) { return item.nzLabel.toLowerCase().indexOf(searchValue.toLowerCase()) > -1; } else { return false; } }); var ɵ0 = defaultFilterOption; /** @type {?} */ var NZ_CONFIG_COMPONENT_NAME = 'select'; var NzSelectComponent = /** @class */ (function () { function NzSelectComponent(nzConfigService, cdr, elementRef, platform, focusMonitor, noAnimation) { this.nzConfigService = nzConfigService; this.cdr = cdr; this.elementRef = elementRef; this.platform = platform; this.focusMonitor = focusMonitor; this.noAnimation = noAnimation; this.nzSize = 'default'; this.nzOptionHeightPx = 32; this.nzOptionOverflowSize = 8; this.nzDropdownClassName = null; this.nzDropdownMatchSelectWidth = true; this.nzDropdownStyle = null; this.nzNotFoundContent = undefined; this.nzPlaceHolder = null; this.nzMaxTagCount = Infinity; this.nzDropdownRender = null; this.nzCustomTemplate = null; this.nzSuffixIcon = null; this.nzClearIcon = null; this.nzRemoveIcon = null; this.nzMenuItemSelectedIcon = null; this.nzShowArrow = true; this.nzTokenSeparators = []; this.nzMaxTagPlaceholder = null; this.nzMaxMultipleCount = Infinity; this.nzMode = 'default'; this.nzFilterOption = defaultFilterOption; this.compareWith = (/** * @param {?} o1 * @param {?} o2 * @return {?} */ function (o1, o2) { return o1 === o2; }); this.nzAllowClear = false; this.nzBorderless = false; this.nzShowSearch = false; this.nzLoading = false; this.nzAutoFocus = false; this.nzAutoClearSearchValue = true; this.nzServerSearch = false; this.nzDisabled = false; this.nzOpen = false; this.nzOptions = []; this.nzOnSearch = new EventEmitter(); this.nzScrollToBottom = new EventEmitter(); this.nzOpenChange = new EventEmitter(); this.nzBlur = new EventEmitter(); this.nzFocus = new EventEmitter(); this.listOfValue$ = new BehaviorSubject([]); this.listOfTemplateItem$ = new BehaviorSubject([]); this.listOfTagAndTemplateItem = []; this.searchValue = ''; this.isReactiveDriven = false; this.destroy$ = new Subject(); this.onChange = (/** * @return {?} */ function () { }); this.onTouched = (/** * @return {?} */ function () { }); this.dropDownPosition = 'bottom'; this.triggerWidth = null; this.listOfContainerItem = []; this.listOfTopItem = []; this.activatedValue = null; this.listOfValue = []; } /** * @param {?} value * @return {?} */ NzSelectComponent.prototype.generateTagItem = /** * @param {?} value * @return {?} */ function (value) { return { nzValue: value, nzLabel: value, type: 'item' }; }; /** * @param {?} value * @return {?} */ NzSelectComponent.prototype.onItemClick = /** * @param {?} value * @return {?} */ function (value) { var _this = this; this.activatedValue = value; if (this.nzMode === 'default') { if (this.listOfValue.length === 0 || !this.compareWith(this.listOfValue[0], value)) { this.updateListOfValue([value]); } this.setOpenState(false); } else { /** @type {?} */ var targetIndex_1 = this.listOfValue.findIndex((/** * @param {?} o * @return {?} */ function (o) { return _this.compareWith(o, value); })); if (targetIndex_1 !== -1) { /** @type {?} */ var listOfValueAfterRemoved = this.listOfValue.filter((/** * @param {?} _ * @param {?} i * @return {?} */ function (_, i) { return i !== targetIndex_1; })); this.updateListOfValue(listOfValueAfterRemoved); } else if (this.listOfValue.length < this.nzMaxMultipleCount) { /** @type {?} */ var listOfValueAfterAdded = __spread(this.listOfValue, [value]); this.updateListOfValue(listOfValueAfterAdded); } this.focus(); if (this.nzAutoClearSearchValue) { this.clearInput(); } } }; /** * @param {?} item * @return {?} */ NzSelectComponent.prototype.onItemDelete = /** * @param {?} item * @return {?} */ function (item) { var _this = this; /** @type {?} */ var listOfSelectedValue = this.listOfValue.filter((/** * @param {?} v * @return {?} */ function (v) { return !_this.compareWith(v, item.nzValue); })); this.updateListOfValue(listOfSelectedValue); this.clearInput(); }; /** * @return {?} */ NzSelectComponent.prototype.updateListOfContainerItem = /** * @return {?} */ function () { var _this = this; /** @type {?} */ var listOfContainerItem = this.listOfTagAndTemplateItem .filter((/** * @param {?} item * @return {?} */ function (item) { return !item.nzHide; })) .filter((/** * @param {?} item * @return {?} */ function (item) { if (!_this.nzServerSearch && _this.searchValue) { return _this.nzFilterOption(_this.searchValue, item); } else { return true; } })); if (this.nzMode === 'tags' && this.searchValue && this.listOfTagAndTemplateItem.findIndex((/** * @param {?} item * @return {?} */ function (item) { return item.nzLabel === _this.searchValue; })) === -1) { /** @type {?} */ var tagItem = this.generateTagItem(this.searchValue); listOfContainerItem = __spread([tagItem], listOfContainerItem); this.activatedValue = tagItem.nzValue; } if (this.listOfValue.length !== 0 && listOfContainerItem.findIndex((/** * @param {?} item * @return {?} */ function (item) { return _this.compareWith(item.nzValue, _this.activatedValue); })) === -1) { /** @type {?} */ var activatedItem = listOfContainerItem.find((/** * @param {?} item * @return {?} */ function (item) { return _this.compareWith(item.nzValue, _this.listOfValue[0]); })) || listOfContainerItem[0]; this.activatedValue = (activatedItem && activatedItem.nzValue) || null; } /** @type {?} */ var listOfGroupLabel = []; if (this.isReactiveDriven) { listOfGroupLabel = __spread(new Set(this.nzOptions.filter((/** * @param {?} o * @return {?} */ function (o) { return o.groupLabel; })).map((/** * @param {?} o * @return {?} */ function (o) { return (/** @type {?} */ (o.groupLabel)); })))); } else { if (this.listOfNzOptionGroupComponent) { listOfGroupLabel = this.listOfNzOptionGroupComponent.map((/** * @param {?} o * @return {?} */ function (o) { return o.nzLabel; })); } } /** insert group item **/ listOfGroupLabel.forEach((/** * @param {?} label * @return {?} */ function (label) { /** @type {?} */ var index = listOfContainerItem.findIndex((/** * @param {?} item * @return {?} */ function (item) { return label === item.groupLabel; })); /** @type {?} */ var groupItem = (/** @type {?} */ ({ groupLabel: label, type: 'group', key: label })); listOfContainerItem.splice(index, 0, groupItem); })); this.listOfContainerItem = __spread(listOfContainerItem); this.updateCdkConnectedOverlayPositions(); }; /** * @return {?} */ NzSelectComponent.prototype.clearInput = /** * @return {?} */ function () { this.nzSelectTopControlComponent.clearInputValue(); }; /** * @param {?} listOfValue * @return {?} */ NzSelectComponent.prototype.updateListOfValue = /** * @param {?} listOfValue * @return {?} */ function (listOfValue) { /** @type {?} */ var covertListToModel = (/** * @param {?} list * @param {?} mode * @return {?} */ function (list, mode) { if (mode === 'default') { if (list.length > 0) { return list[0]; } else { return null; } } else { return list; } }); /** @type {?} */ var model = covertListToModel(listOfValue, this.nzMode); if (this.value !== model) { this.listOfValue = listOfValue; this.listOfValue$.next(listOfValue); this.value = model; this.onChange(this.value); } }; /** * @param {?} listOfLabel * @return {?} */ NzSelectComponent.prototype.onTokenSeparate = /** * @param {?} listOfLabel * @return {?} */ function (listOfLabel) { var _this = this; /** @type {?} */ var listOfMatchedValue = this.listOfTagAndTemplateItem .filter((/** * @param {?} item * @return {?} */ function (item) { return listOfLabel.findIndex((/** * @param {?} label * @return {?} */ function (label) { return label === item.nzLabel; })) !== -1; })) .map((/** * @param {?} item * @return {?} */ function (item) { return item.nzValue; })) .filter((/** * @param {?} item * @return {?} */ function (item) { return _this.listOfValue.findIndex((/** * @param {?} v * @return {?} */ function (v) { return _this.compareWith(v, item); })) === -1; })); if (this.nzMode === 'multiple') { this.updateListOfValue(__spread(this.listOfValue, listOfMatchedValue)); } else if (this.nzMode === 'tags') { /** @type {?} */ var listOfUnMatchedLabel = listOfLabel.filter((/** * @param {?} label * @return {?} */ function (label) { return _this.listOfTagAndTemplateItem.findIndex((/** * @param {?} item * @return {?} */ function (item) { return item.nzLabel === label; })) === -1; })); this.updateListOfValue(__spread(this.listOfValue, listOfMatchedValue, listOfUnMatchedLabel)); } this.clearInput(); }; /** * @param {?} e * @return {?} */ NzSelectComponent.prototype.onKeyDown = /** * @param {?} e * @return {?} */ function (e) { var _this = this; if (this.nzDisabled) { return; } /** @type {?} */ var listOfFilteredOptionNotDisabled = this.listOfContainerItem.filter((/** * @param {?} item * @return {?} */ function (item) { return item.type === 'item'; })).filter((/** * @param {?} item * @return {?} */ function (item) { return !item.nzDisabled; })); /** @type {?} */ var activatedIndex = listOfFilteredOptionNotDisabled.findIndex((/** * @param {?} item * @return {?} */ function (item) { return _this.compareWith(item.nzValue, _this.activatedValue); })); switch (e.keyCode) { case UP_ARROW: e.preventDefault(); if (this.nzOpen) { /** @type {?} */ var preIndex = activatedIndex > 0 ? activatedIndex - 1 : listOfFilteredOptionNotDisabled.length - 1; this.activatedValue = listOfFilteredOptionNotDisabled[preIndex].nzValue; } break; case DOWN_ARROW: e.preventDefault(); if (this.nzOpen) { /** @type {?} */ var nextIndex = activatedIndex < listOfFilteredOptionNotDisabled.length - 1 ? activatedIndex + 1 : 0; this.activatedValue = listOfFilteredOptionNotDisabled[nextIndex].nzValue; } else { this.setOpenState(true); } break; case ENTER: e.preventDefault(); if (this.nzOpen) { if (this.activatedValue) { this.onItemClick(this.activatedValue); } } else { this.setOpenState(true); } break; case SPACE: if (!this.nzOpen) { this.setOpenState(true); e.preventDefault(); } break; case TAB: this.setOpenState(false); break; } }; /** * @param {?} value * @return {?} */ NzSelectComponent.prototype.setOpenState = /** * @param {?} value * @return {?} */ function (value) { if (this.nzOpen !== value) { this.nzOpen = value; this.nzOpenChange.emit(value); this.onOpenChange(); this.cdr.markForCheck(); } }; /** * @return {?} */ NzSelectComponent.prototype.onOpenChange = /** * @return {?} */ function () { this.updateCdkConnectedOverlayStatus(); this.clearInput(); }; /** * @param {?} value * @return {?} */ NzSelectComponent.prototype.onInputValueChange = /** * @param {?} value * @return {?} */ function (value) { this.searchValue = value; this.updateListOfContainerItem(); this.nzOnSearch.emit(value); this.updateCdkConnectedOverlayPositions(); }; /** * @return {?} */ NzSelectComponent.prototype.onClearSelection = /** * @return {?} */ function () { this.updateListOfValue([]); }; /** * @return {?} */ NzSelectComponent.prototype.focus = /** * @return {?} */ function () { this.nzSelectTopControlComponent.focus(); }; /** * @return {?} */ NzSelectComponent.prototype.blur = /** * @return {?} */ function () { this.nzSelectTopControlComponent.blur(); }; /** * @param {?} position * @return {?} */ NzSelectComponent.prototype.onPositionChange = /** * @param {?} position * @return {?} */ function (position) { this.dropDownPosition = position.connectionPair.originY; }; /** * @return {?} */ NzSelectComponent.prototype.updateCdkConnectedOverlayStatus = /** * @return {?} */ function () { if (this.platform.isBrowser && this.originElement.nativeElement) { this.triggerWidth = this.originElement.nativeElement.getBoundingClientRect().width; } }; /** * @return {?} */ NzSelectComponent.prototype.updateCdkConnectedOverlayPositions = /** * @return {?} */ function () { if (this.cdkConnectedOverlay.overlayRef) { this.cdkConnectedOverlay.overlayRef.updatePosition(); } }; /** * @param {?} modelValue * @return {?} */ NzSelectComponent.prototype.writeValue = /** * @param {?} modelValue * @return {?} */ function (modelValue) { /** https://github.com/angular/angular/issues/14988 **/ if (this.value !== modelValue) { this.value = modelValue; /** @type {?} */ var covertModelToList = (/** * @param {?} model * @param {?} mode * @return {?} */ function (model, mode) { if (model === null || model === undefined) { return []; } else if (mode === 'default') { return [model]; } else { return model; } }); /** @type {?} */ var listOfValue = covertModelToList(modelValue, this.nzMode); this.listOfValue = listOfValue; this.listOfValue$.next(listOfValue); this.cdr.markForCheck(); } }; /** * @param {?} fn * @return {?} */ NzSelectComponent.prototype.registerOnChange = /** * @param {?} fn * @return {?} */ function (fn) { this.onChange = fn; }; /** * @param {?} fn * @return {?} */ NzSelectComponent.prototype.registerOnTouched = /** * @param {?} fn * @return {?} */ function (fn) { this.onTouched = fn; }; /** * @param {?} disabled * @return {?} */ NzSelectComponent.prototype.setDisabledState = /** * @param {?} disabled * @return {?} */ function (disabled) { this.nzDisabled = disabled; if (disabled) { this.setOpenState(false); } this.cdr.markForCheck(); }; /** * @param {?} changes * @return {?} */ NzSelectComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { var nzOpen = changes.nzOpen, nzDisabled = changes.nzDisabled, nzOptions = changes.nzOptions; if (nzOpen) { this.onOpenChange(); } if (nzDisabled && this.nzDisabled) { this.setOpenState(false); } if (nzOptions) { this.isReactiveDriven = true; /** @type {?} */ var listOfOptions = this.nzOptions || []; /** @type {?} */ var listOfTransformedItem = listOfOptions.map((/** * @param {?} item * @return {?} */ function (item) { return { template: item.label instanceof TemplateRef ? item.label : null, nzLabel: typeof item.label === 'string' ? item.label : null, nzValue: item.value, nzDisabled: item.disabled || false, nzHide: item.hide || false, nzCustomContent: item.label instanceof TemplateRef, groupLabel: item.groupLabel || null, type: 'item', key: item.value }; })); this.listOfTemplateItem$.next(listOfTransformedItem); } }; /** * @return {?} */ NzSelectComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.focusMonitor .monitor(this.elementRef, true) .pipe(takeUntil(this.destroy$)) .subscribe((/** * @param {?} focusOrigin * @return {?} */ function (focusOrigin) { if (!focusOrigin) { _this.nzBlur.emit(); Promise.resolve().then((/** * @return {?} */ function () { _this.onTouched(); })); } else { _this.nzFocus.emit(); } })); combineLatest([this.listOfValue$, this.listOfTemplateItem$]) .pipe(takeUntil(this.destroy$)) .subscribe((/** * @param {?} __0 * @return {?} */ function (_a) { var _b = __read(_a, 2), listOfSelectedValue = _b[0], listOfTemplateItem = _b[1]; /** @type {?} */ var listOfTagItem = listOfSelectedValue .filter((/** * @return {?} */ function () { return _this.nzMode === 'tags'; })) .filter((/** * @param {?} value * @return {?} */ function (value) { return listOfTemplateItem.findIndex((/** * @param {?} o * @return {?} */ function (o) { return _this.compareWith(o.nzValue, value); })) === -1; })) .map((/** * @param {?} value * @return {?} */ function (value) { return _this.listOfTopItem.find((/** * @param {?} o * @return {?} */ function (o) { return _this.compareWith(o.nzValue, value); })) || _this.generateTagItem(value); })); _this.listOfTagAndTemplateItem = __spread(listOfTemplateItem, listOfTagItem); _this.listOfTopItem = _this.listOfValue .map((/** * @param {?} v * @return {?} */ function (v) { return (/** @type {?} */ (__spread(_this.listOfTagAndTemplateItem, _this.listOfTopItem).find((/** * @param {?} item * @return {?} */ function (item) { return _this.compareWith(v, item.nzValue); })))); })) .filter((/** * @param {?} item * @return {?} */ function (item) { return !!item; })); _this.updateListOfContainerItem(); })); }; /** * @return {?} */ NzSelectComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { this.updateCdkConnectedOverlayStatus(); }; /** * @return {?} */ NzSelectComponent.prototype.ngAfterContentInit = /** * @return {?} */ function () { var _this = this; if (!this.isReactiveDriven) { merge(this.listOfNzOptionGroupComponent.changes, this.listOfNzOptionComponent.changes) .pipe(startWith(true), switchMap((/** * @return {?} */ function () { return merge.apply(void 0, __spread([ _this.listOfNzOptionComponent.changes, _this.listOfNzOptionGroupComponent.changes ], _this.listOfNzOptionComponent.map((/** * @param {?} option * @return {?} */ function (option) { return option.changes; })), _this.listOfNzOptionGroupComponent.map((/** * @param {?} option * @return {?} */ function (option) { return option.changes; })))).pipe(startWith(true)); })), takeUntil(this.destroy$)) .subscribe((/** * @return {?} */ function () { /** @type {?} */ var listOfOptionInterface = _this.listOfNzOptionComponent.toArray().map((/** * @param {?} item * @return {?} */ function (item) { var template = item.template, nzLabel = item.nzLabel, nzValue = item.nzValue, nzDisabled = item.nzDisabled, nzHide = item.nzHide, nzCustomContent = item.nzCustomContent, groupLabel = item.groupLabel; return { template: template, nzLabel: nzLabel, nzValue: nzValue, nzDisabled: nzDisabled, nzHide: nzHide, nzCustomContent: nzCustomContent, groupLabel: groupLabel, type: 'item', key: nzValue }; })); _this.listOfTemplateItem$.next(listOfOptionInterface); _this.cdr.markForCheck(); })); } }; /** * @return {?} */ NzSelectComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { this.destroy$.next(); this.destroy$.complete(); }; NzSelectComponent.decorators = [ { type: Component, args: [{ selector: 'nz-select', exportAs: 'nzSelect', preserveWhitespaces: false, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((/** * @return {?} */ function () { return NzSelectComponent; })), multi: true } ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [slideMotion], template: "\n <nz-select-top-control\n cdkOverlayOrigin\n #origin=\"cdkOverlayOrigin\"\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 (animationEnd)=\"updateCdkConnectedOverlayPositions()\"\n (deleteItem)=\"onItemDelete($event)\"\n (keydown)=\"onKeyDown($event)\"\n (openChange)=\"setOpenState($event)\"\n ></nz-select-top-control>\n <nz-select-clear\n *ngIf=\"nzAllowClear && !nzDisabled && listOfValue.length\"\n [clearIcon]=\"nzClearIcon\"\n (clear)=\"onClearSelection()\"\n ></nz-select-clear>\n <nz-select-arrow\n *ngIf=\"nzShowArrow && nzMode === 'default'\"\n [loading]=\"nzLoading\"\n [search]=\"nzOpen && nzShowSearch\"\n [suffixIcon]=\"nzSuffixIcon\"\n ></nz-select-arrow>\n <ng-template\n cdkConnectedOverlay\n nzConnectedOverlay\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayMinWidth]=\"$any(nzDropdownMatchSelectWidth ? null : triggerWidth)\"\n [cdkConnectedOverlayWidth]=\"$any(nzDropdownMatchSelectWidth ? triggerWidth : null)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayPanelClass]=\"nzDropdownClassName!\"\n (backdropClick)=\"setOpenState(false)\"\n (detach)=\"setOpenState(false)\"\n (positionChange)=\"onPositionChange($event)\"\n [cdkConnectedOverlayOpen]=\"nzOpen\"\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 === 'bottom'\"\n [class.ant-select-dropdown-placement-topLeft]=\"dropDownPosition === 'top'\"\n [@slideMotion]=\"dropDownPosition\"\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 (keydown)=\"onKeyDown($event)\"\n (itemClick)=\"onItemClick($event)\"\n (scrollToBottom)=\"nzScrollToBottom.emit()\"\n ></nz-option-container>\n </ng-template>\n ", host: { '[class.ant-select]': 'true', '[class.ant-select-lg]': 'nzSize === "large"', '[class.ant-select-sm]': 'nzSize === "small"', '[class.ant-select-show-arrow]': "nzShowArrow && nzMode === 'default'", '[class.ant-select-disabled]': 'nzDisabled', '[class.ant-select-show-search]': "nzShowSearch || nzMode !== 'default'", '[class.ant-select-allow-clear]': 'nzAllowClear', '[class.ant-select-borderless]': 'nzBorderless', '[class.ant-select-open]': 'nzOpen', '[class.ant-select-focused]': 'nzOpen', '[class.ant-select-single]': "nzMode === 'default'", '[class.ant-select-multiple]': "nzMode !== 'default'" } }] } ]; /** @nocollapse */ NzSelectComponent.ctorParameters = function () { return [ { type: NzConfigService }, { type: ChangeDetectorRef }, { type: ElementRef }, { type: Platform }, { type: FocusMonitor }, { type: NzNoAnimationDirective, decorators: [{ type: Host }, { type: Optional }] } ]; }; NzSelectComponent.propDecorators = { nzSize: [{ type: Input }], nzOptionHeightPx: [{ type: Input }], nzOptionOverflowSize: [{ type: Input }], nzDropdownClassName: [{ type: Input }], nzDropdownMatchSelectWidth: [{ type: Input }], nzDropdownStyle: [{ type: Input }], nzNotFoundContent: [{ type: Input }], nzPlaceHolder: [{ type: Input }], nzMaxTagCount: [{ type: Input }], nzDropdownRender: [{ type: Input }], nzCustomTemplate: [{ type: Input }], nzSuffixIcon: [{ type: Input }], nzClearIcon: [{ type: Input }], nzRemoveIcon: [{ type: Input }], nzMenuItemSelectedIcon: [{ type: Input }], nzShowArrow: [{ type: Input }], nzTokenSeparators: [{ type: Input }], nzMaxTagPlaceholder: [{ type: Input }], nzMaxMultipleCount: [{ type: Input }], nzMode: [{ type: Input }], nzFilterOption: [{ type: Input }], compareWith: [{ type: Input }], nzAllowClear: [{ type: Input }], nzBorderless: [{ type: Input }], nzShowSearch: [{ type: Input }], nzLoading: [{ type: Input }], nzAutoFocus: [{ type: Input }], nzAutoClearSearchValue: [{ type: Input }], nzServerSearch: [{ type: Input }], nzDisabled: [{ type: Input }], nzOpen: [{ type: Input }], nzOptions: [{ type: Input }], nzOnSearch: [{ type: Output }], nzScrollToBottom: [{ type: Output }], nzOpenChange: [{ type: Output }], nzBlur: [{ type: Output }], nzFocus: [{ type: Output }], originElement: [{ type: ViewChild, args: [CdkOverlayOrigin, { static: true, read: ElementRef },] }], cdkConnectedOverlay: [{ type: ViewChild, args: [CdkConnectedOverlay, { static: true },] }], nzSelectTopControlComponent: [{ type: ViewChild, args: [NzSelectTopControlComponent, { static: true },] }], listOfNzOptionComponent: [{ type: ContentChildren, args: [NzOptionComponent, { descendants: true },] }], listOfNzOptionGroupComponent: [{ type: ContentChildren, args: [NzOptionGroupComponent, { descendants: true },] }], nzOptionGroupComponentElement: [{ type: ViewChild, args: [NzOptionGroupComponent, { static: true, read: ElementRef },] }], nzSelectTopControlComponentElement: [{ type: ViewChild, args: [NzSelectTopControlComponent, { static: true, read: ElementRef },] }] }; __decorate([ WithConfig(NZ_CONFIG_COMPONENT_NAME), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzSuffixIcon", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzAllowClear", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzBorderless", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzShowSearch", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzLoading", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzAutoFocus", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzAutoClearSearchValue", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzServerSearch", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzDisabled", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSelectComponent.prototype, "nzOpen", void 0); return NzSelectComponent; }()); export { NzSelectComponent }; if (false) { /** @type {?} */ NzSelectComponent.ngAcceptInputType_nzAllowClear; /** @type {?} */ NzSelectComponent.ngAcceptInputType_nzBorderless; /** @type {?} */ NzSelectComponent.ngAcceptInputType_nzShowSearch; /** @type {?} */ NzSelectComponent.ngAcceptInputType_nzLoading; /** @type {?} */ NzSelectComponent.ngAcceptInputType_nzAutoFocus; /** @type {?} */ NzSelectComponent.ngAcceptInputType_nzAutoClearSearchValue; /** @type {?} */ NzSelectComponent.ngAcceptInputType_nzServerSearch; /** @type {?} */ NzSelectComponent.ngAcceptInputType_nzDisabled; /** @type {?} */ NzSelectComponent.ngAcceptInputType_nzOpen; /** @type {?} */ NzSelectComponent.prototype.nzSize; /** @type {?} */ NzSelectComponent.prototype.nzOptionHeightPx; /** @type {?} */ NzSelectComponent.prototype.nzOptionOverflowSize; /** @type {?} */ NzSelectComponent.prototype.nzDropdownClassName; /** @type {?} */ NzSelectComponent.prototype.nzDropdownMatchSelectWidth; /** @type {?} */ NzSelectComponent.prototype.nzDropdownStyle; /** @type {?} */ NzSelectComponent.prototype.nzNotFoundContent; /** @type {?} */ NzSelectComponent.prototype.nzPlaceHolder; /** @type {?} */ NzSelectComponent.prototype.nzMaxTagCount; /** @type {?} */ NzSelectComponent.prototype.nzDropdownRender; /** @type {?} */ NzSelectComponent.prototype.nzCustomTemplate; /** @type {?} */ NzSelectComponent.prototype.nzSuffixIcon; /** @type {?} */ NzSelectComponent.prototype.nzClearIcon; /** @type {?} */ NzSelectComponent.prototype.nzRemoveIcon; /** @type {?} */ NzSelectComponent.prototype.nzMenuItemSelectedIcon; /** @type {?} */ NzSelectComponent.prototype.nzShowArrow; /** @type {?} */ NzSelectComponent.prototype.nzTokenSeparators; /** @type {?} */ NzSelectComponent.prototype.nzMaxTagPlaceholder; /** @type {?} */ NzSelectComponent.prototype.nzMaxMultipleCount; /** @type {?} */ NzSelectComponent.prototype.nzMode; /** @type {?} */ NzSelectComponent.prototype.nzFilterOption; /** @type {?} */ NzSelectComponent.prototype.compareWith; /** @type {?} */ NzSelectComponent.prototype.nzAllowClear; /** @type {?} */ NzSelectComponent.prototype.nzBorderless; /** @type {?} */ NzSelectComponent.prototype.nzShowSearch; /** @type {?} */ NzSelectComponent.prototype.nzLoading; /** @type {?} */ NzSelectComponent.prototype.nzAutoFocus; /** @type {?} */ NzSelectComponent.prototype.nzAutoClearSearchValue; /** @type {?} */ NzSelectComponent.prototype.nzServerSearch; /** @type {?} */ NzSelectComponent.prototype.nzDisabled; /** @type {?} */ NzSelectComponent.prototype.nzOpen; /** @type {?} */ NzSelectComponent.prototype.nzOptions; /** @type {?} */ NzSelectComponent.prototype.nzOnSearch; /** @type {?} */ NzSelectComponent.prototype.nzScrollToBottom; /** @type {?} */ NzSelectComponent.prototype.nzOpenChange; /** @type {?} */ NzSelectComponent.prototype.nzBlur; /** @type {?} */ NzSelectComponent.prototype.nzFocus; /** @type {?} */ NzSelectComponent.prototype.originElement; /** @type {?} */ NzSelectComponent.prototype.cdkConnectedOverlay; /** @type {?} */ NzSelectComponent.prototype.nzSelectTopControlComponent; /** @type {?} */ NzSelectComponent.prototype.listOfNzOptionComponent; /** @type {?} */ NzSelectComponent.prototype.listOfNzOptionGroupComponent; /** @type {?} */ NzSelectComponent.prototype.nzOptionGroupComponentElement; /** @type {?} */ NzSelectComponent.prototype.nzSelectTopControlComponentElement; /** * @type {?} * @private */ NzSelectComponent.prototype.listOfValue$; /** * @type {?} * @private */ NzSelectComponent.prototype.listOfTemplateItem$; /** * @type {?} * @private */ NzSelectComponent.prototype.listOfTagAndTemplateItem; /** * @type {?} * @private */ NzSelectComponent.prototype.searchValue; /** * @type {?} * @private */ NzSelectComponent.prototype.isReactiveDriven; /** * @type {?} * @private */ NzSelectComponent.prototype.value; /** * @type {?} * @private */ NzSelectComponent.prototype.destroy$; /** @type {?} */ NzSelectComponent.prototype.onChange; /** @type {?} */ NzSelectComponent.prototype.onTouched; /** @type {?} */ NzSelectComponent.prototype.dropDownPosition; /** @type {?} */ NzSelectComponent.prototype.triggerWidth; /** @type {?} */ NzSelectComponent.prototype.listOfContainerItem; /** @type {?} */ NzSelectComponent.prototype.listOfTopItem; /** @type {?} */ NzSelectComponent.prototype.activatedValue; /** @type {?} */ NzSelectComponent.prototype.listOfValue; /** @type {?} */ NzSelectComponent.prototype.nzConfigService; /** * @type {?} * @private */ NzSelectComponent.prototype.cdr; /** * @type {?} * @private */ NzSelectComponent.prototype.elementRef; /** * @type {?} * @private */ NzSelectComponent.prototype.platform; /** * @type {?} * @private */ NzSelectComponent.prototype.focusMonitor; /** @type {?} */ NzSelectComponent.prototype.noAnimation; } export { ɵ0 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQvc2VsZWN0LyIsInNvdXJjZXMiOlsic2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFrQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLElBQUksRUFDSixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FB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