UNPKG

react-usehooks-ts

Version:

A collections of typescript supported react Custom hooks

19 lines (18 loc) 689 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = require("react"); const useOutSideClickHook = (callback, initialValue = null) => { const elementRef = (0, react_1.useRef)(initialValue); (0, react_1.useEffect)(() => { function handler(event) { var _a; if (!((_a = elementRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) { callback(); } } window.addEventListener('click', handler); return () => window.removeEventListener('click', handler); }, [callback]); return elementRef; }; exports.default = useOutSideClickHook;