From 81fdf5a9988e7fa995e09659fd25eabab7e716b8 Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Wed, 26 Feb 2025 14:13:45 +0800 Subject: [PATCH] fix hover lost when the element is blurred --- src/components/Hoverable/ActiveHoverable.tsx | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/components/Hoverable/ActiveHoverable.tsx b/src/components/Hoverable/ActiveHoverable.tsx index 3ec7bb8f25d48..021bab8e1efb3 100644 --- a/src/components/Hoverable/ActiveHoverable.tsx +++ b/src/components/Hoverable/ActiveHoverable.tsx @@ -9,7 +9,7 @@ import type HoverableProps from './types'; type ActiveHoverableProps = Omit; -type MouseEvents = 'onMouseEnter' | 'onMouseLeave' | 'onMouseMove' | 'onBlur'; +type MouseEvents = 'onMouseEnter' | 'onMouseLeave' | 'onMouseMove'; type OnMouseEvents = Record void>; @@ -78,7 +78,7 @@ function ActiveHoverable({onHoverIn, onHoverOut, shouldHandleScroll, shouldFreez }, []); const handleMouseEvents = useCallback( - (type: 'enter' | 'leave' | 'blur') => () => { + (type: 'enter' | 'leave') => () => { if (shouldFreezeCapture) { return; } @@ -94,7 +94,7 @@ function ActiveHoverable({onHoverIn, onHoverOut, shouldHandleScroll, shouldFreez const child = useMemo(() => getReturnValue(children, isHovered), [children, isHovered]); - const {onMouseEnter, onMouseLeave, onBlur} = child.props as OnMouseEvents; + const {onMouseEnter, onMouseLeave} = child.props as OnMouseEvents; return cloneElement(child, { ref: mergeRefs(elementRef, outerRef, child.ref), @@ -106,10 +106,6 @@ function ActiveHoverable({onHoverIn, onHoverOut, shouldHandleScroll, shouldFreez handleMouseEvents('leave')(); onMouseLeave?.(e); }, - onBlur: (e: MouseEvent) => { - handleMouseEvents('blur')(); - onBlur?.(e); - }, }); }