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

19 lines 792 B
import { useEffect } from 'react'; export const useClickOutside = (ref, onClickOutside, preventOnClickElements = []) => { 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]); }; //# sourceMappingURL=useClickOutside.js.map