From 3000ee337ce605aff701b37ce6ca988cc03df588 Mon Sep 17 00:00:00 2001 From: kyletsang <6854874+kyletsang@users.noreply.github.com> Date: Thu, 14 Nov 2024 22:58:58 -0800 Subject: [PATCH] fix(useClickOutside): reset waitingForTrigger if clicking outside target --- src/useClickOutside.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/useClickOutside.ts b/src/useClickOutside.ts index 3c8597f..e15ade8 100644 --- a/src/useClickOutside.ts +++ b/src/useClickOutside.ts @@ -82,6 +82,11 @@ function useClickOutside( if (currentTarget && contains(currentTarget, e.target as any)) { waitingForTrigger.current = true; + } else { + // When clicking on scrollbars within current target, click events are not triggered, so this ref + // is never reset inside `handleMouseCapture`. This would cause a bug where it requires 2 clicks + // to close the overlay. + waitingForTrigger.current = false; } });