diff --git a/src/hooks/useOnClickOutside.ts b/src/hooks/useOnClickOutside.ts index dbd277b..555a81d 100644 --- a/src/hooks/useOnClickOutside.ts +++ b/src/hooks/useOnClickOutside.ts @@ -1,5 +1,21 @@ +/** + * Click Outside Detection Hook + * Detects clicks outside of a referenced element and triggers a handler + */ + import { RefObject, useEffect } from 'react'; +/** + * Hook that triggers a handler when user clicks outside the referenced element + * Useful for closing dropdowns, modals, or menus when clicking outside + * + * @param ref - React ref object pointing to the element to monitor + * @param handler - Callback function to execute when click occurs outside the element + * + * @example + * const menuRef = useRef(null); + * useOnClickOutside(menuRef, () => setMenuOpen(false)); + */ export function useOnClickOutside(ref: RefObject, handler: (event: MouseEvent | TouchEvent) => void) { useEffect(() => { const listener = (event: MouseEvent | TouchEvent) => {