@tamagui/react-native-use-pressable 1.89.26 → 1.89.27-1708112217600
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/cjs/PressResponder.native.js +221 -167
- package/dist/cjs/PressResponder.native.js.map +3 -3
- package/dist/cjs/index.native.js +13 -6
- package/dist/cjs/index.native.js.map +3 -3
- package/dist/esm/PressResponder.native.js +221 -167
- package/dist/esm/PressResponder.native.js.map +3 -3
- package/dist/esm/index.native.js +13 -6
- package/dist/esm/index.native.js.map +3 -3
- package/package.json +2 -2
|
@@ -18,7 +18,28 @@ __export(PressResponder_exports, {
|
|
|
18
18
|
default: () => PressResponder
|
|
19
19
|
});
|
|
20
20
|
module.exports = __toCommonJS(PressResponder_exports);
|
|
21
|
-
|
|
21
|
+
function _class_call_check(instance, Constructor) {
|
|
22
|
+
if (!(instance instanceof Constructor))
|
|
23
|
+
throw new TypeError("Cannot call a class as a function");
|
|
24
|
+
}
|
|
25
|
+
function _defineProperties(target, props) {
|
|
26
|
+
for (var i = 0; i < props.length; i++) {
|
|
27
|
+
var descriptor = props[i];
|
|
28
|
+
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
32
|
+
return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;
|
|
33
|
+
}
|
|
34
|
+
function _define_property(obj, key, value) {
|
|
35
|
+
return key in obj ? Object.defineProperty(obj, key, {
|
|
36
|
+
value,
|
|
37
|
+
enumerable: !0,
|
|
38
|
+
configurable: !0,
|
|
39
|
+
writable: !0
|
|
40
|
+
}) : obj[key] = value, obj;
|
|
41
|
+
}
|
|
42
|
+
var DELAY = "DELAY", ERROR = "ERROR", LONG_PRESS_DETECTED = "LONG_PRESS_DETECTED", NOT_RESPONDER = "NOT_RESPONDER", RESPONDER_ACTIVE_LONG_PRESS_START = "RESPONDER_ACTIVE_LONG_PRESS_START", RESPONDER_ACTIVE_PRESS_START = "RESPONDER_ACTIVE_PRESS_START", RESPONDER_INACTIVE_PRESS_START = "RESPONDER_INACTIVE_PRESS_START", RESPONDER_GRANT = "RESPONDER_GRANT", RESPONDER_RELEASE = "RESPONDER_RELEASE", RESPONDER_TERMINATED = "RESPONDER_TERMINATED", Transitions = Object.freeze({
|
|
22
43
|
NOT_RESPONDER: {
|
|
23
44
|
DELAY: ERROR,
|
|
24
45
|
RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,
|
|
@@ -54,182 +75,215 @@ const DELAY = "DELAY", ERROR = "ERROR", LONG_PRESS_DETECTED = "LONG_PRESS_DETECT
|
|
|
54
75
|
RESPONDER_TERMINATED: NOT_RESPONDER,
|
|
55
76
|
LONG_PRESS_DETECTED: NOT_RESPONDER
|
|
56
77
|
}
|
|
57
|
-
}), isActiveSignal = (signal)
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this
|
|
72
|
-
this._eventHandlers = null;
|
|
73
|
-
this.configure(config);
|
|
74
|
-
}
|
|
75
|
-
configure(config) {
|
|
76
|
-
this._config = config;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Resets any pending timers. This should be called on unmount.
|
|
80
|
-
*/
|
|
81
|
-
reset() {
|
|
82
|
-
this._cancelLongPressDelayTimeout(), this._cancelPressDelayTimeout(), this._cancelPressOutDelayTimeout();
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Returns a set of props to spread into the interactive element.
|
|
86
|
-
*/
|
|
87
|
-
getEventHandlers() {
|
|
88
|
-
return this._eventHandlers == null && (this._eventHandlers = this._createEventHandlers()), this._eventHandlers;
|
|
78
|
+
}), isActiveSignal = function(signal) {
|
|
79
|
+
return signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;
|
|
80
|
+
}, isButtonRole = function(element) {
|
|
81
|
+
return element.getAttribute("role") === "button";
|
|
82
|
+
}, isPressStartSignal = function(signal) {
|
|
83
|
+
return signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;
|
|
84
|
+
}, isTerminalSignal = function(signal) {
|
|
85
|
+
return signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;
|
|
86
|
+
}, isValidKeyPress = function(event) {
|
|
87
|
+
var key = event.key, target = event.target, role = target.getAttribute("role"), isSpacebar = key === " " || key === "Spacebar";
|
|
88
|
+
return key === "Enter" || isSpacebar && role === "button";
|
|
89
|
+
}, DEFAULT_LONG_PRESS_DELAY_MS = 450, DEFAULT_PRESS_DELAY_MS = 50, PressResponder = /* @__PURE__ */ function() {
|
|
90
|
+
"use strict";
|
|
91
|
+
function PressResponder2(config) {
|
|
92
|
+
_class_call_check(this, PressResponder2), _define_property(this, "_touchActivatePosition", null), _define_property(this, "_pressDelayTimeout", 0), _define_property(this, "_selectionTerminated", !1), _define_property(this, "_isPointerTouch", !1), _define_property(this, "_longPressDelayTimeout", 0), _define_property(this, "_longPressDispatched", !1), _define_property(this, "_pressOutDelayTimeout", 0), _define_property(this, "_touchState", NOT_RESPONDER), _define_property(this, "_config", null), _define_property(this, "_eventHandlers", null), this.configure(config);
|
|
89
93
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
this._config
|
|
95
|
-
0,
|
|
96
|
-
DEFAULT_PRESS_DELAY_MS
|
|
97
|
-
);
|
|
98
|
-
shouldDelay !== !1 && delayPressStart > 0 ? this._pressDelayTimeout = setTimeout(() => {
|
|
99
|
-
this._receiveSignal(DELAY, event);
|
|
100
|
-
}, delayPressStart) : this._receiveSignal(DELAY, event);
|
|
101
|
-
const delayLongPress = normalizeDelay(
|
|
102
|
-
this._config.delayLongPress,
|
|
103
|
-
10,
|
|
104
|
-
DEFAULT_LONG_PRESS_DELAY_MS
|
|
105
|
-
);
|
|
106
|
-
this._longPressDelayTimeout = setTimeout(() => {
|
|
107
|
-
this._handleLongPress(event);
|
|
108
|
-
}, delayLongPress + delayPressStart);
|
|
109
|
-
}, end = (event) => {
|
|
110
|
-
this._receiveSignal(RESPONDER_RELEASE, event);
|
|
111
|
-
}, keyupHandler = (event) => {
|
|
112
|
-
const onPress = this._config.onPress, target = event.target;
|
|
113
|
-
if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {
|
|
114
|
-
end(event), document.removeEventListener("keyup", keyupHandler);
|
|
115
|
-
const role = target.getAttribute("role"), elementType = target.tagName.toLowerCase(), isNativeInteractiveElement = role === "link" || elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea";
|
|
116
|
-
onPress != null && !isNativeInteractiveElement && onPress(event);
|
|
94
|
+
return _create_class(PressResponder2, [
|
|
95
|
+
{
|
|
96
|
+
key: "configure",
|
|
97
|
+
value: function(config) {
|
|
98
|
+
this._config = config;
|
|
117
99
|
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
/**
|
|
103
|
+
* Resets any pending timers. This should be called on unmount.
|
|
104
|
+
*/
|
|
105
|
+
key: "reset",
|
|
106
|
+
value: function() {
|
|
107
|
+
this._cancelLongPressDelayTimeout(), this._cancelPressDelayTimeout(), this._cancelPressOutDelayTimeout();
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
/**
|
|
112
|
+
* Returns a set of props to spread into the interactive element.
|
|
113
|
+
*/
|
|
114
|
+
key: "getEventHandlers",
|
|
115
|
+
value: function() {
|
|
116
|
+
return this._eventHandlers == null && (this._eventHandlers = this._createEventHandlers()), this._eventHandlers;
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
key: "_createEventHandlers",
|
|
121
|
+
value: function() {
|
|
122
|
+
var _this = this, start = function(event, shouldDelay) {
|
|
123
|
+
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);
|
|
124
|
+
var delayPressStart = normalizeDelay(_this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);
|
|
125
|
+
shouldDelay !== !1 && delayPressStart > 0 ? _this._pressDelayTimeout = setTimeout(function() {
|
|
126
|
+
_this._receiveSignal(DELAY, event);
|
|
127
|
+
}, delayPressStart) : _this._receiveSignal(DELAY, event);
|
|
128
|
+
var delayLongPress = normalizeDelay(_this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);
|
|
129
|
+
_this._longPressDelayTimeout = setTimeout(function() {
|
|
130
|
+
_this._handleLongPress(event);
|
|
131
|
+
}, delayLongPress + delayPressStart);
|
|
132
|
+
}, end = function(event) {
|
|
133
|
+
_this._receiveSignal(RESPONDER_RELEASE, event);
|
|
134
|
+
}, keyupHandler = function(event) {
|
|
135
|
+
var onPress = _this._config.onPress, target = event.target;
|
|
136
|
+
if (_this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {
|
|
137
|
+
end(event), document.removeEventListener("keyup", keyupHandler);
|
|
138
|
+
var role = target.getAttribute("role"), elementType = target.tagName.toLowerCase(), isNativeInteractiveElement = role === "link" || elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea";
|
|
139
|
+
onPress != null && !isNativeInteractiveElement && onPress(event);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
return {
|
|
143
|
+
onStartShouldSetResponder: function(event) {
|
|
144
|
+
var disabled = _this._config.disabled;
|
|
145
|
+
return disabled && isButtonRole(event.currentTarget) && event.stopPropagation(), disabled == null ? !0 : !disabled;
|
|
146
|
+
},
|
|
147
|
+
onKeyDown: function(event) {
|
|
148
|
+
var disabled = _this._config.disabled, key = event.key, target = event.target;
|
|
149
|
+
if (!disabled && isValidKeyPress(event)) {
|
|
150
|
+
_this._touchState === NOT_RESPONDER && (start(event, !1), document.addEventListener("keyup", keyupHandler));
|
|
151
|
+
var role = target.getAttribute("role"), isSpacebarKey = key === " " || key === "Spacebar", _isButtonRole = role === "button" || role === "menuitem";
|
|
152
|
+
isSpacebarKey && _isButtonRole && event.preventDefault(), event.stopPropagation();
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
onResponderGrant: function(event) {
|
|
156
|
+
return start(event);
|
|
157
|
+
},
|
|
158
|
+
onResponderMove: function(event) {
|
|
159
|
+
_this._config.onPressMove != null && _this._config.onPressMove(event);
|
|
160
|
+
var touch = getTouchFromResponderEvent(event);
|
|
161
|
+
if (_this._touchActivatePosition != null) {
|
|
162
|
+
var deltaX = _this._touchActivatePosition.pageX - touch.pageX, deltaY = _this._touchActivatePosition.pageY - touch.pageY;
|
|
163
|
+
Math.hypot(deltaX, deltaY) > 10 && _this._cancelLongPressDelayTimeout();
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
onResponderRelease: function(event) {
|
|
167
|
+
return end(event);
|
|
168
|
+
},
|
|
169
|
+
onResponderTerminate: function(event) {
|
|
170
|
+
event.nativeEvent.type === "selectionchange" && (_this._selectionTerminated = !0), _this._receiveSignal(RESPONDER_TERMINATED, event);
|
|
171
|
+
},
|
|
172
|
+
onResponderTerminationRequest: function(event) {
|
|
173
|
+
var _this$_config = _this._config, cancelable = _this$_config.cancelable, disabled = _this$_config.disabled, onLongPress = _this$_config.onLongPress;
|
|
174
|
+
return !disabled && onLongPress != null && _this._isPointerTouch && event.nativeEvent.type === "contextmenu" ? !1 : cancelable ?? !0;
|
|
175
|
+
},
|
|
176
|
+
// NOTE: this diverges from react-native in 3 significant ways:
|
|
177
|
+
// * The `onPress` callback is not connected to the responder system (the native
|
|
178
|
+
// `click` event must be used but is dispatched in many scenarios where no pointers
|
|
179
|
+
// are on the screen.) Therefore, it's possible for `onPress` to be called without
|
|
180
|
+
// `onPress{Start,End}` being called first.
|
|
181
|
+
// * The `onPress` callback is only be called on the first ancestor of the native
|
|
182
|
+
// `click` target that is using the PressResponder.
|
|
183
|
+
// * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.
|
|
184
|
+
onClick: function(event) {
|
|
185
|
+
var _this$_config2 = _this._config, disabled = _this$_config2.disabled, onPress = _this$_config2.onPress;
|
|
186
|
+
disabled ? isButtonRole(event.currentTarget) && event.stopPropagation() : (event.stopPropagation(), _this._longPressDispatched || _this._selectionTerminated ? event.preventDefault() : onPress != null && event.altKey === !1 && onPress(event));
|
|
187
|
+
},
|
|
188
|
+
// If `onLongPress` is provided and a touch pointer is being used, prevent the
|
|
189
|
+
// default context menu from opening.
|
|
190
|
+
onContextMenu: function(event) {
|
|
191
|
+
var _this$_config3 = _this._config, disabled = _this$_config3.disabled, onLongPress = _this$_config3.onLongPress;
|
|
192
|
+
disabled ? isButtonRole(event.currentTarget) && event.stopPropagation() : onLongPress != null && _this._isPointerTouch && !event.defaultPrevented && (event.preventDefault(), event.stopPropagation());
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
/**
|
|
199
|
+
* Receives a state machine signal, performs side effects of the transition
|
|
200
|
+
* and stores the new state. Validates the transition as well.
|
|
201
|
+
*/
|
|
202
|
+
key: "_receiveSignal",
|
|
203
|
+
value: function(signal, event) {
|
|
204
|
+
var prevState = this._touchState, nextState = null;
|
|
205
|
+
Transitions[prevState] != null && (nextState = Transitions[prevState][signal]), !(this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) && (nextState == null || nextState === ERROR ? console.error("PressResponder: Invalid signal ".concat(signal, " for state ").concat(prevState, " on responder")) : prevState !== nextState && (this._performTransitionSideEffects(prevState, nextState, signal, event), this._touchState = nextState));
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
/**
|
|
210
|
+
* Performs a transition between touchable states and identify any activations
|
|
211
|
+
* or deactivations (and callback invocations).
|
|
212
|
+
*/
|
|
213
|
+
key: "_performTransitionSideEffects",
|
|
214
|
+
value: function(prevState, nextState, signal, event) {
|
|
215
|
+
var _this = this;
|
|
216
|
+
if (isTerminalSignal(signal) && (setTimeout(function() {
|
|
217
|
+
_this._isPointerTouch = !1;
|
|
218
|
+
}, 0), this._touchActivatePosition = null, this._cancelLongPressDelayTimeout()), isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {
|
|
219
|
+
var onLongPress = this._config.onLongPress;
|
|
220
|
+
onLongPress != null && event.nativeEvent.key == null && (onLongPress(event), this._longPressDispatched = !0);
|
|
130
221
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
Math.hypot(deltaX, deltaY) > 10 && this._cancelLongPressDelayTimeout();
|
|
222
|
+
var isPrevActive = isActiveSignal(prevState), isNextActive = isActiveSignal(nextState);
|
|
223
|
+
if (!isPrevActive && isNextActive ? this._activate(event) : isPrevActive && !isNextActive && this._deactivate(event), isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {
|
|
224
|
+
var _this$_config4 = this._config, _onLongPress = _this$_config4.onLongPress, onPress = _this$_config4.onPress;
|
|
225
|
+
if (onPress != null) {
|
|
226
|
+
var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;
|
|
227
|
+
isPressCanceledByLongPress || isNextActive || isPrevActive || (this._activate(event), this._deactivate(event));
|
|
228
|
+
}
|
|
139
229
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
230
|
+
this._cancelPressDelayTimeout();
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
key: "_activate",
|
|
235
|
+
value: function(event) {
|
|
236
|
+
var _this$_config5 = this._config, onPressChange = _this$_config5.onPressChange, onPressStart = _this$_config5.onPressStart, touch = getTouchFromResponderEvent(event);
|
|
237
|
+
this._touchActivatePosition = {
|
|
238
|
+
pageX: touch.pageX,
|
|
239
|
+
pageY: touch.pageY
|
|
240
|
+
}, onPressStart != null && onPressStart(event), onPressChange != null && onPressChange(!0);
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
key: "_deactivate",
|
|
245
|
+
value: function(event) {
|
|
246
|
+
var _this$_config6 = this._config, onPressChange = _this$_config6.onPressChange, onPressEnd = _this$_config6.onPressEnd;
|
|
247
|
+
function end() {
|
|
248
|
+
onPressEnd != null && onPressEnd(event), onPressChange != null && onPressChange(!1);
|
|
249
|
+
}
|
|
250
|
+
var delayPressEnd = normalizeDelay(this._config.delayPressEnd);
|
|
251
|
+
delayPressEnd > 0 ? this._pressOutDelayTimeout = setTimeout(function() {
|
|
252
|
+
end();
|
|
253
|
+
}, delayPressEnd) : end();
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
key: "_handleLongPress",
|
|
258
|
+
value: function(event) {
|
|
259
|
+
(this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) && this._receiveSignal(LONG_PRESS_DETECTED, event);
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
key: "_cancelLongPressDelayTimeout",
|
|
264
|
+
value: function() {
|
|
265
|
+
this._longPressDelayTimeout != null && (clearTimeout(this._longPressDelayTimeout), this._longPressDelayTimeout = null);
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
key: "_cancelPressDelayTimeout",
|
|
270
|
+
value: function() {
|
|
271
|
+
this._pressDelayTimeout != null && (clearTimeout(this._pressDelayTimeout), this._pressDelayTimeout = null);
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
key: "_cancelPressOutDelayTimeout",
|
|
276
|
+
value: function() {
|
|
277
|
+
this._pressOutDelayTimeout != null && (clearTimeout(this._pressOutDelayTimeout), this._pressOutDelayTimeout = null);
|
|
166
278
|
}
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Receives a state machine signal, performs side effects of the transition
|
|
171
|
-
* and stores the new state. Validates the transition as well.
|
|
172
|
-
*/
|
|
173
|
-
_receiveSignal(signal, event) {
|
|
174
|
-
const prevState = this._touchState;
|
|
175
|
-
let nextState = null;
|
|
176
|
-
Transitions[prevState] != null && (nextState = Transitions[prevState][signal]), !(this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) && (nextState == null || nextState === ERROR ? console.error(
|
|
177
|
-
`PressResponder: Invalid signal ${signal} for state ${prevState} on responder`
|
|
178
|
-
) : prevState !== nextState && (this._performTransitionSideEffects(prevState, nextState, signal, event), this._touchState = nextState));
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Performs a transition between touchable states and identify any activations
|
|
182
|
-
* or deactivations (and callback invocations).
|
|
183
|
-
*/
|
|
184
|
-
_performTransitionSideEffects(prevState, nextState, signal, event) {
|
|
185
|
-
if (isTerminalSignal(signal) && (setTimeout(() => {
|
|
186
|
-
this._isPointerTouch = !1;
|
|
187
|
-
}, 0), this._touchActivatePosition = null, this._cancelLongPressDelayTimeout()), isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {
|
|
188
|
-
const onLongPress = this._config.onLongPress;
|
|
189
|
-
onLongPress != null && event.nativeEvent.key == null && (onLongPress(event), this._longPressDispatched = !0);
|
|
190
|
-
}
|
|
191
|
-
const isPrevActive = isActiveSignal(prevState), isNextActive = isActiveSignal(nextState);
|
|
192
|
-
if (!isPrevActive && isNextActive ? this._activate(event) : isPrevActive && !isNextActive && this._deactivate(event), isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {
|
|
193
|
-
const _this$_config4 = this._config, _onLongPress = _this$_config4.onLongPress;
|
|
194
|
-
_this$_config4.onPress != null && (_onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START || isNextActive || isPrevActive || (this._activate(event), this._deactivate(event)));
|
|
195
|
-
}
|
|
196
|
-
this._cancelPressDelayTimeout();
|
|
197
|
-
}
|
|
198
|
-
_activate(event) {
|
|
199
|
-
const _this$_config5 = this._config, onPressChange = _this$_config5.onPressChange, onPressStart = _this$_config5.onPressStart, touch = getTouchFromResponderEvent(event);
|
|
200
|
-
this._touchActivatePosition = {
|
|
201
|
-
pageX: touch.pageX,
|
|
202
|
-
pageY: touch.pageY
|
|
203
|
-
}, onPressStart != null && onPressStart(event), onPressChange != null && onPressChange(!0);
|
|
204
|
-
}
|
|
205
|
-
_deactivate(event) {
|
|
206
|
-
const _this$_config6 = this._config, onPressChange = _this$_config6.onPressChange, onPressEnd = _this$_config6.onPressEnd;
|
|
207
|
-
function end() {
|
|
208
|
-
onPressEnd != null && onPressEnd(event), onPressChange != null && onPressChange(!1);
|
|
209
279
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
end();
|
|
213
|
-
}, delayPressEnd) : end();
|
|
214
|
-
}
|
|
215
|
-
_handleLongPress(event) {
|
|
216
|
-
(this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) && this._receiveSignal(LONG_PRESS_DETECTED, event);
|
|
217
|
-
}
|
|
218
|
-
_cancelLongPressDelayTimeout() {
|
|
219
|
-
this._longPressDelayTimeout != null && (clearTimeout(this._longPressDelayTimeout), this._longPressDelayTimeout = null);
|
|
220
|
-
}
|
|
221
|
-
_cancelPressDelayTimeout() {
|
|
222
|
-
this._pressDelayTimeout != null && (clearTimeout(this._pressDelayTimeout), this._pressDelayTimeout = null);
|
|
223
|
-
}
|
|
224
|
-
_cancelPressOutDelayTimeout() {
|
|
225
|
-
this._pressOutDelayTimeout != null && (clearTimeout(this._pressOutDelayTimeout), this._pressOutDelayTimeout = null);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
280
|
+
]), PressResponder2;
|
|
281
|
+
}();
|
|
228
282
|
function normalizeDelay(delay, min, fallback) {
|
|
229
283
|
return min === void 0 && (min = 0), fallback === void 0 && (fallback = 0), Math.max(min, delay ?? fallback);
|
|
230
284
|
}
|
|
231
285
|
function getTouchFromResponderEvent(event) {
|
|
232
|
-
|
|
286
|
+
var _event$nativeEvent = event.nativeEvent, changedTouches = _event$nativeEvent.changedTouches, touches = _event$nativeEvent.touches;
|
|
233
287
|
return touches != null && touches.length > 0 ? touches[0] : changedTouches != null && changedTouches.length > 0 ? changedTouches[0] : event.nativeEvent;
|
|
234
288
|
}
|
|
235
289
|
//# sourceMappingURL=PressResponder.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/PressResponder.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/react-native-use-pressable/src/PressResponder.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"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", "config", "_touchActivatePosition", "_pressDelayTimeout", "_selectionTerminated", "_isPointerTouch", "_longPressDelayTimeout", "_longPressDispatched", "_pressOutDelayTimeout", "_touchState", "_config", "_eventHandlers", "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", "normalizeDelay", "delay", "min", "fallback", "Math", "max", "getTouchFromResponderEvent", "event", "_event$nativeEvent", "nativeEvent", "changedTouches", "touches", "length"]
|
|
6
6
|
}
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -28,14 +28,21 @@ __export(src_exports, {
|
|
|
28
28
|
module.exports = __toCommonJS(src_exports);
|
|
29
29
|
var import_react = require("react"), import_PressResponder = __toESM(require("./PressResponder"));
|
|
30
30
|
function usePressEvents(_, config) {
|
|
31
|
-
|
|
31
|
+
var pressResponderRef = (0, import_react.useRef)(null);
|
|
32
32
|
pressResponderRef.current == null && (pressResponderRef.current = new import_PressResponder.default(config));
|
|
33
|
-
|
|
34
|
-
return (0, import_react.useEffect)(()
|
|
33
|
+
var pressResponder = pressResponderRef.current;
|
|
34
|
+
return (0, import_react.useEffect)(function() {
|
|
35
35
|
pressResponder.configure(config);
|
|
36
|
-
}, [
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
}, [
|
|
37
|
+
config,
|
|
38
|
+
pressResponder
|
|
39
|
+
]), (0, import_react.useEffect)(function() {
|
|
40
|
+
return function() {
|
|
41
|
+
pressResponder.reset();
|
|
42
|
+
};
|
|
43
|
+
}, [
|
|
44
|
+
pressResponder
|
|
45
|
+
]), (0, import_react.useDebugValue)(config), pressResponder.getEventHandlers();
|
|
39
46
|
}
|
|
40
47
|
// Annotate the CommonJS export names for ESM import in node:
|
|
41
48
|
0 && (module.exports = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA
|
|
5
|
-
"names": ["PressResponder"]
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/react-native-use-pressable/src/index.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAUA,mBAAiD,kBAEjD,wBAA2B;AAKpB,SAASA,eAAeC,GAAGC,QAAY;AAC5C,MAAMC,wBAAoBC,qBAAY,IAAA;AAEtC,EAAID,kBAAkBE,WAAW,SAC/BF,kBAAkBE,UAAU,IAAIC,sBAAAA,QAAeJ,MAAAA;AAGjD,MAAMK,iBAAiBJ,kBAAkBE;AAEzCG,qCAAU,WAAA;AACRD,mBAAeE,UAAUP,MAAAA;EAC3B,GAAG;IAACA;IAAQK;GAAe,OAG3BC,wBAAU,WAAA;AACR,WAAO,WAAA;AACLD,qBAAeG,MAAK;IACtB;EACF,GAAG;IAACH;GAAe,OACnBI,4BAAcT,MAAAA,GACPK,eAAeK,iBAAgB;AACxC;",
|
|
5
|
+
"names": ["usePressEvents", "_", "config", "pressResponderRef", "useRef", "current", "PressResponder", "pressResponder", "useEffect", "configure", "reset", "useDebugValue", "getEventHandlers"]
|
|
6
6
|
}
|
|
@@ -1,4 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
function _class_call_check(instance, Constructor) {
|
|
2
|
+
if (!(instance instanceof Constructor))
|
|
3
|
+
throw new TypeError("Cannot call a class as a function");
|
|
4
|
+
}
|
|
5
|
+
function _defineProperties(target, props) {
|
|
6
|
+
for (var i = 0; i < props.length; i++) {
|
|
7
|
+
var descriptor = props[i];
|
|
8
|
+
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
12
|
+
return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;
|
|
13
|
+
}
|
|
14
|
+
function _define_property(obj, key, value) {
|
|
15
|
+
return key in obj ? Object.defineProperty(obj, key, {
|
|
16
|
+
value,
|
|
17
|
+
enumerable: !0,
|
|
18
|
+
configurable: !0,
|
|
19
|
+
writable: !0
|
|
20
|
+
}) : obj[key] = value, obj;
|
|
21
|
+
}
|
|
22
|
+
var DELAY = "DELAY", ERROR = "ERROR", LONG_PRESS_DETECTED = "LONG_PRESS_DETECTED", NOT_RESPONDER = "NOT_RESPONDER", RESPONDER_ACTIVE_LONG_PRESS_START = "RESPONDER_ACTIVE_LONG_PRESS_START", RESPONDER_ACTIVE_PRESS_START = "RESPONDER_ACTIVE_PRESS_START", RESPONDER_INACTIVE_PRESS_START = "RESPONDER_INACTIVE_PRESS_START", RESPONDER_GRANT = "RESPONDER_GRANT", RESPONDER_RELEASE = "RESPONDER_RELEASE", RESPONDER_TERMINATED = "RESPONDER_TERMINATED", Transitions = Object.freeze({
|
|
2
23
|
NOT_RESPONDER: {
|
|
3
24
|
DELAY: ERROR,
|
|
4
25
|
RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,
|
|
@@ -34,182 +55,215 @@ const DELAY = "DELAY", ERROR = "ERROR", LONG_PRESS_DETECTED = "LONG_PRESS_DETECT
|
|
|
34
55
|
RESPONDER_TERMINATED: NOT_RESPONDER,
|
|
35
56
|
LONG_PRESS_DETECTED: NOT_RESPONDER
|
|
36
57
|
}
|
|
37
|
-
}), isActiveSignal = (signal)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
this
|
|
52
|
-
this._eventHandlers = null;
|
|
53
|
-
this.configure(config);
|
|
54
|
-
}
|
|
55
|
-
configure(config) {
|
|
56
|
-
this._config = config;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Resets any pending timers. This should be called on unmount.
|
|
60
|
-
*/
|
|
61
|
-
reset() {
|
|
62
|
-
this._cancelLongPressDelayTimeout(), this._cancelPressDelayTimeout(), this._cancelPressOutDelayTimeout();
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Returns a set of props to spread into the interactive element.
|
|
66
|
-
*/
|
|
67
|
-
getEventHandlers() {
|
|
68
|
-
return this._eventHandlers == null && (this._eventHandlers = this._createEventHandlers()), this._eventHandlers;
|
|
58
|
+
}), isActiveSignal = function(signal) {
|
|
59
|
+
return signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;
|
|
60
|
+
}, isButtonRole = function(element) {
|
|
61
|
+
return element.getAttribute("role") === "button";
|
|
62
|
+
}, isPressStartSignal = function(signal) {
|
|
63
|
+
return signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;
|
|
64
|
+
}, isTerminalSignal = function(signal) {
|
|
65
|
+
return signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;
|
|
66
|
+
}, isValidKeyPress = function(event) {
|
|
67
|
+
var key = event.key, target = event.target, role = target.getAttribute("role"), isSpacebar = key === " " || key === "Spacebar";
|
|
68
|
+
return key === "Enter" || isSpacebar && role === "button";
|
|
69
|
+
}, DEFAULT_LONG_PRESS_DELAY_MS = 450, DEFAULT_PRESS_DELAY_MS = 50, PressResponder = /* @__PURE__ */ function() {
|
|
70
|
+
"use strict";
|
|
71
|
+
function PressResponder2(config) {
|
|
72
|
+
_class_call_check(this, PressResponder2), _define_property(this, "_touchActivatePosition", null), _define_property(this, "_pressDelayTimeout", 0), _define_property(this, "_selectionTerminated", !1), _define_property(this, "_isPointerTouch", !1), _define_property(this, "_longPressDelayTimeout", 0), _define_property(this, "_longPressDispatched", !1), _define_property(this, "_pressOutDelayTimeout", 0), _define_property(this, "_touchState", NOT_RESPONDER), _define_property(this, "_config", null), _define_property(this, "_eventHandlers", null), this.configure(config);
|
|
69
73
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this._config
|
|
75
|
-
0,
|
|
76
|
-
DEFAULT_PRESS_DELAY_MS
|
|
77
|
-
);
|
|
78
|
-
shouldDelay !== !1 && delayPressStart > 0 ? this._pressDelayTimeout = setTimeout(() => {
|
|
79
|
-
this._receiveSignal(DELAY, event);
|
|
80
|
-
}, delayPressStart) : this._receiveSignal(DELAY, event);
|
|
81
|
-
const delayLongPress = normalizeDelay(
|
|
82
|
-
this._config.delayLongPress,
|
|
83
|
-
10,
|
|
84
|
-
DEFAULT_LONG_PRESS_DELAY_MS
|
|
85
|
-
);
|
|
86
|
-
this._longPressDelayTimeout = setTimeout(() => {
|
|
87
|
-
this._handleLongPress(event);
|
|
88
|
-
}, delayLongPress + delayPressStart);
|
|
89
|
-
}, end = (event) => {
|
|
90
|
-
this._receiveSignal(RESPONDER_RELEASE, event);
|
|
91
|
-
}, keyupHandler = (event) => {
|
|
92
|
-
const onPress = this._config.onPress, target = event.target;
|
|
93
|
-
if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {
|
|
94
|
-
end(event), document.removeEventListener("keyup", keyupHandler);
|
|
95
|
-
const role = target.getAttribute("role"), elementType = target.tagName.toLowerCase(), isNativeInteractiveElement = role === "link" || elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea";
|
|
96
|
-
onPress != null && !isNativeInteractiveElement && onPress(event);
|
|
74
|
+
return _create_class(PressResponder2, [
|
|
75
|
+
{
|
|
76
|
+
key: "configure",
|
|
77
|
+
value: function(config) {
|
|
78
|
+
this._config = config;
|
|
97
79
|
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
/**
|
|
83
|
+
* Resets any pending timers. This should be called on unmount.
|
|
84
|
+
*/
|
|
85
|
+
key: "reset",
|
|
86
|
+
value: function() {
|
|
87
|
+
this._cancelLongPressDelayTimeout(), this._cancelPressDelayTimeout(), this._cancelPressOutDelayTimeout();
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
/**
|
|
92
|
+
* Returns a set of props to spread into the interactive element.
|
|
93
|
+
*/
|
|
94
|
+
key: "getEventHandlers",
|
|
95
|
+
value: function() {
|
|
96
|
+
return this._eventHandlers == null && (this._eventHandlers = this._createEventHandlers()), this._eventHandlers;
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: "_createEventHandlers",
|
|
101
|
+
value: function() {
|
|
102
|
+
var _this = this, start = function(event, shouldDelay) {
|
|
103
|
+
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);
|
|
104
|
+
var delayPressStart = normalizeDelay(_this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);
|
|
105
|
+
shouldDelay !== !1 && delayPressStart > 0 ? _this._pressDelayTimeout = setTimeout(function() {
|
|
106
|
+
_this._receiveSignal(DELAY, event);
|
|
107
|
+
}, delayPressStart) : _this._receiveSignal(DELAY, event);
|
|
108
|
+
var delayLongPress = normalizeDelay(_this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);
|
|
109
|
+
_this._longPressDelayTimeout = setTimeout(function() {
|
|
110
|
+
_this._handleLongPress(event);
|
|
111
|
+
}, delayLongPress + delayPressStart);
|
|
112
|
+
}, end = function(event) {
|
|
113
|
+
_this._receiveSignal(RESPONDER_RELEASE, event);
|
|
114
|
+
}, keyupHandler = function(event) {
|
|
115
|
+
var onPress = _this._config.onPress, target = event.target;
|
|
116
|
+
if (_this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {
|
|
117
|
+
end(event), document.removeEventListener("keyup", keyupHandler);
|
|
118
|
+
var role = target.getAttribute("role"), elementType = target.tagName.toLowerCase(), isNativeInteractiveElement = role === "link" || elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea";
|
|
119
|
+
onPress != null && !isNativeInteractiveElement && onPress(event);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
return {
|
|
123
|
+
onStartShouldSetResponder: function(event) {
|
|
124
|
+
var disabled = _this._config.disabled;
|
|
125
|
+
return disabled && isButtonRole(event.currentTarget) && event.stopPropagation(), disabled == null ? !0 : !disabled;
|
|
126
|
+
},
|
|
127
|
+
onKeyDown: function(event) {
|
|
128
|
+
var disabled = _this._config.disabled, key = event.key, target = event.target;
|
|
129
|
+
if (!disabled && isValidKeyPress(event)) {
|
|
130
|
+
_this._touchState === NOT_RESPONDER && (start(event, !1), document.addEventListener("keyup", keyupHandler));
|
|
131
|
+
var role = target.getAttribute("role"), isSpacebarKey = key === " " || key === "Spacebar", _isButtonRole = role === "button" || role === "menuitem";
|
|
132
|
+
isSpacebarKey && _isButtonRole && event.preventDefault(), event.stopPropagation();
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
onResponderGrant: function(event) {
|
|
136
|
+
return start(event);
|
|
137
|
+
},
|
|
138
|
+
onResponderMove: function(event) {
|
|
139
|
+
_this._config.onPressMove != null && _this._config.onPressMove(event);
|
|
140
|
+
var touch = getTouchFromResponderEvent(event);
|
|
141
|
+
if (_this._touchActivatePosition != null) {
|
|
142
|
+
var deltaX = _this._touchActivatePosition.pageX - touch.pageX, deltaY = _this._touchActivatePosition.pageY - touch.pageY;
|
|
143
|
+
Math.hypot(deltaX, deltaY) > 10 && _this._cancelLongPressDelayTimeout();
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
onResponderRelease: function(event) {
|
|
147
|
+
return end(event);
|
|
148
|
+
},
|
|
149
|
+
onResponderTerminate: function(event) {
|
|
150
|
+
event.nativeEvent.type === "selectionchange" && (_this._selectionTerminated = !0), _this._receiveSignal(RESPONDER_TERMINATED, event);
|
|
151
|
+
},
|
|
152
|
+
onResponderTerminationRequest: function(event) {
|
|
153
|
+
var _this$_config = _this._config, cancelable = _this$_config.cancelable, disabled = _this$_config.disabled, onLongPress = _this$_config.onLongPress;
|
|
154
|
+
return !disabled && onLongPress != null && _this._isPointerTouch && event.nativeEvent.type === "contextmenu" ? !1 : cancelable ?? !0;
|
|
155
|
+
},
|
|
156
|
+
// NOTE: this diverges from react-native in 3 significant ways:
|
|
157
|
+
// * The `onPress` callback is not connected to the responder system (the native
|
|
158
|
+
// `click` event must be used but is dispatched in many scenarios where no pointers
|
|
159
|
+
// are on the screen.) Therefore, it's possible for `onPress` to be called without
|
|
160
|
+
// `onPress{Start,End}` being called first.
|
|
161
|
+
// * The `onPress` callback is only be called on the first ancestor of the native
|
|
162
|
+
// `click` target that is using the PressResponder.
|
|
163
|
+
// * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.
|
|
164
|
+
onClick: function(event) {
|
|
165
|
+
var _this$_config2 = _this._config, disabled = _this$_config2.disabled, onPress = _this$_config2.onPress;
|
|
166
|
+
disabled ? isButtonRole(event.currentTarget) && event.stopPropagation() : (event.stopPropagation(), _this._longPressDispatched || _this._selectionTerminated ? event.preventDefault() : onPress != null && event.altKey === !1 && onPress(event));
|
|
167
|
+
},
|
|
168
|
+
// If `onLongPress` is provided and a touch pointer is being used, prevent the
|
|
169
|
+
// default context menu from opening.
|
|
170
|
+
onContextMenu: function(event) {
|
|
171
|
+
var _this$_config3 = _this._config, disabled = _this$_config3.disabled, onLongPress = _this$_config3.onLongPress;
|
|
172
|
+
disabled ? isButtonRole(event.currentTarget) && event.stopPropagation() : onLongPress != null && _this._isPointerTouch && !event.defaultPrevented && (event.preventDefault(), event.stopPropagation());
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
/**
|
|
179
|
+
* Receives a state machine signal, performs side effects of the transition
|
|
180
|
+
* and stores the new state. Validates the transition as well.
|
|
181
|
+
*/
|
|
182
|
+
key: "_receiveSignal",
|
|
183
|
+
value: function(signal, event) {
|
|
184
|
+
var prevState = this._touchState, nextState = null;
|
|
185
|
+
Transitions[prevState] != null && (nextState = Transitions[prevState][signal]), !(this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) && (nextState == null || nextState === ERROR ? console.error("PressResponder: Invalid signal ".concat(signal, " for state ").concat(prevState, " on responder")) : prevState !== nextState && (this._performTransitionSideEffects(prevState, nextState, signal, event), this._touchState = nextState));
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
/**
|
|
190
|
+
* Performs a transition between touchable states and identify any activations
|
|
191
|
+
* or deactivations (and callback invocations).
|
|
192
|
+
*/
|
|
193
|
+
key: "_performTransitionSideEffects",
|
|
194
|
+
value: function(prevState, nextState, signal, event) {
|
|
195
|
+
var _this = this;
|
|
196
|
+
if (isTerminalSignal(signal) && (setTimeout(function() {
|
|
197
|
+
_this._isPointerTouch = !1;
|
|
198
|
+
}, 0), this._touchActivatePosition = null, this._cancelLongPressDelayTimeout()), isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {
|
|
199
|
+
var onLongPress = this._config.onLongPress;
|
|
200
|
+
onLongPress != null && event.nativeEvent.key == null && (onLongPress(event), this._longPressDispatched = !0);
|
|
110
201
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
Math.hypot(deltaX, deltaY) > 10 && this._cancelLongPressDelayTimeout();
|
|
202
|
+
var isPrevActive = isActiveSignal(prevState), isNextActive = isActiveSignal(nextState);
|
|
203
|
+
if (!isPrevActive && isNextActive ? this._activate(event) : isPrevActive && !isNextActive && this._deactivate(event), isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {
|
|
204
|
+
var _this$_config4 = this._config, _onLongPress = _this$_config4.onLongPress, onPress = _this$_config4.onPress;
|
|
205
|
+
if (onPress != null) {
|
|
206
|
+
var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;
|
|
207
|
+
isPressCanceledByLongPress || isNextActive || isPrevActive || (this._activate(event), this._deactivate(event));
|
|
208
|
+
}
|
|
119
209
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
210
|
+
this._cancelPressDelayTimeout();
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
key: "_activate",
|
|
215
|
+
value: function(event) {
|
|
216
|
+
var _this$_config5 = this._config, onPressChange = _this$_config5.onPressChange, onPressStart = _this$_config5.onPressStart, touch = getTouchFromResponderEvent(event);
|
|
217
|
+
this._touchActivatePosition = {
|
|
218
|
+
pageX: touch.pageX,
|
|
219
|
+
pageY: touch.pageY
|
|
220
|
+
}, onPressStart != null && onPressStart(event), onPressChange != null && onPressChange(!0);
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
key: "_deactivate",
|
|
225
|
+
value: function(event) {
|
|
226
|
+
var _this$_config6 = this._config, onPressChange = _this$_config6.onPressChange, onPressEnd = _this$_config6.onPressEnd;
|
|
227
|
+
function end() {
|
|
228
|
+
onPressEnd != null && onPressEnd(event), onPressChange != null && onPressChange(!1);
|
|
229
|
+
}
|
|
230
|
+
var delayPressEnd = normalizeDelay(this._config.delayPressEnd);
|
|
231
|
+
delayPressEnd > 0 ? this._pressOutDelayTimeout = setTimeout(function() {
|
|
232
|
+
end();
|
|
233
|
+
}, delayPressEnd) : end();
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
key: "_handleLongPress",
|
|
238
|
+
value: function(event) {
|
|
239
|
+
(this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) && this._receiveSignal(LONG_PRESS_DETECTED, event);
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
key: "_cancelLongPressDelayTimeout",
|
|
244
|
+
value: function() {
|
|
245
|
+
this._longPressDelayTimeout != null && (clearTimeout(this._longPressDelayTimeout), this._longPressDelayTimeout = null);
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
key: "_cancelPressDelayTimeout",
|
|
250
|
+
value: function() {
|
|
251
|
+
this._pressDelayTimeout != null && (clearTimeout(this._pressDelayTimeout), this._pressDelayTimeout = null);
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
key: "_cancelPressOutDelayTimeout",
|
|
256
|
+
value: function() {
|
|
257
|
+
this._pressOutDelayTimeout != null && (clearTimeout(this._pressOutDelayTimeout), this._pressOutDelayTimeout = null);
|
|
146
258
|
}
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Receives a state machine signal, performs side effects of the transition
|
|
151
|
-
* and stores the new state. Validates the transition as well.
|
|
152
|
-
*/
|
|
153
|
-
_receiveSignal(signal, event) {
|
|
154
|
-
const prevState = this._touchState;
|
|
155
|
-
let nextState = null;
|
|
156
|
-
Transitions[prevState] != null && (nextState = Transitions[prevState][signal]), !(this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) && (nextState == null || nextState === ERROR ? console.error(
|
|
157
|
-
`PressResponder: Invalid signal ${signal} for state ${prevState} on responder`
|
|
158
|
-
) : prevState !== nextState && (this._performTransitionSideEffects(prevState, nextState, signal, event), this._touchState = nextState));
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Performs a transition between touchable states and identify any activations
|
|
162
|
-
* or deactivations (and callback invocations).
|
|
163
|
-
*/
|
|
164
|
-
_performTransitionSideEffects(prevState, nextState, signal, event) {
|
|
165
|
-
if (isTerminalSignal(signal) && (setTimeout(() => {
|
|
166
|
-
this._isPointerTouch = !1;
|
|
167
|
-
}, 0), this._touchActivatePosition = null, this._cancelLongPressDelayTimeout()), isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {
|
|
168
|
-
const onLongPress = this._config.onLongPress;
|
|
169
|
-
onLongPress != null && event.nativeEvent.key == null && (onLongPress(event), this._longPressDispatched = !0);
|
|
170
|
-
}
|
|
171
|
-
const isPrevActive = isActiveSignal(prevState), isNextActive = isActiveSignal(nextState);
|
|
172
|
-
if (!isPrevActive && isNextActive ? this._activate(event) : isPrevActive && !isNextActive && this._deactivate(event), isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {
|
|
173
|
-
const _this$_config4 = this._config, _onLongPress = _this$_config4.onLongPress;
|
|
174
|
-
_this$_config4.onPress != null && (_onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START || isNextActive || isPrevActive || (this._activate(event), this._deactivate(event)));
|
|
175
|
-
}
|
|
176
|
-
this._cancelPressDelayTimeout();
|
|
177
|
-
}
|
|
178
|
-
_activate(event) {
|
|
179
|
-
const _this$_config5 = this._config, onPressChange = _this$_config5.onPressChange, onPressStart = _this$_config5.onPressStart, touch = getTouchFromResponderEvent(event);
|
|
180
|
-
this._touchActivatePosition = {
|
|
181
|
-
pageX: touch.pageX,
|
|
182
|
-
pageY: touch.pageY
|
|
183
|
-
}, onPressStart != null && onPressStart(event), onPressChange != null && onPressChange(!0);
|
|
184
|
-
}
|
|
185
|
-
_deactivate(event) {
|
|
186
|
-
const _this$_config6 = this._config, onPressChange = _this$_config6.onPressChange, onPressEnd = _this$_config6.onPressEnd;
|
|
187
|
-
function end() {
|
|
188
|
-
onPressEnd != null && onPressEnd(event), onPressChange != null && onPressChange(!1);
|
|
189
259
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
end();
|
|
193
|
-
}, delayPressEnd) : end();
|
|
194
|
-
}
|
|
195
|
-
_handleLongPress(event) {
|
|
196
|
-
(this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) && this._receiveSignal(LONG_PRESS_DETECTED, event);
|
|
197
|
-
}
|
|
198
|
-
_cancelLongPressDelayTimeout() {
|
|
199
|
-
this._longPressDelayTimeout != null && (clearTimeout(this._longPressDelayTimeout), this._longPressDelayTimeout = null);
|
|
200
|
-
}
|
|
201
|
-
_cancelPressDelayTimeout() {
|
|
202
|
-
this._pressDelayTimeout != null && (clearTimeout(this._pressDelayTimeout), this._pressDelayTimeout = null);
|
|
203
|
-
}
|
|
204
|
-
_cancelPressOutDelayTimeout() {
|
|
205
|
-
this._pressOutDelayTimeout != null && (clearTimeout(this._pressOutDelayTimeout), this._pressOutDelayTimeout = null);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
260
|
+
]), PressResponder2;
|
|
261
|
+
}();
|
|
208
262
|
function normalizeDelay(delay, min, fallback) {
|
|
209
263
|
return min === void 0 && (min = 0), fallback === void 0 && (fallback = 0), Math.max(min, delay ?? fallback);
|
|
210
264
|
}
|
|
211
265
|
function getTouchFromResponderEvent(event) {
|
|
212
|
-
|
|
266
|
+
var _event$nativeEvent = event.nativeEvent, changedTouches = _event$nativeEvent.changedTouches, touches = _event$nativeEvent.touches;
|
|
213
267
|
return touches != null && touches.length > 0 ? touches[0] : changedTouches != null && changedTouches.length > 0 ? changedTouches[0] : event.nativeEvent;
|
|
214
268
|
}
|
|
215
269
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/PressResponder.ts"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/react-native-use-pressable/src/PressResponder.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"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", "config", "_touchActivatePosition", "_pressDelayTimeout", "_selectionTerminated", "_isPointerTouch", "_longPressDelayTimeout", "_longPressDispatched", "_pressOutDelayTimeout", "_touchState", "_config", "_eventHandlers", "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", "normalizeDelay", "delay", "min", "fallback", "Math", "max", "getTouchFromResponderEvent", "event", "_event$nativeEvent", "nativeEvent", "changedTouches", "touches", "length"]
|
|
6
6
|
}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { useDebugValue, useEffect, useRef } from "react";
|
|
2
2
|
import PressResponder from "./PressResponder";
|
|
3
3
|
function usePressEvents(_, config) {
|
|
4
|
-
|
|
4
|
+
var pressResponderRef = useRef(null);
|
|
5
5
|
pressResponderRef.current == null && (pressResponderRef.current = new PressResponder(config));
|
|
6
|
-
|
|
7
|
-
return useEffect(()
|
|
6
|
+
var pressResponder = pressResponderRef.current;
|
|
7
|
+
return useEffect(function() {
|
|
8
8
|
pressResponder.configure(config);
|
|
9
|
-
}, [
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
}, [
|
|
10
|
+
config,
|
|
11
|
+
pressResponder
|
|
12
|
+
]), useEffect(function() {
|
|
13
|
+
return function() {
|
|
14
|
+
pressResponder.reset();
|
|
15
|
+
};
|
|
16
|
+
}, [
|
|
17
|
+
pressResponder
|
|
18
|
+
]), useDebugValue(config), pressResponder.getEventHandlers();
|
|
12
19
|
}
|
|
13
20
|
export {
|
|
14
21
|
usePressEvents
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": "AAUA,
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/react-native-use-pressable/src/index.ts"],
|
|
4
|
+
"mappings": "AAUA,SAASA,eAAeC,WAAWC,cAAc;AAEjD,OAAOC,oBAAoB;AAKpB,SAASC,eAAeC,GAAGC,QAAY;AAC5C,MAAMC,oBAAoBL,OAAY,IAAA;AAEtC,EAAIK,kBAAkBC,WAAW,SAC/BD,kBAAkBC,UAAU,IAAIL,eAAeG,MAAAA;AAGjD,MAAMG,iBAAiBF,kBAAkBC;AAEzCP,mBAAU,WAAA;AACRQ,mBAAeC,UAAUJ,MAAAA;EAC3B,GAAG;IAACA;IAAQG;GAAe,GAG3BR,UAAU,WAAA;AACR,WAAO,WAAA;AACLQ,qBAAeE,MAAK;IACtB;EACF,GAAG;IAACF;GAAe,GACnBT,cAAcM,MAAAA,GACPG,eAAeG,iBAAgB;AACxC;",
|
|
5
|
+
"names": ["useDebugValue", "useEffect", "useRef", "PressResponder", "usePressEvents", "_", "config", "pressResponderRef", "current", "pressResponder", "configure", "reset", "getEventHandlers"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/react-native-use-pressable",
|
|
3
|
-
"version": "1.89.
|
|
3
|
+
"version": "1.89.27-1708112217600",
|
|
4
4
|
"types": "./types/index.d.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"react": "*"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@tamagui/build": "1.89.
|
|
33
|
+
"@tamagui/build": "1.89.27-1708112217600",
|
|
34
34
|
"react": "^18.2.0"
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|