UNPKG

@acusti/use-keyboard-events

Version:

React hook that takes keyboard event handlers and attaches them to the document

25 lines (24 loc) 995 B
export type EventType = 'keydown' | 'keypress' | 'keyup'; export type Handler = (event: KeyboardEvent) => unknown; type HandlerConfig = { ignoreUsedKeyboardEvents: boolean; priority: number; }; type HandlersByPriority = Array<Set<Handler>>; export declare const handlersData: { config: Map<Handler, HandlerConfig>; keydown: HandlersByPriority; keypress: HandlersByPriority; keyup: HandlersByPriority; }; export declare function addHandler({ eventType, handler, ignoreUsedKeyboardEvents, priority: _priority, }: { eventType: EventType; handler: Handler | void; ignoreUsedKeyboardEvents?: boolean; priority?: number; }): () => void; export declare function isPrimaryModifierPressed(event: KeyboardEvent): boolean; export declare const usesKeyEvents: (target: EventTarget) => boolean; export declare const isEventTargetUsingKeyEvent: (event: KeyboardEvent) => boolean; export declare function addHandlers(doc: Document): (() => void) | undefined; export {};