UNPKG

864 BJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = useGlobalListener;
5var _useEventListener = _interopRequireDefault(require("./useEventListener"));
6var _react = require("react");
7function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8/**
9 * Attaches an event handler outside directly to the `document`,
10 * bypassing the react synthetic event system.
11 *
12 * ```ts
13 * useGlobalListener('keydown', (event) => {
14 * console.log(event.key)
15 * })
16 * ```
17 *
18 * @param event The DOM event name
19 * @param handler An event handler
20 * @param capture Whether or not to listen during the capture event phase
21 */
22function useGlobalListener(event, handler, capture = false) {
23 const documentTarget = (0, _react.useCallback)(() => document, []);
24 return (0, _useEventListener.default)(documentTarget, event, handler, capture);
25}
\No newline at end of file