Skip to content

Commit 8d2438d

Browse files
authored
Add onPointerLeave handler to active state polyfill (#429)
* Add onPointerLeave handler to active state polyfill * fix: handle focus + active styles
1 parent ee4c1a1 commit 8d2438d

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

packages/react-strict-dom/src/native/modules/usePseudoStates.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ export function usePseudoStates(style: Style): Interaction {
6969
value.onMouseEnter = () => setMouseHover(true);
7070
value.onMouseLeave = () => setMouseHover(false);
7171
value.onPointerEnter = () => setPointerHover(true);
72-
value.onPointerLeave = () => setPointerHover(false);
7372
}
7473
if (isFocusStyledElement) {
7574
value.onBlur = () => setFocus(false);
@@ -80,6 +79,16 @@ export function usePseudoStates(style: Style): Interaction {
8079
value.onPointerDown = () => setActive(true);
8180
value.onPointerUp = () => setActive(false);
8281
}
82+
if (isHoverStyledElement || isActiveStyledElement) {
83+
value.onPointerLeave = () => {
84+
if (isHoverStyledElement) {
85+
setPointerHover(false);
86+
}
87+
if (isActiveStyledElement) {
88+
setActive(false);
89+
}
90+
}
91+
}
8392
}
8493
return value;
8594
}, [isHoverStyledElement, isFocusStyledElement, isActiveStyledElement]);

0 commit comments

Comments
 (0)