@react-aria/interactions 3.21.2 → 3.22.0

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.
Files changed (58) hide show
  1. package/dist/PressResponder.mjs +1 -1
  2. package/dist/Pressable.mjs +1 -1
  3. package/dist/context.main.js +1 -1
  4. package/dist/context.mjs +2 -2
  5. package/dist/context.module.js +1 -1
  6. package/dist/createEventHandler.main.js +1 -1
  7. package/dist/createEventHandler.mjs +2 -2
  8. package/dist/createEventHandler.module.js +1 -1
  9. package/dist/textSelection.main.js +14 -14
  10. package/dist/textSelection.mjs +15 -15
  11. package/dist/textSelection.module.js +14 -14
  12. package/dist/types.d.ts +5 -5
  13. package/dist/types.d.ts.map +1 -1
  14. package/dist/useFocus.mjs +1 -1
  15. package/dist/useFocusVisible.main.js +54 -54
  16. package/dist/useFocusVisible.mjs +55 -55
  17. package/dist/useFocusVisible.module.js +54 -54
  18. package/dist/useFocusWithin.mjs +1 -1
  19. package/dist/useHover.main.js +16 -16
  20. package/dist/useHover.main.js.map +1 -1
  21. package/dist/useHover.mjs +17 -17
  22. package/dist/useHover.module.js +16 -16
  23. package/dist/useHover.module.js.map +1 -1
  24. package/dist/useInteractOutside.main.js +14 -14
  25. package/dist/useInteractOutside.main.js.map +1 -1
  26. package/dist/useInteractOutside.mjs +15 -15
  27. package/dist/useInteractOutside.module.js +14 -14
  28. package/dist/useInteractOutside.module.js.map +1 -1
  29. package/dist/useKeyboard.mjs +1 -1
  30. package/dist/useLongPress.main.js +11 -11
  31. package/dist/useLongPress.main.js.map +1 -1
  32. package/dist/useLongPress.mjs +12 -12
  33. package/dist/useLongPress.module.js +11 -11
  34. package/dist/useLongPress.module.js.map +1 -1
  35. package/dist/useMove.main.js +36 -36
  36. package/dist/useMove.mjs +37 -37
  37. package/dist/useMove.module.js +36 -36
  38. package/dist/usePress.main.js +95 -54
  39. package/dist/usePress.main.js.map +1 -1
  40. package/dist/usePress.mjs +96 -55
  41. package/dist/usePress.module.js +95 -54
  42. package/dist/usePress.module.js.map +1 -1
  43. package/dist/useScrollWheel.main.js +1 -1
  44. package/dist/useScrollWheel.main.js.map +1 -1
  45. package/dist/useScrollWheel.mjs +2 -2
  46. package/dist/useScrollWheel.module.js +1 -1
  47. package/dist/useScrollWheel.module.js.map +1 -1
  48. package/dist/utils.main.js +5 -5
  49. package/dist/utils.mjs +6 -6
  50. package/dist/utils.module.js +5 -5
  51. package/package.json +6 -6
  52. package/src/DOMPropsContext.ts +3 -3
  53. package/src/useDOMPropsResponder.ts +2 -2
  54. package/src/useHover.ts +0 -1
  55. package/src/useInteractOutside.ts +3 -2
  56. package/src/useLongPress.ts +1 -1
  57. package/src/usePress.ts +60 -14
  58. package/src/useScrollWheel.ts +3 -3
@@ -28,7 +28,7 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
28
28
  if (!state.current.didMove) {
29
29
  state.current.didMove = true;
30
30
  onMoveStart === null || onMoveStart === void 0 ? void 0 : onMoveStart({
31
- type: "movestart",
31
+ type: 'movestart',
32
32
  pointerType: pointerType,
33
33
  shiftKey: originalEvent.shiftKey,
34
34
  metaKey: originalEvent.metaKey,
@@ -37,7 +37,7 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
37
37
  });
38
38
  }
