@tamagui/react-native-use-responder-events 2.0.0-rc.8 → 2.0.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.
- package/dist/cjs/ResponderSystem.cjs +293 -152
- package/dist/cjs/ResponderSystem.native.js +312 -170
- package/dist/cjs/ResponderSystem.native.js.map +1 -1
- package/dist/cjs/ResponderTouchHistoryStore.cjs +97 -30
- package/dist/cjs/ResponderTouchHistoryStore.native.js +144 -68
- package/dist/cjs/ResponderTouchHistoryStore.native.js.map +1 -1
- package/dist/cjs/createResponderEvent.cjs +66 -52
- package/dist/cjs/createResponderEvent.native.js +51 -39
- package/dist/cjs/createResponderEvent.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -5
- package/dist/cjs/index.native.js +7 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +26 -24
- package/dist/cjs/types.native.js +26 -24
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/useResponderEvents.cjs +49 -37
- package/dist/cjs/useResponderEvents.native.js +53 -42
- package/dist/cjs/useResponderEvents.native.js.map +1 -1
- package/dist/cjs/utils.cjs +101 -58
- package/dist/cjs/utils.native.js +104 -57
- package/dist/cjs/utils.native.js.map +1 -1
- package/dist/esm/ResponderSystem.mjs +276 -137
- package/dist/esm/ResponderSystem.mjs.map +1 -1
- package/dist/esm/ResponderSystem.native.js +295 -155
- package/dist/esm/ResponderSystem.native.js.map +1 -1
- package/dist/esm/ResponderTouchHistoryStore.mjs +85 -20
- package/dist/esm/ResponderTouchHistoryStore.mjs.map +1 -1
- package/dist/esm/ResponderTouchHistoryStore.native.js +132 -58
- package/dist/esm/ResponderTouchHistoryStore.native.js.map +1 -1
- package/dist/esm/createResponderEvent.mjs +54 -42
- package/dist/esm/createResponderEvent.mjs.map +1 -1
- package/dist/esm/createResponderEvent.native.js +38 -28
- package/dist/esm/createResponderEvent.native.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/types.mjs +14 -14
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js +14 -14
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/useResponderEvents.mjs +21 -11
- package/dist/esm/useResponderEvents.mjs.map +1 -1
- package/dist/esm/useResponderEvents.native.js +25 -16
- package/dist/esm/useResponderEvents.native.js.map +1 -1
- package/dist/esm/utils.mjs +89 -48
- package/dist/esm/utils.mjs.map +1 -1
- package/dist/esm/utils.native.js +92 -47
- package/dist/esm/utils.native.js.map +1 -1
- package/package.json +5 -8
- package/dist/cjs/ResponderSystem.js +0 -205
- package/dist/cjs/ResponderSystem.js.map +0 -6
- package/dist/cjs/ResponderTouchHistoryStore.js +0 -117
- package/dist/cjs/ResponderTouchHistoryStore.js.map +0 -6
- package/dist/cjs/createResponderEvent.js +0 -121
- package/dist/cjs/createResponderEvent.js.map +0 -6
- package/dist/cjs/index.js +0 -15
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/types.js +0 -58
- package/dist/cjs/types.js.map +0 -6
- package/dist/cjs/useResponderEvents.js +0 -81
- package/dist/cjs/useResponderEvents.js.map +0 -6
- package/dist/cjs/utils.js +0 -102
- package/dist/cjs/utils.js.map +0 -6
- package/dist/esm/ResponderSystem.js +0 -207
- package/dist/esm/ResponderSystem.js.map +0 -6
- package/dist/esm/ResponderTouchHistoryStore.js +0 -101
- package/dist/esm/ResponderTouchHistoryStore.js.map +0 -6
- package/dist/esm/createResponderEvent.js +0 -105
- package/dist/esm/createResponderEvent.js.map +0 -6
- package/dist/esm/types.js +0 -42
- package/dist/esm/types.js.map +0 -6
- package/dist/esm/useResponderEvents.js +0 -59
- package/dist/esm/useResponderEvents.js.map +0 -6
- package/dist/esm/utils.js +0 -86
- package/dist/esm/utils.js.map +0 -6
|
@@ -3,112 +3,186 @@ import { ResponderTouchHistoryStore } from "./ResponderTouchHistoryStore.mjs";
|
|
|
3
3
|
import { isCancelish, isEndish, isMoveish, isScroll, isSelectionChange, isStartish } from "./types.mjs";
|
|
4
4
|
import { canUseDOM } from "./utils.mjs";
|
|
5
5
|
import { getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, setResponderId } from "./utils.mjs";
|
|
6
|
-
const emptyObject = {}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
let isEmulatingMouseEvents =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
6
|
+
const emptyObject = {};
|
|
7
|
+
const startRegistration = ["onStartShouldSetResponderCapture", "onStartShouldSetResponder", {
|
|
8
|
+
bubbles: true
|
|
9
|
+
}];
|
|
10
|
+
const moveRegistration = ["onMoveShouldSetResponderCapture", "onMoveShouldSetResponder", {
|
|
11
|
+
bubbles: true
|
|
12
|
+
}];
|
|
13
|
+
const scrollRegistration = ["onScrollShouldSetResponderCapture", "onScrollShouldSetResponder", {
|
|
14
|
+
bubbles: false
|
|
15
|
+
}];
|
|
16
|
+
const shouldSetResponderEvents = {
|
|
17
|
+
touchstart: startRegistration,
|
|
18
|
+
mousedown: startRegistration,
|
|
19
|
+
touchmove: moveRegistration,
|
|
20
|
+
mousemove: moveRegistration,
|
|
21
|
+
scroll: scrollRegistration
|
|
22
|
+
};
|
|
23
|
+
const emptyResponder = {
|
|
24
|
+
id: null,
|
|
25
|
+
idPath: null,
|
|
26
|
+
node: null
|
|
27
|
+
};
|
|
28
|
+
const responderListenersMap = /* @__PURE__ */new Map();
|
|
29
|
+
let isEmulatingMouseEvents = false;
|
|
30
|
+
let trackedTouchCount = 0;
|
|
31
|
+
let currentResponder = {
|
|
32
|
+
id: null,
|
|
33
|
+
node: null,
|
|
34
|
+
idPath: null
|
|
35
|
+
};
|
|
36
36
|
const responderTouchHistoryStore = new ResponderTouchHistoryStore();
|
|
37
37
|
function changeCurrentResponder(responder) {
|
|
38
38
|
currentResponder = responder;
|
|
39
39
|
}
|
|
40
40
|
function getResponderConfig(id) {
|
|
41
41
|
const config = responderListenersMap.get(id);
|
|
42
|
-
return config
|
|
42
|
+
return config != null ? config : emptyObject;
|
|
43
43
|
}
|
|
44
44
|
function eventListener(domEvent) {
|
|
45
|
-
const eventType = domEvent.type
|
|
46
|
-
|
|
47
|
-
if (eventType === "touchstart"
|
|
45
|
+
const eventType = domEvent.type;
|
|
46
|
+
const eventTarget = domEvent.target;
|
|
47
|
+
if (eventType === "touchstart") {
|
|
48
|
+
isEmulatingMouseEvents = true;
|
|
49
|
+
}
|
|
50
|
+
if (eventType === "touchmove" || trackedTouchCount > 1) {
|
|
51
|
+
isEmulatingMouseEvents = false;
|
|
52
|
+
}
|
|
53
|
+
if (
|
|
48
54
|
// Ignore browser emulated mouse events
|
|
49
55
|
eventType === "mousedown" && isEmulatingMouseEvents || eventType === "mousemove" && isEmulatingMouseEvents ||
|
|
50
56
|
// Ignore mousemove if a mousedown didn't occur first
|
|
51
|
-
eventType === "mousemove" && trackedTouchCount < 1)
|
|
57
|
+
eventType === "mousemove" && trackedTouchCount < 1) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
52
60
|
if (isEmulatingMouseEvents && eventType === "mouseup") {
|
|
53
|
-
trackedTouchCount === 0
|
|
61
|
+
if (trackedTouchCount === 0) {
|
|
62
|
+
isEmulatingMouseEvents = false;
|
|
63
|
+
}
|
|
54
64
|
return;
|
|
55
65
|
}
|
|
56
|
-
const isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
(isStartEvent || isMoveEvent || isEndEvent)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
const isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);
|
|
67
|
+
const isMoveEvent = isMoveish(eventType);
|
|
68
|
+
const isEndEvent = isEndish(eventType);
|
|
69
|
+
const isScrollEvent = isScroll(eventType);
|
|
70
|
+
const isSelectionChangeEvent = isSelectionChange(eventType);
|
|
71
|
+
const responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);
|
|
72
|
+
if (isStartEvent || isMoveEvent || isEndEvent) {
|
|
73
|
+
if (domEvent.touches) {
|
|
74
|
+
trackedTouchCount = domEvent.touches.length;
|
|
75
|
+
} else {
|
|
76
|
+
if (isStartEvent) {
|
|
77
|
+
trackedTouchCount = 1;
|
|
78
|
+
} else if (isEndEvent) {
|
|
79
|
+
trackedTouchCount = 0;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);
|
|
83
|
+
}
|
|
84
|
+
let eventPaths = getResponderPaths(domEvent);
|
|
85
|
+
let wasNegotiated = false;
|
|
86
|
+
let wantsResponder;
|
|
66
87
|
if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {
|
|
67
|
-
const currentResponderIdPath = currentResponder.idPath
|
|
68
|
-
|
|
88
|
+
const currentResponderIdPath = currentResponder.idPath;
|
|
89
|
+
const eventIdPath = eventPaths.idPath;
|
|
69
90
|
if (currentResponderIdPath != null && eventIdPath != null) {
|
|
70
91
|
const lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);
|
|
71
92
|
if (lowestCommonAncestor != null) {
|
|
72
|
-
const
|
|
93
|
+
const indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);
|
|
94
|
+
const index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);
|
|
73
95
|
eventPaths = {
|
|
74
96
|
idPath: eventIdPath.slice(index),
|
|
75
97
|
nodePath: eventPaths.nodePath.slice(index)
|
|
76
98
|
};
|
|
77
|
-
} else
|
|
99
|
+
} else {
|
|
100
|
+
eventPaths = null;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (eventPaths != null) {
|
|
104
|
+
wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);
|
|
105
|
+
if (wantsResponder != null) {
|
|
106
|
+
attemptTransfer(responderEvent, wantsResponder);
|
|
107
|
+
wasNegotiated = true;
|
|
108
|
+
}
|
|
78
109
|
}
|
|
79
|
-
eventPaths != null && (wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent), wantsResponder != null && (attemptTransfer(responderEvent, wantsResponder), wasNegotiated = !0));
|
|
80
110
|
}
|
|
81
111
|
if (currentResponder.id != null && currentResponder.node != null) {
|
|
82
112
|
const {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
113
|
+
id,
|
|
114
|
+
node
|
|
115
|
+
} = currentResponder;
|
|
116
|
+
const {
|
|
117
|
+
onResponderStart,
|
|
118
|
+
onResponderMove,
|
|
119
|
+
onResponderEnd,
|
|
120
|
+
onResponderRelease,
|
|
121
|
+
onResponderTerminate,
|
|
122
|
+
onResponderTerminationRequest
|
|
123
|
+
} = getResponderConfig(id);
|
|
124
|
+
responderEvent.bubbles = false;
|
|
125
|
+
responderEvent.cancelable = false;
|
|
126
|
+
responderEvent.currentTarget = node;
|
|
127
|
+
if (isStartEvent) {
|
|
128
|
+
if (onResponderStart != null) {
|
|
129
|
+
responderEvent.dispatchConfig.registrationName = "onResponderStart";
|
|
130
|
+
onResponderStart(responderEvent);
|
|
131
|
+
}
|
|
132
|
+
} else if (isMoveEvent) {
|
|
133
|
+
if (onResponderMove != null) {
|
|
134
|
+
responderEvent.dispatchConfig.registrationName = "onResponderMove";
|
|
135
|
+
onResponderMove(responderEvent);
|
|
136
|
+
}
|
|
137
|
+
} else {
|
|
95
138
|
const isTerminateEvent = isCancelish(eventType) ||
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (isEndEvent
|
|
110
|
-
|
|
111
|
-
|
|
139
|
+
// native context menu
|
|
140
|
+
eventType === "contextmenu" ||
|
|
141
|
+
// window blur
|
|
142
|
+
eventType === "blur" && eventTarget === window ||
|
|
143
|
+
// responder (or ancestors) blur
|
|
144
|
+
eventType === "blur" && eventTarget.contains(node) && domEvent.relatedTarget !== node ||
|
|
145
|
+
// native scroll without using a pointer
|
|
146
|
+
isScrollEvent && trackedTouchCount === 0 ||
|
|
147
|
+
// native scroll on node that is parent of the responder (allow siblings to scroll)
|
|
148
|
+
isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||
|
|
149
|
+
// native select/selectionchange on node
|
|
150
|
+
isSelectionChangeEvent && hasValidSelection(domEvent);
|
|
151
|
+
const isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);
|
|
152
|
+
if (isEndEvent) {
|
|
153
|
+
if (onResponderEnd != null) {
|
|
154
|
+
responderEvent.dispatchConfig.registrationName = "onResponderEnd";
|
|
155
|
+
onResponderEnd(responderEvent);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (isReleaseEvent) {
|
|
159
|
+
if (onResponderRelease != null) {
|
|
160
|
+
responderEvent.dispatchConfig.registrationName = "onResponderRelease";
|
|
161
|
+
onResponderRelease(responderEvent);
|
|
162
|
+
}
|
|
163
|
+
changeCurrentResponder(emptyResponder);
|
|
164
|
+
}
|
|
165
|
+
if (isTerminateEvent) {
|
|
166
|
+
let shouldTerminate = true;
|
|
167
|
+
if (eventType === "contextmenu" || eventType === "scroll" || eventType === "selectionchange") {
|
|
168
|
+
if (wasNegotiated) {
|
|
169
|
+
shouldTerminate = false;
|
|
170
|
+
} else if (onResponderTerminationRequest != null) {
|
|
171
|
+
responderEvent.dispatchConfig.registrationName = "onResponderTerminationRequest";
|
|
172
|
+
if (onResponderTerminationRequest(responderEvent) === false) {
|
|
173
|
+
shouldTerminate = false;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (shouldTerminate) {
|
|
178
|
+
if (onResponderTerminate != null) {
|
|
179
|
+
responderEvent.dispatchConfig.registrationName = "onResponderTerminate";
|
|
180
|
+
onResponderTerminate(responderEvent);
|
|
181
|
+
}
|
|
182
|
+
changeCurrentResponder(emptyResponder);
|
|
183
|
+
isEmulatingMouseEvents = false;
|
|
184
|
+
trackedTouchCount = 0;
|
|
185
|
+
}
|
|
112
186
|
}
|
|
113
187
|
}
|
|
114
188
|
}
|
|
@@ -117,17 +191,20 @@ function findWantsResponder(eventPaths, domEvent, responderEvent) {
|
|
|
117
191
|
const shouldSetCallbacks = shouldSetResponderEvents[domEvent.type];
|
|
118
192
|
if (shouldSetCallbacks != null) {
|
|
119
193
|
const {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
194
|
+
idPath,
|
|
195
|
+
nodePath
|
|
196
|
+
} = eventPaths;
|
|
197
|
+
const shouldSetCallbackCaptureName = shouldSetCallbacks[0];
|
|
198
|
+
const shouldSetCallbackBubbleName = shouldSetCallbacks[1];
|
|
199
|
+
const {
|
|
200
|
+
bubbles
|
|
201
|
+
} = shouldSetCallbacks[2];
|
|
202
|
+
const check = (id, node, callbackName) => {
|
|
203
|
+
const config = getResponderConfig(id);
|
|
204
|
+
const shouldSetCallback = config[callbackName];
|
|
205
|
+
if (shouldSetCallback != null) {
|
|
206
|
+
responderEvent.currentTarget = node;
|
|
207
|
+
if (shouldSetCallback(responderEvent) === true) {
|
|
131
208
|
const prunedIdPath = idPath.slice(idPath.indexOf(id));
|
|
132
209
|
return {
|
|
133
210
|
id,
|
|
@@ -135,70 +212,130 @@ function findWantsResponder(eventPaths, domEvent, responderEvent) {
|
|
|
135
212
|
idPath: prunedIdPath
|
|
136
213
|
};
|
|
137
214
|
}
|
|
138
|
-
}
|
|
215
|
+
}
|
|
216
|
+
};
|
|
139
217
|
for (let i = idPath.length - 1; i >= 0; i--) {
|
|
140
|
-
const id = idPath[i]
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
if (result != null)
|
|
144
|
-
|
|
218
|
+
const id = idPath[i];
|
|
219
|
+
const node = nodePath[i];
|
|
220
|
+
const result = check(id, node, shouldSetCallbackCaptureName);
|
|
221
|
+
if (result != null) {
|
|
222
|
+
return result;
|
|
223
|
+
}
|
|
224
|
+
if (responderEvent.isPropagationStopped() === true) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
145
227
|
}
|
|
146
|
-
if (bubbles)
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
228
|
+
if (bubbles) {
|
|
229
|
+
for (let i = 0; i < idPath.length; i++) {
|
|
230
|
+
const id = idPath[i];
|
|
231
|
+
const node = nodePath[i];
|
|
232
|
+
const result = check(id, node, shouldSetCallbackBubbleName);
|
|
233
|
+
if (result != null) {
|
|
234
|
+
return result;
|
|
235
|
+
}
|
|
236
|
+
if (responderEvent.isPropagationStopped() === true) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
152
240
|
} else {
|
|
153
|
-
const id = idPath[0]
|
|
154
|
-
|
|
155
|
-
|
|
241
|
+
const id = idPath[0];
|
|
242
|
+
const node = nodePath[0];
|
|
243
|
+
const target = domEvent.target;
|
|
244
|
+
if (target === node) {
|
|
245
|
+
return check(id, node, shouldSetCallbackBubbleName);
|
|
246
|
+
}
|
|
156
247
|
}
|
|
157
248
|
}
|
|
158
249
|
}
|
|
159
250
|
function attemptTransfer(responderEvent, wantsResponder) {
|
|
160
251
|
const {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
252
|
+
id: currentId,
|
|
253
|
+
node: currentNode
|
|
254
|
+
} = currentResponder;
|
|
255
|
+
const {
|
|
256
|
+
id,
|
|
257
|
+
node
|
|
258
|
+
} = wantsResponder;
|
|
259
|
+
const {
|
|
260
|
+
onResponderGrant,
|
|
261
|
+
onResponderReject
|
|
262
|
+
} = getResponderConfig(id);
|
|
263
|
+
responderEvent.bubbles = false;
|
|
264
|
+
responderEvent.cancelable = false;
|
|
265
|
+
responderEvent.currentTarget = node;
|
|
266
|
+
if (currentId == null) {
|
|
267
|
+
if (onResponderGrant != null) {
|
|
268
|
+
responderEvent.currentTarget = node;
|
|
269
|
+
responderEvent.dispatchConfig.registrationName = "onResponderGrant";
|
|
270
|
+
onResponderGrant(responderEvent);
|
|
271
|
+
}
|
|
272
|
+
changeCurrentResponder(wantsResponder);
|
|
273
|
+
} else {
|
|
173
274
|
const {
|
|
174
275
|
onResponderTerminate,
|
|
175
276
|
onResponderTerminationRequest
|
|
176
277
|
} = getResponderConfig(currentId);
|
|
177
|
-
let allowTransfer =
|
|
178
|
-
|
|
278
|
+
let allowTransfer = true;
|
|
279
|
+
if (onResponderTerminationRequest != null) {
|
|
280
|
+
responderEvent.currentTarget = currentNode;
|
|
281
|
+
responderEvent.dispatchConfig.registrationName = "onResponderTerminationRequest";
|
|
282
|
+
if (onResponderTerminationRequest(responderEvent) === false) {
|
|
283
|
+
allowTransfer = false;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
if (allowTransfer) {
|
|
287
|
+
if (onResponderTerminate != null) {
|
|
288
|
+
responderEvent.currentTarget = currentNode;
|
|
289
|
+
responderEvent.dispatchConfig.registrationName = "onResponderTerminate";
|
|
290
|
+
onResponderTerminate(responderEvent);
|
|
291
|
+
}
|
|
292
|
+
if (onResponderGrant != null) {
|
|
293
|
+
responderEvent.currentTarget = node;
|
|
294
|
+
responderEvent.dispatchConfig.registrationName = "onResponderGrant";
|
|
295
|
+
onResponderGrant(responderEvent);
|
|
296
|
+
}
|
|
297
|
+
changeCurrentResponder(wantsResponder);
|
|
298
|
+
} else {
|
|
299
|
+
if (onResponderReject != null) {
|
|
300
|
+
responderEvent.currentTarget = node;
|
|
301
|
+
responderEvent.dispatchConfig.registrationName = "onResponderReject";
|
|
302
|
+
onResponderReject(responderEvent);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
179
305
|
}
|
|
180
306
|
}
|
|
181
|
-
const documentEventsCapturePhase = ["blur", "scroll"]
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
307
|
+
const documentEventsCapturePhase = ["blur", "scroll"];
|
|
308
|
+
const documentEventsBubblePhase = [
|
|
309
|
+
// mouse
|
|
310
|
+
"mousedown", "mousemove", "mouseup", "dragstart",
|
|
311
|
+
// touch
|
|
312
|
+
"touchstart", "touchmove", "touchend", "touchcancel",
|
|
313
|
+
// other
|
|
314
|
+
"contextmenu", "select", "selectionchange"];
|
|
315
|
+
const isTamaguiResponderActive = /* @__PURE__ */Symbol();
|
|
190
316
|
function attachListeners() {
|
|
191
|
-
canUseDOM && !window[isTamaguiResponderActive]
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
317
|
+
if (canUseDOM && !window[isTamaguiResponderActive]) {
|
|
318
|
+
window.addEventListener("blur", eventListener);
|
|
319
|
+
documentEventsBubblePhase.forEach(eventType => {
|
|
320
|
+
document.addEventListener(eventType, eventListener);
|
|
321
|
+
});
|
|
322
|
+
documentEventsCapturePhase.forEach(eventType => {
|
|
323
|
+
document.addEventListener(eventType, eventListener, true);
|
|
324
|
+
});
|
|
325
|
+
window[isTamaguiResponderActive] = true;
|
|
326
|
+
}
|
|
196
327
|
}
|
|
197
328
|
function addNode(id, node, config) {
|
|
198
|
-
setResponderId(node, id)
|
|
329
|
+
setResponderId(node, id);
|
|
330
|
+
responderListenersMap.set(id, config);
|
|
199
331
|
}
|
|
200
332
|
function removeNode(id) {
|
|
201
|
-
currentResponder.id === id
|
|
333
|
+
if (currentResponder.id === id) {
|
|
334
|
+
terminateResponder();
|
|
335
|
+
}
|
|
336
|
+
if (responderListenersMap.has(id)) {
|
|
337
|
+
responderListenersMap.delete(id);
|
|
338
|
+
}
|
|
202
339
|
}
|
|
203
340
|
function terminateResponder() {
|
|
204
341
|
const {
|
|
@@ -211,11 +348,13 @@ function terminateResponder() {
|
|
|
211
348
|
} = getResponderConfig(id);
|
|
212
349
|
if (onResponderTerminate != null) {
|
|
213
350
|
const event = createResponderEvent({}, responderTouchHistoryStore);
|
|
214
|
-
event.currentTarget = node
|
|
351
|
+
event.currentTarget = node;
|
|
352
|
+
onResponderTerminate(event);
|
|
215
353
|
}
|
|
216
354
|
changeCurrentResponder(emptyResponder);
|
|
217
355
|
}
|
|
218
|
-
isEmulatingMouseEvents =
|
|
356
|
+
isEmulatingMouseEvents = false;
|
|
357
|
+
trackedTouchCount = 0;
|
|
219
358
|
}
|
|
220
359
|
function getResponderNode() {
|
|
221
360
|
return currentResponder.node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createResponderEvent","ResponderTouchHistoryStore","isCancelish","isEndish","isMoveish","isScroll","isSelectionChange","isStartish","canUseDOM","getLowestCommonAncestor","getResponderPaths","hasTargetTouches","hasValidSelection","isPrimaryPointerDown","setResponderId","emptyObject","startRegistration","bubbles","moveRegistration","scrollRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","scroll","emptyResponder","id","idPath","node","responderListenersMap","Map","isEmulatingMouseEvents","trackedTouchCount","currentResponder","responderTouchHistoryStore","changeCurrentResponder","responder","getResponderConfig","config","get","eventListener","domEvent","eventType","type","eventTarget","target","isStartEvent","isMoveEvent","isEndEvent","isScrollEvent","isSelectionChangeEvent","responderEvent","touches","length","recordTouchTrack","nativeEvent","eventPaths","wasNegotiated","wantsResponder","currentResponderIdPath","eventIdPath","lowestCommonAncestor","index","indexOf","slice","nodePath","findWantsResponder","attemptTransfer","onResponderStart","onResponderMove","onResponderEnd","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","cancelable","currentTarget","dispatchConfig","registrationName","isTerminateEvent","window","contains","relatedTarget","isReleaseEvent","shouldTerminate","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","callbackName","shouldSetCallback","prunedIdPath","i","result","isPropagationStopped","currentId","currentNode","onResponderGrant","onResponderReject","allowTransfer","documentEventsCapturePhase","documentEventsBubblePhase","isTamaguiResponderActive","Symbol","attachListeners","addEventListener","forEach","document","addNode","set","removeNode","terminateResponder","has","delete","event","getResponderNode"],"sources":["../../src/ResponderSystem.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createResponderEvent","ResponderTouchHistoryStore","isCancelish","isEndish","isMoveish","isScroll","isSelectionChange","isStartish","canUseDOM","getLowestCommonAncestor","getResponderPaths","hasTargetTouches","hasValidSelection","isPrimaryPointerDown","setResponderId","emptyObject","startRegistration","bubbles","moveRegistration","scrollRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","scroll","emptyResponder","id","idPath","node","responderListenersMap","Map","isEmulatingMouseEvents","trackedTouchCount","currentResponder","responderTouchHistoryStore","changeCurrentResponder","responder","getResponderConfig","config","get","eventListener","domEvent","eventType","type","eventTarget","target","isStartEvent","isMoveEvent","isEndEvent","isScrollEvent","isSelectionChangeEvent","responderEvent","touches","length","recordTouchTrack","nativeEvent","eventPaths","wasNegotiated","wantsResponder","currentResponderIdPath","eventIdPath","lowestCommonAncestor","indexOfLowestCommonAncestor","indexOf","index","slice","nodePath","findWantsResponder","attemptTransfer","onResponderStart","onResponderMove","onResponderEnd","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","cancelable","currentTarget","dispatchConfig","registrationName","isTerminateEvent","window","contains","relatedTarget","isReleaseEvent","shouldTerminate","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","callbackName","shouldSetCallback","prunedIdPath","i","result","isPropagationStopped","currentId","currentNode","onResponderGrant","onResponderReject","allowTransfer","documentEventsCapturePhase","documentEventsBubblePhase","isTamaguiResponderActive","Symbol","attachListeners","addEventListener","forEach","document","addNode","set","removeNode","terminateResponder","has","delete","event","getResponderNode"],"sources":["../../src/ResponderSystem.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|