From 2c10b35b339326f04df953f92164a0b76d64d68f Mon Sep 17 00:00:00 2001 From: Matthew Thorning Date: Thu, 13 Mar 2025 11:14:29 +0000 Subject: [PATCH] GrafanaUI: Use safePolygon close handler for interactive tooltips instead of a delay (#101871) * feat: allow configuration of interactive tooltip delay * add comment explaining interactiveDelay prop * switch approach to using `safePolygon` close handler instead * remove unnecessary object spread from Tooltip component --- packages/grafana-ui/src/components/Tooltip/Tooltip.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/grafana-ui/src/components/Tooltip/Tooltip.tsx b/packages/grafana-ui/src/components/Tooltip/Tooltip.tsx index bd2d02fc348..530d2cf9bdb 100644 --- a/packages/grafana-ui/src/components/Tooltip/Tooltip.tsx +++ b/packages/grafana-ui/src/components/Tooltip/Tooltip.tsx @@ -10,6 +10,7 @@ import { useFocus, useHover, useInteractions, + safePolygon, } from '@floating-ui/react'; import { forwardRef, cloneElement, isValidElement, useCallback, useId, useRef, useState } from 'react'; @@ -67,9 +68,7 @@ export const Tooltip = forwardRef( const tooltipId = useId(); const hover = useHover(context, { - delay: { - close: interactive ? 100 : 0, - }, + handleClose: interactive ? safePolygon() : undefined, move: false, }); const focus = useFocus(context);