@tamagui/react-native-use-pressable 2.0.0-rc.4 → 2.0.0-rc.40

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.
@@ -1,68 +1,70 @@
1
- const DELAY = "DELAY",
2
- ERROR = "ERROR",
3
- LONG_PRESS_DETECTED = "LONG_PRESS_DETECTED",
4
- NOT_RESPONDER = "NOT_RESPONDER",
5
- RESPONDER_ACTIVE_LONG_PRESS_START = "RESPONDER_ACTIVE_LONG_PRESS_START",
6
- RESPONDER_ACTIVE_PRESS_START = "RESPONDER_ACTIVE_PRESS_START",
7
- RESPONDER_INACTIVE_PRESS_START = "RESPONDER_INACTIVE_PRESS_START",
8
- RESPONDER_GRANT = "RESPONDER_GRANT",
9
- RESPONDER_RELEASE = "RESPONDER_RELEASE",
10
- RESPONDER_TERMINATED = "RESPONDER_TERMINATED",
11
- Transitions = Object.freeze({
12
- NOT_RESPONDER: {
13
- DELAY: ERROR,
14
- RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,
15
- RESPONDER_RELEASE: ERROR,
16
- RESPONDER_TERMINATED: ERROR,
17
- LONG_PRESS_DETECTED: ERROR
18
- },
19
- RESPONDER_INACTIVE_PRESS_START: {
20
- DELAY: RESPONDER_ACTIVE_PRESS_START,
21
- RESPONDER_GRANT: ERROR,
22
- RESPONDER_RELEASE: NOT_RESPONDER,
23
- RESPONDER_TERMINATED: NOT_RESPONDER,
24
- LONG_PRESS_DETECTED: ERROR
25
- },
26
- RESPONDER_ACTIVE_PRESS_START: {
27
- DELAY: ERROR,
28
- RESPONDER_GRANT: ERROR,
29
- RESPONDER_RELEASE: NOT_RESPONDER,
30
- RESPONDER_TERMINATED: NOT_RESPONDER,
31
- LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START
32
- },
33
- RESPONDER_ACTIVE_LONG_PRESS_START: {
34
- DELAY: ERROR,
35
- RESPONDER_GRANT: ERROR,
36
- RESPONDER_RELEASE: NOT_RESPONDER,
37
- RESPONDER_TERMINATED: NOT_RESPONDER,
38
- LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START
39
- },
40
- ERROR: {
41
- DELAY: NOT_RESPONDER,
42
- RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,
43
- RESPONDER_RELEASE: NOT_RESPONDER,
44
- RESPONDER_TERMINATED: NOT_RESPONDER,
45
- LONG_PRESS_DETECTED: NOT_RESPONDER
46
- }
47
- }),
48
- isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START,
49
- isButtonRole = element => element.getAttribute("role") === "button",
50
- isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START,
51
- isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE,
52
- isValidKeyPress = event => {
53
- const key = event.key,
54
- role = event.target.getAttribute("role");
55
- return key === "Enter" || (key === " " || key === "Spacebar") && role === "button";
1
+ const DELAY = "DELAY";
2
+ const ERROR = "ERROR";
3
+ const LONG_PRESS_DETECTED = "LONG_PRESS_DETECTED";
4
+ const NOT_RESPONDER = "NOT_RESPONDER";
5
+ const RESPONDER_ACTIVE_LONG_PRESS_START = "RESPONDER_ACTIVE_LONG_PRESS_START";
6
+ const RESPONDER_ACTIVE_PRESS_START = "RESPONDER_ACTIVE_PRESS_START";
7
+ const RESPONDER_INACTIVE_PRESS_START = "RESPONDER_INACTIVE_PRESS_START";
8
+ const RESPONDER_GRANT = "RESPONDER_GRANT";
9
+ const RESPONDER_RELEASE = "RESPONDER_RELEASE";
10
+ const RESPONDER_TERMINATED = "RESPONDER_TERMINATED";
11
+ const Transitions = Object.freeze({
12
+ NOT_RESPONDER: {
13
+ DELAY: ERROR,
14
+ RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,
15
+ RESPONDER_RELEASE: ERROR,
16
+ RESPONDER_TERMINATED: ERROR,
17
+ LONG_PRESS_DETECTED: ERROR
56
18
  },
57
- DEFAULT_LONG_PRESS_DELAY_MS = 450,
58
- DEFAULT_PRESS_DELAY_MS = 50;
19
+ RESPONDER_INACTIVE_PRESS_START: {
20
+ DELAY: RESPONDER_ACTIVE_PRESS_START,
21
+ RESPONDER_GRANT: ERROR,
22
+ RESPONDER_RELEASE: NOT_RESPONDER,
23
+ RESPONDER_TERMINATED: NOT_RESPONDER,
24
+ LONG_PRESS_DETECTED: ERROR
25
+ },
26
+ RESPONDER_ACTIVE_PRESS_START: {
27
+ DELAY: ERROR,
28
+ RESPONDER_GRANT: ERROR,
29
+ RESPONDER_RELEASE: NOT_RESPONDER,
30
+ RESPONDER_TERMINATED: NOT_RESPONDER,
31
+ LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START
32
+ },
33
+ RESPONDER_ACTIVE_LONG_PRESS_START: {
34
+ DELAY: ERROR,
35
+ RESPONDER_GRANT: ERROR,
36
+ RESPONDER_RELEASE: NOT_RESPONDER,
37
+ RESPONDER_TERMINATED: NOT_RESPONDER,
38
+ LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START
39
+ },
40
+ ERROR: {
41
+ DELAY: NOT_RESPONDER,
42
+ RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,
43
+ RESPONDER_RELEASE: NOT_RESPONDER,
44
+ RESPONDER_TERMINATED: NOT_RESPONDER,
45
+ LONG_PRESS_DETECTED: NOT_RESPONDER
46
+ }
47
+ });
48
+ const isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;
49
+ const isButtonRole = element => element.getAttribute("role") === "button";
50
+ const isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;
51
+ const isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;
52
+ const isValidKeyPress = event => {
53
+ const key = event.key;
54
+ const target = event.target;
55
+ const role = target.getAttribute("role");
56
+ const isSpacebar = key === " " || key === "Spacebar";
57
+ return key === "Enter" || isSpacebar && role === "button";
58
+ };
59
+ const DEFAULT_LONG_PRESS_DELAY_MS = 450;
60
+ const DEFAULT_PRESS_DELAY_MS = 50;
59
61
  class PressResponder {
60
62
  _touchActivatePosition = null;
61
63
  _pressDelayTimeout = 0;
62
- _selectionTerminated = !1;
63
- _isPointerTouch = !1;
64
+ _selectionTerminated = false;
65
+ _isPointerTouch = false;
64
66
  _longPressDelayTimeout = 0;
65
- _longPressDispatched = !1;
67
+ _longPressDispatched = false;
66
68
  _pressOutDelayTimeout = 0;
67
69
  _touchState = NOT_RESPONDER;
68
70
  _config = null;
@@ -77,75 +79,120 @@ class PressResponder {
77
79
  * Resets any pending timers. This should be called on unmount.
78
80
  */
79
81
  reset() {
80
- this._cancelLongPressDelayTimeout(), this._cancelPressDelayTimeout(), this._cancelPressOutDelayTimeout();
82
+ this._cancelLongPressDelayTimeout();
83
+ this._cancelPressDelayTimeout();
84
+ this._cancelPressOutDelayTimeout();
81
85
  }
82
86
  /**
83
87
  * Returns a set of props to spread into the interactive element.
84
88
  */
85
89
  getEventHandlers() {
86
- return this._eventHandlers == null && (this._eventHandlers = this._createEventHandlers()), this._eventHandlers;
90
+ if (this._eventHandlers == null) {
91
+ this._eventHandlers = this._createEventHandlers();
92
+ }
93
+ return this._eventHandlers;
87
94
  }
88
95
  _createEventHandlers() {
89
96
  const start = (event, shouldDelay) => {
90
- event.persist(), this._cancelPressOutDelayTimeout(), this._longPressDispatched = !1, this._selectionTerminated = !1, this._touchState = NOT_RESPONDER, this._isPointerTouch = event.nativeEvent.type === "touchstart", this._receiveSignal(RESPONDER_GRANT, event);
91
- const delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);
92
- shouldDelay !== !1 && delayPressStart > 0 ? this._pressDelayTimeout = setTimeout(() => {
97
+ event.persist();
98
+ this._cancelPressOutDelayTimeout();
99
+ this._longPressDispatched = false;
100
+ this._selectionTerminated = false;
101
+ this._touchState = NOT_RESPONDER;
102
+ this._isPointerTouch = event.nativeEvent.type === "touchstart";
103
+ this._receiveSignal(RESPONDER_GRANT, event);
104
+ const delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);
105
+ if (shouldDelay !== false && delayPressStart > 0) {
106
+ this._pressDelayTimeout = setTimeout(() => {
93
107
  this._receiveSignal(DELAY, event);
94
- }, delayPressStart) : this._receiveSignal(DELAY, event);
95
- const delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);
96
- this._longPressDelayTimeout = setTimeout(() => {
97
- this._handleLongPress(event);
98
- }, delayLongPress + delayPressStart);
99
- },
100
- end = event => {
101
- this._receiveSignal(RESPONDER_RELEASE, event);
102
- },
103
- keyupHandler = event => {
104
- const onPress = this._config.onPress,
105
- target = event.target;
106
- if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {
107
- end(event), document.removeEventListener("keyup", keyupHandler);
108
- const role = target.getAttribute("role"),
109
- elementType = target.tagName.toLowerCase(),
110
- isNativeInteractiveElement = role === "link" || elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea";
111
- onPress != null && !isNativeInteractiveElement && onPress(event);
108
+ }, delayPressStart);
109
+ } else {
110
+ this._receiveSignal(DELAY, event);
111
+ }
112
+ const delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);
113
+ this._longPressDelayTimeout = setTimeout(() => {
114
+ this._handleLongPress(event);
115
+ }, delayLongPress + delayPressStart);
116
+ };
117
+ const end = event => {
118
+ this._receiveSignal(RESPONDER_RELEASE, event);
119
+ };
120
+ const keyupHandler = event => {
121
+ const onPress = this._config.onPress;
122
+ const target = event.target;
123
+ if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {
124
+ end(event);
125
+ document.removeEventListener("keyup", keyupHandler);
126
+ const role = target.getAttribute("role");
127
+ const elementType = target.tagName.toLowerCase();
128
+ const isNativeInteractiveElement = role === "link" || elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea";
129
+ if (onPress != null && !isNativeInteractiveElement) {
130
+ onPress(event);
112
131
  }
113
- };
132
+ }
133
+ };
114
134
  return {
115
135
  onStartShouldSetResponder: event => {
116
136
  const disabled = this._config.disabled;
117
- return disabled && isButtonRole(event.currentTarget) && event.stopPropagation(), disabled == null ? !0 : !disabled;
137
+ if (disabled && isButtonRole(event.currentTarget)) {
138
+ event.stopPropagation();
139
+ }
140
+ if (disabled == null) {
141
+ return true;
142
+ }
143
+ return !disabled;
118
144
  },
119
145
  onKeyDown: event => {
120
- const disabled = this._config.disabled,
121
- key = event.key,
122
- target = event.target;
146
+ const disabled = this._config.disabled;
147
+ const key = event.key;
148
+ const target = event.target;
123
149
  if (!disabled && isValidKeyPress(event)) {
124
- this._touchState === NOT_RESPONDER && (start(event, !1), document.addEventListener("keyup", keyupHandler));
150
+ if (this._touchState === NOT_RESPONDER) {
151
+ start(event, false);
152
+ document.addEventListener("keyup", keyupHandler);
153
+ }
125
154
  const role = target.getAttribute("role");
126
- (key === " " || key === "Spacebar") && (role === "button" || role === "menuitem") && event.preventDefault(), event.stopPropagation();
155
+ const isSpacebarKey = key === " " || key === "Spacebar";
156
+ const _isButtonRole = role === "button" || role === "menuitem";
157
+ if (isSpacebarKey && _isButtonRole) {
158
+ event.preventDefault();
159
+ }
160
+ event.stopPropagation();
127
161
  }
128
162
  },
129
163
  onResponderGrant: event => start(event),
130
164
  onResponderMove: event => {
131
- this._config.onPressMove != null && this._config.onPressMove(event);
165
+ if (this._config.onPressMove != null) {
166
+ this._config.onPressMove(event);
167
+ }
132
168
  const touch = getTouchFromResponderEvent(event);
133
169
  if (this._touchActivatePosition != null) {
134
- const deltaX = this._touchActivatePosition.pageX - touch.pageX,
135
- deltaY = this._touchActivatePosition.pageY - touch.pageY;
136
- Math.hypot(deltaX, deltaY) > 10 && this._cancelLongPressDelayTimeout();
170
+ const deltaX = this._touchActivatePosition.pageX - touch.pageX;
171
+ const deltaY = this._touchActivatePosition.pageY - touch.pageY;
172
+ if (Math.hypot(deltaX, deltaY) > 10) {
173
+ this._cancelLongPressDelayTimeout();
174
+ }
137
175
  }
138
176
  },
139
177
  onResponderRelease: event => end(event),
140
178
  onResponderTerminate: event => {
141
- event.nativeEvent.type === "selectionchange" && (this._selectionTerminated = !0), this._receiveSignal(RESPONDER_TERMINATED, event);
179
+ if (event.nativeEvent.type === "selectionchange") {
180
+ this._selectionTerminated = true;
181
+ }
182
+ this._receiveSignal(RESPONDER_TERMINATED, event);
142
183
  },
143
184
  onResponderTerminationRequest: event => {
144
- const _this$_config = this._config,
145
- cancelable = _this$_config.cancelable,
146
- disabled = _this$_config.disabled,
147
- onLongPress = _this$_config.onLongPress;
148
- return !disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === "contextmenu" ? !1 : cancelable ?? !0;
185
+ const _this$_config = this._config;
186
+ const cancelable = _this$_config.cancelable;
187
+ const disabled = _this$_config.disabled;
188
+ const onLongPress = _this$_config.onLongPress;
189
+ if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === "contextmenu") {
190
+ return false;
191
+ }
192
+ if (cancelable == null) {
193
+ return true;
194
+ }
195
+ return cancelable;
149
196
  },
