Skip to content

Commit fb5f407

Browse files
authored
enhance: hover disabled component not to hide (#416)
1 parent 29f7d66 commit fb5f407

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

src/Popup/index.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export interface PopupProps {
1919
target: HTMLElement;
2020
onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;
2121
onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
22+
onPointerEnter?: React.MouseEventHandler<HTMLDivElement>;
2223
zIndex?: number;
2324

2425
mask?: boolean;
@@ -101,6 +102,7 @@ const Popup = React.forwardRef<HTMLDivElement, PopupProps>((props, ref) => {
101102

102103
onMouseEnter,
103104
onMouseLeave,
105+
onPointerEnter,
104106

105107
ready,
106108
offsetX,
@@ -248,6 +250,7 @@ const Popup = React.forwardRef<HTMLDivElement, PopupProps>((props, ref) => {
248250
}
249251
onMouseEnter={onMouseEnter}
250252
onMouseLeave={onMouseLeave}
253+
onPointerEnter={onPointerEnter}
251254
onClick={onClick}
252255
>
253256
{arrow && (

src/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,8 @@ export function generateTrigger(
671671
target={targetEle}
672672
onMouseEnter={onPopupMouseEnter}
673673
onMouseLeave={onPopupMouseLeave}
674+
// https://github.com/ant-design/ant-design/issues/43924
675+
onPointerEnter={onPopupMouseEnter}
674676
zIndex={zIndex}
675677
// Open
676678
open={mergedOpen}

tests/basic.test.jsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,14 @@ describe('Trigger.Basic', () => {
166166

167167
trigger(container, '.target', 'pointerLeave');
168168
expect(isPopupHidden()).toBeTruthy();
169+
170+
// Enter again but move in popup
171+
trigger(container, '.target', 'pointerEnter');
172+
expect(isPopupHidden()).toBeFalsy();
173+
174+
fireEvent.pointerLeave(container.querySelector('.target'));
175+
trigger(document, '.rc-trigger-popup', 'pointerEnter');
176+
expect(isPopupHidden()).toBeFalsy();
169177
});
170178
});
171179

0 commit comments

Comments
 (0)