UNPKG

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