@datalayer/core
Version:
**Datalayer Core**
19 lines (18 loc) • 596 B
JavaScript
/*
* Copyright (c) 2023-2025 Datalayer, Inc.
* Distributed under the terms of the Modified BSD License.
*/
import { useCallback, useEffect } from 'react';
export function useKeyboardEscape(handler) {
const handleKeyboardEscape = useCallback(event => {
if (event.key === 'Escape') {
handler();
}
}, [handler]);
useEffect(() => {
document.addEventListener('keydown', handleKeyboardEscape, false);
return () => {
document.removeEventListener('keydown', handleKeyboardEscape, false);
};
}, [handleKeyboardEscape]);
}