import * as i0 from '@angular/core'; import { ElementRef, OnInit, AfterContentInit, AfterViewInit, OnDestroy, EventEmitter, QueryList, ChangeDetectorRef } from '@angular/core'; import { NovoButtonElement } from 'novo-elements/elements/button'; import * as i2 from 'novo-elements/elements/common'; import { HasOverlayCtor, CanDisableCtor, HasTabIndexCtor, NovoOverlayTemplateComponent, NovoOptgroup, NovoOption } from 'novo-elements/elements/common'; declare class NovoDropDownTrigger { element: ElementRef; constructor(element: ElementRef); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class NovoDropdownBase { constructor(); } declare const NovoDropdownMixins: HasOverlayCtor & CanDisableCtor & HasTabIndexCtor & typeof NovoDropdownBase; declare class NovoDropdownElement extends NovoDropdownMixins implements OnInit, AfterContentInit, AfterViewInit, OnDestroy { element: ElementRef; private ref; parentScrollSelector: string; parentScrollAction: string; containerClass: string; side: 'default' | 'right' | 'above-below' | 'right-above-below' | 'center' | 'bottom' | 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right'; scrollStrategy: 'reposition' | 'block' | 'close'; /** * Keep dropdown open after an item is selected */ keepOpen: boolean; height: number; width: number; appendToBody: boolean; toggled: EventEmitter; overlay: NovoOverlayTemplateComponent; _button: NovoButtonElement; _trigger: NovoDropDownTrigger; optionGroups: QueryList; options: QueryList; panel: ElementRef; private clickHandler; private closeHandler; private _selectedOptionChanges; /** The Subject to complete all subscriptions when destroyed. */ private _onDestroy; /** The FocusKeyManager which handles focus. */ private _keyManager; /** Whether the user should be allowed to select multiple options. */ get multiple(): boolean; set multiple(value: boolean); private _multiple; /** Whether the dropdown should scroll to the active item whenever it is opened. */ get scrollToActiveItemOnOpen(): boolean; set scrollToActiveItemOnOpen(value: boolean); private _scrollToActiveItemOnOpen; get button(): NovoDropDownTrigger | NovoButtonElement; constructor(element: ElementRef, ref: ChangeDetectorRef); ngOnInit(): void; ngAfterContentInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; focus(options?: FocusOptions): void; openPanel(): void; private findFirstSelectedOptionIndex; set items(items: QueryList); /** Handles all keydown events on the dropdown. */ _handleKeydown(event: KeyboardEvent): void; /** Handles keyboard events while the dropdown is closed. */ private _handleClosedKeydown; /** Handles keyboard events when the dropdown is open. */ private _handleOpenKeydown; private _watchPanelEvents; private _watchSelectionEvents; /** * Clear any previous selected option and emit a selection change event for this option */ private _clearPreviousSelectedOption; /** Sets up a key manager to listen to keyboard events on the overlay panel. */ private _initKeyManager; /** Scrolls the active option into view. */ protected _scrollOptionIntoView(index: number): void; /** Calculates the height of the select's options. */ private _getItemHeight; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoItemElement { private dropdown; element: ElementRef; disabled: boolean; keepOpen: boolean; action: EventEmitter; active: boolean; constructor(dropdown: NovoDropdownElement, element: ElementRef); onClick(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoDropdownListElement implements AfterContentInit { private dropdown; items: QueryList; constructor(dropdown: NovoDropdownElement); ngAfterContentInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoDropDownItemHeaderElement { constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoDropdownModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { NovoDropDownItemHeaderElement, NovoDropDownTrigger, NovoDropdownElement, NovoDropdownListElement, NovoDropdownModule, NovoItemElement };