39
39
  onMove === null || onMove === void 0 ? void 0 : onMove({
40
- type: "move",
40
+ type: 'move',
41
41
  pointerType: pointerType,
42
42
  deltaX: deltaX,
43
43
  deltaY: deltaY,
@@ -50,7 +50,7 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
50
50
  let end = (0, $5GN7j$useEffectEvent)((originalEvent, pointerType)=>{
51
51
  (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)();
52
52
  if (state.current.didMove) onMoveEnd === null || onMoveEnd === void 0 ? void 0 : onMoveEnd({
53
- type: "moveend",
53
+ type: 'moveend',
54
54
  pointerType: pointerType,
55
55
  shiftKey: originalEvent.shiftKey,
56
56
  metaKey: originalEvent.metaKey,
@@ -64,12 +64,12 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
64
64
  (0, $14c0b72509d70225$export$16a4697467175487)();
65
65
  state.current.didMove = false;
66
66
  };
67
- if (typeof PointerEvent === "undefined") {
67
+ if (typeof PointerEvent === 'undefined') {
68
68
  let onMouseMove = (e)=>{
69
69
  if (e.button === 0) {
70
70
  var _state_current_lastPosition, _state_current_lastPosition1;
71
71
  var _state_current_lastPosition_pageX, _state_current_lastPosition_pageY;
72
- 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));
72
+ 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));
73
73
  state.current.lastPosition = {
74
74
  pageX: e.pageX,
75
75
  pageY: e.pageY
@@ -78,9 +78,9 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
78
78
  };
79
79
  let onMouseUp = (e)=>{
80
80
  if (e.button === 0) {
81
- end(e, "mouse");
82
- removeGlobalListener(window, "mousemove", onMouseMove, false);
83
- removeGlobalListener(window, "mouseup", onMouseUp, false);
81
+ end(e, 'mouse');
82
+ removeGlobalListener(window, 'mousemove', onMouseMove, false);
83
+ removeGlobalListener(window, 'mouseup', onMouseUp, false);
84
84
  }
85
85
  };
86
86
  moveProps.onMouseDown = (e)=>{
@@ -92,8 +92,8 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
92
92
  pageX: e.pageX,
93
93
  pageY: e.pageY
94
94
  };
95
- addGlobalListener(window, "mousemove", onMouseMove, false);
96
- addGlobalListener(window, "mouseup", onMouseUp, false);
95
+ addGlobalListener(window, 'mousemove', onMouseMove, false);
96
+ addGlobalListener(window, 'mouseup', onMouseUp, false);
97
97
  }
98
98
  };
99
99
  let onTouchMove = (e)=>{
@@ -104,7 +104,7 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
104
104
  var _state_current_lastPosition, _state_current_lastPosition1;
105
105
  let { pageX: pageX, pageY: pageY } = e.changedTouches[touch];
106
106
  var _state_current_lastPosition_pageX, _state_current_lastPosition_pageY;
107
- 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));
107
+ 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));
108
108
  state.current.lastPosition = {
109
109
  pageX: pageX,
110
110
  pageY: pageY
@@ -116,11 +116,11 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
116
116
  ...e.changedTouches
117
117
  ].findIndex(({ identifier: identifier })=>identifier === state.current.id);
118
118
  if (touch >= 0) {
119
- end(e, "touch");
119
+ end(e, 'touch');
120
120
  state.current.id = null;
121
- removeGlobalListener(window, "touchmove", onTouchMove);
122
- removeGlobalListener(window, "touchend", onTouchEnd);
123
- removeGlobalListener(window, "touchcancel", onTouchEnd);
121
+ removeGlobalListener(window, 'touchmove', onTouchMove);
122
+ removeGlobalListener(window, 'touchend', onTouchEnd);
123
+ removeGlobalListener(window, 'touchcancel', onTouchEnd);
124
124
  }
125
125
  };
126
126
  moveProps.onTouchStart = (e)=>{
@@ -134,15 +134,15 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
134
134
  pageY: pageY
135
135
  };
136
136
  state.current.id = identifier;
137
- addGlobalListener(window, "touchmove", onTouchMove, false);
138
- addGlobalListener(window, "touchend", onTouchEnd, false);
139
- addGlobalListener(window, "touchcancel", onTouchEnd, false);
137
+ addGlobalListener(window, 'touchmove', onTouchMove, false);
138
+ addGlobalListener(window, 'touchend', onTouchEnd, false);
139
+ addGlobalListener(window, 'touchcancel', onTouchEnd, false);
140
140
  };
