UNPKG

@botonic/react

Version:

Build Chatbots using React

24 lines 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useComponentVisible = void 0; const react_1 = require("react"); function useComponentVisible(initialIsVisible, onClickOutside) { const [isComponentVisible, setIsComponentVisible] = (0, react_1.useState)(initialIsVisible); const ref = (0, react_1.useRef)(null); const handleClickOutside = event => { const target = event.path ? event.path[0] : event.target; if (ref.current && !ref.current.contains(target)) { setIsComponentVisible(false); onClickOutside(); } }; (0, react_1.useEffect)(() => { document.addEventListener('click', handleClickOutside, false); return () => { document.removeEventListener('click', handleClickOutside, false); }; }); return { ref, isComponentVisible, setIsComponentVisible }; } exports.useComponentVisible = useComponentVisible; //# sourceMappingURL=use-component-visible.js.map