/** * @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 { CdkConnectedOverlay, ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay'; import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList, Renderer2, TemplateRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { CascaderOption, CascaderComponentAsSource, CascaderExpandTrigger, CascaderSize, CascaderTriggerType, NzShowSearchOptions } from './cascader-definitions'; import { CascaderOptionComponent } from './cascader-li.component'; import { CascaderService } from './cascader.service'; import { CascaderConfigService } from './cascader-config.service'; import { FxI18nService } from '../i18n/nz-i18n.service'; import { FxCascaderI18nInterface } from '../i18n/nz-i18n.interface'; import { NzNoAnimationDirective } from '../../directive/nz-no-animation.directive'; declare type CascaderClassType = string | string[] | Set | CascaderClassInterface; interface CascaderClassInterface { [klass: string]: any; } export declare class CascaderComponent implements CascaderComponentAsSource, OnInit, OnDestroy, ControlValueAccessor { cascaderService: CascaderService; private i18nService; nzConfigService: CascaderConfigService; private cdr; noAnimation?: NzNoAnimationDirective; input: ElementRef; menu: ElementRef; overlay: CdkConnectedOverlay; cascaderItems: QueryList; nzShowInput: boolean; nzShowArrow: boolean; nzAllowClear: boolean; nzAutoFocus: boolean; nzChangeOnSelect: boolean; nzDisabled: boolean; nzColumnClassName: string; nzExpandTrigger: CascaderExpandTrigger; nzValueProperty: string; nzLabelRender: TemplateRef; nzLabelProperty: string; nzNotFoundContent: string | TemplateRef; nzSize: CascaderSize; nzShowSearch: boolean | NzShowSearchOptions; nzPlaceHolder: string; nzMenuClassName: string; nzMenuStyle: { [key: string]: string; }; nzMouseEnterDelay: number; nzMouseLeaveDelay: number; nzTriggerAction: CascaderTriggerType | CascaderTriggerType[]; nzChangeOn: (option: CascaderOption, level: number) => boolean; nzLoadData: (node: CascaderOption, index?: number) => PromiseLike; nzOptions: CascaderOption[] | null; readonly nzVisibleChange: EventEmitter; readonly nzSelectionChange: EventEmitter; /** * @deprecated 9.0.0. This api is a duplication of `ngModelChange`. */ readonly nzSelect: EventEmitter<{ option: CascaderOption; index: number; }>; readonly nzClear: EventEmitter; el: HTMLElement; dropDownPosition: string; menuVisible: boolean; isLoading: boolean; labelRenderText: string; labelRenderContext: {}; onChange: Function; onTouched: Function; reLoadData: Function; positions: ConnectionPositionPair[]; dropdownWidthStyle: string; isFocused: boolean; locale: FxCascaderI18nInterface; private delayingLoad; private $destroy; private inputString; private isOpening; private delayMenuTimer; private delaySelectTimer; readonly inSearchingMode: boolean; inputValue: string; readonly menuCls: CascaderClassType; readonly menuColumnCls: CascaderClassType; private readonly hasInput; private readonly hasValue; readonly showPlaceholder: boolean; readonly clearIconVisible: boolean; readonly isLabelRenderTemplate: boolean; constructor(cascaderService: CascaderService, i18nService: FxI18nService, nzConfigService: CascaderConfigService, cdr: ChangeDetectorRef, elementRef: ElementRef, renderer: Renderer2, noAnimation?: NzNoAnimationDirective); ngOnInit(): void; ngOnDestroy(): void; registerOnChange(fn: () => {}): void; registerOnTouched(fn: () => {}): void; toArray(value: T | T[]): T[]; writeValue(value: any): void; delaySetMenuVisible(visible: boolean, delay?: number, setOpening?: boolean): void; setMenuVisible(visible: boolean): void; private clearDelayMenuTimer; clearSelection(event?: Event): void; getSubmitValue(): any[]; focus(): void; blur(): void; handleInputBlur(): void; handleInputFocus(): void; onKeyDown(event: KeyboardEvent): void; onTriggerClick(): void; onTriggerMouseEnter(): void; onTriggerMouseLeave(event: MouseEvent): void; onOptionMouseEnter(option: CascaderOption, columnIndex: number, event: Event): void; onOptionMouseLeave(option: CascaderOption, _columnIndex: number, event: Event): void; onOptionClick(option: CascaderOption, columnIndex: number, event: Event): void; private isActionTrigger; private onEnter; private moveUpOrDown; private moveLeft; private moveRight; private clearDelaySelectTimer; private delaySetOptionActivated; private toggleSearchingMode; isOptionActivated(option: CascaderOption, index: number): boolean; setDisabledState(isDisabled: boolean): void; closeMenu(): void; onPositionChange(position: ConnectedOverlayPositionChange): void; /** * Reposition the cascader panel. When a menu opens, the cascader expands * and may exceed the boundary of browser's window. */ private reposition; /** * When a cascader options is changed, a child needs to know that it should re-render. */ private checkChildren; private buildDisplayLabel; private setLocale; } export {};