150
197
  // NOTE: this diverges from react-native in 3 significant ways:
151
198
  // * The `onPress` callback is not connected to the responder system (the native
@@ -156,18 +203,38 @@ class PressResponder {
156
203
  // `click` target that is using the PressResponder.
157
204
  // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.
158
205
  onClick: event => {
159
- const _this$_config2 = this._config,
160
- disabled = _this$_config2.disabled,
161
- onPress = _this$_config2.onPress;
162
- disabled ? isButtonRole(event.currentTarget) && event.stopPropagation() : (event.stopPropagation(), this._longPressDispatched || this._selectionTerminated ? event.preventDefault() : onPress != null && event.altKey === !1 && onPress(event));
206
+ const _this$_config2 = this._config;
207
+ const disabled = _this$_config2.disabled;
208
+ const onPress = _this$_config2.onPress;
209
+ if (!disabled) {
210
+ event.stopPropagation();
211
+ if (this._longPressDispatched || this._selectionTerminated) {
212
+ event.preventDefault();
213
+ } else if (onPress != null && event.altKey === false) {
214
+ onPress(event);
215
+ }
216
+ } else {
217
+ if (isButtonRole(event.currentTarget)) {
218
+ event.stopPropagation();
219
+ }
220
+ }
163
221
  },
164
222
  // If `onLongPress` is provided and a touch pointer is being used, prevent the
165
223
  // default context menu from opening.
166
224
  onContextMenu: event => {
167
- const _this$_config3 = this._config,
168
- disabled = _this$_config3.disabled,
169
- onLongPress = _this$_config3.onLongPress;
170
- disabled ? isButtonRole(event.currentTarget) && event.stopPropagation() : onLongPress != null && this._isPointerTouch && !event.defaultPrevented && (event.preventDefault(), event.stopPropagation());
225
+ const _this$_config3 = this._config;
226
+ const disabled = _this$_config3.disabled;
227
+ const onLongPress = _this$_config3.onLongPress;
228
+ if (!disabled) {
229
+ if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {
230
+ event.preventDefault();
231
+ event.stopPropagation();
232
+ }
233
+ } else {
234
+ if (isButtonRole(event.currentTarget)) {
235
+ event.stopPropagation();
236
+ }
237
+ }
171
238
  }
172
239
  };
