Improve Tooltip UX by enabling delay by default (#21383)

This commit is contained in:
Kerwin Bryant
2025-07-16 11:26:54 +08:00
committed by GitHub
parent 0dee41c074
commit 229b4d621e
15 changed files with 4 additions and 21 deletions

View File

@@ -50,7 +50,7 @@ describe('Tooltip', () => {
test('should close on mouse leave when triggerMethod is hover', () => {
const triggerClassName = 'custom-trigger'
const { container } = render(<Tooltip popupContent="Tooltip content" triggerClassName={triggerClassName} />)
const { container } = render(<Tooltip popupContent="Tooltip content" triggerClassName={triggerClassName} needsDelay={false} />)
const trigger = container.querySelector(`.${triggerClassName}`)
act(() => {
fireEvent.mouseEnter(trigger!)

View File

@@ -33,7 +33,7 @@ const Tooltip: FC<TooltipProps> = ({
noDecoration,
offset,
asChild = true,
needsDelay = false,
needsDelay = true,
}) => {
const [open, setOpen] = useState(false)
const [isHoverPopup, {
@@ -68,7 +68,7 @@ const Tooltip: FC<TooltipProps> = ({
setTimeout(() => {
if (!isHoverPopupRef.current && !isHoverTriggerRef.current)
setOpen(false)
}, 500)
}, 300)
}
else {
setOpen(false)