@acusti/use-keyboard-events
Version:
React hook that takes keyboard event handlers and attaches them to the document
25 lines (24 loc) • 995 B
TypeScript
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 {};