Skip to content
Entangle UI v0.13.0

useClickOutside

useClickOutside<T>(ref, handler, options?): void

Defined in: src/hooks/useClickOutside/useClickOutside.ts:55

Fire a callback when a click occurs outside the referenced element(s).

Accepts either a single ref or an array of refs. The handler fires only when the click lands outside ALL provided refs — useful for popover + trigger pairs where clicking either should be considered “inside”.

Defaults to mousedown so the handler runs before click. SSR-safe; cleans up on unmount and when enabled flips to false.

T extends HTMLElement = HTMLElement

RefObject<T | null> | RefObject<HTMLElement | null>[]

(event) => void

UseClickOutsideOptions = {}

void

const ref = useRef<HTMLDivElement>(null);
useClickOutside(ref, () => setOpen(false), { enabled: isOpen });
return <div ref={ref}>...</div>;