UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

23 lines 951 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useClickOutside = void 0; const react_1 = require("react"); const useClickOutside = (ref, onClickOutside, preventOnClickElements = []) => { (0, react_1.useEffect)(() => { function handleClickOutside(event) { if (ref.current && !ref.current.contains(event.target) && !preventOnClickElements.some(element => element?.contains(event.target))) { onClickOutside(event); } } // Bind the event listener document.addEventListener('mouseup', handleClickOutside); return () => { // Unbind the event listener on clean up document.removeEventListener('mouseup', handleClickOutside); }; }, [ref, onClickOutside, preventOnClickElements]); }; exports.useClickOutside = useClickOutside; //# sourceMappingURL=useClickOutside.js.map