From 0a9276d2051674caeffbeba58730a0e63bb2f6a2 Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Mon, 19 Jun 2023 16:02:38 -0400 Subject: [PATCH] Ignore disconnected elements for outside clicks (#2544) --- packages/@headlessui-react/src/hooks/use-outside-click.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/@headlessui-react/src/hooks/use-outside-click.ts b/packages/@headlessui-react/src/hooks/use-outside-click.ts index c9b57c2..12965d1 100644 --- a/packages/@headlessui-react/src/hooks/use-outside-click.ts +++ b/packages/@headlessui-react/src/hooks/use-outside-click.ts @@ -47,6 +47,9 @@ export function useOutsideClick( // Ignore if the target doesn't exist in the DOM anymore if (!target.getRootNode().contains(target)) return + // Ignore if the target was removed from the DOM by the time the handler was called + if (!target.isConnected) return + let _containers = (function resolve(containers): ContainerCollection { if (typeof containers === 'function') { return resolve(containers())