@arolariu/components
Version:
🎨 70+ beautiful, accessible React components built on Base UI. TypeScript-first, CSS Modules styling, tree-shakeable, SSR-ready. Perfect for modern web apps, design systems & rapid prototyping. Zero config, maximum flexibility! ⚡
23 lines (22 loc) • 783 B
JavaScript
"use client";
import * as __rspack_external_react from "react";
function useOnClickOutside(ref, handler) {
__rspack_external_react.useEffect(()=>{
const listener = (event)=>{
const element = ref.current;
if (!element || element.contains(event.target)) return;
handler(event);
};
globalThis.document.addEventListener("mousedown", listener);
globalThis.document.addEventListener("touchstart", listener);
return ()=>{
globalThis.document.removeEventListener("mousedown", listener);
globalThis.document.removeEventListener("touchstart", listener);
};
}, [
ref,
handler
]);
}
export { useOnClickOutside };
//# sourceMappingURL=useOnClickOutside.js.map