From 699278f4a99c3c373b9142554de6b1b897ee7036 Mon Sep 17 00:00:00 2001 From: balajis-qb Date: Fri, 6 Mar 2026 12:07:24 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20the=20toggle=20calendar=20?= =?UTF-8?q?utility=20to=20properly=20close=20the=20datepicker.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update click outside detection to use closest method for class matching. - Modified the click outside detection logic to utilize the `closest` method for checking ignored elements, ensuring compatibility with Element targets. - Updated the corresponding test case for clarity. Closes #6252 --- src/click_outside_wrapper.tsx | 4 ++-- src/test/click_outside_wrapper.test.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/click_outside_wrapper.tsx b/src/click_outside_wrapper.tsx index 7b7b68e89f..c7c0724e49 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 6f5ee5725a..0b1041eb93 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(