UNPKG

913 BJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7var React = require('react');
8var React__default = _interopDefault(React);
9
10function useKeyDown(key, callback) {
11 var keys = React.useMemo(function () {
12 return Array.isArray(key) ? key : [key];
13 }, [key]);
14 var handleKeyDown = React.useCallback(function (event) {
15 if (keys.includes(event.keyCode)) {
16 callback(event.keyCode, event);
17 }
18 }, [callback, keys]);
19 React.useEffect(function () {
20 if (typeof window === 'undefined') {
21 return;
22 }
23
24 window.addEventListener('keydown', handleKeyDown);
25 return function () {
26 window.removeEventListener('keydown', handleKeyDown);
27 };
28 }, [handleKeyDown]);
29}
30
31exports.useKeyDown = useKeyDown;
32//# sourceMappingURL=useKeyDown.js.map