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.
48 lines (47 loc) • 1.56 kB
TypeScript
import type { Ref } from 'lit/directives/ref.js';
import type IgcInputComponent from '../../input/input.js';
import type IgcComboListComponent from '../combo-list.js';
import type { ComboHost } from '../types.js';
import type { DataState } from './data.js';
type ComboNavigationConfig = {
/** The primary input of the combo component. */
input: Ref<IgcInputComponent>;
/** The search input of the combo component. */
search: Ref<IgcInputComponent>;
/** The combo virtualized dropdown list. */
list: Ref<IgcComboListComponent>;
interactions: {
show: () => Promise<boolean>;
hide: () => Promise<boolean>;
toggleSelection: (index: number) => void;
select: (index: number) => void;
clearSelection: () => void;
};
};
export declare class ComboNavigationController<T extends object> {
private readonly _host;
private readonly _state;
private readonly _config;
private get _input();
private get _searchInput();
private get _list();
private get _firstItem();
private get _lastItem();
active: number;
constructor(host: ComboHost<T>, state: DataState<T>, config: ComboNavigationConfig);
hostDisconnected(): void;
private _onSpace;
private _onEnter;
private _onTab;
private _onEscape;
private _onMainInputArrowDown;
private _onSearchArrowDown;
private _onHome;
private _onEnd;
private _onArrowUp;
private _onArrowDown;
private _scrollToActive;
private _getNearestItem;
private _getNextItem;
}
export {};