igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
73 lines (72 loc) • 2.48 kB
TypeScript
import { CancelableEventArgs, CancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils';
import { IgxDropDownItemBaseDirective } from './drop-down-item.base';
import { IToggleView } from '../core/navigation/IToggleView';
import { EventEmitter, InjectionToken } from '@angular/core';
/** @hidden */
export declare enum Navigate {
Up = -1,
Down = 1
}
/** Key actions that have designated handlers in IgxDropDownComponent */
export declare const DropDownActionKey: {
ESCAPE: "escape";
ENTER: "enter";
SPACE: "space";
};
export type DropDownActionKey = (typeof DropDownActionKey)[keyof typeof DropDownActionKey];
/**
* Interface that encapsulates selectionChanging event arguments - old selection, new selection and cancel selection.
*
* @export
*/
export interface ISelectionEventArgs extends CancelableEventArgs, IBaseEventArgs {
oldSelection: IgxDropDownItemBaseDirective;
newSelection: IgxDropDownItemBaseDirective;
}
/**
* Interface for an instance of IgxDropDownNavigationDirective
*
* @export
*/
export interface IDropDownNavigationDirective {
target: any;
handleKeyDown(event: KeyboardEvent): void;
onArrowDownKeyDown(event?: KeyboardEvent): void;
onArrowUpKeyDown(event?: KeyboardEvent): void;
onEndKeyDown(event?: KeyboardEvent): void;
onHomeKeyDown(event?: KeyboardEvent): void;
}
export declare const IGX_DROPDOWN_BASE: InjectionToken<IDropDownBase>;
/**
* @hidden
*/
export interface IDropDownList {
selectionChanging: EventEmitter<ISelectionEventArgs>;
width: string;
height: string;
id: string;
maxHeight: string;
collapsed: boolean;
items: IgxDropDownItemBaseDirective[];
headers: IgxDropDownItemBaseDirective[];
focusedItem: IgxDropDownItemBaseDirective;
navigateFirst(): void;
navigateLast(): void;
navigateNext(): void;
navigatePrev(): void;
navigateItem(newIndex: number, direction?: Navigate): void;
onItemActionKey(key: DropDownActionKey, event?: Event): void;
}
/**
* @hidden
*/
export interface IDropDownBase extends IDropDownList, IToggleView {
selectedItem: any;
opening: EventEmitter<CancelableBrowserEventArgs>;
opened: EventEmitter<IBaseEventArgs>;
closing: EventEmitter<CancelableBrowserEventArgs>;
closed: EventEmitter<IBaseEventArgs>;
allowItemsFocus?: boolean;
setSelectedItem(index: number): void;
selectItem(item: IgxDropDownItemBaseDirective, event?: Event, emit?: boolean): void;
}