@botonic/react
Version:
Build Chatbots using React
24 lines • 1 kB
JavaScript
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
;