@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":["__toCommonJS","mod","__copyProps","__defProp","value","ResponderSystem_exports","__export","addNode","attachListeners","getResponderNode","removeNode","terminateResponder","module","exports","import_createResponderEvent","require","import_ResponderTouchHistoryStore","import_types","import_utils","import_utils2","emptyObject","startRegistration","bubbles","moveRegistration","scrollRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","scroll","emptyResponder","id","idPath","node","responderListenersMap","Map","isEmulatingMouseEvents","trackedTouchCount","currentResponder","responderTouchHistoryStore","ResponderTouchHistoryStore","changeCurrentResponder","responder","getResponderConfig","config","get","eventListener","domEvent","eventType","type","eventTarget","target","isStartEvent","isStartish","isPrimaryPointerDown","isMoveEvent","isMoveish","isEndEvent","isEndish","isScrollEvent","isScroll","isSelectionChangeEvent","isSelectionChange","responderEvent","createResponderEvent","touches","length","recordTouchTrack","nativeEvent","eventPaths","getResponderPaths","wasNegotiated","wantsResponder","currentResponderIdPath","eventIdPath","lowestCommonAncestor","getLowestCommonAncestor","indexOfLowestCommonAncestor","indexOf","index","slice","nodePath","findWantsResponder","attemptTransfer","onResponderStart","onResponderMove","onResponderEnd","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","cancelable","currentTarget","dispatchConfig","registrationName","isTerminateEvent","isCancelish","window","contains","relatedTarget","hasValidSelection","isReleaseEvent","hasTargetTouches","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","canUseDOM","addEventListener","forEach","document","setResponderId","set","has","delete","event"],"sources":["../../src/ResponderSystem.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ResponderSystem.native.js","names":[],"sources":["cjs/ResponderSystem.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar ResponderSystem_exports = {};\n__export(ResponderSystem_exports, {\n addNode: () => addNode,\n attachListeners: () => attachListeners,\n getResponderNode: () => getResponderNode,\n removeNode: () => removeNode,\n terminateResponder: () => terminateResponder\n});\nmodule.exports = __toCommonJS(ResponderSystem_exports);\nvar import_createResponderEvent = require(\"./createResponderEvent\");\nvar import_ResponderTouchHistoryStore = require(\"./ResponderTouchHistoryStore\");\nvar import_types = require(\"./types\");\nvar import_utils = require(\"./utils\");\nvar import_utils2 = require(\"./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 import_ResponderTouchHistoryStore.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 = (0, import_types.isStartish)(eventType) && (0, import_utils2.isPrimaryPointerDown)(domEvent);\n var isMoveEvent = (0, import_types.isMoveish)(eventType);\n var isEndEvent = (0, import_types.isEndish)(eventType);\n var isScrollEvent = (0, import_types.isScroll)(eventType);\n var isSelectionChangeEvent = (0, import_types.isSelectionChange)(eventType);\n var responderEvent = (0, import_createResponderEvent.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 = (0, import_utils2.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 = (0, import_utils2.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 = (0, import_types.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 && (0, import_utils2.hasValidSelection)(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !(0, import_utils2.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 (import_utils.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 (0, import_utils2.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 = (0, import_createResponderEvent.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}\n//# sourceMappingURL=ResponderSystem.js.map\n"],"mappings":"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"}
|
|
@@ -1,179 +1,166 @@
|
|
|
1
|
+
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
6
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
for (var name in all) __defProp(target, name, {
|
|
8
|
+
get: all[name],
|
|
9
|
+
enumerable: true
|
|
10
|
+
});
|
|
10
11
|
};
|
|
11
12
|
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
19
20
|
};
|
|
20
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value: true
|
|
22
|
-
}), mod);
|
|
21
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
22
|
var ResponderTouchHistoryStore_exports = {};
|
|
24
|
-
__export(ResponderTouchHistoryStore_exports, {
|
|
25
|
-
ResponderTouchHistoryStore: () => ResponderTouchHistoryStore
|
|
26
|
-
});
|
|
23
|
+
__export(ResponderTouchHistoryStore_exports, { ResponderTouchHistoryStore: () => ResponderTouchHistoryStore });
|
|
27
24
|
module.exports = __toCommonJS(ResponderTouchHistoryStore_exports);
|
|
28
25
|
var import_types = require("./types.cjs");
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
get touchHistory() {
|
|
74
|
-
return this._touchHistory;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
26
|
+
var ResponderTouchHistoryStore = class {
|
|
27
|
+
_touchHistory = {
|
|
28
|
+
touchBank: [],
|
|
29
|
+
numberActiveTouches: 0,
|
|
30
|
+
indexOfSingleActiveTouch: -1,
|
|
31
|
+
mostRecentTimeStamp: 0
|
|
32
|
+
};
|
|
33
|
+
recordTouchTrack(topLevelType, nativeEvent) {
|
|
34
|
+
const touchHistory = this._touchHistory;
|
|
35
|
+
if ((0, import_types.isMoveish)(topLevelType)) {
|
|
36
|
+
nativeEvent.changedTouches.forEach((touch) => recordTouchMove(touch, touchHistory));
|
|
37
|
+
} else if ((0, import_types.isStartish)(topLevelType)) {
|
|
38
|
+
nativeEvent.changedTouches.forEach((touch) => recordTouchStart(touch, touchHistory));
|
|
39
|
+
touchHistory.numberActiveTouches = nativeEvent.touches.length;
|
|
40
|
+
if (touchHistory.numberActiveTouches === 1) {
|
|
41
|
+
touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;
|
|
42
|
+
}
|
|
43
|
+
} else if ((0, import_types.isEndish)(topLevelType)) {
|
|
44
|
+
nativeEvent.changedTouches.forEach((touch) => recordTouchEnd(touch, touchHistory));
|
|
45
|
+
touchHistory.numberActiveTouches = nativeEvent.touches.length;
|
|
46
|
+
if (touchHistory.numberActiveTouches === 1) {
|
|
47
|
+
const { touchBank } = touchHistory;
|
|
48
|
+
for (let i = 0; i < touchBank.length; i++) {
|
|
49
|
+
const touchTrackToCheck = touchBank[i];
|
|
50
|
+
if (touchTrackToCheck?.touchActive) {
|
|
51
|
+
touchHistory.indexOfSingleActiveTouch = i;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (process.env.NODE_ENV === "development") {
|
|
56
|
+
const activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];
|
|
57
|
+
if (!activeRecord?.touchActive) {
|
|
58
|
+
console.error("Cannot find single active touch.");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
get touchHistory() {
|
|
65
|
+
return this._touchHistory;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
77
68
|
const MAX_TOUCH_BANK = 20;
|
|
78
69
|
function timestampForTouch(touch) {
|
|
79
|
-
|
|
70
|
+
return touch["timeStamp"] || touch.timestamp;
|
|
80
71
|
}
|
|
81
72
|
function createTouchRecord(touch) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
73
|
+
return {
|
|
74
|
+
touchActive: true,
|
|
75
|
+
startPageX: touch.pageX,
|
|
76
|
+
startPageY: touch.pageY,
|
|
77
|
+
startTimeStamp: timestampForTouch(touch),
|
|
78
|
+
currentPageX: touch.pageX,
|
|
79
|
+
currentPageY: touch.pageY,
|
|
80
|
+
currentTimeStamp: timestampForTouch(touch),
|
|
81
|
+
previousPageX: touch.pageX,
|
|
82
|
+
previousPageY: touch.pageY,
|
|
83
|
+
previousTimeStamp: timestampForTouch(touch)
|
|
84
|
+
};
|
|
94
85
|
}
|
|
95
86
|
function resetTouchRecord(touchRecord, touch) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
87
|
+
touchRecord.touchActive = true;
|
|
88
|
+
touchRecord.startPageX = touch.pageX;
|
|
89
|
+
touchRecord.startPageY = touch.pageY;
|
|
90
|
+
touchRecord.startTimeStamp = timestampForTouch(touch);
|
|
91
|
+
touchRecord.currentPageX = touch.pageX;
|
|
92
|
+
touchRecord.currentPageY = touch.pageY;
|
|
93
|
+
touchRecord.currentTimeStamp = timestampForTouch(touch);
|
|
94
|
+
touchRecord.previousPageX = touch.pageX;
|
|
95
|
+
touchRecord.previousPageY = touch.pageY;
|
|
96
|
+
touchRecord.previousTimeStamp = timestampForTouch(touch);
|
|
106
97
|
}
|
|
107
|
-
function getTouchIdentifier({
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
return identifier;
|
|
98
|
+
function getTouchIdentifier({ identifier }) {
|
|
99
|
+
if (identifier == null) {
|
|
100
|
+
console.error("Touch object is missing identifier.");
|
|
101
|
+
}
|
|
102
|
+
if (process.env.NODE_ENV === "development") {
|
|
103
|
+
if (identifier > MAX_TOUCH_BANK) {
|
|
104
|
+
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);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return identifier;
|
|
119
108
|
}
|
|
120
109
|
function recordTouchStart(touch, touchHistory) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
110
|
+
const identifier = getTouchIdentifier(touch);
|
|
111
|
+
const touchRecord = touchHistory.touchBank[identifier];
|
|
112
|
+
if (touchRecord) {
|
|
113
|
+
resetTouchRecord(touchRecord, touch);
|
|
114
|
+
} else {
|
|
115
|
+
touchHistory.touchBank[identifier] = createTouchRecord(touch);
|
|
116
|
+
}
|
|
117
|
+
touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
129
118
|
}
|
|
130
119
|
function recordTouchMove(touch, touchHistory) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
120
|
+
const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
|
|
121
|
+
if (touchRecord) {
|
|
122
|
+
touchRecord.touchActive = true;
|
|
123
|
+
touchRecord.previousPageX = touchRecord.currentPageX;
|
|
124
|
+
touchRecord.previousPageY = touchRecord.currentPageY;
|
|
125
|
+
touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
|
|
126
|
+
touchRecord.currentPageX = touch.pageX;
|
|
127
|
+
touchRecord.currentPageY = touch.pageY;
|
|
128
|
+
touchRecord.currentTimeStamp = timestampForTouch(touch);
|
|
129
|
+
touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
130
|
+
} else {
|
|
131
|
+
console.warn("Cannot record touch move without a touch start.\n", `Touch Move: ${printTouch(touch)}
|
|
143
132
|
`, `Touch Bank: ${printTouchBank(touchHistory)}`);
|
|
144
|
-
|
|
133
|
+
}
|
|
145
134
|
}
|
|
146
135
|
function recordTouchEnd(touch, touchHistory) {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
136
|
+
const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
|
|
137
|
+
if (touchRecord) {
|
|
138
|
+
touchRecord.touchActive = false;
|
|
139
|
+
touchRecord.previousPageX = touchRecord.currentPageX;
|
|
140
|
+
touchRecord.previousPageY = touchRecord.currentPageY;
|
|
141
|
+
touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
|
|
142
|
+
touchRecord.currentPageX = touch.pageX;
|
|
143
|
+
touchRecord.currentPageY = touch.pageY;
|
|
144
|
+
touchRecord.currentTimeStamp = timestampForTouch(touch);
|
|
145
|
+
touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
146
|
+
} else {
|
|
147
|
+
console.warn("Cannot record touch end without a touch start.\n", `Touch End: ${printTouch(touch)}
|
|
159
148
|
`, `Touch Bank: ${printTouchBank(touchHistory)}`);
|
|
160
|
-
|
|
149
|
+
}
|
|
161
150
|
}
|
|
162
151
|
function printTouch(touch) {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
152
|
+
return JSON.stringify({
|
|
153
|
+
identifier: touch.identifier,
|
|
154
|
+
pageX: touch.pageX,
|
|
155
|
+
pageY: touch.pageY,
|
|
156
|
+
timestamp: timestampForTouch(touch)
|
|
157
|
+
});
|
|
169
158
|
}
|
|
170
159
|
function printTouchBank(touchHistory) {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
return printed;
|
|
179
|
-
}
|
|
160
|
+
const { touchBank } = touchHistory;
|
|
161
|
+
let printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));
|
|
162
|
+
if (touchBank.length > MAX_TOUCH_BANK) {
|
|
163
|
+
printed += ` (original size: ${touchBank.length})`;
|
|
164
|
+
}
|
|
165
|
+
return printed;
|
|
166
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all) __defProp(target, name, {
|
|
10
|
+
get: all[name],
|
|
11
|
+
enumerable: true
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
var __copyProps = (to, from, except, desc) => {
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
17
|
+
get: () => from[key],
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return to;
|
|
22
|
+
};
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
+
var ResponderTouchHistoryStore_exports = {};
|
|
25
|
+
__export(ResponderTouchHistoryStore_exports, { ResponderTouchHistoryStore: () => ResponderTouchHistoryStore });
|
|
26
|
+
module.exports = __toCommonJS(ResponderTouchHistoryStore_exports);
|
|
27
|
+
var import_types = require("./types.native.js");
|
|
28
|
+
function _class_call_check(instance, Constructor) {
|
|
29
|
+
if (!(instance instanceof Constructor)) {
|
|
30
|
+
throw new TypeError("Cannot call a class as a function");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function _defineProperties(target, props) {
|
|
34
|
+
for (var i = 0; i < props.length; i++) {
|
|
35
|
+
var descriptor = props[i];
|
|
36
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
37
|
+
descriptor.configurable = true;
|
|
38
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
39
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
43
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
44
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
45
|
+
return Constructor;
|
|
46
|
+
}
|
|
47
|
+
function _define_property(obj, key, value) {
|
|
48
|
+
if (key in obj) {
|
|
49
|
+
Object.defineProperty(obj, key, {
|
|
50
|
+
value,
|
|
51
|
+
enumerable: true,
|
|
52
|
+
configurable: true,
|
|
53
|
+
writable: true
|
|
54
|
+
});
|
|
55
|
+
} else {
|
|
56
|
+
obj[key] = value;
|
|
57
|
+
}
|
|
58
|
+
return obj;
|
|
59
|
+
}
|
|
60
|
+
var ResponderTouchHistoryStore = /* @__PURE__ */ (function() {
|
|
61
|
+
"use strict";
|
|
62
|
+
function ResponderTouchHistoryStore2() {
|
|
63
|
+
_class_call_check(this, ResponderTouchHistoryStore2);
|
|
64
|
+
_define_property(this, "_touchHistory", {
|
|
65
|
+
touchBank: [],
|
|
66
|
+
numberActiveTouches: 0,
|
|
67
|
+
indexOfSingleActiveTouch: -1,
|
|
68
|
+
mostRecentTimeStamp: 0
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
_create_class(ResponderTouchHistoryStore2, [{
|
|
72
|
+
key: "recordTouchTrack",
|
|
73
|
+
value: function recordTouchTrack(topLevelType, nativeEvent) {
|
|
74
|
+
var touchHistory = this._touchHistory;
|
|
75
|
+
if ((0, import_types.isMoveish)(topLevelType)) {
|
|
76
|
+
nativeEvent.changedTouches.forEach(function(touch) {
|
|
77
|
+
return recordTouchMove(touch, touchHistory);
|
|
78
|
+
});
|
|
79
|
+
} else if ((0, import_types.isStartish)(topLevelType)) {
|
|
80
|
+
nativeEvent.changedTouches.forEach(function(touch) {
|
|
81
|
+
return recordTouchStart(touch, touchHistory);
|
|
82
|
+
});
|
|
83
|
+
touchHistory.numberActiveTouches = nativeEvent.touches.length;
|
|
84
|
+
if (touchHistory.numberActiveTouches === 1) {
|
|
85
|
+
touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;
|
|
86
|
+
}
|
|
87
|
+
} else if ((0, import_types.isEndish)(topLevelType)) {
|
|
88
|
+
nativeEvent.changedTouches.forEach(function(touch) {
|
|
89
|
+
return recordTouchEnd(touch, touchHistory);
|
|
90
|
+
});
|
|
91
|
+
touchHistory.numberActiveTouches = nativeEvent.touches.length;
|
|
92
|
+
if (touchHistory.numberActiveTouches === 1) {
|
|
93
|
+
var { touchBank } = touchHistory;
|
|
94
|
+
for (var i = 0; i < touchBank.length; i++) {
|
|
95
|
+
var touchTrackToCheck = touchBank[i];
|
|
96
|
+
if (touchTrackToCheck === null || touchTrackToCheck === void 0 ? void 0 : touchTrackToCheck.touchActive) {
|
|
97
|
+
touchHistory.indexOfSingleActiveTouch = i;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (process.env.NODE_ENV === "development") {
|
|
102
|
+
var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];
|
|
103
|
+
if (!(activeRecord === null || activeRecord === void 0 ? void 0 : activeRecord.touchActive)) {
|
|
104
|
+
console.error("Cannot find single active touch.");
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
111
|
+
key: "touchHistory",
|
|
112
|
+
get: function get() {
|
|
113
|
+
return this._touchHistory;
|
|
114
|
+
}
|
|
115
|
+
}]);
|
|
116
|
+
return ResponderTouchHistoryStore2;
|
|
117
|
+
})();
|
|
118
|
+
var MAX_TOUCH_BANK = 20;
|
|
119
|
+
function timestampForTouch(touch) {
|
|
120
|
+
return touch["timeStamp"] || touch.timestamp;
|
|
121
|
+
}
|
|
122
|
+
function createTouchRecord(touch) {
|
|
123
|
+
return {
|
|
124
|
+
touchActive: true,
|
|
125
|
+
startPageX: touch.pageX,
|
|
126
|
+
startPageY: touch.pageY,
|
|
127
|
+
startTimeStamp: timestampForTouch(touch),
|
|
128
|
+
currentPageX: touch.pageX,
|
|
129
|
+
currentPageY: touch.pageY,
|
|
130
|
+
currentTimeStamp: timestampForTouch(touch),
|
|
131
|
+
previousPageX: touch.pageX,
|
|
132
|
+
previousPageY: touch.pageY,
|
|
133
|
+
previousTimeStamp: timestampForTouch(touch)
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function resetTouchRecord(touchRecord, touch) {
|
|
137
|
+
touchRecord.touchActive = true;
|
|
138
|
+
touchRecord.startPageX = touch.pageX;
|
|
139
|
+
touchRecord.startPageY = touch.pageY;
|
|
140
|
+
touchRecord.startTimeStamp = timestampForTouch(touch);
|
|
141
|
+
touchRecord.currentPageX = touch.pageX;
|
|
142
|
+
touchRecord.currentPageY = touch.pageY;
|
|
143
|
+
touchRecord.currentTimeStamp = timestampForTouch(touch);
|
|
144
|
+
touchRecord.previousPageX = touch.pageX;
|
|
145
|
+
touchRecord.previousPageY = touch.pageY;
|
|
146
|
+
touchRecord.previousTimeStamp = timestampForTouch(touch);
|
|
147
|
+
}
|
|
148
|
+
function getTouchIdentifier(param) {
|
|
149
|
+
var { identifier } = param;
|
|
150
|
+
if (identifier == null) {
|
|
151
|
+
console.error("Touch object is missing identifier.");
|
|
152
|
+
}
|
|
153
|
+
if (process.env.NODE_ENV === "development") {
|
|
154
|
+
if (identifier > MAX_TOUCH_BANK) {
|
|
155
|
+
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);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return identifier;
|
|
159
|
+
}
|
|
160
|
+
function recordTouchStart(touch, touchHistory) {
|
|
161
|
+
var identifier = getTouchIdentifier(touch);
|
|
162
|
+
var touchRecord = touchHistory.touchBank[identifier];
|
|
163
|
+
if (touchRecord) {
|
|
164
|
+
resetTouchRecord(touchRecord, touch);
|
|
165
|
+
} else {
|
|
166
|
+
touchHistory.touchBank[identifier] = createTouchRecord(touch);
|
|
167
|
+
}
|
|
168
|
+
touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
169
|
+
}
|
|
170
|
+
function recordTouchMove(touch, touchHistory) {
|
|
171
|
+
var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
|
|
172
|
+
if (touchRecord) {
|
|
173
|
+
touchRecord.touchActive = true;
|
|
174
|
+
touchRecord.previousPageX = touchRecord.currentPageX;
|
|
175
|
+
touchRecord.previousPageY = touchRecord.currentPageY;
|
|
176
|
+
touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
|
|
177
|
+
touchRecord.currentPageX = touch.pageX;
|
|
178
|
+
touchRecord.currentPageY = touch.pageY;
|
|
179
|
+
touchRecord.currentTimeStamp = timestampForTouch(touch);
|
|
180
|
+
touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
181
|
+
} else {
|
|
182
|
+
console.warn("Cannot record touch move without a touch start.\n", `Touch Move: ${printTouch(touch)}
|
|
183
|
+
`, `Touch Bank: ${printTouchBank(touchHistory)}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
function recordTouchEnd(touch, touchHistory) {
|
|
187
|
+
var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
|
|
188
|
+
if (touchRecord) {
|
|
189
|
+
touchRecord.touchActive = false;
|
|
190
|
+
touchRecord.previousPageX = touchRecord.currentPageX;
|
|
191
|
+
touchRecord.previousPageY = touchRecord.currentPageY;
|
|
192
|
+
touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
|
|
193
|
+
touchRecord.currentPageX = touch.pageX;
|
|
194
|
+
touchRecord.currentPageY = touch.pageY;
|
|
195
|
+
touchRecord.currentTimeStamp = timestampForTouch(touch);
|
|
196
|
+
touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
|
|
197
|
+
} else {
|
|
198
|
+
console.warn("Cannot record touch end without a touch start.\n", `Touch End: ${printTouch(touch)}
|
|
199
|
+
`, `Touch Bank: ${printTouchBank(touchHistory)}`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function printTouch(touch) {
|
|
203
|
+
return JSON.stringify({
|
|
204
|
+
identifier: touch.identifier,
|
|
205
|
+
pageX: touch.pageX,
|
|
206
|
+
pageY: touch.pageY,
|
|
207
|
+
timestamp: timestampForTouch(touch)
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
function printTouchBank(touchHistory) {
|
|
211
|
+
var { touchBank } = touchHistory;
|
|
212
|
+
var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));
|
|
213
|
+
if (touchBank.length > MAX_TOUCH_BANK) {
|
|
214
|
+
printed += ` (original size: ${touchBank.length})`;
|
|
215
|
+
}
|
|
216
|
+
return printed;
|
|
217
|
+
}
|