From 951d9596529514f22be49b37b0215c07df2263c1 Mon Sep 17 00:00:00 2001 From: Devesh Date: Mon, 24 Aug 2026 21:37:21 +0530 Subject: [PATCH] fix: hide unmeasured tooltips during exit --- packages/react-aria-components/src/Tooltip.tsx | 1 + packages/react-aria-components/test/Tooltip.test.js | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/packages/react-aria-components/src/Tooltip.tsx b/packages/react-aria-components/src/Tooltip.tsx index fc426d9f79a..05686ba7198 100644 --- a/packages/react-aria-components/src/Tooltip.tsx +++ b/packages/react-aria-components/src/Tooltip.tsx @@ -233,6 +233,7 @@ function TooltipInner( style={ { ...overlayProps.style, + visibility: !placement && !state.isOpen ? 'hidden' : undefined, '--trigger-anchor-point': triggerAnchorPoint ? `${triggerAnchorPoint.x}px ${triggerAnchorPoint.y}px` : undefined, diff --git a/packages/react-aria-components/test/Tooltip.test.js b/packages/react-aria-components/test/Tooltip.test.js index 557d43ad43a..505189df9ff 100644 --- a/packages/react-aria-components/test/Tooltip.test.js +++ b/packages/react-aria-components/test/Tooltip.test.js @@ -381,4 +381,16 @@ describe('Tooltip', () => { let button = getByRole('button'); expect(button).toHaveAttribute('tabindex', '0'); }); + + it('hides unmeasured tooltips during exit animation', () => { + let {getByRole} = render( + + + Unmeasured tooltip + + ); + + let tooltip = getByRole('tooltip', {hidden: true}); + expect(tooltip).toHaveStyle('visibility: hidden'); + }); });