Skip to content

Commit 77a2c9d

Browse files
committed
refactor(use-long-press): Handle environments where PointerEvent is not present
1 parent b07c1c7 commit 77a2c9d

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

packages/use-long-press/src/lib/use-long-press.utils.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import {
66
TouchEvent as ReactTouchEvent,
77
} from 'react';
88

9+
const PointerEvent = window.PointerEvent ?? null;
10+
911
export function isTouchEvent<Target extends Element>(event: SyntheticEvent<Target>): event is ReactTouchEvent<Target> {
1012
const { nativeEvent } = event;
1113
if (!nativeEvent) {
@@ -16,7 +18,7 @@ export function isTouchEvent<Target extends Element>(event: SyntheticEvent<Targe
1618
}
1719

1820
export function isMouseEvent<Target extends Element>(event: SyntheticEvent<Target>): event is ReactMouseEvent<Target> {
19-
return event.nativeEvent instanceof MouseEvent && !(event.nativeEvent instanceof PointerEvent);
21+
return event.nativeEvent instanceof MouseEvent && !(PointerEvent && event.nativeEvent instanceof PointerEvent);
2022
}
2123

2224
export function isPointerEvent<Target extends Element>(
@@ -27,7 +29,7 @@ export function isPointerEvent<Target extends Element>(
2729
return false;
2830
}
2931

30-
return (window.PointerEvent && nativeEvent instanceof PointerEvent) || 'pointerId' in nativeEvent;
32+
return (PointerEvent && nativeEvent instanceof PointerEvent) || 'pointerId' in nativeEvent;
3133
}
3234

3335
export function isRecognisableEvent<Target extends Element>(

0 commit comments

Comments
 (0)