@dossierhq/design
Version:
The design system for Dossier.
18 lines • 619 B
JavaScript
import { useCallback } from 'react';
import { useDocumentEventListener } from './useDocumentEventListener.js';
export function useKeyHandler(handleKeys, listener, enabled) {
const mainListener = useCallback((event) => {
if (event.defaultPrevented) {
return;
}
if (enabled === false) {
return;
}
if (handleKeys.indexOf(event.key) >= 0) {
event.preventDefault();
listener(event);
}
}, [handleKeys, listener, enabled]);
useDocumentEventListener('keydown', mainListener);
}
//# sourceMappingURL=useKeyHandler.js.map