141
141
  } else {
142
142
  let onPointerMove = (e)=>{
143
143
  if (e.pointerId === state.current.id) {
144
144
  var _state_current_lastPosition, _state_current_lastPosition1;
145
- let pointerType = e.pointerType || "mouse";
145
+ let pointerType = e.pointerType || 'mouse';
146
146
  var _state_current_lastPosition_pageX, _state_current_lastPosition_pageY;
147
147
  // Problems with PointerEvent#movementX/movementY:
148
148
  // 1. it is always 0 on macOS Safari.
@@ -156,12 +156,12 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
156
156
  };
157
157
  let onPointerUp = (e)=>{
158
158
  if (e.pointerId === state.current.id) {
159
- let pointerType = e.pointerType || "mouse";
159
+ let pointerType = e.pointerType || 'mouse';
160
160
  end(e, pointerType);
161
161
  state.current.id = null;
162
- removeGlobalListener(window, "pointermove", onPointerMove, false);
163
- removeGlobalListener(window, "pointerup", onPointerUp, false);
164
- removeGlobalListener(window, "pointercancel", onPointerUp, false);
162
+ removeGlobalListener(window, 'pointermove', onPointerMove, false);
163
+ removeGlobalListener(window, 'pointerup', onPointerUp, false);
164
+ removeGlobalListener(window, 'pointercancel', onPointerUp, false);
165
165
  }
166
166
  };
167
167
  moveProps.onPointerDown = (e)=>{
@@ -174,39 +174,39 @@ function $e8a7022cf87cba2a$export$36da96379f79f245(props) {
174
174
  pageY: e.pageY
175
175
  };
176
176
  state.current.id = e.pointerId;
177
- addGlobalListener(window, "pointermove", onPointerMove, false);
178
- addGlobalListener(window, "pointerup", onPointerUp, false);
179
- addGlobalListener(window, "pointercancel", onPointerUp, false);
177
+ addGlobalListener(window, 'pointermove', onPointerMove, false);
178
+ addGlobalListener(window, 'pointerup', onPointerUp, false);
179
+ addGlobalListener(window, 'pointercancel', onPointerUp, false);
180
180
  }
181
181
  };
182
182
  }
183
183
  let triggerKeyboardMove = (e, deltaX, deltaY)=>{
184
184
  start();
185
- move(e, "keyboard", deltaX, deltaY);
186
- end(e, "keyboard");
185
+ move(e, 'keyboard', deltaX, deltaY);
186
+ end(e, 'keyboard');
187
187
  };
