@tamagui/react-native-use-responder-events 1.74.2 → 1.74.4
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/esm/ResponderSystem.native.js +207 -0
- package/dist/esm/ResponderSystem.native.js.map +6 -0
- package/dist/esm/ResponderTouchHistoryStore.native.js +103 -0
- package/dist/esm/ResponderTouchHistoryStore.native.js.map +6 -0
- package/dist/esm/createResponderEvent.native.js +105 -0
- package/dist/esm/createResponderEvent.native.js.map +6 -0
- package/dist/esm/index.native.js +2 -0
- package/dist/esm/index.native.js.map +6 -0
- package/dist/esm/types.native.js +42 -0
- package/dist/esm/types.native.js.map +6 -0
- package/dist/esm/useResponderEvents.native.js +28 -0
- package/dist/esm/useResponderEvents.native.js.map +6 -0
- package/dist/esm/utils.native.js +87 -0
- package/dist/esm/utils.native.js.map +6 -0
- package/package.json +2 -2
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import createResponderEvent from "./createResponderEvent";
|
|
2
|
+
import { ResponderTouchHistoryStore } from "./ResponderTouchHistoryStore";
|
|
3
|
+
import {
|
|
4
|
+
isCancelish,
|
|
5
|
+
isEndish,
|
|
6
|
+
isMoveish,
|
|
7
|
+
isScroll,
|
|
8
|
+
isSelectionChange,
|
|
9
|
+
isStartish
|
|
10
|
+
} from "./types";
|
|
11
|
+
import { canUseDOM } from "./utils";
|
|
12
|
+
import {
|
|
13
|
+
getLowestCommonAncestor,
|
|
14
|
+
getResponderPaths,
|
|
15
|
+
hasTargetTouches,
|
|
16
|
+
hasValidSelection,
|
|
17
|
+
isPrimaryPointerDown,
|
|
18
|
+
setResponderId
|
|
19
|
+
} from "./utils";
|
|
20
|
+
const emptyObject = {}, startRegistration = [
|
|
21
|
+
"onStartShouldSetResponderCapture",
|
|
22
|
+
"onStartShouldSetResponder",
|
|
23
|
+
{ bubbles: !0 }
|
|
24
|
+
], moveRegistration = [
|
|
25
|
+
"onMoveShouldSetResponderCapture",
|
|
26
|
+
"onMoveShouldSetResponder",
|
|
27
|
+
{ bubbles: !0 }
|
|
28
|
+
], scrollRegistration = [
|
|
29
|
+
"onScrollShouldSetResponderCapture",
|
|
30
|
+
"onScrollShouldSetResponder",
|
|
31
|
+
{ bubbles: !1 }
|
|
32
|
+
], shouldSetResponderEvents = {
|
|
33
|
+
touchstart: startRegistration,
|
|
34
|
+
mousedown: startRegistration,
|
|
35
|
+
touchmove: moveRegistration,
|
|
36
|
+
mousemove: moveRegistration,
|
|
37
|
+
scroll: scrollRegistration
|
|
38
|
+
}, emptyResponder = { id: null, idPath: null, node: null }, responderListenersMap = /* @__PURE__ */ new Map();
|
|
39
|
+
let isEmulatingMouseEvents = !1, trackedTouchCount = 0, currentResponder = {
|
|
40
|
+
id: null,
|
|
41
|
+
node: null,
|
|
42
|
+
idPath: null
|
|
43
|
+
};
|
|
44
|
+
const responderTouchHistoryStore = new ResponderTouchHistoryStore();
|
|
45
|
+
function changeCurrentResponder(responder) {
|
|
46
|
+
currentResponder = responder;
|
|
47
|
+
}
|
|
48
|
+
function getResponderConfig(id) {
|
|
49
|
+
const config = responderListenersMap.get(id);
|
|
50
|
+
return config ?? emptyObject;
|
|
51
|
+
}
|
|
52
|
+
function eventListener(domEvent) {
|
|
53
|
+
const eventType = domEvent.type, eventTarget = domEvent.target;
|
|
54
|
+
if (eventType === "touchstart" && (isEmulatingMouseEvents = !0), (eventType === "touchmove" || trackedTouchCount > 1) && (isEmulatingMouseEvents = !1), // Ignore browser emulated mouse events
|
|
55
|
+
eventType === "mousedown" && isEmulatingMouseEvents || eventType === "mousemove" && isEmulatingMouseEvents || // Ignore mousemove if a mousedown didn't occur first
|
|
56
|
+
eventType === "mousemove" && trackedTouchCount < 1)
|
|
57
|
+
return;
|
|
58
|
+
if (isEmulatingMouseEvents && eventType === "mouseup") {
|
|
59
|
+
trackedTouchCount === 0 && (isEmulatingMouseEvents = !1);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent), isMoveEvent = isMoveish(eventType), isEndEvent = isEndish(eventType), isScrollEvent = isScroll(eventType), isSelectionChangeEvent = isSelectionChange(eventType), responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);
|
|
63
|
+
(isStartEvent || isMoveEvent || isEndEvent) && (domEvent.touches ? trackedTouchCount = domEvent.touches.length : isStartEvent ? trackedTouchCount = 1 : isEndEvent && (trackedTouchCount = 0), responderTouchHistoryStore.recordTouchTrack(
|
|
64
|
+
eventType,
|
|
65
|
+
responderEvent.nativeEvent
|
|
66
|
+
));
|
|
67
|
+
let eventPaths = getResponderPaths(domEvent), wasNegotiated = !1, wantsResponder;
|
|
68
|
+
if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {
|
|
69
|
+
const currentResponderIdPath = currentResponder.idPath, eventIdPath = eventPaths.idPath;
|
|
70
|
+
if (currentResponderIdPath != null && eventIdPath != null) {
|
|
71
|
+
const lowestCommonAncestor = getLowestCommonAncestor(
|
|
72
|
+
currentResponderIdPath,
|
|
73
|
+
eventIdPath
|
|
74
|
+
);
|
|
75
|
+
if (lowestCommonAncestor != null) {
|
|
76
|
+
const index = eventIdPath.indexOf(lowestCommonAncestor) + (lowestCommonAncestor === currentResponder.id ? 1 : 0);
|
|
77
|
+
eventPaths = {
|
|
78
|
+
idPath: eventIdPath.slice(index),
|
|
79
|
+
nodePath: eventPaths.nodePath.slice(index)
|
|
80
|
+
};
|
|
81
|
+
} else
|
|
82
|
+
eventPaths = null;
|
|
83
|
+
}
|
|
84
|
+
eventPaths != null && (wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent), wantsResponder != null && (attemptTransfer(responderEvent, wantsResponder), wasNegotiated = !0));
|
|
85
|
+
}
|
|
86
|
+
if (currentResponder.id != null && currentResponder.node != null) {
|
|
87
|
+
const { id, node } = currentResponder, {
|
|
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)
|
|
96
|
+
onResponderStart != null && (responderEvent.dispatchConfig.registrationName = "onResponderStart", onResponderStart(responderEvent));
|
|
97
|
+
else if (isMoveEvent)
|
|
98
|
+
onResponderMove != null && (responderEvent.dispatchConfig.registrationName = "onResponderMove", onResponderMove(responderEvent));
|
|
99
|
+
else {
|
|
100
|
+
const isTerminateEvent = isCancelish(eventType) || // native context menu
|
|
101
|
+
eventType === "contextmenu" || // window blur
|
|
102
|
+
eventType === "blur" && eventTarget === window || // responder (or ancestors) blur
|
|
103
|
+
eventType === "blur" && eventTarget.contains(node) && domEvent.relatedTarget !== node || // native scroll without using a pointer
|
|
104
|
+
isScrollEvent && trackedTouchCount === 0 || // native scroll on node that is parent of the responder (allow siblings to scroll)
|
|
105
|
+
isScrollEvent && eventTarget.contains(node) && eventTarget !== node || // native select/selectionchange on node
|
|
106
|
+
isSelectionChangeEvent && hasValidSelection(domEvent), isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);
|
|
107
|
+
if (isEndEvent && onResponderEnd != null && (responderEvent.dispatchConfig.registrationName = "onResponderEnd", onResponderEnd(responderEvent)), isReleaseEvent && (onResponderRelease != null && (responderEvent.dispatchConfig.registrationName = "onResponderRelease", onResponderRelease(responderEvent)), changeCurrentResponder(emptyResponder)), isTerminateEvent) {
|
|
108
|
+
let shouldTerminate = !0;
|
|
109
|
+
(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
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function findWantsResponder(eventPaths, domEvent, responderEvent) {
|
|
115
|
+
const shouldSetCallbacks = shouldSetResponderEvents[domEvent.type];
|
|
116
|
+
if (shouldSetCallbacks != null) {
|
|
117
|
+
const { idPath, nodePath } = eventPaths, shouldSetCallbackCaptureName = shouldSetCallbacks[0], shouldSetCallbackBubbleName = shouldSetCallbacks[1], { bubbles } = shouldSetCallbacks[2], check = function(id, node, callbackName) {
|
|
118
|
+
const shouldSetCallback = getResponderConfig(id)[callbackName];
|
|
119
|
+
if (shouldSetCallback != null && (responderEvent.currentTarget = node, shouldSetCallback(responderEvent) === !0)) {
|
|
120
|
+
const prunedIdPath = idPath.slice(idPath.indexOf(id));
|
|
121
|
+
return { id, node, idPath: prunedIdPath };
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
for (let i = idPath.length - 1; i >= 0; i--) {
|
|
125
|
+
const id = idPath[i], node = nodePath[i], result = check(id, node, shouldSetCallbackCaptureName);
|
|
126
|
+
if (result != null)
|
|
127
|
+
return result;
|
|
128
|
+
if (responderEvent.isPropagationStopped() === !0)
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (bubbles)
|
|
132
|
+
for (let i = 0; i < idPath.length; i++) {
|
|
133
|
+
const id = idPath[i], node = nodePath[i], result = check(id, node, shouldSetCallbackBubbleName);
|
|
134
|
+
if (result != null)
|
|
135
|
+
return result;
|
|
136
|
+
if (responderEvent.isPropagationStopped() === !0)
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const id = idPath[0], node = nodePath[0];
|
|
141
|
+
if (domEvent.target === node)
|
|
142
|
+
return check(id, node, shouldSetCallbackBubbleName);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function attemptTransfer(responderEvent, wantsResponder) {
|
|
147
|
+
const { id: currentId, node: currentNode } = currentResponder, { id, node } = wantsResponder, { onResponderGrant, onResponderReject } = getResponderConfig(id);
|
|
148
|
+
if (responderEvent.bubbles = !1, responderEvent.cancelable = !1, responderEvent.currentTarget = node, currentId == null)
|
|
149
|
+
onResponderGrant != null && (responderEvent.currentTarget = node, responderEvent.dispatchConfig.registrationName = "onResponderGrant", onResponderGrant(responderEvent)), changeCurrentResponder(wantsResponder);
|
|
150
|
+
else {
|
|
151
|
+
const { onResponderTerminate, onResponderTerminationRequest } = getResponderConfig(currentId);
|
|
152
|
+
let allowTransfer = !0;
|
|
153
|
+
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));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const documentEventsCapturePhase = ["blur", "scroll"], documentEventsBubblePhase = [
|
|
157
|
+
// mouse
|
|
158
|
+
"mousedown",
|
|
159
|
+
"mousemove",
|
|
160
|
+
"mouseup",
|
|
161
|
+
"dragstart",
|
|
162
|
+
// touch
|
|
163
|
+
"touchstart",
|
|
164
|
+
"touchmove",
|
|
165
|
+
"touchend",
|
|
166
|
+
"touchcancel",
|
|
167
|
+
// other
|
|
168
|
+
"contextmenu",
|
|
169
|
+
"select",
|
|
170
|
+
"selectionchange"
|
|
171
|
+
], isTamaguiResponderActive = Symbol();
|
|
172
|
+
function attachListeners() {
|
|
173
|
+
canUseDOM && !window[isTamaguiResponderActive] && (window.addEventListener("blur", eventListener), documentEventsBubblePhase.forEach((eventType) => {
|
|
174
|
+
document.addEventListener(eventType, eventListener);
|
|
175
|
+
}), documentEventsCapturePhase.forEach((eventType) => {
|
|
176
|
+
document.addEventListener(eventType, eventListener, !0);
|
|
177
|
+
}), window[isTamaguiResponderActive] = !0);
|
|
178
|
+
}
|
|
179
|
+
function addNode(id, node, config) {
|
|
180
|
+
setResponderId(node, id), responderListenersMap.set(id, config);
|
|
181
|
+
}
|
|
182
|
+
function removeNode(id) {
|
|
183
|
+
currentResponder.id === id && terminateResponder(), responderListenersMap.has(id) && responderListenersMap.delete(id);
|
|
184
|
+
}
|
|
185
|
+
function terminateResponder() {
|
|
186
|
+
const { id, node } = currentResponder;
|
|
187
|
+
if (id != null && node != null) {
|
|
188
|
+
const { onResponderTerminate } = getResponderConfig(id);
|
|
189
|
+
if (onResponderTerminate != null) {
|
|
190
|
+
const event = createResponderEvent({}, responderTouchHistoryStore);
|
|
191
|
+
event.currentTarget = node, onResponderTerminate(event);
|
|
192
|
+
}
|
|
193
|
+
changeCurrentResponder(emptyResponder);
|
|
194
|
+
}
|
|
195
|
+
isEmulatingMouseEvents = !1, trackedTouchCount = 0;
|
|
196
|
+
}
|
|
197
|
+
function getResponderNode() {
|
|
198
|
+
return currentResponder.node;
|
|
199
|
+
}
|
|
200
|
+
export {
|
|
201
|
+
addNode,
|
|
202
|
+
attachListeners,
|
|
203
|
+
getResponderNode,
|
|
204
|
+
removeNode,
|
|
205
|
+
terminateResponder
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=ResponderSystem.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ResponderSystem.ts"],
|
|
4
|
+
"mappings": "AAOA,OAAO,0BAA0B;AACjC,SAAS,kCAAkC;AAC3C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB;AAC1B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA4CP,MAAM,cAAc,CAAC,GAIf,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,EACA,EAAE,SAAS,GAAK;AAClB,GACM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA,EAAE,SAAS,GAAK;AAClB,GACM,qBAAqB;AAAA,EACzB;AAAA,EACA;AAAA,EACA,EAAE,SAAS,GAAM;AACnB,GACM,2BAA2B;AAAA,EAC/B,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,QAAQ;AACV,GAEM,iBAAiB,EAAE,IAAI,MAAM,QAAQ,MAAM,MAAM,KAAK,GACtD,wBAAwB,oBAAI,IAAI;AAEtC,IAAI,yBAAyB,IACzB,oBAAoB,GACpB,mBAAsC;AAAA,EACxC,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,QAAQ;AACV;AACA,MAAM,6BAA6B,IAAI,2BAA2B;AAElE,SAAS,uBAAuB,WAA8B;AAC5D,qBAAmB;AACrB;AAEA,SAAS,mBAAmB,IAAwC;AAClE,QAAM,SAAS,sBAAsB,IAAI,EAAE;AAC3C,SAAO,UAA0B;AACnC;AAYA,SAAS,cAAc,UAAe;AACpC,QAAM,YAAY,SAAS,MACrB,cAAc,SAAS;AAkB7B,MARI,cAAc,iBAChB,yBAAyB,MAGvB,cAAc,eAAe,oBAAoB,OACnD,yBAAyB;AAAA,EAKxB,cAAc,eAAe,0BAC7B,cAAc,eAAe;AAAA,EAE7B,cAAc,eAAe,oBAAoB;AAElD;AAGF,MAAI,0BAA0B,cAAc,WAAW;AACrD,IAAI,sBAAsB,MACxB,yBAAyB;AAE3B;AAAA,EACF;AAEA,QAAM,eAAe,WAAW,SAAS,KAAK,qBAAqB,QAAQ,GACrE,cAAc,UAAU,SAAS,GACjC,aAAa,SAAS,SAAS,GAC/B,gBAAgB,SAAS,SAAS,GAClC,yBAAyB,kBAAkB,SAAS,GACpD,iBAAiB,qBAAqB,UAAU,0BAA0B;AAMhF,GAAI,gBAAgB,eAAe,gBAC7B,SAAS,UACX,oBAAoB,SAAS,QAAQ,SAEjC,eACF,oBAAoB,IACX,eACT,oBAAoB,IAGxB,2BAA2B;AAAA,IACzB;AAAA,IACA,eAAe;AAAA,EACjB;AAOF,MAAI,aAAkB,kBAAkB,QAAQ,GAC5C,gBAAgB,IAChB;AAGJ,MAAI,gBAAgB,eAAgB,iBAAiB,oBAAoB,GAAI;AAG3E,UAAM,yBAAyB,iBAAiB,QAC1C,cAAc,WAAW;AAE/B,QAAI,0BAA0B,QAAQ,eAAe,MAAM;AACzD,YAAM,uBAAuB;AAAA,QAC3B;AAAA,QACA;AAAA,MACF;AACA,UAAI,wBAAwB,MAAM;AAGhC,cAAM,QAF8B,YAAY,QAAQ,oBAAoB,KAIzE,yBAAyB,iBAAiB,KAAK,IAAI;AACtD,qBAAa;AAAA,UACX,QAAQ,YAAY,MAAM,KAAK;AAAA,UAC/B,UAAU,WAAW,SAAS,MAAM,KAAK;AAAA,QAC3C;AAAA,MACF;AACE,qBAAa;AAAA,IAEjB;AAEA,IAAI,cAAc,SAEhB,iBAAiB,mBAAmB,YAAY,UAAU,cAAc,GACpE,kBAAkB,SAEpB,gBAAgB,gBAAgB,cAAc,GAC9C,gBAAgB;AAAA,EAGtB;AAGA,MAAI,iBAAiB,MAAM,QAAQ,iBAAiB,QAAQ,MAAM;AAChE,UAAM,EAAE,IAAI,KAAK,IAAI,kBACf;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,mBAAmB,EAAE;AAOzB,QALA,eAAe,UAAU,IACzB,eAAe,aAAa,IAC5B,eAAe,gBAAgB,MAG3B;AACF,MAAI,oBAAoB,SACtB,eAAe,eAAe,mBAAmB,oBACjD,iBAAiB,cAAc;AAAA,aAI1B;AACP,MAAI,mBAAmB,SACrB,eAAe,eAAe,mBAAmB,mBACjD,gBAAgB,cAAc;AAAA,SAE3B;AACL,YAAM,mBACJ,YAAY,SAAS;AAAA,MAErB,cAAc;AAAA,MAEb,cAAc,UAAU,gBAAgB;AAAA,MAExC,cAAc,UACb,YAAY,SAAS,IAAI,KACzB,SAAS,kBAAkB;AAAA,MAE5B,iBAAiB,sBAAsB;AAAA,MAEvC,iBAAiB,YAAY,SAAS,IAAI,KAAK,gBAAgB;AAAA,MAE/D,0BAA0B,kBAAkB,QAAQ,GAEjD,iBACJ,cAAc,CAAC,oBAAoB,CAAC,iBAAiB,MAAM,SAAS,OAAO;AAkB7E,UAfI,cACE,kBAAkB,SACpB,eAAe,eAAe,mBAAmB,kBACjD,eAAe,cAAc,IAI7B,mBACE,sBAAsB,SACxB,eAAe,eAAe,mBAAmB,sBACjD,mBAAmB,cAAc,IAEnC,uBAAuB,cAAc,IAGnC,kBAAkB;AACpB,YAAI,kBAAkB;AAGtB,SACE,cAAc,iBACd,cAAc,YACd,cAAc,uBAGV,gBACF,kBAAkB,KACT,iCAAiC,SAC1C,eAAe,eAAe,mBAC5B,iCACE,8BAA8B,cAAc,MAAM,OACpD,kBAAkB,OAKpB,oBACE,wBAAwB,SAC1B,eAAe,eAAe,mBAAmB,wBACjD,qBAAqB,cAAc,IAErC,uBAAuB,cAAc,GACrC,yBAAyB,IACzB,oBAAoB;AAAA,MAExB;AAAA,IACF;AAAA,EACF;AACF;AAOA,SAAS,mBAAmB,YAAY,UAAU,gBAAgB;AAChE,QAAM,qBAAqB,yBAAyB,SAAS,IAAW;AAExE,MAAI,sBAAsB,MAAM;AAC9B,UAAM,EAAE,QAAQ,SAAS,IAAI,YAEvB,+BAA+B,mBAAmB,CAAC,GACnD,8BAA8B,mBAAmB,CAAC,GAClD,EAAE,QAAQ,IAAI,mBAAmB,CAAC,GAElC,QAAQ,SAAU,IAAI,MAAM,cAAc;AAE9C,YAAM,oBADS,mBAAmB,EAAE,EACH,YAAY;AAC7C,UAAI,qBAAqB,SACvB,eAAe,gBAAgB,MAC3B,kBAAkB,cAAc,MAAM,KAAM;AAE9C,cAAM,eAAe,OAAO,MAAM,OAAO,QAAQ,EAAE,CAAC;AACpD,eAAO,EAAE,IAAI,MAAM,QAAQ,aAAa;AAAA,MAC1C;AAAA,IAEJ;AAGA,aAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,KAAK;AAC3C,YAAM,KAAK,OAAO,CAAC,GACb,OAAO,SAAS,CAAC,GACjB,SAAS,MAAM,IAAI,MAAM,4BAA4B;AAC3D,UAAI,UAAU;AACZ,eAAO;AAET,UAAI,eAAe,qBAAqB,MAAM;AAC5C;AAAA,IAEJ;AAGA,QAAI;AACF,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,cAAM,KAAK,OAAO,CAAC,GACb,OAAO,SAAS,CAAC,GACjB,SAAS,MAAM,IAAI,MAAM,2BAA2B;AAC1D,YAAI,UAAU;AACZ,iBAAO;AAET,YAAI,eAAe,qBAAqB,MAAM;AAC5C;AAAA,MAEJ;AAAA,SACK;AACL,YAAM,KAAK,OAAO,CAAC,GACb,OAAO,SAAS,CAAC;AAEvB,UADe,SAAS,WACT;AACb,eAAO,MAAM,IAAI,MAAM,2BAA2B;AAAA,IAEtD;AAAA,EACF;AACF;AAKA,SAAS,gBACP,gBACA,gBACA;AACA,QAAM,EAAE,IAAI,WAAW,MAAM,YAAY,IAAI,kBACvC,EAAE,IAAI,KAAK,IAAI,gBAEf,EAAE,kBAAkB,kBAAkB,IAAI,mBAAmB,EAAE;AAOrE,MALA,eAAe,UAAU,IACzB,eAAe,aAAa,IAC5B,eAAe,gBAAgB,MAG3B,aAAa;AACf,IAAI,oBAAoB,SACtB,eAAe,gBAAgB,MAC/B,eAAe,eAAe,mBAAmB,oBACjD,iBAAiB,cAAc,IAEjC,uBAAuB,cAAc;AAAA,OAGlC;AACH,UAAM,EAAE,sBAAsB,8BAA8B,IAC1D,mBAAmB,SAAS;AAE9B,QAAI,gBAAgB;AACpB,IAAI,iCAAiC,SACnC,eAAe,gBAAgB,aAC/B,eAAe,eAAe,mBAAmB,iCAC7C,8BAA8B,cAAc,MAAM,OACpD,gBAAgB,MAIhB,iBAEE,wBAAwB,SAC1B,eAAe,gBAAgB,aAC/B,eAAe,eAAe,mBAAmB,wBACjD,qBAAqB,cAAc,IAGjC,oBAAoB,SACtB,eAAe,gBAAgB,MAC/B,eAAe,eAAe,mBAAmB,oBACjD,iBAAiB,cAAc,IAEjC,uBAAuB,cAAc,KAGjC,qBAAqB,SACvB,eAAe,gBAAgB,MAC/B,eAAe,eAAe,mBAAmB,qBACjD,kBAAkB,cAAc;AAAA,EAGtC;AACF;AAUA,MAAM,6BAA6B,CAAC,QAAQ,QAAQ,GAC9C,4BAA4B;AAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AACF,GAEM,2BAA2B,OAAO;AAEjC,SAAS,kBAAkB;AAChC,EAAI,aAAa,CAAC,OAAO,wBAAwB,MAC/C,OAAO,iBAAiB,QAAQ,aAAa,GAC7C,0BAA0B,QAAQ,CAAC,cAAc;AAC/C,aAAS,iBAAiB,WAAW,aAAa;AAAA,EACpD,CAAC,GACD,2BAA2B,QAAQ,CAAC,cAAc;AAChD,aAAS,iBAAiB,WAAW,eAAe,EAAI;AAAA,EAC1D,CAAC,GACD,OAAO,wBAAwB,IAAI;AAEvC;AAKO,SAAS,QAAQ,IAAiB,MAAW,QAAyB;AAC3E,iBAAe,MAAM,EAAE,GACvB,sBAAsB,IAAI,IAAI,MAAM;AACtC;AAKO,SAAS,WAAW,IAAiB;AAC1C,EAAI,iBAAiB,OAAO,MAC1B,mBAAmB,GAEjB,sBAAsB,IAAI,EAAE,KAC9B,sBAAsB,OAAO,EAAE;AAEnC;AAOO,SAAS,qBAAqB;AACnC,QAAM,EAAE,IAAI,KAAK,IAAI;AACrB,MAAI,MAAM,QAAQ,QAAQ,MAAM;AAC9B,UAAM,EAAE,qBAAqB,IAAI,mBAAmB,EAAE;AACtD,QAAI,wBAAwB,MAAM;AAChC,YAAM,QAAQ,qBAAqB,CAAC,GAAG,0BAA0B;AACjE,YAAM,gBAAgB,MACtB,qBAAqB,KAAK;AAAA,IAC5B;AACA,2BAAuB,cAAc;AAAA,EACvC;AACA,2BAAyB,IACzB,oBAAoB;AACtB;AAMO,SAAS,mBAAwB;AACtC,SAAO,iBAAiB;AAC1B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { isEndish, isMoveish, isStartish } from "./types";
|
|
2
|
+
const MAX_TOUCH_BANK = 20;
|
|
3
|
+
function timestampForTouch(touch) {
|
|
4
|
+
return touch.timeStamp || touch.timestamp;
|
|
5
|
+
}
|
|
6
|
+
function createTouchRecord(touch) {
|
|
7
|
+
return {
|
|
8
|
+
touchActive: !0,
|
|
9
|
+
startPageX: touch.pageX,
|
|
10
|
+
startPageY: touch.pageY,
|
|
11
|
+
startTimeStamp: timestampForTouch(touch),
|
|
12
|
+
currentPageX: touch.pageX,
|
|
13
|
+
currentPageY: touch.pageY,
|
|
14
|
+
currentTimeStamp: timestampForTouch(touch),
|
|
15
|
+
previousPageX: touch.pageX,
|
|
16
|
+
previousPageY: touch.pageY,
|
|
17
|
+
previousTimeStamp: timestampForTouch(touch)
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function resetTouchRecord(touchRecord, touch) {
|
|
21
|
+
touchRecord.touchActive = !0, touchRecord.startPageX = touch.pageX, touchRecord.startPageY = touch.pageY, touchRecord.startTimeStamp = timestampForTouch(touch), touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchRecord.previousPageX = touch.pageX, touchRecord.previousPageY = touch.pageY, touchRecord.previousTimeStamp = timestampForTouch(touch);
|
|
22
|
+
}
|
|
23
|
+
function getTouchIdentifier({ identifier }) {
|
|
24
|
+
return identifier == null && console.error("Touch object is missing identifier."), process.env.NODE_ENV === "development" && identifier > MAX_TOUCH_BANK && console.error(
|
|
25
|
+
"Touch identifier %s is greater than maximum supported %s which causes performance issues backfilling array locations for all of the indices.",
|
|
26
|
+
identifier,
|
|
27
|
+
MAX_TOUCH_BANK
|
|
28
|
+
), identifier;
|
|
29
|
+
}
|
|
30
|
+
function recordTouchStart(touch, touchHistory) {
|
|
31
|
+
const identifier = getTouchIdentifier(touch), touchRecord = touchHistory.touchBank[identifier];
|
|
32
|
+
touchRecord ? resetTouchRecord(touchRecord, touch) : touchHistory.touchBank[identifier] = createTouchRecord(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
33
|
+
}
|
|
34
|
+
function recordTouchMove(touch, touchHistory) {
|
|
35
|
+
const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
|
|
36
|
+
touchRecord ? (touchRecord.touchActive = !0, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch)) : console.warn(
|
|
37
|
+
`Cannot record touch move without a touch start.
|
|
38
|
+
`,
|
|
39
|
+
`Touch Move: ${printTouch(touch)}
|
|
40
|
+
`,
|
|
41
|
+
`Touch Bank: ${printTouchBank(touchHistory)}`
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
function recordTouchEnd(touch, touchHistory) {
|
|
45
|
+
const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
|
|
46
|
+
touchRecord ? (touchRecord.touchActive = !1, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch)) : console.warn(
|
|
47
|
+
`Cannot record touch end without a touch start.
|
|
48
|
+
`,
|
|
49
|
+
`Touch End: ${printTouch(touch)}
|
|
50
|
+
`,
|
|
51
|
+
`Touch Bank: ${printTouchBank(touchHistory)}`
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
function printTouch(touch) {
|
|
55
|
+
return JSON.stringify({
|
|
56
|
+
identifier: touch.identifier,
|
|
57
|
+
pageX: touch.pageX,
|
|
58
|
+
pageY: touch.pageY,
|
|
59
|
+
timestamp: timestampForTouch(touch)
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function printTouchBank(touchHistory) {
|
|
63
|
+
const { touchBank } = touchHistory;
|
|
64
|
+
let printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));
|
|
65
|
+
return touchBank.length > MAX_TOUCH_BANK && (printed += ` (original size: ${touchBank.length})`), printed;
|
|
66
|
+
}
|
|
67
|
+
class ResponderTouchHistoryStore {
|
|
68
|
+
constructor() {
|
|
69
|
+
this._touchHistory = {
|
|
70
|
+
touchBank: [],
|
|
71
|
+
//Array<TouchRecord>
|
|
72
|
+
numberActiveTouches: 0,
|
|
73
|
+
// If there is only one active touch, we remember its location. This prevents
|
|
74
|
+
// us having to loop through all of the touches all the time in the most
|
|
75
|
+
// common case.
|
|
76
|
+
indexOfSingleActiveTouch: -1,
|
|
77
|
+
mostRecentTimeStamp: 0
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
recordTouchTrack(topLevelType, nativeEvent) {
|
|
81
|
+
const touchHistory = this._touchHistory;
|
|
82
|
+
if (isMoveish(topLevelType))
|
|
83
|
+
nativeEvent.changedTouches.forEach((touch) => recordTouchMove(touch, touchHistory));
|
|
84
|
+
else if (isStartish(topLevelType))
|
|
85
|
+
nativeEvent.changedTouches.forEach((touch) => recordTouchStart(touch, touchHistory)), touchHistory.numberActiveTouches = nativeEvent.touches.length, touchHistory.numberActiveTouches === 1 && (touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier);
|
|
86
|
+
else if (isEndish(topLevelType) && (nativeEvent.changedTouches.forEach((touch) => recordTouchEnd(touch, touchHistory)), touchHistory.numberActiveTouches = nativeEvent.touches.length, touchHistory.numberActiveTouches === 1)) {
|
|
87
|
+
const { touchBank } = touchHistory;
|
|
88
|
+
for (let i = 0; i < touchBank.length; i++)
|
|
89
|
+
if (touchBank[i]?.touchActive) {
|
|
90
|
+
touchHistory.indexOfSingleActiveTouch = i;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
process.env.NODE_ENV === "development" && (touchBank[touchHistory.indexOfSingleActiveTouch]?.touchActive || console.error("Cannot find single active touch."));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
get touchHistory() {
|
|
97
|
+
return this._touchHistory;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export {
|
|
101
|
+
ResponderTouchHistoryStore
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=ResponderTouchHistoryStore.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ResponderTouchHistoryStore.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { getBoundingClientRect } from "./utils";
|
|
2
|
+
const emptyFunction = () => {
|
|
3
|
+
}, emptyObject = {}, emptyArray = [];
|
|
4
|
+
function normalizeIdentifier(identifier) {
|
|
5
|
+
return identifier > 20 ? identifier % 20 : identifier;
|
|
6
|
+
}
|
|
7
|
+
function createResponderEvent(domEvent, responderTouchHistoryStore) {
|
|
8
|
+
let rect, propagationWasStopped = !1, changedTouches, touches;
|
|
9
|
+
const domEventChangedTouches = domEvent.changedTouches, domEventType = domEvent.type, metaKey = domEvent.metaKey === !0, shiftKey = domEvent.shiftKey === !0, force = domEventChangedTouches?.[0].force || 0, identifier = normalizeIdentifier(domEventChangedTouches?.[0].identifier || 0), clientX = domEventChangedTouches?.[0].clientX || domEvent.clientX, clientY = domEventChangedTouches?.[0].clientY || domEvent.clientY, pageX = domEventChangedTouches?.[0].pageX || domEvent.pageX, pageY = domEventChangedTouches?.[0].pageY || domEvent.pageY, preventDefault = typeof domEvent.preventDefault == "function" ? domEvent.preventDefault.bind(domEvent) : emptyFunction, timestamp = domEvent.timeStamp;
|
|
10
|
+
function normalizeTouches(touches2) {
|
|
11
|
+
return Array.prototype.slice.call(touches2).map((touch) => ({
|
|
12
|
+
force: touch.force,
|
|
13
|
+
identifier: normalizeIdentifier(touch.identifier),
|
|
14
|
+
get locationX() {
|
|
15
|
+
return locationX(touch.clientX);
|
|
16
|
+
},
|
|
17
|
+
get locationY() {
|
|
18
|
+
return locationY(touch.clientY);
|
|
19
|
+
},
|
|
20
|
+
pageX: touch.pageX,
|
|
21
|
+
pageY: touch.pageY,
|
|
22
|
+
target: touch.target,
|
|
23
|
+
timestamp
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
if (domEventChangedTouches != null)
|
|
27
|
+
changedTouches = normalizeTouches(domEventChangedTouches), touches = normalizeTouches(domEvent.touches);
|
|
28
|
+
else {
|
|
29
|
+
const emulatedTouches = [
|
|
30
|
+
{
|
|
31
|
+
force,
|
|
32
|
+
identifier,
|
|
33
|
+
get locationX() {
|
|
34
|
+
return locationX(clientX);
|
|
35
|
+
},
|
|
36
|
+
get locationY() {
|
|
37
|
+
return locationY(clientY);
|
|
38
|
+
},
|
|
39
|
+
pageX,
|
|
40
|
+
pageY,
|
|
41
|
+
target: domEvent.target,
|
|
42
|
+
timestamp
|
|
43
|
+
}
|
|
44
|
+
];
|
|
45
|
+
changedTouches = emulatedTouches, touches = domEventType === "mouseup" || domEventType === "dragstart" ? emptyArray : emulatedTouches;
|
|
46
|
+
}
|
|
47
|
+
const responderEvent = {
|
|
48
|
+
bubbles: !0,
|
|
49
|
+
cancelable: !0,
|
|
50
|
+
// `currentTarget` is set before dispatch
|
|
51
|
+
currentTarget: null,
|
|
52
|
+
defaultPrevented: domEvent.defaultPrevented,
|
|
53
|
+
dispatchConfig: emptyObject,
|
|
54
|
+
eventPhase: domEvent.eventPhase,
|
|
55
|
+
isDefaultPrevented() {
|
|
56
|
+
return domEvent.defaultPrevented;
|
|
57
|
+
},
|
|
58
|
+
isPropagationStopped() {
|
|
59
|
+
return propagationWasStopped;
|
|
60
|
+
},
|
|
61
|
+
isTrusted: domEvent.isTrusted,
|
|
62
|
+
nativeEvent: {
|
|
63
|
+
altKey: !1,
|
|
64
|
+
ctrlKey: !1,
|
|
65
|
+
metaKey,
|
|
66
|
+
shiftKey,
|
|
67
|
+
changedTouches,
|
|
68
|
+
force,
|
|
69
|
+
identifier,
|
|
70
|
+
get locationX() {
|
|
71
|
+
return locationX(clientX);
|
|
72
|
+
},
|
|
73
|
+
get locationY() {
|
|
74
|
+
return locationY(clientY);
|
|
75
|
+
},
|
|
76
|
+
pageX,
|
|
77
|
+
pageY,
|
|
78
|
+
target: domEvent.target,
|
|
79
|
+
timestamp,
|
|
80
|
+
touches,
|
|
81
|
+
type: domEventType
|
|
82
|
+
},
|
|
83
|
+
persist: emptyFunction,
|
|
84
|
+
preventDefault,
|
|
85
|
+
stopPropagation() {
|
|
86
|
+
propagationWasStopped = !0;
|
|
87
|
+
},
|
|
88
|
+
target: domEvent.target,
|
|
89
|
+
timeStamp: timestamp,
|
|
90
|
+
touchHistory: responderTouchHistoryStore.touchHistory
|
|
91
|
+
};
|
|
92
|
+
function locationX(x) {
|
|
93
|
+
if (rect = rect || getBoundingClientRect(responderEvent.currentTarget), rect)
|
|
94
|
+
return x - rect.left;
|
|
95
|
+
}
|
|
96
|
+
function locationY(y) {
|
|
97
|
+
if (rect = rect || getBoundingClientRect(responderEvent.currentTarget), rect)
|
|
98
|
+
return y - rect.top;
|
|
99
|
+
}
|
|
100
|
+
return responderEvent;
|
|
101
|
+
}
|
|
102
|
+
export {
|
|
103
|
+
createResponderEvent as default
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=createResponderEvent.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createResponderEvent.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["touches"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const BLUR = "blur", CONTEXT_MENU = "contextmenu", FOCUS_OUT = "focusout", MOUSE_DOWN = "mousedown", MOUSE_MOVE = "mousemove", MOUSE_UP = "mouseup", MOUSE_CANCEL = "dragstart", TOUCH_START = "touchstart", TOUCH_MOVE = "touchmove", TOUCH_END = "touchend", TOUCH_CANCEL = "touchcancel", SCROLL = "scroll", SELECT = "select", SELECTION_CHANGE = "selectionchange";
|
|
2
|
+
function isStartish(eventType) {
|
|
3
|
+
return eventType === TOUCH_START || eventType === MOUSE_DOWN;
|
|
4
|
+
}
|
|
5
|
+
function isMoveish(eventType) {
|
|
6
|
+
return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;
|
|
7
|
+
}
|
|
8
|
+
function isEndish(eventType) {
|
|
9
|
+
return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);
|
|
10
|
+
}
|
|
11
|
+
function isCancelish(eventType) {
|
|
12
|
+
return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;
|
|
13
|
+
}
|
|
14
|
+
function isScroll(eventType) {
|
|
15
|
+
return eventType === SCROLL;
|
|
16
|
+
}
|
|
17
|
+
function isSelectionChange(eventType) {
|
|
18
|
+
return eventType === SELECT || eventType === SELECTION_CHANGE;
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
BLUR,
|
|
22
|
+
CONTEXT_MENU,
|
|
23
|
+
FOCUS_OUT,
|
|
24
|
+
MOUSE_CANCEL,
|
|
25
|
+
MOUSE_DOWN,
|
|
26
|
+
MOUSE_MOVE,
|
|
27
|
+
MOUSE_UP,
|
|
28
|
+
SCROLL,
|
|
29
|
+
SELECT,
|
|
30
|
+
SELECTION_CHANGE,
|
|
31
|
+
TOUCH_CANCEL,
|
|
32
|
+
TOUCH_END,
|
|
33
|
+
TOUCH_MOVE,
|
|
34
|
+
TOUCH_START,
|
|
35
|
+
isCancelish,
|
|
36
|
+
isEndish,
|
|
37
|
+
isMoveish,
|
|
38
|
+
isScroll,
|
|
39
|
+
isSelectionChange,
|
|
40
|
+
isStartish
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/types.ts"],
|
|
4
|
+
"mappings": "AAwCO,MAAM,OAAO,QACP,eAAe,eACf,YAAY,YACZ,aAAa,aACb,aAAa,aACb,WAAW,WACX,eAAe,aACf,cAAc,cACd,aAAa,aACb,YAAY,YACZ,eAAe,eACf,SAAS,UACT,SAAS,UACT,mBAAmB;AAEzB,SAAS,WAAW,WAA6B;AACtD,SAAO,cAAc,eAAe,cAAc;AACpD;AAEO,SAAS,UAAU,WAA6B;AACrD,SAAO,cAAc,cAAc,cAAc;AACnD;AAEO,SAAS,SAAS,WAA6B;AACpD,SAAO,cAAc,aAAa,cAAc,YAAY,YAAY,SAAS;AACnF;AAEO,SAAS,YAAY,WAA6B;AACvD,SAAO,cAAc,gBAAgB,cAAc;AACrD;AAEO,SAAS,SAAS,WAA6B;AACpD,SAAO,cAAc;AACvB;AAEO,SAAS,kBAAkB,WAA6B;AAC7D,SAAO,cAAc,UAAU,cAAc;AAC/C;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as ResponderSystem from "./ResponderSystem";
|
|
3
|
+
export * from "./utils";
|
|
4
|
+
const emptyObject = {};
|
|
5
|
+
function useResponderEvents(hostRef, config = emptyObject) {
|
|
6
|
+
const id = React.useId(), isAttachedRef = React.useRef(!1);
|
|
7
|
+
React.useEffect(() => (ResponderSystem.attachListeners(), () => {
|
|
8
|
+
ResponderSystem.removeNode(id);
|
|
9
|
+
}), [id]), React.useEffect(() => {
|
|
10
|
+
const {
|
|
11
|
+
onMoveShouldSetResponder,
|
|
12
|
+
onMoveShouldSetResponderCapture,
|
|
13
|
+
onScrollShouldSetResponder,
|
|
14
|
+
onScrollShouldSetResponderCapture,
|
|
15
|
+
onSelectionChangeShouldSetResponder,
|
|
16
|
+
onSelectionChangeShouldSetResponderCapture,
|
|
17
|
+
onStartShouldSetResponder,
|
|
18
|
+
onStartShouldSetResponderCapture
|
|
19
|
+
} = config, requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null, node = hostRef.current;
|
|
20
|
+
requiresResponderSystem ? (ResponderSystem.addNode(id, node, config), isAttachedRef.current = !0) : isAttachedRef.current && (ResponderSystem.removeNode(id), isAttachedRef.current = !1);
|
|
21
|
+
}, [config, hostRef, id]), process.env.NODE_ENV === "development" && (React.useDebugValue({
|
|
22
|
+
isResponder: hostRef.current === ResponderSystem.getResponderNode()
|
|
23
|
+
}), React.useDebugValue(config));
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
useResponderEvents
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=useResponderEvents.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/useResponderEvents.ts"],
|
|
4
|
+
"mappings": "AAMA,YAAY,WAAW;AAEvB,YAAY,qBAAqB;AAEjC,cAAc;AAEd,MAAM,cAAc,CAAC;AAEd,SAAS,mBACd,SACA,SAA0C,aAC1C;AACA,QAAM,KAAK,MAAM,MAAM,GACjB,gBAAgB,MAAM,OAAO,EAAK;AAKxC,QAAM,UAAU,OACd,gBAAgB,gBAAgB,GACzB,MAAM;AACX,oBAAgB,WAAW,EAAE;AAAA,EAC/B,IACC,CAAC,EAAE,CAAC,GAGP,MAAM,UAAU,MAAM;AACpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,QAEE,0BACJ,4BAA4B,QAC5B,mCAAmC,QACnC,8BAA8B,QAC9B,qCAAqC,QACrC,uCAAuC,QACvC,8CAA8C,QAC9C,6BAA6B,QAC7B,oCAAoC,MAEhC,OAAO,QAAQ;AAErB,IAAI,2BACF,gBAAgB,QAAQ,IAAI,MAAM,MAAM,GACxC,cAAc,UAAU,MACf,cAAc,YACvB,gBAAgB,WAAW,EAAE,GAC7B,cAAc,UAAU;AAAA,EAE5B,GAAG,CAAC,QAAQ,SAAS,EAAE,CAAC,GAEpB,QAAQ,IAAI,aAAa,kBAC3B,MAAM,cAAc;AAAA,IAClB,aAAa,QAAQ,YAAY,gBAAgB,iBAAiB;AAAA,EACpE,CAAC,GACD,MAAM,cAAc,MAAM;AAE9B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
const keyName = "__reactResponderId", canUseDOM = !!(typeof window < "u" && window.document && window.document.createElement), getBoundingClientRect = (node) => {
|
|
2
|
+
if (node && node.nodeType === 1 && node.getBoundingClientRect)
|
|
3
|
+
return node.getBoundingClientRect();
|
|
4
|
+
};
|
|
5
|
+
function getEventPath(domEvent) {
|
|
6
|
+
if (domEvent.type === "selectionchange") {
|
|
7
|
+
const target = window.getSelection()?.anchorNode;
|
|
8
|
+
return composedPathFallback(target);
|
|
9
|
+
} else
|
|
10
|
+
return domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);
|
|
11
|
+
}
|
|
12
|
+
function composedPathFallback(target) {
|
|
13
|
+
const path = [];
|
|
14
|
+
for (; target != null && target !== document.body; )
|
|
15
|
+
path.push(target), target = target.parentNode;
|
|
16
|
+
return path;
|
|
17
|
+
}
|
|
18
|
+
function getResponderId(node) {
|
|
19
|
+
return node != null ? node[keyName] : null;
|
|
20
|
+
}
|
|
21
|
+
function setResponderId(node, id) {
|
|
22
|
+
node != null && (node[keyName] = id);
|
|
23
|
+
}
|
|
24
|
+
function getResponderPaths(domEvent) {
|
|
25
|
+
const idPath = [], nodePath = [], eventPath = getEventPath(domEvent);
|
|
26
|
+
for (let i = 0; i < eventPath.length; i++) {
|
|
27
|
+
const node = eventPath[i], id = getResponderId(node);
|
|
28
|
+
id != null && (idPath.push(id), nodePath.push(node));
|
|
29
|
+
}
|
|
30
|
+
return { idPath, nodePath };
|
|
31
|
+
}
|
|
32
|
+
function getLowestCommonAncestor(pathA, pathB) {
|
|
33
|
+
let pathALength = pathA.length, pathBLength = pathB.length;
|
|
34
|
+
if (
|
|
35
|
+
// If either path is empty
|
|
36
|
+
pathALength === 0 || pathBLength === 0 || // If the last elements aren't the same there can't be a common ancestor
|
|
37
|
+
// that is connected to the responder system
|
|
38
|
+
pathA[pathALength - 1] !== pathB[pathBLength - 1]
|
|
39
|
+
)
|
|
40
|
+
return null;
|
|
41
|
+
let itemA = pathA[0], indexA = 0, itemB = pathB[0], indexB = 0;
|
|
42
|
+
pathALength - pathBLength > 0 && (indexA = pathALength - pathBLength, itemA = pathA[indexA], pathALength = pathBLength), pathBLength - pathALength > 0 && (indexB = pathBLength - pathALength, itemB = pathB[indexB], pathBLength = pathALength);
|
|
43
|
+
let depth = pathALength;
|
|
44
|
+
for (; depth--; ) {
|
|
45
|
+
if (itemA === itemB)
|
|
46
|
+
return itemA;
|
|
47
|
+
itemA = pathA[indexA++], itemB = pathB[indexB++];
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
function hasTargetTouches(target, touches) {
|
|
52
|
+
if (!touches || touches.length === 0)
|
|
53
|
+
return !1;
|
|
54
|
+
for (let i = 0; i < touches.length; i++) {
|
|
55
|
+
const node = touches[i].target;
|
|
56
|
+
if (node != null && target.contains(node))
|
|
57
|
+
return !0;
|
|
58
|
+
}
|
|
59
|
+
return !1;
|
|
60
|
+
}
|
|
61
|
+
function hasValidSelection(domEvent) {
|
|
62
|
+
return domEvent.type === "selectionchange" ? isSelectionValid() : domEvent.type === "select";
|
|
63
|
+
}
|
|
64
|
+
function isPrimaryPointerDown(domEvent) {
|
|
65
|
+
const { altKey, button, buttons, ctrlKey, type } = domEvent, isTouch = type === "touchstart" || type === "touchmove", isPrimaryMouseDown = type === "mousedown" && (button === 0 || buttons === 1), isPrimaryMouseMove = type === "mousemove" && buttons === 1, noModifiers = altKey === !1 && ctrlKey === !1;
|
|
66
|
+
return !!(isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers);
|
|
67
|
+
}
|
|
68
|
+
function isSelectionValid() {
|
|
69
|
+
const selection = window.getSelection();
|
|
70
|
+
if (!selection)
|
|
71
|
+
return !1;
|
|
72
|
+
const string = selection.toString(), anchorNode = selection.anchorNode, focusNode = selection.focusNode, isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;
|
|
73
|
+
return string.length >= 1 && string !== `
|
|
74
|
+
` && !!isTextNode;
|
|
75
|
+
}
|
|
76
|
+
export {
|
|
77
|
+
canUseDOM,
|
|
78
|
+
getBoundingClientRect,
|
|
79
|
+
getLowestCommonAncestor,
|
|
80
|
+
getResponderPaths,
|
|
81
|
+
hasTargetTouches,
|
|
82
|
+
hasValidSelection,
|
|
83
|
+
isPrimaryPointerDown,
|
|
84
|
+
isSelectionValid,
|
|
85
|
+
setResponderId
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils.ts"],
|
|
4
|
+
"mappings": "AAMA,MAAM,UAAU,sBAEH,YAAY,CAAC,EACxB,OAAO,SAAW,OAClB,OAAO,YACP,OAAO,SAAS,gBAGL,wBAAwB,CAAC,SAA6C;AACjF,MAAK,QACD,KAAK,aAAa,KAClB,KAAK;AACP,WAAO,KAAK,sBAAsB;AAEtC;AAEA,SAAS,aAAa,UAA2B;AAI/C,MAAI,SAAS,SAAS,mBAAmB;AACvC,UAAM,SAAS,OAAO,aAAa,GAAG;AACtC,WAAO,qBAAqB,MAAM;AAAA,EACpC;AAKE,WAHE,SAAS,gBAAgB,OACrB,SAAS,aAAa,IACtB,qBAAqB,SAAS,MAAM;AAG9C;AAEA,SAAS,qBAAqB,QAAyB;AACrD,QAAM,OAAc,CAAC;AACrB,SAAO,UAAU,QAAQ,WAAW,SAAS;AAC3C,SAAK,KAAK,MAAM,GAChB,SAAS,OAAO;AAElB,SAAO;AACT;AAKA,SAAS,eAAe,MAA0B;AAChD,SAAI,QAAQ,OACH,KAAK,OAAO,IAEd;AACT;AAKO,SAAS,eAAe,MAAW,IAAS;AACjD,EAAI,QAAQ,SACV,KAAK,OAAO,IAAI;AAEpB;AAKO,SAAS,kBAAkB,UAGhC;AACA,QAAM,SAAgB,CAAC,GACjB,WAAkB,CAAC,GACnB,YAAY,aAAa,QAAQ;AACvC,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,UAAM,OAAO,UAAU,CAAC,GAClB,KAAK,eAAe,IAAI;AAC9B,IAAI,MAAM,SACR,OAAO,KAAK,EAAE,GACd,SAAS,KAAK,IAAI;AAAA,EAEtB;AACA,SAAO,EAAE,QAAQ,SAAS;AAC5B;AAKO,SAAS,wBAAwB,OAAmB,OAAwB;AACjF,MAAI,cAAc,MAAM,QACpB,cAAc,MAAM;AACxB;AAAA;AAAA,IAEE,gBAAgB,KAChB,gBAAgB;AAAA;AAAA,IAGhB,MAAM,cAAc,CAAC,MAAM,MAAM,cAAc,CAAC;AAAA;AAEhD,WAAO;AAGT,MAAI,QAAQ,MAAM,CAAC,GACf,SAAS,GACT,QAAQ,MAAM,CAAC,GACf,SAAS;AAGb,EAAI,cAAc,cAAc,MAC9B,SAAS,cAAc,aACvB,QAAQ,MAAM,MAAM,GACpB,cAAc,cAIZ,cAAc,cAAc,MAC9B,SAAS,cAAc,aACvB,QAAQ,MAAM,MAAM,GACpB,cAAc;AAIhB,MAAI,QAAQ;AACZ,SAAO,WAAS;AACd,QAAI,UAAU;AACZ,aAAO;AAET,YAAQ,MAAM,QAAQ,GACtB,QAAQ,MAAM,QAAQ;AAAA,EACxB;AACA,SAAO;AACT;AAMO,SAAS,iBAAiB,QAAa,SAAuB;AACnE,MAAI,CAAC,WAAW,QAAQ,WAAW;AACjC,WAAO;AAET,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,UAAM,OAAO,QAAQ,CAAC,EAAE;AACxB,QAAI,QAAQ,QACN,OAAO,SAAS,IAAI;AACtB,aAAO;AAAA,EAGb;AACA,SAAO;AACT;AAMO,SAAS,kBAAkB,UAAwB;AACxD,SAAI,SAAS,SAAS,oBACb,iBAAiB,IAEnB,SAAS,SAAS;AAC3B;AAKO,SAAS,qBAAqB,UAAwB;AAC3D,QAAM,EAAE,QAAQ,QAAQ,SAAS,SAAS,KAAK,IAAI,UAC7C,UAAU,SAAS,gBAAgB,SAAS,aAC5C,qBAAqB,SAAS,gBAAgB,WAAW,KAAK,YAAY,IAC1E,qBAAqB,SAAS,eAAe,YAAY,GACzD,cAAc,WAAW,MAAS,YAAY;AAEpD,SACE,cACC,sBAAsB,eACtB,sBAAsB;AAK3B;AAEO,SAAS,mBAA4B;AAC1C,QAAM,YAAY,OAAO,aAAa;AACtC,MAAI,CAAC;AAAW,WAAO;AACvB,QAAM,SAAS,UAAU,SAAS,GAC5B,aAAa,UAAU,YACvB,YAAY,UAAU,WACtB,aACH,cAAc,WAAW,aAAa,OAAO,KAAK,aAClD,aAAa,UAAU,aAAa,OAAO,KAAK;AACnD,SAAO,OAAO,UAAU,KAAK,WAAW;AAAA,KAAQ,CAAC,CAAC;AACpD;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/react-native-use-responder-events",
|
|
3
|
-
"version": "1.74.
|
|
3
|
+
"version": "1.74.4",
|
|
4
4
|
"types": "./types/index.d.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"react": "*"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@tamagui/build": "1.74.
|
|
32
|
+
"@tamagui/build": "1.74.4",
|
|
33
33
|
"react": "^18.2.0"
|
|
34
34
|
},
|
|
35
35
|
"publishConfig": {
|