UNPKG

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
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 {};