188
188
  moveProps.onKeyDown = (e)=>{
189
189
  switch(e.key){
190
- case "Left":
191
- case "ArrowLeft":
190
+ case 'Left':
191
+ case 'ArrowLeft':
192
192
  e.preventDefault();
193
193
  e.stopPropagation();
194
194
  triggerKeyboardMove(e, -1, 0);
195
195
  break;
196
- case "Right":
197
- case "ArrowRight":
196
+ case 'Right':
197
+ case 'ArrowRight':
198
198
  e.preventDefault();
199
199
  e.stopPropagation();
200
200
  triggerKeyboardMove(e, 1, 0);
201
201
  break;
202
- case "Up":
203
- case "ArrowUp":
202
+ case 'Up':
203
+ case 'ArrowUp':
204
204
  e.preventDefault();
205
205
  e.stopPropagation();
206
206
  triggerKeyboardMove(e, 0, -1);
207
207
  break;
208
- case "Down":
209
- case "ArrowDown":
208
+ case 'Down':
209
+ case 'ArrowDown':
210
210
  e.preventDefault();
211
211
  e.stopPropagation();
212
212
  triggerKeyboardMove(e, 0, 1);
@@ -52,12 +52,30 @@ class $0294ea432cd92340$var$PressEvent {
52
52
  get shouldStopPropagation() {
53
53
  return (0, $bBqCQ$swchelperscjs_class_private_field_getcjs._)(this, $0294ea432cd92340$var$_shouldStopPropagation);
54
54
  }
55
- constructor(type, pointerType, originalEvent){
55
+ constructor(type, pointerType, originalEvent, state){
56
56
  (0, $bBqCQ$swchelperscjs_class_private_field_initcjs._)(this, $0294ea432cd92340$var$_shouldStopPropagation, {
57
57
  writable: true,
58
58
  value: void 0
59
59
  });
60
60
  (0, $bBqCQ$swchelperscjs_class_private_field_setcjs._)(this, $0294ea432cd92340$var$_shouldStopPropagation, true);
61
+ var _state_target;
62
+ let currentTarget = (_state_target = state === null || state === void 0 ? void 0 : state.target) !== null && _state_target !== void 0 ? _state_target : originalEvent.currentTarget;
63
+ const rect = currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget.getBoundingClientRect();
64
+ let x, y = 0;
65
+ let clientX, clientY = null;
66
+ if (originalEvent.clientX != null && originalEvent.clientY != null) {
67
+ clientX = originalEvent.clientX;
68
+ clientY = originalEvent.clientY;
69
+ }
70
+ if (rect) {
71
+ if (clientX != null && clientY != null) {
72
+ x = clientX - rect.left;
73
+ y = clientY - rect.top;
74
+ } else {
75
+ x = rect.width / 2;
76
+ y = rect.height / 2;
77
+ }
78
+ }
61
79
  this.type = type;
62
80
  this.pointerType = pointerType;
63
81
  this.target = originalEvent.currentTarget;
@@ -65,9 +83,11 @@ class $0294ea432cd92340$var$PressEvent {
65
83
  this.metaKey = originalEvent.metaKey;
66
84
  this.ctrlKey = originalEvent.ctrlKey;
67
85
  this.altKey = originalEvent.altKey;
86
+ this.x = x;
87
+ this.y = y;
68
88
  }
69
89
  }
70
- const $0294ea432cd92340$var$LINK_CLICKED = Symbol("linkClicked");
90
+ const $0294ea432cd92340$var$LINK_CLICKED = Symbol('linkClicked');
71
91
  function $0294ea432cd92340$export$45712eceda6fad21(props) {
72
92
  let { onPress: onPress, onPressChange: onPressChange, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, isDisabled: isDisabled, isPressed: isPressedProp, preventFocusOnPress: preventFocusOnPress, shouldCancelOnPointerExit: shouldCancelOnPointerExit, allowTextSelectionOnPress: allowTextSelectionOnPress, // eslint-disable-next-line @typescript-eslint/no-unused-vars
73
93
  ref: _, ...domProps } = $0294ea432cd92340$var$usePressResponderContext(props);
@@ -90,7 +110,7 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
90
110
  let shouldStopPropagation = true;
91
111
  state.isTriggeringEvent = true;
92
112
  if (onPressStart) {
93
- let event = new $0294ea432cd92340$var$PressEvent("pressstart", pointerType, originalEvent);
113
+ let event = new $0294ea432cd92340$var$PressEvent('pressstart', pointerType, originalEvent);
94
114
  onPressStart(event);
95
115
  shouldStopPropagation = event.shouldStopPropagation;
96
116
  }
@@ -108,14 +128,14 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
108
128
  state.isTriggeringEvent = true;
109
129
  let shouldStopPropagation = true;
110
130
  if (onPressEnd) {
111
- let event = new $0294ea432cd92340$var$PressEvent("pressend", pointerType, originalEvent);
131
+ let event = new $0294ea432cd92340$var$PressEvent('pressend', pointerType, originalEvent);
112
132
  onPressEnd(event);
113
133
  shouldStopPropagation = event.shouldStopPropagation;
114
134
  }
115
135
  if (onPressChange) onPressChange(false);
116
136
  setPressed(false);
117
137
  if (onPress && wasPressed && !isDisabled) {
118
- let event = new $0294ea432cd92340$var$PressEvent("press", pointerType, originalEvent);
138
+ let event = new $0294ea432cd92340$var$PressEvent('press', pointerType, originalEvent);
119
139
  onPress(event);
120
140
  shouldStopPropagation && (shouldStopPropagation = event.shouldStopPropagation);
121
141
  }
@@ -127,7 +147,7 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
127
147
  if (isDisabled) return false;
128
148
  if (onPressUp) {
129
149
  state.isTriggeringEvent = true;
130
- let event = new $0294ea432cd92340$var$PressEvent("pressup", pointerType, originalEvent);
150
+ let event = new $0294ea432cd92340$var$PressEvent('pressup', pointerType, originalEvent);
131
151
  onPressUp(event);
132
152
  state.isTriggeringEvent = false;
133
153
  return event.shouldStopPropagation;
@@ -163,15 +183,15 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
163
183
  if (!state.isPressed && !e.repeat) {
164
184
  state.target = e.currentTarget;
165
185
  state.isPressed = true;
166
- shouldStopPropagation = triggerPressStart(e, "keyboard");
186
+ shouldStopPropagation = triggerPressStart(e, 'keyboard');
167
187
  // Focus may move before the key up event, so register the event on the document
168
188
  // instead of the same element where the key down event occurred. Make it capturing so that it will trigger
169
189
  // before stopPropagation from useKeyboard on a child element may happen and thus we can still call triggerPress for the parent element.
170
190
  let originalTarget = e.currentTarget;
171
191
  let pressUp = (e)=>{
172
- if ($0294ea432cd92340$var$isValidKeyboardEvent(e, originalTarget) && !e.repeat && originalTarget.contains(e.target) && state.target) triggerPressUp($0294ea432cd92340$var$createEvent(state.target, e), "keyboard");
192
+ if ($0294ea432cd92340$var$isValidKeyboardEvent(e, originalTarget) && !e.repeat && originalTarget.contains(e.target) && state.target) triggerPressUp($0294ea432cd92340$var$createEvent(state.target, e), 'keyboard');
173
193
  };
174
- addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), "keyup", (0, $bBqCQ$reactariautils.chain)(pressUp, onKeyUp), true);
194
+ addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), 'keyup', (0, $bBqCQ$reactariautils.chain)(pressUp, onKeyUp), true);
175
195
  }
176
196
  if (shouldStopPropagation) e.stopPropagation();
177
197
  // Keep track of the keydown events that occur while the Meta (e.g. Command) key is held.
@@ -182,7 +202,7 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
182
202
  // https://bugs.webkit.org/show_bug.cgi?id=55291
183
203
  // https://bugzilla.mozilla.org/show_bug.cgi?id=1299553
184
204
  if (e.metaKey && (0, $bBqCQ$reactariautils.isMac)()) (_state_metaKeyEvents = state.metaKeyEvents) === null || _state_metaKeyEvents === void 0 ? void 0 : _state_metaKeyEvents.set(e.key, e.nativeEvent);
185
- } else if (e.key === "Meta") state.metaKeyEvents = new Map();
205
+ } else if (e.key === 'Meta') state.metaKeyEvents = new Map();
186
206
  },
