UNPKG

rich-text-editor

Version:
24 lines (23 loc) 858 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useKeyboardEventListener = void 0; const react_1 = require("react"); const useKeyboardEventListener = (key, ctrl, fn, preventDefault = true) => { (0, react_1.useEffect)(() => { const handleKeyDown = (event) => { if (!ctrl || (ctrl && event.ctrlKey)) { if (event.key.toLowerCase() === key.toLowerCase()) { if (preventDefault) { event.preventDefault(); } fn(event); } } }; window.addEventListener('keydown', handleKeyDown); return () => { window.removeEventListener('keydown', handleKeyDown); }; }, [key, fn]); }; exports.useKeyboardEventListener = useKeyboardEventListener;