@tamagui/react-native-use-responder-events 2.7.7 → 3.0.0-beta.643.1
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 +307 -344
- package/dist/cjs/ResponderSystem.native.cjs +357 -0
- package/dist/cjs/ResponderSystem.native.js +307 -343
- package/dist/cjs/ResponderSystem.native.js.map +1 -1
- package/dist/cjs/ResponderTouchHistoryStore.cjs +136 -149
- package/dist/cjs/ResponderTouchHistoryStore.native.cjs +217 -0
- package/dist/cjs/ResponderTouchHistoryStore.native.js +176 -189
- package/dist/cjs/ResponderTouchHistoryStore.native.js.map +1 -1
- package/dist/cjs/createResponderEvent.cjs +128 -132
- package/dist/cjs/createResponderEvent.native.cjs +147 -0
- package/dist/cjs/createResponderEvent.native.js +129 -132
- package/dist/cjs/createResponderEvent.native.js.map +1 -1
- package/dist/cjs/index.cjs +10 -11
- package/dist/cjs/index.native.cjs +21 -0
- package/dist/cjs/index.native.js +10 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +40 -41
- package/dist/cjs/types.native.cjs +79 -0
- package/dist/cjs/types.native.js +40 -40
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/useResponderEvents.cjs +60 -85
- package/dist/cjs/useResponderEvents.native.cjs +87 -0
- package/dist/cjs/useResponderEvents.native.js +62 -86
- package/dist/cjs/useResponderEvents.native.js.map +1 -1
- package/dist/cjs/utils.cjs +123 -135
- package/dist/cjs/utils.native.cjs +160 -0
- package/dist/cjs/utils.native.js +124 -135
- package/dist/cjs/utils.native.js.map +1 -1
- package/dist/esm/ResponderSystem.mjs +291 -326
- package/dist/esm/ResponderSystem.mjs.map +1 -1
- package/dist/esm/ResponderSystem.native.js +291 -326
- package/dist/esm/ResponderSystem.native.js.map +1 -1
- package/dist/esm/ResponderTouchHistoryStore.mjs +123 -131
- package/dist/esm/ResponderTouchHistoryStore.mjs.map +1 -1
- package/dist/esm/ResponderTouchHistoryStore.native.js +163 -172
- package/dist/esm/ResponderTouchHistoryStore.native.js.map +1 -1
- package/dist/esm/createResponderEvent.mjs +115 -114
- package/dist/esm/createResponderEvent.mjs.map +1 -1
- package/dist/esm/createResponderEvent.native.js +116 -115
- package/dist/esm/createResponderEvent.native.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/index.native.js +1 -2
- package/dist/esm/types.mjs +7 -6
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js +7 -6
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/useResponderEvents.mjs +45 -61
- package/dist/esm/useResponderEvents.mjs.map +1 -1
- package/dist/esm/useResponderEvents.native.js +47 -63
- package/dist/esm/useResponderEvents.native.js.map +1 -1
- package/dist/esm/utils.mjs +101 -111
- package/dist/esm/utils.mjs.map +1 -1
- package/dist/esm/utils.native.js +102 -112
- package/dist/esm/utils.native.js.map +1 -1
- package/package.json +2 -2
- package/types/ResponderTouchHistoryStore.d.ts.map +1 -1
- package/types/utils.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
|
@@ -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,"file":"ResponderSystem.native.js","names":[],"sources":["esm/ResponderSystem.native.js"],"sourcesContent":["import { createResponderEvent } from \"./createResponderEvent\";\nimport { ResponderTouchHistoryStore } from \"./ResponderTouchHistoryStore\";\nimport { isCancelish, isEndish, isMoveish, isScroll, isSelectionChange, isStartish } from \"./types\";\nimport { canUseDOM } from \"./utils\";\nimport { getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, setResponderId } from \"./utils\";\nvar emptyObject = {};\nvar startRegistration = [\n \"onStartShouldSetResponderCapture\",\n \"onStartShouldSetResponder\",\n {\n bubbles: true\n }\n];\nvar moveRegistration = [\n \"onMoveShouldSetResponderCapture\",\n \"onMoveShouldSetResponder\",\n {\n bubbles: true\n }\n];\nvar scrollRegistration = [\n \"onScrollShouldSetResponderCapture\",\n \"onScrollShouldSetResponder\",\n {\n bubbles: false\n }\n];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = /* @__PURE__ */ new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new ResponderTouchHistoryStore();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n if (eventType === \"touchstart\") {\n isEmulatingMouseEvents = true;\n }\n if (eventType === \"touchmove\" || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n if (\n // Ignore browser emulated mouse events\n eventType === \"mousedown\" && isEmulatingMouseEvents || eventType === \"mousemove\" && isEmulatingMouseEvents || // Ignore mousemove if a mousedown didn't occur first\n eventType === \"mousemove\" && trackedTouchCount < 1\n ) {\n return;\n }\n if (isEmulatingMouseEvents && eventType === \"mouseup\") {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\n }\n var isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);\n var isMoveEvent = isMoveish(eventType);\n var isEndEvent = isEndish(eventType);\n var isScrollEvent = isScroll(eventType);\n var isSelectionChangeEvent = isSelectionChange(eventType);\n var responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n if (eventPaths != null) {\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n if (wantsResponder != null) {\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n if (currentResponder.id != null && currentResponder.node != null) {\n var { id, node } = currentResponder;\n var { onResponderStart, onResponderMove, onResponderEnd, onResponderRelease, onResponderTerminate, onResponderTerminationRequest } = getResponderConfig(id);\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = \"onResponderStart\";\n onResponderStart(responderEvent);\n }\n } else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = \"onResponderMove\";\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = isCancelish(eventType) || // native context menu\n eventType === \"contextmenu\" || // window blur\n eventType === \"blur\" && eventTarget === window || // responder (or ancestors) blur\n eventType === \"blur\" && eventTarget.contains(node) && domEvent.relatedTarget !== node || // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 || // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node || // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = \"onResponderEnd\";\n onResponderEnd(responderEvent);\n }\n }\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = \"onResponderRelease\";\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n if (isTerminateEvent) {\n var shouldTerminate = true;\n if (eventType === \"contextmenu\" || eventType === \"scroll\" || eventType === \"selectionchange\") {\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = \"onResponderTerminationRequest\";\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = \"onResponderTerminate\";\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type];\n if (shouldSetCallbacks != null) {\n var { idPath, nodePath } = eventPaths;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var { bubbles } = shouldSetCallbacks[2];\n var check = function(id3, node3, callbackName) {\n var config = getResponderConfig(id3);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node3;\n if (shouldSetCallback(responderEvent) === true) {\n var prunedIdPath = idPath.slice(idPath.indexOf(id3));\n return {\n id: id3,\n node: node3,\n idPath: prunedIdPath\n };\n }\n }\n };\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n if (bubbles) {\n for (var i1 = 0; i1 < idPath.length; i1++) {\n var id1 = idPath[i1];\n var node1 = nodePath[i1];\n var result1 = check(id1, node1, shouldSetCallbackBubbleName);\n if (result1 != null) {\n return result1;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var id2 = idPath[0];\n var node2 = nodePath[0];\n var target = domEvent.target;\n if (target === node2) {\n return check(id2, node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var { id: currentId, node: currentNode } = currentResponder;\n var { id, node } = wantsResponder;\n var { onResponderGrant, onResponderReject } = getResponderConfig(id);\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = \"onResponderGrant\";\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n var { onResponderTerminate, onResponderTerminationRequest } = getResponderConfig(currentId);\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = \"onResponderTerminationRequest\";\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n if (allowTransfer) {\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = \"onResponderTerminate\";\n onResponderTerminate(responderEvent);\n }\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = \"onResponderGrant\";\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = \"onResponderReject\";\n onResponderReject(responderEvent);\n }\n }\n }\n}\nvar documentEventsCapturePhase = [\n \"blur\",\n \"scroll\"\n];\nvar documentEventsBubblePhase = [\n // mouse\n \"mousedown\",\n \"mousemove\",\n \"mouseup\",\n \"dragstart\",\n // touch\n \"touchstart\",\n \"touchmove\",\n \"touchend\",\n \"touchcancel\",\n // other\n \"contextmenu\",\n \"select\",\n \"selectionchange\"\n];\nvar isTamaguiResponderActive = /* @__PURE__ */ Symbol();\nfunction attachListeners() {\n if (canUseDOM && !window[isTamaguiResponderActive]) {\n window.addEventListener(\"blur\", eventListener);\n documentEventsBubblePhase.forEach(function(eventType) {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(function(eventType) {\n document.addEventListener(eventType, eventListener, true);\n });\n window[isTamaguiResponderActive] = true;\n }\n}\nfunction addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\nfunction removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\nfunction terminateResponder() {\n var { id, node } = currentResponder;\n if (id != null && node != null) {\n var { onResponderTerminate } = getResponderConfig(id);\n if (onResponderTerminate != null) {\n var event = createResponderEvent({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\nfunction getResponderNode() {\n return currentResponder.node;\n}\nexport {\n addNode,\n attachListeners,\n getResponderNode,\n removeNode,\n terminateResponder\n};\n//# sourceMappingURL=ResponderSystem.js.map\n"],"mappings":"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"}
|
|
@@ -1,154 +1,146 @@
|
|
|
1
1
|
import { isEndish, isMoveish, isStartish } from "./types.mjs";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
get touchHistory() {
|
|
47
|
-
return this._touchHistory;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
2
|
+
|
|
3
|
+
var ResponderTouchHistoryStore = class {
|
|
4
|
+
_touchHistory = {
|
|
5
|
+
touchBank: [],
|
|
6
|
+
numberActiveTouches: 0,
|
|
7
|
+
indexOfSingleActiveTouch: -1,
|
|
8
|
+
mostRecentTimeStamp: 0
|
|
9
|
+
};
|
|
10
|
+
recordTouchTrack(topLevelType, nativeEvent) {
|
|
11
|
+
const touchHistory = this._touchHistory;
|
|
12
|
+
if (isMoveish(topLevelType)) {
|
|
13
|
+
nativeEvent.changedTouches.forEach((touch) => recordTouchMove(touch, touchHistory));
|
|
14
|
+
} else if (isStartish(topLevelType)) {
|
|
15
|
+
nativeEvent.changedTouches.forEach((touch) => recordTouchStart(touch, touchHistory));
|
|
16
|
+
touchHistory.numberActiveTouches = nativeEvent.touches.length;
|
|
17
|
+
if (touchHistory.numberActiveTouches === 1) {
|
|
18
|
+
touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;
|
|
19
|
+
}
|
|
20
|
+
} else if (isEndish(topLevelType)) {
|
|
21
|
+
nativeEvent.changedTouches.forEach((touch) => recordTouchEnd(touch, touchHistory));
|
|
22
|
+
touchHistory.numberActiveTouches = nativeEvent.touches.length;
|
|
23
|
+
if (touchHistory.numberActiveTouches === 1) {
|
|
24
|
+
const { touchBank } = touchHistory;
|
|
25
|
+
for (let i = 0; i < touchBank.length; i++) {
|
|
26
|
+
const touchTrackToCheck = touchBank[i];
|
|
27
|
+
if (touchTrackToCheck?.touchActive) {
|
|
28
|
+
touchHistory.indexOfSingleActiveTouch = i;
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (process.env.NODE_ENV === "development") {
|
|
33
|
+
const activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];
|
|
34
|
+
if (!activeRecord?.touchActive) {
|
|
35
|
+
console.error("Cannot find single active touch.");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
get touchHistory() {
|
|
42
|
+
return this._touchHistory;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
50
45
|
const MAX_TOUCH_BANK = 20;
|
|
51
46
|
function timestampForTouch(touch) {
|
|
52
|
-
|
|
47
|
+
return touch["timeStamp"] || touch.timestamp;
|
|
53
48
|
}
|
|
54
49
|
function createTouchRecord(touch) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
50
|
+
return {
|
|
51
|
+
touchActive: true,
|
|
52
|
+
startPageX: touch.pageX,
|
|
53
|
+
startPageY: touch.pageY,
|
|
54
|
+
startTimeStamp: timestampForTouch(touch),
|
|
55
|
+
currentPageX: touch.pageX,
|
|
56
|
+
currentPageY: touch.pageY,
|
|
57
|
+
currentTimeStamp: timestampForTouch(touch),
|
|
58
|
+
previousPageX: touch.pageX,
|
|
59
|
+
previousPageY: touch.pageY,
|
|
60
|
+
previousTimeStamp: timestampForTouch(touch)
|
|
61
|
+
};
|
|
67
62
|
}
|
|
68
63
|
function resetTouchRecord(touchRecord, touch) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
64
|
+
touchRecord.touchActive = true;
|
|
65
|
+
touchRecord.startPageX = touch.pageX;
|
|
66
|
+
touchRecord.startPageY = touch.pageY;
|
|
67
|
+
touchRecord.startTimeStamp = timestampForTouch(touch);
|
|
68
|
+
touchRecord.currentPageX = touch.pageX;
|
|
69
|
+
touchRecord.currentPageY = touch.pageY;
|
|
70
|
+
touchRecord.currentTimeStamp = timestampForTouch(touch);
|
|
71
|
+
touchRecord.previousPageX = touch.pageX;
|
|
72
|
+
touchRecord.previousPageY = touch.pageY;
|
|
73
|
+
touchRecord.previousTimeStamp = timestampForTouch(touch);
|
|
79
74
|
}
|
|
80
|
-
function getTouchIdentifier({
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
return identifier;
|
|
75
|
+
function getTouchIdentifier({ identifier }) {
|
|
76
|
+
if (identifier == null) {
|
|
77
|
+
console.error("Touch object is missing identifier.");
|
|
78
|
+
}
|
|
79
|
+
if (process.env.NODE_ENV === "development") {
|
|
80
|
+
if (identifier > MAX_TOUCH_BANK) {
|
|
81
|
+
console.error("Touch identifier %s is greater than maximum supported %s which causes performance issues backfilling array locations for all of the indices.", identifier, MAX_TOUCH_BANK);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return identifier;
|
|
92
85
|
}
|
|
93
86
|
function recordTouchStart(touch, touchHistory) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
87
|
+
const identifier = getTouchIdentifier(touch);
|
|
88
|
+
const touchRecord = touchHistory.touchBank[identifier];
|
|
89
|
+
if (touchRecord) {
|
|
90
|
+
resetTouchRecord(touchRecord, touch);
|
|
91
|
+
} else {
|
|
92
|
+
touchHistory.touchBank[identifier] = createTouchRecord(touch);
|
|
93
|
+
}
|
|
94
|
+
touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
102
95
|
}
|
|
103
96
|
function recordTouchMove(touch, touchHistory) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
97
|
+
const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
|
|
98
|
+
if (touchRecord) {
|
|
99
|
+
touchRecord.touchActive = true;
|
|
100
|
+
touchRecord.previousPageX = touchRecord.currentPageX;
|
|
101
|
+
touchRecord.previousPageY = touchRecord.currentPageY;
|
|
102
|
+
touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
|
|
103
|
+
touchRecord.currentPageX = touch.pageX;
|
|
104
|
+
touchRecord.currentPageY = touch.pageY;
|
|
105
|
+
touchRecord.currentTimeStamp = timestampForTouch(touch);
|
|
106
|
+
touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
107
|
+
} else {
|
|
108
|
+
console.warn("Cannot record touch move without a touch start.\n", `Touch Move: ${printTouch(touch)}
|
|
116
109
|
`, `Touch Bank: ${printTouchBank(touchHistory)}`);
|
|
117
|
-
|
|
110
|
+
}
|
|
118
111
|
}
|
|
119
112
|
function recordTouchEnd(touch, touchHistory) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
113
|
+
const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
|
|
114
|
+
if (touchRecord) {
|
|
115
|
+
touchRecord.touchActive = false;
|
|
116
|
+
touchRecord.previousPageX = touchRecord.currentPageX;
|
|
117
|
+
touchRecord.previousPageY = touchRecord.currentPageY;
|
|
118
|
+
touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
|
|
119
|
+
touchRecord.currentPageX = touch.pageX;
|
|
120
|
+
touchRecord.currentPageY = touch.pageY;
|
|
121
|
+
touchRecord.currentTimeStamp = timestampForTouch(touch);
|
|
122
|
+
touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
123
|
+
} else {
|
|
124
|
+
console.warn("Cannot record touch end without a touch start.\n", `Touch End: ${printTouch(touch)}
|
|
132
125
|
`, `Touch Bank: ${printTouchBank(touchHistory)}`);
|
|
133
|
-
|
|
126
|
+
}
|
|
134
127
|
}
|
|
135
128
|
function printTouch(touch) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
129
|
+
return JSON.stringify({
|
|
130
|
+
identifier: touch.identifier,
|
|
131
|
+
pageX: touch.pageX,
|
|
132
|
+
pageY: touch.pageY,
|
|
133
|
+
timestamp: timestampForTouch(touch)
|
|
134
|
+
});
|
|
142
135
|
}
|
|
143
136
|
function printTouchBank(touchHistory) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
return printed;
|
|
137
|
+
const { touchBank } = touchHistory;
|
|
138
|
+
let printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));
|
|
139
|
+
if (touchBank.length > MAX_TOUCH_BANK) {
|
|
140
|
+
printed += ` (original size: ${touchBank.length})`;
|
|
141
|
+
}
|
|
142
|
+
return printed;
|
|
152
143
|
}
|
|
144
|
+
|
|
153
145
|
export { ResponderTouchHistoryStore };
|
|
154
146
|
//# sourceMappingURL=ResponderTouchHistoryStore.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ResponderTouchHistoryStore.js","names":[],"sources":["esm/ResponderTouchHistoryStore.js"],"sourcesContent":["import { isEndish, isMoveish, isStartish } from \"./types\";\nclass ResponderTouchHistoryStore {\n _touchHistory = {\n touchBank: [],\n //Array<TouchRecord>\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n recordTouchTrack(topLevelType, nativeEvent) {\n const touchHistory = this._touchHistory;\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach((touch) => recordTouchMove(touch, touchHistory));\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach((touch) => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach((touch) => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n const { touchBank } = touchHistory;\n for (let i = 0; i < touchBank.length; i++) {\n const touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck?.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (process.env.NODE_ENV === \"development\") {\n const activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!activeRecord?.touchActive) {\n console.error(\"Cannot find single active touch.\");\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\n }\n}\nconst MAX_TOUCH_BANK = 20;\nfunction timestampForTouch(touch) {\n return touch[\"timeStamp\"] || touch.timestamp;\n}\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\nfunction getTouchIdentifier({ identifier }) {\n if (identifier == null) {\n console.error(\"Touch object is missing identifier.\");\n }\n if (process.env.NODE_ENV === \"development\") {\n if (identifier > MAX_TOUCH_BANK) {\n console.error(\n \"Touch identifier %s is greater than maximum supported %s which causes performance issues backfilling array locations for all of the indices.\",\n identifier,\n MAX_TOUCH_BANK\n );\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n const identifier = getTouchIdentifier(touch);\n const touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn(\n \"Cannot record touch move without a touch start.\\n\",\n `Touch Move: ${printTouch(touch)}\n`,\n `Touch Bank: ${printTouchBank(touchHistory)}`\n );\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn(\n \"Cannot record touch end without a touch start.\\n\",\n `Touch End: ${printTouch(touch)}\n`,\n `Touch Bank: ${printTouchBank(touchHistory)}`\n );\n }\n}\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\nfunction printTouchBank(touchHistory) {\n const { touchBank } = touchHistory;\n let printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ` (original size: ${touchBank.length})`;\n }\n return printed;\n}\nexport {\n ResponderTouchHistoryStore\n};\n//# sourceMappingURL=ResponderTouchHistoryStore.js.map\n"],"mappings":";;;AACA,IAAM,6BAAN,MAAiC;CAC/B,gBAAgB;EACd,WAAW,CAAC;EAEZ,qBAAqB;EAIrB,0BAA0B,CAAC;EAC3B,qBAAqB;CACvB;CACA,iBAAiB,cAAc,aAAa;EAC1C,MAAM,eAAe,KAAK;EAC1B,IAAI,UAAU,YAAY,GAAG;GAC3B,YAAY,eAAe,SAAS,UAAU,gBAAgB,OAAO,YAAY,CAAC;EACpF,OAAO,IAAI,WAAW,YAAY,GAAG;GACnC,YAAY,eAAe,SAAS,UAAU,iBAAiB,OAAO,YAAY,CAAC;GACnF,aAAa,sBAAsB,YAAY,QAAQ;GACvD,IAAI,aAAa,wBAAwB,GAAG;IAC1C,aAAa,2BAA2B,YAAY,QAAQ,GAAG;GACjE;EACF,OAAO,IAAI,SAAS,YAAY,GAAG;GACjC,YAAY,eAAe,SAAS,UAAU,eAAe,OAAO,YAAY,CAAC;GACjF,aAAa,sBAAsB,YAAY,QAAQ;GACvD,IAAI,aAAa,wBAAwB,GAAG;IAC1C,MAAM,EAAE,cAAc;IACtB,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;KACzC,MAAM,oBAAoB,UAAU;KACpC,IAAI,mBAAmB,aAAa;MAClC,aAAa,2BAA2B;MACxC;KACF;IACF;IACA,IAAI,QAAQ,IAAI,aAAa,eAAe;KAC1C,MAAM,eAAe,UAAU,aAAa;KAC5C,IAAI,CAAC,cAAc,aAAa;MAC9B,QAAQ,MAAM,kCAAkC;KAClD;IACF;GACF;EACF;CACF;CACA,IAAI,eAAe;EACjB,OAAO,KAAK;CACd;AACF;AACA,MAAM,iBAAiB;AACvB,SAAS,kBAAkB,OAAO;CAChC,OAAO,MAAM,gBAAgB,MAAM;AACrC;AACA,SAAS,kBAAkB,OAAO;CAChC,OAAO;EACL,aAAa;EACb,YAAY,MAAM;EAClB,YAAY,MAAM;EAClB,gBAAgB,kBAAkB,KAAK;EACvC,cAAc,MAAM;EACpB,cAAc,MAAM;EACpB,kBAAkB,kBAAkB,KAAK;EACzC,eAAe,MAAM;EACrB,eAAe,MAAM;EACrB,mBAAmB,kBAAkB,KAAK;CAC5C;AACF;AACA,SAAS,iBAAiB,aAAa,OAAO;CAC5C,YAAY,cAAc;CAC1B,YAAY,aAAa,MAAM;CAC/B,YAAY,aAAa,MAAM;CAC/B,YAAY,iBAAiB,kBAAkB,KAAK;CACpD,YAAY,eAAe,MAAM;CACjC,YAAY,eAAe,MAAM;CACjC,YAAY,mBAAmB,kBAAkB,KAAK;CACtD,YAAY,gBAAgB,MAAM;CAClC,YAAY,gBAAgB,MAAM;CAClC,YAAY,oBAAoB,kBAAkB,KAAK;AACzD;AACA,SAAS,mBAAmB,EAAE,cAAc;CAC1C,IAAI,cAAc,MAAM;EACtB,QAAQ,MAAM,qCAAqC;CACrD;CACA,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,IAAI,aAAa,gBAAgB;GAC/B,QAAQ,MACN,gJACA,YACA,cACF;EACF;CACF;CACA,OAAO;AACT;AACA,SAAS,iBAAiB,OAAO,cAAc;CAC7C,MAAM,aAAa,mBAAmB,KAAK;CAC3C,MAAM,cAAc,aAAa,UAAU;CAC3C,IAAI,aAAa;EACf,iBAAiB,aAAa,KAAK;CACrC,OAAO;EACL,aAAa,UAAU,cAAc,kBAAkB,KAAK;CAC9D;CACA,aAAa,sBAAsB,kBAAkB,KAAK;AAC5D;AACA,SAAS,gBAAgB,OAAO,cAAc;CAC5C,MAAM,cAAc,aAAa,UAAU,mBAAmB,KAAK;CACnE,IAAI,aAAa;EACf,YAAY,cAAc;EAC1B,YAAY,gBAAgB,YAAY;EACxC,YAAY,gBAAgB,YAAY;EACxC,YAAY,oBAAoB,YAAY;EAC5C,YAAY,eAAe,MAAM;EACjC,YAAY,eAAe,MAAM;EACjC,YAAY,mBAAmB,kBAAkB,KAAK;EACtD,aAAa,sBAAsB,kBAAkB,KAAK;CAC5D,OAAO;EACL,QAAQ,KACN,qDACA,eAAe,WAAW,KAAK,EAAE;GAEjC,eAAe,eAAe,YAAY,GAC5C;CACF;AACF;AACA,SAAS,eAAe,OAAO,cAAc;CAC3C,MAAM,cAAc,aAAa,UAAU,mBAAmB,KAAK;CACnE,IAAI,aAAa;EACf,YAAY,cAAc;EAC1B,YAAY,gBAAgB,YAAY;EACxC,YAAY,gBAAgB,YAAY;EACxC,YAAY,oBAAoB,YAAY;EAC5C,YAAY,eAAe,MAAM;EACjC,YAAY,eAAe,MAAM;EACjC,YAAY,mBAAmB,kBAAkB,KAAK;EACtD,aAAa,sBAAsB,kBAAkB,KAAK;CAC5D,OAAO;EACL,QAAQ,KACN,oDACA,cAAc,WAAW,KAAK,EAAE;GAEhC,eAAe,eAAe,YAAY,GAC5C;CACF;AACF;AACA,SAAS,WAAW,OAAO;CACzB,OAAO,KAAK,UAAU;EACpB,YAAY,MAAM;EAClB,OAAO,MAAM;EACb,OAAO,MAAM;EACb,WAAW,kBAAkB,KAAK;CACpC,CAAC;AACH;AACA,SAAS,eAAe,cAAc;CACpC,MAAM,EAAE,cAAc;CACtB,IAAI,UAAU,KAAK,UAAU,UAAU,MAAM,GAAG,cAAc,CAAC;CAC/D,IAAI,UAAU,SAAS,gBAAgB;EACrC,WAAW,oBAAoB,UAAU,OAAO;CAClD;CACA,OAAO;AACT"}
|