187
207
  onClick (e) {
188
208
  if (e && !e.currentTarget.contains(e.target)) return;
@@ -191,12 +211,12 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
191
211
  if (isDisabled) e.preventDefault();
192
212
  // If triggered from a screen reader or by using element.click(),
193
213
  // trigger as if it were a keyboard click.
194
- if (!state.ignoreClickAfterPress && !state.ignoreEmulatedMouseEvents && !state.isPressed && (state.pointerType === "virtual" || (0, $bBqCQ$reactariautils.isVirtualClick)(e.nativeEvent))) {
214
+ if (!state.ignoreClickAfterPress && !state.ignoreEmulatedMouseEvents && !state.isPressed && (state.pointerType === 'virtual' || (0, $bBqCQ$reactariautils.isVirtualClick)(e.nativeEvent))) {
195
215
  // Ensure the element receives focus (VoiceOver on iOS does not do this)
196
216
  if (!isDisabled && !preventFocusOnPress) (0, $bBqCQ$reactariautils.focusWithoutScrolling)(e.currentTarget);
197
- let stopPressStart = triggerPressStart(e, "virtual");
198
- let stopPressUp = triggerPressUp(e, "virtual");
199
- let stopPressEnd = triggerPressEnd(e, "virtual");
217
+ let stopPressStart = triggerPressStart(e, 'virtual');
218
+ let stopPressUp = triggerPressUp(e, 'virtual');
219
+ let stopPressEnd = triggerPressEnd(e, 'virtual');
200
220
  shouldStopPropagation = stopPressStart && stopPressUp && stopPressEnd;
201
221
  }
202
222
  state.ignoreEmulatedMouseEvents = false;
@@ -211,12 +231,12 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
211
231
  var _state_metaKeyEvents1;
212
232
  if ($0294ea432cd92340$var$shouldPreventDefaultKeyboard(e.target, e.key)) e.preventDefault();
213
233
  let target = e.target;
214
- triggerPressEnd($0294ea432cd92340$var$createEvent(state.target, e), "keyboard", state.target.contains(target));
234
+ triggerPressEnd($0294ea432cd92340$var$createEvent(state.target, e), 'keyboard', state.target.contains(target));
215
235
  removeAllGlobalListeners();
216
236
  // If a link was triggered with a key other than Enter, open the URL ourselves.
217
237
  // This means the link has a role override, and the default browser behavior
218
238
  // only applies when using the Enter key.
219
- if (e.key !== "Enter" && $0294ea432cd92340$var$isHTMLAnchorLink(state.target) && state.target.contains(target) && !e[$0294ea432cd92340$var$LINK_CLICKED]) {
239
+ if (e.key !== 'Enter' && $0294ea432cd92340$var$isHTMLAnchorLink(state.target) && state.target.contains(target) && !e[$0294ea432cd92340$var$LINK_CLICKED]) {
220
240
  // Store a hidden property on the event so we only trigger link click once,
221
241
  // even if there are multiple usePress instances attached to the element.
222
242
  e[$0294ea432cd92340$var$LINK_CLICKED] = true;
@@ -224,17 +244,17 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
224
244
  }
225
245
  state.isPressed = false;
226
246
  (_state_metaKeyEvents1 = state.metaKeyEvents) === null || _state_metaKeyEvents1 === void 0 ? void 0 : _state_metaKeyEvents1.delete(e.key);
227
- } else if (e.key === "Meta" && ((_state_metaKeyEvents = state.metaKeyEvents) === null || _state_metaKeyEvents === void 0 ? void 0 : _state_metaKeyEvents.size)) {
247
+ } else if (e.key === 'Meta' && ((_state_metaKeyEvents = state.metaKeyEvents) === null || _state_metaKeyEvents === void 0 ? void 0 : _state_metaKeyEvents.size)) {
228
248
  var _state_target;
229
249
  // If we recorded keydown events that occurred while the Meta key was pressed,
230
250
  // and those haven't received keyup events already, fire keyup events ourselves.
231
251
  // See comment above for more info about the macOS bug causing this.
232
252
  let events = state.metaKeyEvents;
233
253
  state.metaKeyEvents = undefined;
234
- for (let event of events.values())(_state_target = state.target) === null || _state_target === void 0 ? void 0 : _state_target.dispatchEvent(new KeyboardEvent("keyup", event));
254
+ for (let event of events.values())(_state_target = state.target) === null || _state_target === void 0 ? void 0 : _state_target.dispatchEvent(new KeyboardEvent('keyup', event));
235
255
  }
236
256
  };
237
- if (typeof PointerEvent !== "undefined") {
257
+ if (typeof PointerEvent !== 'undefined') {
238
258
  pressProps.onPointerDown = (e)=>{
239
259
  // Only handle left clicks, and ignore events that bubbled through portals.
240
260
  if (e.button !== 0 || !e.currentTarget.contains(e.target)) return;
@@ -243,7 +263,7 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
243
263
  // https://bugs.webkit.org/show_bug.cgi?id=222627
244
264
  // https://bugs.webkit.org/show_bug.cgi?id=223202
245
265
  if ((0, $bBqCQ$reactariautils.isVirtualPointerEvent)(e.nativeEvent)) {
246
- state.pointerType = "virtual";
266
+ state.pointerType = 'virtual';
247
267
  return;
248
268
  }
249
269
  // Due to browser inconsistencies, especially on mobile browsers, we prevent
@@ -259,9 +279,9 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
259
279
  if (!isDisabled && !preventFocusOnPress) (0, $bBqCQ$reactariautils.focusWithoutScrolling)(e.currentTarget);
260
280
  if (!allowTextSelectionOnPress) (0, $f7e14e656343df57$exports.disableTextSelection)(state.target);
261
281
  shouldStopPropagation = triggerPressStart(e, state.pointerType);
262
- addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), "pointermove", onPointerMove, false);
263
- addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), "pointerup", onPointerUp, false);
264
- addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), "pointercancel", onPointerCancel, false);
282
+ addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), 'pointermove', onPointerMove, false);
283
+ addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), 'pointerup', onPointerUp, false);
284
+ addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), 'pointercancel', onPointerCancel, false);
265
285
  }
