vidstack
Version:
Build awesome media experiences on the web.
25 lines (24 loc) • 954 B
TypeScript
export interface MenuFocusControllerDelegate {
_getScrollContainer(): HTMLElement | null;
_closeMenu(trigger?: Event): void;
}
export declare class MenuFocusController {
protected _delegate: MenuFocusControllerDelegate;
protected _index: number;
protected _el: HTMLElement | null;
protected _elements: HTMLElement[];
get _items(): HTMLElement[];
constructor(_delegate: MenuFocusControllerDelegate);
_attach(el: HTMLElement): void;
_listen(): void;
_update(): void;
_scroll(index?: number): void;
protected _focusAt(index: number): void;
protected _findActiveIndex(): number;
protected _onFocus(): void;
protected _onKeyUp(event: KeyboardEvent): void;
protected _onKeyDown(event: KeyboardEvent): void;
protected _nextIndex(delta: number): number;
protected _getFocusableElements(): HTMLElement[];
}
export declare function getMenuController(el: HTMLElement): HTMLElement | null;