File: //var/www/design.system/src/utils/useOutsideClick.ts
import { RefObject, useEffect } from 'react';
export const useOutsideClick = (ref: RefObject<HTMLElement | null>, callback: () => void) => {
useEffect(() => {
const handleClickOutside = (event: MouseEvent) => {
if (ref.current && !ref.current.contains(event.target as Node)) {
callback();
}
};
document.addEventListener('mousedown', handleClickOutside);
return () => {
document.removeEventListener('mousedown', handleClickOutside);
};
}, [ref, callback]);
};