266
286
  if (shouldStopPropagation) e.stopPropagation();
267
287
  };
@@ -277,7 +297,7 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
277
297
  };
278
298
  pressProps.onPointerUp = (e)=>{
279
299
  // iOS fires pointerup with zero width and height, so check the pointerType recorded during pointerdown.
280
- if (!e.currentTarget.contains(e.target) || state.pointerType === "virtual") return;
300
+ if (!e.currentTarget.contains(e.target) || state.pointerType === 'virtual') return;
281
301
  // Only handle left clicks
282
302
  // Safari on iOS sometimes fires pointerup events, even
283
303
  // when the touch isn't over the target, so double check.
@@ -333,11 +353,11 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
333
353
  state.isPressed = true;
334
354
  state.isOverTarget = true;
335
355
  state.target = e.currentTarget;
336
- state.pointerType = (0, $bBqCQ$reactariautils.isVirtualClick)(e.nativeEvent) ? "virtual" : "mouse";
356
+ state.pointerType = (0, $bBqCQ$reactariautils.isVirtualClick)(e.nativeEvent) ? 'virtual' : 'mouse';
337
357
  if (!isDisabled && !preventFocusOnPress) (0, $bBqCQ$reactariautils.focusWithoutScrolling)(e.currentTarget);
338
358
  let shouldStopPropagation = triggerPressStart(e, state.pointerType);
339
359
  if (shouldStopPropagation) e.stopPropagation();
340
- addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), "mouseup", onMouseUp, false);
360
+ addGlobalListener((0, $bBqCQ$reactariautils.getOwnerDocument)(e.currentTarget), 'mouseup', onMouseUp, false);
341
361
  };
342
362
  pressProps.onMouseEnter = (e)=>{
343
363
  if (!e.currentTarget.contains(e.target)) return;
@@ -360,7 +380,7 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
360
380
  };
361
381
  pressProps.onMouseUp = (e)=>{
362
382
  if (!e.currentTarget.contains(e.target)) return;
363
- if (!state.ignoreEmulatedMouseEvents && e.button === 0) triggerPressUp(e, state.pointerType || "mouse");
383
+ if (!state.ignoreEmulatedMouseEvents && e.button === 0) triggerPressUp(e, state.pointerType || 'mouse');
364
384
  };
