flyonui
Version:
The easiest, free and open-source Tailwind CSS component library with semantic classes.
42 lines (39 loc) • 1.25 kB
TypeScript
export interface IAccessibilityKeyboardHandlers {
onEnter?: () => void;
onEsc?: () => void;
onSpace?: () => void;
onArrow?: (event: KeyboardEvent) => void;
onTab?: () => void;
onShiftTab?: () => void;
onHome?: () => void;
onEnd?: () => void;
onFirstLetter?: (key: string) => void;
[key: string]: ((...args: any[]) => void) | undefined;
}
export interface IAccessibilityComponent {
wrapper: HTMLElement;
handlers: IAccessibilityKeyboardHandlers;
isOpened: boolean;
name: string;
selector: string;
context?: HTMLElement;
isRegistered: boolean;
}
declare class HSAccessibilityObserver {
private components;
private currentlyOpenedComponents;
private activeComponent;
constructor();
private initGlobalListeners;
private getActiveComponent;
private handleGlobalFocusin;
private handleGlobalKeydown;
private findClosestOpenParent;
registerComponent(wrapper: HTMLElement, handlers: IAccessibilityKeyboardHandlers, isOpened?: boolean, name?: string, selector?: string, context?: HTMLElement): IAccessibilityComponent;
updateComponentState(component: IAccessibilityComponent, isOpened: boolean): void;
unregisterComponent(component: IAccessibilityComponent): void;
}
export {
HSAccessibilityObserver as default,
};
export {};