diff --git a/src/click_outside_wrapper.tsx b/src/click_outside_wrapper.tsx index 7b7b68e89..c7c0724e4 100644 --- a/src/click_outside_wrapper.tsx +++ b/src/click_outside_wrapper.tsx @@ -33,8 +33,8 @@ const useDetectClickOutside = ( if ( !( ignoreClass && - target instanceof HTMLElement && - target.classList.contains(ignoreClass) + target instanceof Element && + target.closest(`.${ignoreClass}`) ) ) { onClickOutsideRef.current?.(event); diff --git a/src/test/click_outside_wrapper.test.tsx b/src/test/click_outside_wrapper.test.tsx index 6f5ee5725..0b1041eb9 100644 --- a/src/test/click_outside_wrapper.test.tsx +++ b/src/test/click_outside_wrapper.test.tsx @@ -252,7 +252,7 @@ describe("ClickOutsideWrapper", () => { addEventListenerSpy.mockRestore(); }); - it("does not treat non-HTMLElement targets as ignored elements", () => { + it("does not treat non-Element targets as ignored elements", () => { const addEventListenerSpy = jest.spyOn(document, "addEventListener"); render(