@react-aria/interactions 3.21.2 → 3.21.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PressResponder.mjs +1 -1
- package/dist/Pressable.mjs +1 -1
- package/dist/context.main.js +1 -1
- package/dist/context.mjs +2 -2
- package/dist/context.module.js +1 -1
- package/dist/createEventHandler.main.js +1 -1
- package/dist/createEventHandler.mjs +2 -2
- package/dist/createEventHandler.module.js +1 -1
- package/dist/textSelection.main.js +14 -14
- package/dist/textSelection.mjs +15 -15
- package/dist/textSelection.module.js +14 -14
- package/dist/useFocus.mjs +1 -1
- package/dist/useFocusVisible.main.js +54 -54
- package/dist/useFocusVisible.mjs +55 -55
- package/dist/useFocusVisible.module.js +54 -54
- package/dist/useFocusWithin.mjs +1 -1
- package/dist/useHover.main.js +16 -16
- package/dist/useHover.mjs +17 -17
- package/dist/useHover.module.js +16 -16
- package/dist/useInteractOutside.main.js +14 -14
- package/dist/useInteractOutside.mjs +15 -15
- package/dist/useInteractOutside.module.js +14 -14
- package/dist/useKeyboard.mjs +1 -1
- package/dist/useLongPress.main.js +10 -10
- package/dist/useLongPress.mjs +11 -11
- package/dist/useLongPress.module.js +10 -10
- package/dist/useMove.main.js +36 -36
- package/dist/useMove.mjs +37 -37
- package/dist/useMove.module.js +36 -36
- package/dist/usePress.main.js +44 -44
- package/dist/usePress.mjs +45 -45
- package/dist/usePress.module.js +44 -44
- package/dist/useScrollWheel.main.js +1 -1
- package/dist/useScrollWheel.mjs +2 -2
- package/dist/useScrollWheel.module.js +1 -1
- package/dist/utils.main.js +5 -5
- package/dist/utils.mjs +6 -6
- package/dist/utils.module.js +5 -5
- package/package.json +5 -5
package/dist/useHover.module.js
CHANGED
|
@@ -31,18 +31,18 @@ function $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {
|
|
|
31
31
|
}, 50);
|
|
32
32
|
}
|
|
33
33
|
function $6179b936705e76d3$var$handleGlobalPointerEvent(e) {
|
|
34
|
-
if (e.pointerType ===
|
|
34
|
+
if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();
|
|
35
35
|
}
|
|
36
36
|
function $6179b936705e76d3$var$setupGlobalTouchEvents() {
|
|
37
|
-
if (typeof document ===
|
|
38
|
-
if (typeof PointerEvent !==
|
|
39
|
-
else document.addEventListener(
|
|
37
|
+
if (typeof document === 'undefined') return;
|
|
38
|
+
if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);
|
|
39
|
+
else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);
|
|
40
40
|
$6179b936705e76d3$var$hoverCount++;
|
|
41
41
|
return ()=>{
|
|
42
42
|
$6179b936705e76d3$var$hoverCount--;
|
|
43
43
|
if ($6179b936705e76d3$var$hoverCount > 0) return;
|
|
44
|
-
if (typeof PointerEvent !==
|
|
45
|
-
else document.removeEventListener(
|
|
44
|
+
if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);
|
|
45
|
+
else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
function $6179b936705e76d3$export$ae780daf29e6d456(props) {
|
|
@@ -51,19 +51,19 @@ function $6179b936705e76d3$export$ae780daf29e6d456(props) {
|
|
|
51
51
|
let state = (0, $AWxnT$useRef)({
|
|
52
52
|
isHovered: false,
|
|
53
53
|
ignoreEmulatedMouseEvents: false,
|
|
54
|
-
pointerType:
|
|
54
|
+
pointerType: '',
|
|
55
55
|
target: null
|
|
56
56
|
}).current;
|
|
57
57
|
(0, $AWxnT$useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);
|
|
58
58
|
let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $AWxnT$useMemo)(()=>{
|
|
59
59
|
let triggerHoverStart = (event, pointerType)=>{
|
|
60
60
|
state.pointerType = pointerType;
|
|
61
|
-
if (isDisabled || pointerType ===
|
|
61
|
+
if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;
|
|
62
62
|
state.isHovered = true;
|
|
63
63
|
let target = event.currentTarget;
|
|
64
64
|
state.target = target;
|
|
65
65
|
if (onHoverStart) onHoverStart({
|
|
66
|
-
type:
|
|
66
|
+
type: 'hoverstart',
|
|
67
67
|
target: target,
|
|
68
68
|
pointerType: pointerType
|
|
69
69
|
});
|
|
@@ -71,13 +71,13 @@ function $6179b936705e76d3$export$ae780daf29e6d456(props) {
|
|
|
71
71
|
setHovered(true);
|
|
72
72
|
};
|
|
73
73
|
let triggerHoverEnd = (event, pointerType)=>{
|
|
74
|
-
state.pointerType =
|
|
74
|
+
state.pointerType = '';
|
|
75
75
|
state.target = null;
|
|
76
|
-
if (pointerType ===
|
|
76
|
+
if (pointerType === 'touch' || !state.isHovered) return;
|
|
77
77
|
state.isHovered = false;
|
|
78
78
|
let target = event.currentTarget;
|
|
79
79
|
if (onHoverEnd) onHoverEnd({
|
|
80
|
-
type:
|
|
80
|
+
type: 'hoverend',
|
|
81
81
|
target: target,
|
|
82
82
|
pointerType: pointerType
|
|
83
83
|
});
|
|
@@ -85,9 +85,9 @@ function $6179b936705e76d3$export$ae780daf29e6d456(props) {
|
|
|
85
85
|
setHovered(false);
|
|
86
86
|
};
|
|
87
87
|
let hoverProps = {};
|
|
88
|
-
if (typeof PointerEvent !==
|
|
88
|
+
if (typeof PointerEvent !== 'undefined') {
|
|
89
89
|
hoverProps.onPointerEnter = (e)=>{
|
|
90
|
-
if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType ===
|
|
90
|
+
if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;
|
|
91
91
|
triggerHoverStart(e, e.pointerType);
|
|
92
92
|
};
|
|
93
93
|
hoverProps.onPointerLeave = (e)=>{
|
|
@@ -98,11 +98,11 @@ function $6179b936705e76d3$export$ae780daf29e6d456(props) {
|
|
|
98
98
|
state.ignoreEmulatedMouseEvents = true;
|
|
99
99
|
};
|
|
100
100
|
hoverProps.onMouseEnter = (e)=>{
|
|
101
|
-
if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e,
|
|
101
|
+
if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');
|
|
102
102
|
state.ignoreEmulatedMouseEvents = false;
|
|
103
103
|
};
|
|
104
104
|
hoverProps.onMouseLeave = (e)=>{
|
|
105
|
-
if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e,
|
|
105
|
+
if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
108
|
return {
|
|
@@ -44,17 +44,17 @@ function $edcfa848c42f94f4$export$872b660ac5a1ff98(props) {
|
|
|
44
44
|
const element = ref.current;
|
|
45
45
|
const documentObject = (0, $9Icr4$reactariautils.getOwnerDocument)(element);
|
|
46
46
|
// Use pointer events if available. Otherwise, fall back to mouse and touch events.
|
|
47
|
-
if (typeof PointerEvent !==
|
|
47
|
+
if (typeof PointerEvent !== 'undefined') {
|
|
48
48
|
let onPointerUp = (e)=>{
|
|
49
49
|
if (state.isPointerDown && $edcfa848c42f94f4$var$isValidEvent(e, ref)) triggerInteractOutside(e);
|
|
50
50
|
state.isPointerDown = false;
|
|
51
51
|
};
|
|
52
52
|
// changing these to capture phase fixed combobox
|
|
53
|
-
documentObject.addEventListener(
|
|
54
|
-
documentObject.addEventListener(
|
|
53
|
+
documentObject.addEventListener('pointerdown', onPointerDown, true);
|
|
54
|
+
documentObject.addEventListener('pointerup', onPointerUp, true);
|
|
55
55
|
return ()=>{
|
|
56
|
-
documentObject.removeEventListener(
|
|
57
|
-
documentObject.removeEventListener(
|
|
56
|
+
documentObject.removeEventListener('pointerdown', onPointerDown, true);
|
|
57
|
+
documentObject.removeEventListener('pointerup', onPointerUp, true);
|
|
58
58
|
};
|
|
59
59
|
} else {
|
|
60
60
|
let onMouseUp = (e)=>{
|
|
@@ -67,15 +67,15 @@ function $edcfa848c42f94f4$export$872b660ac5a1ff98(props) {
|
|
|
67
67
|
if (state.isPointerDown && $edcfa848c42f94f4$var$isValidEvent(e, ref)) triggerInteractOutside(e);
|
|
68
68
|
state.isPointerDown = false;
|
|
69
69
|
};
|
|
70
|
-
documentObject.addEventListener(
|
|
71
|
-
documentObject.addEventListener(
|
|
72
|
-
documentObject.addEventListener(
|
|
73
|
-
documentObject.addEventListener(
|
|
70
|
+
documentObject.addEventListener('mousedown', onPointerDown, true);
|
|
71
|
+
documentObject.addEventListener('mouseup', onMouseUp, true);
|
|
72
|
+
documentObject.addEventListener('touchstart', onPointerDown, true);
|
|
73
|
+
documentObject.addEventListener('touchend', onTouchEnd, true);
|
|
74
74
|
return ()=>{
|
|
75
|
-
documentObject.removeEventListener(
|
|
76
|
-
documentObject.removeEventListener(
|
|
77
|
-
documentObject.removeEventListener(
|
|
78
|
-
documentObject.removeEventListener(
|
|
75
|
+
documentObject.removeEventListener('mousedown', onPointerDown, true);
|
|
76
|
+
documentObject.removeEventListener('mouseup', onMouseUp, true);
|
|
77
|
+
documentObject.removeEventListener('touchstart', onPointerDown, true);
|
|
78
|
+
documentObject.removeEventListener('touchend', onTouchEnd, true);
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
81
|
}, [
|
|
@@ -92,7 +92,7 @@ function $edcfa848c42f94f4$var$isValidEvent(event, ref) {
|
|
|
92
92
|
const ownerDocument = event.target.ownerDocument;
|
|
93
93
|
if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) return false;
|
|
94
94
|
// If the target is within a top layer element (e.g. toasts), ignore.
|
|
95
|
-
if (event.target.closest(
|
|
95
|
+
if (event.target.closest('[data-react-aria-top-layer]')) return false;
|
|
96
96
|
}
|
|
97
97
|
return ref.current && !ref.current.contains(event.target);
|
|
98
98
|
}
|
|
@@ -38,17 +38,17 @@ function $e0b6e0b68ec7f50f$export$872b660ac5a1ff98(props) {
|
|
|
38
38
|
const element = ref.current;
|
|
39
39
|
const documentObject = (0, $ispOf$getOwnerDocument)(element);
|
|
40
40
|
// Use pointer events if available. Otherwise, fall back to mouse and touch events.
|
|
41
|
-
if (typeof PointerEvent !==
|
|
41
|
+
if (typeof PointerEvent !== 'undefined') {
|
|
42
42
|
let onPointerUp = (e)=>{
|
|
43
43
|
if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);
|
|
44
44
|
state.isPointerDown = false;
|
|
45
45
|
};
|
|
46
46
|
// changing these to capture phase fixed combobox
|
|
47
|
-
documentObject.addEventListener(
|
|
48
|
-
documentObject.addEventListener(
|
|
47
|
+
documentObject.addEventListener('pointerdown', onPointerDown, true);
|
|
48
|
+
documentObject.addEventListener('pointerup', onPointerUp, true);
|
|
49
49
|
return ()=>{
|
|
50
|
-
documentObject.removeEventListener(
|
|
51
|
-
documentObject.removeEventListener(
|
|
50
|
+
documentObject.removeEventListener('pointerdown', onPointerDown, true);
|
|
51
|
+
documentObject.removeEventListener('pointerup', onPointerUp, true);
|
|
52
52
|
};
|
|
53
53
|
} else {
|
|
54
54
|
let onMouseUp = (e)=>{
|
|
@@ -61,15 +61,15 @@ function $e0b6e0b68ec7f50f$export$872b660ac5a1ff98(props) {
|
|
|
61
61
|
if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);
|
|
62
62
|
state.isPointerDown = false;
|
|
63
63
|
};
|
|
64
|
-
documentObject.addEventListener(
|
|
65
|
-
documentObject.addEventListener(
|
|
66
|
-
documentObject.addEventListener(
|
|
67
|
-
documentObject.addEventListener(
|
|
64
|
+
documentObject.addEventListener('mousedown', onPointerDown, true);
|
|
65
|
+
documentObject.addEventListener('mouseup', onMouseUp, true);
|
|
66
|
+
documentObject.addEventListener('touchstart', onPointerDown, true);
|
|
67
|
+
documentObject.addEventListener('touchend', onTouchEnd, true);
|
|
68
68
|
return ()=>{
|
|
69
|
-
documentObject.removeEventListener(
|
|
70
|
-
documentObject.removeEventListener(
|
|
71
|
-
documentObject.removeEventListener(
|
|
72
|
-
documentObject.removeEventListener(
|
|
69
|
+
documentObject.removeEventListener('mousedown', onPointerDown, true);
|
|
70
|
+
documentObject.removeEventListener('mouseup', onMouseUp, true);
|
|
71
|
+
documentObject.removeEventListener('touchstart', onPointerDown, true);
|
|
72
|
+
documentObject.removeEventListener('touchend', onTouchEnd, true);
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
}, [
|
|
@@ -86,11 +86,11 @@ function $e0b6e0b68ec7f50f$var$isValidEvent(event, ref) {
|
|
|
86
86
|
const ownerDocument = event.target.ownerDocument;
|
|
87
87
|
if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) return false;
|
|
88
88
|
// If the target is within a top layer element (e.g. toasts), ignore.
|
|
89
|
-
if (event.target.closest(
|
|
89
|
+
if (event.target.closest('[data-react-aria-top-layer]')) return false;
|
|
90
90
|
}
|
|
91
91
|
return ref.current && !ref.current.contains(event.target);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
export {$e0b6e0b68ec7f50f$export$872b660ac5a1ff98 as useInteractOutside};
|
|
96
|
-
//# sourceMappingURL=useInteractOutside.
|
|
96
|
+
//# sourceMappingURL=useInteractOutside.module.js.map
|
|
@@ -38,17 +38,17 @@ function $e0b6e0b68ec7f50f$export$872b660ac5a1ff98(props) {
|
|
|
38
38
|
const element = ref.current;
|
|
39
39
|
const documentObject = (0, $ispOf$getOwnerDocument)(element);
|
|
40
40
|
// Use pointer events if available. Otherwise, fall back to mouse and touch events.
|
|
41
|
-
if (typeof PointerEvent !==
|
|
41
|
+
if (typeof PointerEvent !== 'undefined') {
|
|
42
42
|
let onPointerUp = (e)=>{
|
|
43
43
|
if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);
|
|
44
44
|
state.isPointerDown = false;
|
|
45
45
|
};
|
|
46
46
|
// changing these to capture phase fixed combobox
|
|
47
|
-
documentObject.addEventListener(
|
|
48
|
-
documentObject.addEventListener(
|
|
47
|
+
documentObject.addEventListener('pointerdown', onPointerDown, true);
|
|
48
|
+
documentObject.addEventListener('pointerup', onPointerUp, true);
|
|
49
49
|
return ()=>{
|
|
50
|
-
documentObject.removeEventListener(
|
|
51
|
-
documentObject.removeEventListener(
|
|
50
|
+
documentObject.removeEventListener('pointerdown', onPointerDown, true);
|
|
51
|
+
documentObject.removeEventListener('pointerup', onPointerUp, true);
|
|
52
52
|
};
|
|
53
53
|
} else {
|
|
54
54
|
let onMouseUp = (e)=>{
|
|
@@ -61,15 +61,15 @@ function $e0b6e0b68ec7f50f$export$872b660ac5a1ff98(props) {
|
|
|
61
61
|
if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);
|
|
62
62
|
state.isPointerDown = false;
|
|
63
63
|
};
|
|
64
|
-
documentObject.addEventListener(
|
|
65
|
-
documentObject.addEventListener(
|
|
66
|
-
documentObject.addEventListener(
|
|
67
|
-
documentObject.addEventListener(
|
|
64
|
+
documentObject.addEventListener('mousedown', onPointerDown, true);
|
|
65
|
+
documentObject.addEventListener('mouseup', onMouseUp, true);
|
|
66
|
+
documentObject.addEventListener('touchstart', onPointerDown, true);
|
|
67
|
+
documentObject.addEventListener('touchend', onTouchEnd, true);
|
|
68
68
|
return ()=>{
|
|
69
|
-
documentObject.removeEventListener(
|
|
70
|
-
documentObject.removeEventListener(
|
|
71
|
-
documentObject.removeEventListener(
|
|
72
|
-
documentObject.removeEventListener(
|
|
69
|
+
documentObject.removeEventListener('mousedown', onPointerDown, true);
|
|
70
|
+
documentObject.removeEventListener('mouseup', onMouseUp, true);
|
|
71
|
+
documentObject.removeEventListener('touchstart', onPointerDown, true);
|
|
72
|
+
documentObject.removeEventListener('touchend', onTouchEnd, true);
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
}, [
|
|
@@ -86,7 +86,7 @@ function $e0b6e0b68ec7f50f$var$isValidEvent(event, ref) {
|
|
|
86
86
|
const ownerDocument = event.target.ownerDocument;
|
|
87
87
|
if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) return false;
|
|
88
88
|
// If the target is within a top layer element (e.g. toasts), ignore.
|
|
89
|
-
if (event.target.closest(
|
|
89
|
+
if (event.target.closest('[data-react-aria-top-layer]')) return false;
|
|
90
90
|
}
|
|
91
91
|
return ref.current && !ref.current.contains(event.target);
|
|
92
92
|
}
|
package/dist/useKeyboard.mjs
CHANGED
|
@@ -30,35 +30,35 @@ function $3cd7b5d0eebf0ca9$export$c24ed0104d07eab9(props) {
|
|
|
30
30
|
isDisabled: isDisabled,
|
|
31
31
|
onPressStart (e) {
|
|
32
32
|
e.continuePropagation();
|
|
33
|
-
if (e.pointerType ===
|
|
33
|
+
if (e.pointerType === 'mouse' || e.pointerType === 'touch') {
|
|
34
34
|
if (onLongPressStart) onLongPressStart({
|
|
35
35
|
...e,
|
|
36
|
-
type:
|
|
36
|
+
type: 'longpressstart'
|
|
37
37
|
});
|
|
38
38
|
timeRef.current = setTimeout(()=>{
|
|
39
39
|
// Prevent other usePress handlers from also handling this event.
|
|
40
|
-
e.target.dispatchEvent(new PointerEvent(
|
|
40
|
+
e.target.dispatchEvent(new PointerEvent('pointercancel', {
|
|
41
41
|
bubbles: true
|
|
42
42
|
}));
|
|
43
43
|
if (onLongPress) onLongPress({
|
|
44
44
|
...e,
|
|
45
|
-
type:
|
|
45
|
+
type: 'longpress'
|
|
46
46
|
});
|
|
47
47
|
timeRef.current = undefined;
|
|
48
48
|
}, threshold);
|
|
49
49
|
// Prevent context menu, which may be opened on long press on touch devices
|
|
50
|
-
if (e.pointerType ===
|
|
50
|
+
if (e.pointerType === 'touch') {
|
|
51
51
|
let onContextMenu = (e)=>{
|
|
52
52
|
e.preventDefault();
|
|
53
53
|
};
|
|
54
|
-
addGlobalListener(e.target,
|
|
54
|
+
addGlobalListener(e.target, 'contextmenu', onContextMenu, {
|
|
55
55
|
once: true
|
|
56
56
|
});
|
|
57
|
-
addGlobalListener(window,
|
|
57
|
+
addGlobalListener(window, 'pointerup', ()=>{
|
|
58
58
|
// If no contextmenu event is fired quickly after pointerup, remove the handler
|
|
59
59
|
// so future context menu events outside a long press are not prevented.
|
|
60
60
|
setTimeout(()=>{
|
|
61
|
-
removeGlobalListener(e.target,
|
|
61
|
+
removeGlobalListener(e.target, 'contextmenu', onContextMenu);
|
|
62
62
|
}, 30);
|
|
63
63
|
}, {
|
|
64
64
|
once: true
|
|
@@ -68,9 +68,9 @@ function $3cd7b5d0eebf0ca9$export$c24ed0104d07eab9(props) {
|
|
|
68
68
|
},
|
|
69
69
|
onPressEnd (e) {
|
|
70
70
|
if (timeRef.current) clearTimeout(timeRef.current);
|
|
71
|
-
if (onLongPressEnd && (e.pointerType ===
|
|
71
|
+
if (onLongPressEnd && (e.pointerType === 'mouse' || e.pointerType === 'touch')) onLongPressEnd({
|
|
72
72
|
...e,
|
|
73
|
-
type:
|
|
73
|
+
type: 'longpressend'
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
});
|
package/dist/useLongPress.mjs
CHANGED
|
@@ -24,35 +24,35 @@ function $8a26561d2877236e$export$c24ed0104d07eab9(props) {
|
|
|
24
24
|
isDisabled: isDisabled,
|
|
25
25
|
onPressStart (e) {
|
|
26
26
|
e.continuePropagation();
|
|
27
|
-
if (e.pointerType ===
|
|
27
|
+
if (e.pointerType === 'mouse' || e.pointerType === 'touch') {
|
|
28
28
|
if (onLongPressStart) onLongPressStart({
|
|
29
29
|
...e,
|
|
30
|
-
type:
|
|
30
|
+
type: 'longpressstart'
|
|
31
31
|
});
|
|
32
32
|
timeRef.current = setTimeout(()=>{
|
|
33
33
|
// Prevent other usePress handlers from also handling this event.
|
|
34
|
-
e.target.dispatchEvent(new PointerEvent(
|
|
34
|
+
e.target.dispatchEvent(new PointerEvent('pointercancel', {
|
|
35
35
|
bubbles: true
|
|
36
36
|
}));
|
|
37
37
|
if (onLongPress) onLongPress({
|
|
38
38
|
...e,
|
|
39
|
-
type:
|
|
39
|
+
type: 'longpress'
|
|
40
40
|
});
|
|
41
41
|
timeRef.current = undefined;
|
|
42
42
|
}, threshold);
|
|
43
43
|
// Prevent context menu, which may be opened on long press on touch devices
|
|
44
|
-
if (e.pointerType ===
|
|
44
|
+
if (e.pointerType === 'touch') {
|
|
45
45
|
let onContextMenu = (e)=>{
|
|
46
46
|
e.preventDefault();
|
|
47
47
|
};
|
|
48
|
-
addGlobalListener(e.target,
|
|
48
|
+
addGlobalListener(e.target, 'contextmenu', onContextMenu, {
|
|
49
49
|
once: true
|
|
50
50
|
});
|
|
51
|
-
addGlobalListener(window,
|
|
51
|
+
addGlobalListener(window, 'pointerup', ()=>{
|
|
52
52
|
// If no contextmenu event is fired quickly after pointerup, remove the handler
|
|
53
53
|
// so future context menu events outside a long press are not prevented.
|
|
54
54
|
setTimeout(()=>{
|
|
55
|
-
removeGlobalListener(e.target,
|
|
55
|
+
removeGlobalListener(e.target, 'contextmenu', onContextMenu);
|
|
56
56
|
}, 30);
|
|
57
57
|
}, {
|
|
58
58
|
once: true
|
|
@@ -62,9 +62,9 @@ function $8a26561d2877236e$export$c24ed0104d07eab9(props) {
|
|
|
62
62
|
},
|
|
63
63
|
onPressEnd (e) {
|
|
64
64
|
if (timeRef.current) clearTimeout(timeRef.current);
|
|
65
|
-
if (onLongPressEnd && (e.pointerType ===
|
|
65
|
+
if (onLongPressEnd && (e.pointerType === 'mouse' || e.pointerType === 'touch')) onLongPressEnd({
|
|
66
66
|
...e,
|
|
67
|
-
type:
|
|
67
|
+
type: 'longpressend'
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
70
|
});
|
|
@@ -76,4 +76,4 @@ function $8a26561d2877236e$export$c24ed0104d07eab9(props) {
|
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
export {$8a26561d2877236e$export$c24ed0104d07eab9 as useLongPress};
|
|
79
|
-
//# sourceMappingURL=useLongPress.
|
|
79
|
+
//# sourceMappingURL=useLongPress.module.js.map
|
|
@@ -24,35 +24,35 @@ function $8a26561d2877236e$export$c24ed0104d07eab9(props) {
|
|
|
24
24
|
isDisabled: isDisabled,
|
|
25
25
|
onPressStart (e) {
|
|
26
26
|
e.continuePropagation();
|
|
27
|
-
if (e.pointerType ===
|
|
27
|
+
if (e.pointerType === 'mouse' || e.pointerType === 'touch') {
|
|
28
28
|
if (onLongPressStart) onLongPressStart({
|
|
29
29
|
...e,
|
|
30
|
-
type:
|
|
30
|
+
type: 'longpressstart'
|
|
31
31
|
});
|
|
32
32
|
timeRef.current = setTimeout(()=>{
|
|
33
33
|
// Prevent other usePress handlers from also handling this event.
|
|
34
|
-
e.target.dispatchEvent(new PointerEvent(
|
|
34
|
+
e.target.dispatchEvent(new PointerEvent('pointercancel', {
|
|
35
35
|
bubbles: true
|
|
36
36
|
}));
|
|
37
37
|
if (onLongPress) onLongPress({
|
|
38
38
|
...e,
|
|
39
|
-
type:
|
|
39
|
+
type: 'longpress'
|
|
40
40
|
});
|
|
41
41
|
timeRef.current = undefined;
|
|
42
42
|
}, threshold);
|
|
43
43
|
// Prevent context menu, which may be opened on long press on touch devices
|
|
44
|
-
if (e.pointerType ===
|
|
44
|
+
if (e.pointerType === 'touch') {
|
|
45
45
|
let onContextMenu = (e)=>{
|
|
46
46
|
e.preventDefault();
|
|
47
47
|
};
|
|
48
|
-
addGlobalListener(e.target,
|
|
48
|
+
addGlobalListener(e.target, 'contextmenu', onContextMenu, {
|
|
49
49
|
once: true
|
|
50
50
|
});
|
|
51
|
-
addGlobalListener(window,
|
|
51
|
+
addGlobalListener(window, 'pointerup', ()=>{
|
|
52
52
|
// If no contextmenu event is fired quickly after pointerup, remove the handler
|
|
53
53
|
// so future context menu events outside a long press are not prevented.
|
|
54
54
|
setTimeout(()=>{
|
|
55
|
-
removeGlobalListener(e.target,
|
|
55
|
+
removeGlobalListener(e.target, 'contextmenu', onContextMenu);
|
|
56
56
|
}, 30);
|
|
57
57
|
}, {
|
|
58
58
|
once: true
|
|
@@ -62,9 +62,9 @@ function $8a26561d2877236e$export$c24ed0104d07eab9(props) {
|
|
|
62
62
|
},
|
|
63
63
|
onPressEnd (e) {
|
|
64
64
|
if (timeRef.current) clearTimeout(timeRef.current);
|
|
65
|
-
if (onLongPressEnd && (e.pointerType ===
|
|
65
|
+
if (onLongPressEnd && (e.pointerType === 'mouse' || e.pointerType === 'touch')) onLongPressEnd({
|
|
66
66
|
...e,
|
|
67
|
-
type:
|
|
67
|
+
type: 'longpressend'
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
70
|
});
|
package/dist/useMove.main.js
CHANGED
|
@@ -34,7 +34,7 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
34
34
|
if (!state.current.didMove) {
|
|
35
35
|
state.current.didMove = true;
|
|
36
36
|
onMoveStart === null || onMoveStart === void 0 ? void 0 : onMoveStart({
|
|
37
|
-
type:
|
|
37
|
+
type: 'movestart',
|
|
38
38
|
pointerType: pointerType,
|
|
39
39
|
shiftKey: originalEvent.shiftKey,
|
|
40
40
|
metaKey: originalEvent.metaKey,
|
|
@@ -43,7 +43,7 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
onMove === null || onMove === void 0 ? void 0 : onMove({
|
|
46
|
-
type:
|
|
46
|
+
type: 'move',
|
|
47
47
|
pointerType: pointerType,
|
|
48
48
|
deltaX: deltaX,
|
|
49
49
|
deltaY: deltaY,
|
|
@@ -56,7 +56,7 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
56
56
|
let end = (0, $cvDGj$reactariautils.useEffectEvent)((originalEvent, pointerType)=>{
|
|
57
57
|
(0, $f7e14e656343df57$exports.restoreTextSelection)();
|
|
58
58
|
if (state.current.didMove) onMoveEnd === null || onMoveEnd === void 0 ? void 0 : onMoveEnd({
|
|
59
|
-
type:
|
|
59
|
+
type: 'moveend',
|
|
60
60
|
pointerType: pointerType,
|
|
61
61
|
shiftKey: originalEvent.shiftKey,
|
|
62
62
|
metaKey: originalEvent.metaKey,
|
|
@@ -70,12 +70,12 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
70
70
|
(0, $f7e14e656343df57$exports.disableTextSelection)();
|
|
71
71
|
state.current.didMove = false;
|
|
72
72
|
};
|
|
73
|
-
if (typeof PointerEvent ===
|
|
73
|
+
if (typeof PointerEvent === 'undefined') {
|
|
74
74
|
let onMouseMove = (e)=>{
|
|
75
75
|
if (e.button === 0) {
|
|
76
76
|
var _state_current_lastPosition, _state_current_lastPosition1;
|
|
77
77
|
var _state_current_lastPosition_pageX, _state_current_lastPosition_pageY;
|
|
78
|
-
move(e,
|
|
78
|
+
move(e, 'mouse', e.pageX - ((_state_current_lastPosition_pageX = (_state_current_lastPosition = state.current.lastPosition) === null || _state_current_lastPosition === void 0 ? void 0 : _state_current_lastPosition.pageX) !== null && _state_current_lastPosition_pageX !== void 0 ? _state_current_lastPosition_pageX : 0), e.pageY - ((_state_current_lastPosition_pageY = (_state_current_lastPosition1 = state.current.lastPosition) === null || _state_current_lastPosition1 === void 0 ? void 0 : _state_current_lastPosition1.pageY) !== null && _state_current_lastPosition_pageY !== void 0 ? _state_current_lastPosition_pageY : 0));
|
|
79
79
|
state.current.lastPosition = {
|
|
80
80
|
pageX: e.pageX,
|
|
81
81
|
pageY: e.pageY
|
|
@@ -84,9 +84,9 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
84
84
|
};
|
|
85
85
|
let onMouseUp = (e)=>{
|
|
86
86
|
if (e.button === 0) {
|
|
87
|
-
end(e,
|
|
88
|
-
removeGlobalListener(window,
|
|
89
|
-
removeGlobalListener(window,
|
|
87
|
+
end(e, 'mouse');
|
|
88
|
+
removeGlobalListener(window, 'mousemove', onMouseMove, false);
|
|
89
|
+
removeGlobalListener(window, 'mouseup', onMouseUp, false);
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
92
|
moveProps.onMouseDown = (e)=>{
|
|
@@ -98,8 +98,8 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
98
98
|
pageX: e.pageX,
|
|
99
99
|
pageY: e.pageY
|
|
100
100
|
};
|
|
101
|
-
addGlobalListener(window,
|
|
102
|
-
addGlobalListener(window,
|
|
101
|
+
addGlobalListener(window, 'mousemove', onMouseMove, false);
|
|
102
|
+
addGlobalListener(window, 'mouseup', onMouseUp, false);
|
|
103
103
|
}
|
|
104
104
|
};
|
|
105
105
|
let onTouchMove = (e)=>{
|
|
@@ -110,7 +110,7 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
110
110
|
var _state_current_lastPosition, _state_current_lastPosition1;
|
|
111
111
|
let { pageX: pageX, pageY: pageY } = e.changedTouches[touch];
|
|
112
112
|
var _state_current_lastPosition_pageX, _state_current_lastPosition_pageY;
|
|
113
|
-
move(e,
|
|
113
|
+
move(e, 'touch', pageX - ((_state_current_lastPosition_pageX = (_state_current_lastPosition = state.current.lastPosition) === null || _state_current_lastPosition === void 0 ? void 0 : _state_current_lastPosition.pageX) !== null && _state_current_lastPosition_pageX !== void 0 ? _state_current_lastPosition_pageX : 0), pageY - ((_state_current_lastPosition_pageY = (_state_current_lastPosition1 = state.current.lastPosition) === null || _state_current_lastPosition1 === void 0 ? void 0 : _state_current_lastPosition1.pageY) !== null && _state_current_lastPosition_pageY !== void 0 ? _state_current_lastPosition_pageY : 0));
|
|
114
114
|
state.current.lastPosition = {
|
|
115
115
|
pageX: pageX,
|
|
116
116
|
pageY: pageY
|
|
@@ -122,11 +122,11 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
122
122
|
...e.changedTouches
|
|
123
123
|
].findIndex(({ identifier: identifier })=>identifier === state.current.id);
|
|
124
124
|
if (touch >= 0) {
|
|
125
|
-
end(e,
|
|
125
|
+
end(e, 'touch');
|
|
126
126
|
state.current.id = null;
|
|
127
|
-
removeGlobalListener(window,
|
|
128
|
-
removeGlobalListener(window,
|
|
129
|
-
removeGlobalListener(window,
|
|
127
|
+
removeGlobalListener(window, 'touchmove', onTouchMove);
|
|
128
|
+
removeGlobalListener(window, 'touchend', onTouchEnd);
|
|
129
|
+
removeGlobalListener(window, 'touchcancel', onTouchEnd);
|
|
130
130
|
}
|
|
131
131
|
};
|
|
132
132
|
moveProps.onTouchStart = (e)=>{
|
|
@@ -140,15 +140,15 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
140
140
|
pageY: pageY
|
|
141
141
|
};
|
|
142
142
|
state.current.id = identifier;
|
|
143
|
-
addGlobalListener(window,
|
|
144
|
-
addGlobalListener(window,
|
|
145
|
-
addGlobalListener(window,
|
|
143
|
+
addGlobalListener(window, 'touchmove', onTouchMove, false);
|
|
144
|
+
addGlobalListener(window, 'touchend', onTouchEnd, false);
|
|
145
|
+
addGlobalListener(window, 'touchcancel', onTouchEnd, false);
|
|
146
146
|
};
|
|
147
147
|
} else {
|
|
148
148
|
let onPointerMove = (e)=>{
|
|
149
149
|
if (e.pointerId === state.current.id) {
|
|
150
150
|
var _state_current_lastPosition, _state_current_lastPosition1;
|
|
151
|
-
let pointerType = e.pointerType ||
|
|
151
|
+
let pointerType = e.pointerType || 'mouse';
|
|
152
152
|
var _state_current_lastPosition_pageX, _state_current_lastPosition_pageY;
|
|
153
153
|
// Problems with PointerEvent#movementX/movementY:
|
|
154
154
|
// 1. it is always 0 on macOS Safari.
|
|
@@ -162,12 +162,12 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
162
162
|
};
|
|
163
163
|
let onPointerUp = (e)=>{
|
|
164
164
|
if (e.pointerId === state.current.id) {
|
|
165
|
-
let pointerType = e.pointerType ||
|
|
165
|
+
let pointerType = e.pointerType || 'mouse';
|
|
166
166
|
end(e, pointerType);
|
|
167
167
|
state.current.id = null;
|
|
168
|
-
removeGlobalListener(window,
|
|
169
|
-
removeGlobalListener(window,
|
|
170
|
-
removeGlobalListener(window,
|
|
168
|
+
removeGlobalListener(window, 'pointermove', onPointerMove, false);
|
|
169
|
+
removeGlobalListener(window, 'pointerup', onPointerUp, false);
|
|
170
|
+
removeGlobalListener(window, 'pointercancel', onPointerUp, false);
|
|
171
171
|
}
|
|
172
172
|
};
|
|
173
173
|
moveProps.onPointerDown = (e)=>{
|
|
@@ -180,39 +180,39 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
|
|
|
180
180
|
pageY: e.pageY
|
|
181
181
|
};
|
|
182
182
|
state.current.id = e.pointerId;
|
|
183
|
-
addGlobalListener(window,
|
|
184
|
-
addGlobalListener(window,
|
|
185
|
-
addGlobalListener(window,
|
|
183
|
+
addGlobalListener(window, 'pointermove', onPointerMove, false);
|
|
184
|
+
addGlobalListener(window, 'pointerup', onPointerUp, false);
|
|
185
|
+
addGlobalListener(window, 'pointercancel', onPointerUp, false);
|
|
186
186
|
}
|
|
187
187
|
};
|
|
188
188
|
}
|
|
189
189
|
let triggerKeyboardMove = (e, deltaX, deltaY)=>{
|
|
190
190
|
start();
|
|
191
|
-
move(e,
|
|
192
|
-
end(e,
|
|
191
|
+
move(e, 'keyboard', deltaX, deltaY);
|
|
192
|
+
end(e, 'keyboard');
|
|
193
193
|
};
|
|
194
194
|
moveProps.onKeyDown = (e)=>{
|
|
195
195
|
switch(e.key){
|
|
196
|
-
case
|
|
197
|
-
case
|
|
196
|
+
case 'Left':
|
|
197
|
+
case 'ArrowLeft':
|
|
198
198
|
e.preventDefault();
|
|
199
199
|
e.stopPropagation();
|
|
200
200
|
triggerKeyboardMove(e, -1, 0);
|
|
201
201
|
break;
|
|
202
|
-
case
|
|
203
|
-
case
|
|
202
|
+
case 'Right':
|
|
203
|
+
case 'ArrowRight':
|
|
204
204
|
e.preventDefault();
|
|
205
205
|
e.stopPropagation();
|
|
206
206
|
triggerKeyboardMove(e, 1, 0);
|
|
207
207
|
break;
|
|
208
|
-
case
|
|
209
|
-
case
|
|
208
|
+
case 'Up':
|
|
209
|
+
case 'ArrowUp':
|
|
210
210
|
e.preventDefault();
|
|
211
211
|
e.stopPropagation();
|
|
212
212
|
triggerKeyboardMove(e, 0, -1);
|
|
213
213
|
break;
|
|
214
|
-
case
|
|
215
|
-
case
|
|
214
|
+
case 'Down':
|
|
215
|
+
case 'ArrowDown':
|
|
216
216
|
e.preventDefault();
|
|
217
217
|
e.stopPropagation();
|
|
218
218
|
triggerKeyboardMove(e, 0, 1);
|