UNPKG

novo-elements

Version:

118 lines (114 loc) 6.73 kB
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<NovoDropDownTrigger, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NovoDropDownTrigger, "[dropdownTrigger]", never, {}, {}, never, never, false, never>; } 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<boolean>; overlay: NovoOverlayTemplateComponent; _button: NovoButtonElement; _trigger: NovoDropDownTrigger; optionGroups: QueryList<NovoOptgroup>; options: QueryList<NovoOption>; 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<NovoItemElement>); /** 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<NovoDropdownElement, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NovoDropdownElement, "novo-dropdown", never, { "parentScrollSelector": { "alias": "parentScrollSelector"; "required": false; }; "parentScrollAction": { "alias": "parentScrollAction"; "required": false; }; "containerClass": { "alias": "containerClass"; "required": false; }; "side": { "alias": "side"; "required": false; }; "scrollStrategy": { "alias": "scrollStrategy"; "required": false; }; "keepOpen": { "alias": "keepOpen"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "appendToBody": { "alias": "appendToBody"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "scrollToActiveItemOnOpen": { "alias": "scrollToActiveItemOnOpen"; "required": false; }; }, { "toggled": "toggled"; }, ["_button", "_trigger", "optionGroups", "options"], ["button,novo-button,[dropdownTrigger]", "*"], false, never>; } declare class NovoItemElement { private dropdown; element: ElementRef; disabled: boolean; keepOpen: boolean; action: EventEmitter<any>; active: boolean; constructor(dropdown: NovoDropdownElement, element: ElementRef); onClick(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration<NovoItemElement, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NovoItemElement, "item", never, { "disabled": { "alias": "disabled"; "required": false; }; "keepOpen": { "alias": "keepOpen"; "required": false; }; }, { "action": "action"; }, never, ["*"], false, never>; } declare class NovoDropdownListElement implements AfterContentInit { private dropdown; items: QueryList<NovoItemElement>; constructor(dropdown: NovoDropdownElement); ngAfterContentInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration<NovoDropdownListElement, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NovoDropdownListElement, "list", never, {}, {}, ["items"], ["*"], false, never>; } declare class NovoDropDownItemHeaderElement { constructor(); static ɵfac: i0.ɵɵFactoryDeclaration<NovoDropDownItemHeaderElement, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NovoDropDownItemHeaderElement, "dropdown-item-header", never, {}, {}, never, ["*"], false, never>; } declare class NovoDropdownModule { static ɵfac: i0.ɵɵFactoryDeclaration<NovoDropdownModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<NovoDropdownModule, [typeof NovoDropdownElement, typeof NovoItemElement, typeof NovoDropdownListElement, typeof NovoDropDownItemHeaderElement, typeof NovoDropDownTrigger], [typeof i2.NovoOverlayModule, typeof i2.NovoOptionModule], [typeof NovoDropdownElement, typeof NovoItemElement, typeof NovoDropdownListElement, typeof NovoDropDownItemHeaderElement, typeof NovoDropDownTrigger]>; static ɵinj: i0.ɵɵInjectorDeclaration<NovoDropdownModule>; } export { NovoDropDownItemHeaderElement, NovoDropDownTrigger, NovoDropdownElement, NovoDropdownListElement, NovoDropdownModule, NovoItemElement };