365
385
  let onMouseUp = (e)=>{
366
386
  // Only handle left clicks
@@ -384,14 +404,14 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
384
404
  state.isOverTarget = true;
385
405
  state.isPressed = true;
386
406
  state.target = e.currentTarget;
387
- state.pointerType = "touch";
407
+ state.pointerType = 'touch';
388
408
  // Due to browser inconsistencies, especially on mobile browsers, we prevent default
389
409
  // on the emulated mouse event and handle focusing the pressable element ourselves.
390
410
  if (!isDisabled && !preventFocusOnPress) (0, $bBqCQ$reactariautils.focusWithoutScrolling)(e.currentTarget);
391
411
  if (!allowTextSelectionOnPress) (0, $f7e14e656343df57$exports.disableTextSelection)(state.target);
392
- let shouldStopPropagation = triggerPressStart(e, state.pointerType);
412
+ let shouldStopPropagation = triggerPressStart($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType);
393
413
  if (shouldStopPropagation) e.stopPropagation();
394
- addGlobalListener((0, $bBqCQ$reactariautils.getOwnerWindow)(e.currentTarget), "scroll", onScroll, true);
414
+ addGlobalListener((0, $bBqCQ$reactariautils.getOwnerWindow)(e.currentTarget), 'scroll', onScroll, true);
395
415
  };
396
416
  pressProps.onTouchMove = (e)=>{
397
417
  if (!e.currentTarget.contains(e.target)) return;
@@ -404,12 +424,12 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
404
424
  if (touch && $0294ea432cd92340$var$isOverTarget(touch, e.currentTarget)) {
405
425
  if (!state.isOverTarget && state.pointerType != null) {
406
426
  state.isOverTarget = true;
407
- shouldStopPropagation = triggerPressStart(e, state.pointerType);
427
+ shouldStopPropagation = triggerPressStart($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType);
408
428
  }
409
429
  } else if (state.isOverTarget && state.pointerType != null) {
410
430
  state.isOverTarget = false;
411
- shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
412
- cancelOnPointerExit(e);
431
+ shouldStopPropagation = triggerPressEnd($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType, false);
432
+ cancelOnPointerExit($0294ea432cd92340$var$createTouchEvent(state.target, e));
413
433
  }
414
434
  if (shouldStopPropagation) e.stopPropagation();
415
435
  };
@@ -422,9 +442,9 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
422
442
  let touch = $0294ea432cd92340$var$getTouchById(e.nativeEvent, state.activePointerId);
423
443
  let shouldStopPropagation = true;
424
444
  if (touch && $0294ea432cd92340$var$isOverTarget(touch, e.currentTarget) && state.pointerType != null) {
425
- triggerPressUp(e, state.pointerType);
426
- shouldStopPropagation = triggerPressEnd(e, state.pointerType);
427
- } else if (state.isOverTarget && state.pointerType != null) shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
445
+ triggerPressUp($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType);
446
+ shouldStopPropagation = triggerPressEnd($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType);
447
+ } else if (state.isOverTarget && state.pointerType != null) shouldStopPropagation = triggerPressEnd($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType, false);
428
448
  if (shouldStopPropagation) e.stopPropagation();
429
449
  state.isPressed = false;
430
450
  state.activePointerId = null;
@@ -436,7 +456,7 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
436
456
  pressProps.onTouchCancel = (e)=>{
437
457
  if (!e.currentTarget.contains(e.target)) return;
438
458
  e.stopPropagation();
439
- if (state.isPressed) cancel(e);
459
+ if (state.isPressed) cancel($0294ea432cd92340$var$createTouchEvent(state.target, e));
440
460
  };
