igniteui-webcomponents
Version:
Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.
51 lines (50 loc) • 2.69 kB
TypeScript
import type { ReactiveController } from 'lit';
import type IgcComboListComponent from '../combo-list.js';
import type { ComboHost, ComboRecord } from '../types.js';
import type { DataController } from './data.js';
declare enum DIRECTION {
Up = -1,
Down = 1
}
export declare class NavigationController<T extends object> implements ReactiveController {
protected host: ComboHost<T>;
protected state: DataController<T>;
protected hostHandlers: Map<string, () => void>;
protected mainInputHandlers: Map<string, (() => void) | (() => void) | ((container: IgcComboListComponent) => Promise<void>) | (() => void) | (() => void)>;
protected searchInputHandlers: Map<string, (() => void) | ((container: IgcComboListComponent) => void)>;
protected listHandlers: Map<string, (() => void) | (() => void) | (() => void) | ((container: IgcComboListComponent) => void) | ((container: IgcComboListComponent) => void) | (() => void) | ((container: IgcComboListComponent) => void) | ((container: IgcComboListComponent) => void)>;
protected _active: number;
get input(): import("../../input/input.js").default;
get dataState(): ComboRecord<T>[];
show(): void;
hide(): void;
toggleSelect(index: number): void;
select(index: number): void;
protected get currentItem(): number;
protected get firstItem(): number;
protected get lastItem(): number;
protected scrollToActive(container: IgcComboListComponent, behavior?: ScrollBehavior): void;
get active(): number;
set active(node: number);
constructor(host: ComboHost<T>, state: DataController<T>);
protected home(container: IgcComboListComponent): void;
protected end(container: IgcComboListComponent): void;
protected space(): void;
protected escape(): void;
protected enter(): void;
protected inputArrowDown(container: IgcComboListComponent): void;
protected mainInputArrowDown(container: IgcComboListComponent): Promise<void>;
protected tab(): void;
protected arrowDown(container: IgcComboListComponent): void;
protected arrowUp(container: IgcComboListComponent): void;
protected getNextItem(direction: DIRECTION): void;
protected getNearestItem(startIndex: number, direction: number): number;
hostConnected(): void;
hostDisconnected(): void;
navigateTo(item: T, container: IgcComboListComponent): void;
navigateHost(event: KeyboardEvent): void;
navigateMainInput(event: KeyboardEvent, container: IgcComboListComponent): void;
navigateSearchInput(event: KeyboardEvent, container: IgcComboListComponent): void;
navigateList(event: KeyboardEvent, container: IgcComboListComponent): void;
}
export {};