173
240
  }
@@ -178,71 +245,142 @@ class PressResponder {
178
245
  _receiveSignal(signal, event) {
179
246
  const prevState = this._touchState;
180
247
  let nextState = null;
181
- Transitions[prevState] != null && (nextState = Transitions[prevState][signal]), !(this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) && (nextState == null || nextState === ERROR ? console.error(`PressResponder: Invalid signal ${signal} for state ${prevState} on responder`) : prevState !== nextState && (this._performTransitionSideEffects(prevState, nextState, signal, event), this._touchState = nextState));
248
+ if (Transitions[prevState] != null) {
249
+ nextState = Transitions[prevState][signal];
250
+ }
251
+ if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {
252
+ return;
253
+ }
254
+ if (nextState == null || nextState === ERROR) {
255
+ console.error(`PressResponder: Invalid signal ${signal} for state ${prevState} on responder`);
256
+ } else if (prevState !== nextState) {
257
+ this._performTransitionSideEffects(prevState, nextState, signal, event);
258
+ this._touchState = nextState;
259
+ }
182
260
  }
183
261
  /**
184
262
  * Performs a transition between touchable states and identify any activations
185
263
  * or deactivations (and callback invocations).
186
264
  */
187
265
  _performTransitionSideEffects(prevState, nextState, signal, event) {
188
- if (isTerminalSignal(signal) && (setTimeout(() => {
189
- this._isPointerTouch = !1;
190
- }, 0), this._touchActivatePosition = null, this._cancelLongPressDelayTimeout()), isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {
266
+ if (isTerminalSignal(signal)) {
267
+ setTimeout(() => {
268
+ this._isPointerTouch = false;
269
+ }, 0);
270
+ this._touchActivatePosition = null;
271
+ this._cancelLongPressDelayTimeout();
272
+ }
273
+ if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {
191
274
  const onLongPress = this._config.onLongPress;
192
- onLongPress != null && event.nativeEvent.key == null && (onLongPress(event), this._longPressDispatched = !0);
275
+ if (onLongPress != null && event.nativeEvent.key == null) {
276
+ onLongPress(event);
277
+ this._longPressDispatched = true;
278
+ }
193
279
  }
194
- const isPrevActive = isActiveSignal(prevState),
195
- isNextActive = isActiveSignal(nextState);
196
- if (!isPrevActive && isNextActive ? this._activate(event) : isPrevActive && !isNextActive && this._deactivate(event), isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {
197
- const _this$_config4 = this._config,
198
- _onLongPress = _this$_config4.onLongPress;
199
- _this$_config4.onPress != null && (_onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START || isNextActive || isPrevActive || (this._activate(event), this._deactivate(event)));
280
+ const isPrevActive = isActiveSignal(prevState);
281
+ const isNextActive = isActiveSignal(nextState);
282
+ if (!isPrevActive && isNextActive) {
283
+ this._activate(event);
284
+ } else if (isPrevActive && !isNextActive) {
285
+ this._deactivate(event);
286
+ }
287
+ if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {
288
+ const _this$_config4 = this._config;
289
+ const _onLongPress = _this$_config4.onLongPress;
290
+ const onPress = _this$_config4.onPress;
291
+ if (onPress != null) {
292
+ const isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;
293
+ if (!isPressCanceledByLongPress) {
294
+ if (!(isNextActive || isPrevActive)) {
295
+ this._activate(event);
296
+ this._deactivate(event);
297
+ }
298
+ }
299
+ }
200
300
  }
201
301
  this._cancelPressDelayTimeout();
202
302
  }
203
303
  _activate(event) {
204
- const _this$_config5 = this._config,
205
- onPressChange = _this$_config5.onPressChange,
206
- onPressStart = _this$_config5.onPressStart,
207
- touch = getTouchFromResponderEvent(event);
304
+ const _this$_config5 = this._config;
305
+ const onPressChange = _this$_config5.onPressChange;
306
+ const onPressStart = _this$_config5.onPressStart;
307
+ const touch = getTouchFromResponderEvent(event);
208
308
  this._touchActivatePosition = {
209
309
  pageX: touch.pageX,
210
310
  pageY: touch.pageY
211
- }, onPressStart?.(event), onPressChange?.(!0);
311
+ };
312
+ if (onPressStart != null) {
313
+ onPressStart(event);
314
+ }
315
+ if (onPressChange != null) {
316
+ onPressChange(true);
317
+ }
212
318
  }
213
319
  _deactivate(event) {
214
- const _this$_config6 = this._config,
215
- onPressChange = _this$_config6.onPressChange,
216
- onPressEnd = _this$_config6.onPressEnd;
320
+ const _this$_config6 = this._config;
321
+ const onPressChange = _this$_config6.onPressChange;
322
+ const onPressEnd = _this$_config6.onPressEnd;
217
323
  function end() {
218
- onPressEnd?.(event), onPressChange?.(!1);
324
+ if (onPressEnd != null) {
325
+ onPressEnd(event);
326
+ }
327
+ if (onPressChange != null) {
328
+ onPressChange(false);
329
+ }
219
330
  }
220
331
  const delayPressEnd = normalizeDelay(this._config.delayPressEnd);
221
- delayPressEnd > 0 ? this._pressOutDelayTimeout = setTimeout(() => {
332
+ if (delayPressEnd > 0) {
333
+ this._pressOutDelayTimeout = setTimeout(() => {
334
+ end();
335
+ }, delayPressEnd);
336
+ } else {
222
337
  end();
223
- }, delayPressEnd) : end();
338
+ }
224
339
  }
225
340
  _handleLongPress(event) {
226
- (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) && this._receiveSignal(LONG_PRESS_DETECTED, event);
341
+ if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {
342
+ this._receiveSignal(LONG_PRESS_DETECTED, event);
343
+ }
227
344
  }
228
345
  _cancelLongPressDelayTimeout() {
229
- this._longPressDelayTimeout != null && (clearTimeout(this._longPressDelayTimeout), this._longPressDelayTimeout = null);
346
+ if (this._longPressDelayTimeout != null) {
347
+ clearTimeout(this._longPressDelayTimeout);
348
+ this._longPressDelayTimeout = null;
349
+ }
230
350
  }
231
351
  _cancelPressDelayTimeout() {
232
- this._pressDelayTimeout != null && (clearTimeout(this._pressDelayTimeout), this._pressDelayTimeout = null);
352
+ if (this._pressDelayTimeout != null) {
353
+ clearTimeout(this._pressDelayTimeout);
354
+ this._pressDelayTimeout = null;
355
+ }
233
356
  }
234
357
  _cancelPressOutDelayTimeout() {
235
- this._pressOutDelayTimeout != null && (clearTimeout(this._pressOutDelayTimeout), this._pressOutDelayTimeout = null);
358
+ if (this._pressOutDelayTimeout != null) {
359
+ clearTimeout(this._pressOutDelayTimeout);
360
+ this._pressOutDelayTimeout = null;
361
+ }
236
362
  }
237
363
  }
238
364
  function normalizeDelay(delay, min, fallback) {
239
- return min === void 0 && (min = 0), fallback === void 0 && (fallback = 0), Math.max(min, delay ?? fallback);
365
+ if (min === void 0) {
366
+ min = 0;
367
+ }
368
+ if (fallback === void 0) {
369
+ fallback = 0;
370
+ }
371
+ return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);
240
372
  }
241
373
  function getTouchFromResponderEvent(event) {
242
- const _event$nativeEvent = event.nativeEvent,
243
- changedTouches = _event$nativeEvent.changedTouches,
244
- touches = _event$nativeEvent.touches;
245
- return touches != null && touches.length > 0 ? touches[0] : changedTouches != null && changedTouches.length > 0 ? changedTouches[0] : event.nativeEvent;
374
+ const _event$nativeEvent = event.nativeEvent;
375
+ const changedTouches = _event$nativeEvent.changedTouches;
376
+ const touches = _event$nativeEvent.touches;
377
+ if (touches != null && touches.length > 0) {
378
+ return touches[0];
379
+ }
380
+ if (changedTouches != null && changedTouches.length > 0) {
381
+ return changedTouches[0];
382
+ }
383
+ return event.nativeEvent;
246
384
  }
247
385
  export { PressResponder };
248
386
  //# sourceMappingURL=PressResponder.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","Object","freeze","isActiveSignal","signal","isButtonRole","element","getAttribute","isPressStartSignal","isTerminalSignal","isValidKeyPress","event","key","role","target","DEFAULT_LONG_PRESS_DELAY_MS","DEFAULT_PRESS_DELAY_MS","PressResponder","_touchActivatePosition","_pressDelayTimeout","_selectionTerminated","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressOutDelayTimeout","_touchState","_config","_eventHandlers","constructor","config","configure","reset","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","start","shouldDelay","persist","nativeEvent","type","_receiveSignal","delayPressStart","normalizeDelay","setTimeout","delayLongPress","_handleLongPress","end","keyupHandler","onPress","document","removeEventListener","elementType","tagName","toLowerCase","isNativeInteractiveElement","onStartShouldSetResponder","disabled","currentTarget","stopPropagation","onKeyDown","addEventListener","preventDefault","onResponderGrant","onResponderMove","onPressMove","touch","getTouchFromResponderEvent","deltaX","pageX","deltaY","pageY","Math","hypot","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","_this$_config","cancelable","onLongPress","onClick","_this$_config2","altKey","onContextMenu","_this$_config3","defaultPrevented","prevState","nextState","console","error","_performTransitionSideEffects","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","_this$_config5","onPressChange","onPressStart","_this$_config6","onPressEnd","delayPressEnd","clearTimeout","delay","min","fallback","max","_event$nativeEvent","changedTouches","touches","length"],"sources":["../../src/PressResponder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","Object","freeze","isActiveSignal","signal","isButtonRole","element","getAttribute","isPressStartSignal","isTerminalSignal","isValidKeyPress","event","key","target","role","isSpacebar","DEFAULT_LONG_PRESS_DELAY_MS","DEFAULT_PRESS_DELAY_MS","PressResponder","_touchActivatePosition","_pressDelayTimeout","_selectionTerminated","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressOutDelayTimeout","_touchState","_config","_eventHandlers","constructor","config","configure","reset","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","start","shouldDelay","persist","nativeEvent","type","_receiveSignal","delayPressStart","normalizeDelay","setTimeout","delayLongPress","_handleLongPress","end","keyupHandler","onPress","document","removeEventListener","elementType","tagName","toLowerCase","isNativeInteractiveElement","onStartShouldSetResponder","disabled","currentTarget","stopPropagation","onKeyDown","addEventListener","isSpacebarKey","_isButtonRole","preventDefault","onResponderGrant","onResponderMove","onPressMove","touch","getTouchFromResponderEvent","deltaX","pageX","deltaY","pageY","Math","hypot","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","_this$_config","cancelable","onLongPress","onClick","_this$_config2","altKey","onContextMenu","_this$_config3","defaultPrevented","prevState","nextState","console","error","_performTransitionSideEffects","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","isPressCanceledByLongPress","_this$_config5","onPressChange","onPressStart","_this$_config6","onPressEnd","delayPressEnd","clearTimeout","delay","min","fallback","max","_event$nativeEvent","changedTouches","touches","length"],"sources":["../../src/PressResponder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}