441
461
  let onScroll = (e)=>{
442
462
  if (state.isPressed && e.target.contains(state.target)) cancel({
@@ -482,16 +502,16 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
482
502
  };
483
503
  }
484
504
  function $0294ea432cd92340$var$isHTMLAnchorLink(target) {
485
- return target.tagName === "A" && target.hasAttribute("href");
505
+ return target.tagName === 'A' && target.hasAttribute('href');
486
506
  }
487
507
  function $0294ea432cd92340$var$isValidKeyboardEvent(event, currentTarget) {
488
508
  const { key: key, code: code } = event;
489
509
  const element = currentTarget;
490
- const role = element.getAttribute("role");
510
+ const role = element.getAttribute('role');
491
511
  // Accessibility for keyboards. Space and Enter only.
492
512
  // "Spacebar" is for IE 11
493
- return (key === "Enter" || key === " " || key === "Spacebar" || code === "Space") && !(element instanceof (0, $bBqCQ$reactariautils.getOwnerWindow)(element).HTMLInputElement && !$0294ea432cd92340$var$isValidInputKey(element, key) || element instanceof (0, $bBqCQ$reactariautils.getOwnerWindow)(element).HTMLTextAreaElement || element.isContentEditable) && // Links should only trigger with Enter key
494
- !((role === "link" || !role && $0294ea432cd92340$var$isHTMLAnchorLink(element)) && key !== "Enter");
513
+ return (key === 'Enter' || key === ' ' || key === 'Spacebar' || code === 'Space') && !(element instanceof (0, $bBqCQ$reactariautils.getOwnerWindow)(element).HTMLInputElement && !$0294ea432cd92340$var$isValidInputKey(element, key) || element instanceof (0, $bBqCQ$reactariautils.getOwnerWindow)(element).HTMLTextAreaElement || element.isContentEditable) && // Links should only trigger with Enter key
514
+ !((role === 'link' || !role && $0294ea432cd92340$var$isHTMLAnchorLink(element)) && key !== 'Enter');
495
515
  }
496
516
  function $0294ea432cd92340$var$getTouchFromEvent(event) {
497
517
  const { targetTouches: targetTouches } = event;
@@ -506,13 +526,34 @@ function $0294ea432cd92340$var$getTouchById(event, pointerId) {
506
526
  }
507
527
  return null;
508
528
  }
529
+ function $0294ea432cd92340$var$createTouchEvent(target, e) {
530
+ let clientX = 0;
531
+ let clientY = 0;
532
+ if (e.targetTouches && e.targetTouches.length === 1) {
533
+ clientX = e.targetTouches[0].clientX;
534
+ clientY = e.targetTouches[0].clientY;
535
+ }
536
+ return {
537
+ currentTarget: target,
538
+ shiftKey: e.shiftKey,
539
+ ctrlKey: e.ctrlKey,
540
+ metaKey: e.metaKey,
541
+ altKey: e.altKey,
542
+ clientX: clientX,
543
+ clientY: clientY
544
+ };
545
+ }
509
546
  function $0294ea432cd92340$var$createEvent(target, e) {
547
+ let clientX = e.clientX;
548
+ let clientY = e.clientY;
510
549
  return {
511
550
  currentTarget: target,
512
551
  shiftKey: e.shiftKey,
513
552
  ctrlKey: e.ctrlKey,
514
553
  metaKey: e.metaKey,
515
- altKey: e.altKey
554
+ altKey: e.altKey,
555
+ clientX: clientX,
556
+ clientY: clientY
516
557
  };
517
558
  }
518
559
  function $0294ea432cd92340$var$getPointClientRect(point) {
@@ -543,28 +584,28 @@ function $0294ea432cd92340$var$isOverTarget(point, target) {
543
584
  }
544
585
  function $0294ea432cd92340$var$shouldPreventDefault(target) {
545
586
  // We cannot prevent default if the target is a draggable element.
546
- return !(target instanceof HTMLElement) || !target.hasAttribute("draggable");
587
+ return !(target instanceof HTMLElement) || !target.hasAttribute('draggable');
547
588
  }
548
589
  function $0294ea432cd92340$var$shouldPreventDefaultKeyboard(target, key) {
549
590
  if (target instanceof HTMLInputElement) return !$0294ea432cd92340$var$isValidInputKey(target, key);
550
- if (target instanceof HTMLButtonElement) return target.type !== "submit" && target.type !== "reset";
591
+ if (target instanceof HTMLButtonElement) return target.type !== 'submit' && target.type !== 'reset';
551
592
  if ($0294ea432cd92340$var$isHTMLAnchorLink(target)) return false;
552
593
  return true;
553
594
  }
554
595
  const $0294ea432cd92340$var$nonTextInputTypes = new Set([
555
- "checkbox",
556
- "radio",
557
- "range",
558
- "color",
559
- "file",
560
- "image",
561
- "button",
562
- "submit",
563
- "reset"
596
+ 'checkbox',
597
+ 'radio',
598
+ 'range',
599
+ 'color',
600
+ 'file',
601
+ 'image',
602
+ 'button',
603
+ 'submit',
604
+ 'reset'
564
605
  ]);
565
606
  function $0294ea432cd92340$var$isValidInputKey(target, key) {
566
607
  // Only space should toggle checkboxes and radios, not enter.
567
- return target.type === "checkbox" || target.type === "radio" ? key === " " : $0294ea432cd92340$var$nonTextInputTypes.has(target.type);
608
+ return target.type === 'checkbox' || target.type === 'radio' ? key === ' ' : $0294ea432cd92340$var$nonTextInputTypes.has(target.type);
568
609
  }
569
610
 
570
611