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