@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.
Files changed (61) hide show
  1. package/dist/cjs/ResponderSystem.cjs +307 -344
  2. package/dist/cjs/ResponderSystem.native.cjs +357 -0
  3. package/dist/cjs/ResponderSystem.native.js +307 -343
  4. package/dist/cjs/ResponderSystem.native.js.map +1 -1
  5. package/dist/cjs/ResponderTouchHistoryStore.cjs +136 -149
  6. package/dist/cjs/ResponderTouchHistoryStore.native.cjs +217 -0
  7. package/dist/cjs/ResponderTouchHistoryStore.native.js +176 -189
  8. package/dist/cjs/ResponderTouchHistoryStore.native.js.map +1 -1
  9. package/dist/cjs/createResponderEvent.cjs +128 -132
  10. package/dist/cjs/createResponderEvent.native.cjs +147 -0
  11. package/dist/cjs/createResponderEvent.native.js +129 -132
  12. package/dist/cjs/createResponderEvent.native.js.map +1 -1
  13. package/dist/cjs/index.cjs +10 -11
  14. package/dist/cjs/index.native.cjs +21 -0
  15. package/dist/cjs/index.native.js +10 -10
  16. package/dist/cjs/index.native.js.map +1 -1
  17. package/dist/cjs/types.cjs +40 -41
  18. package/dist/cjs/types.native.cjs +79 -0
  19. package/dist/cjs/types.native.js +40 -40
  20. package/dist/cjs/types.native.js.map +1 -1
  21. package/dist/cjs/useResponderEvents.cjs +60 -85
  22. package/dist/cjs/useResponderEvents.native.cjs +87 -0
  23. package/dist/cjs/useResponderEvents.native.js +62 -86
  24. package/dist/cjs/useResponderEvents.native.js.map +1 -1
  25. package/dist/cjs/utils.cjs +123 -135
  26. package/dist/cjs/utils.native.cjs +160 -0
  27. package/dist/cjs/utils.native.js +124 -135
  28. package/dist/cjs/utils.native.js.map +1 -1
  29. package/dist/esm/ResponderSystem.mjs +291 -326
  30. package/dist/esm/ResponderSystem.mjs.map +1 -1
  31. package/dist/esm/ResponderSystem.native.js +291 -326
  32. package/dist/esm/ResponderSystem.native.js.map +1 -1
  33. package/dist/esm/ResponderTouchHistoryStore.mjs +123 -131
  34. package/dist/esm/ResponderTouchHistoryStore.mjs.map +1 -1
  35. package/dist/esm/ResponderTouchHistoryStore.native.js +163 -172
  36. package/dist/esm/ResponderTouchHistoryStore.native.js.map +1 -1
  37. package/dist/esm/createResponderEvent.mjs +115 -114
  38. package/dist/esm/createResponderEvent.mjs.map +1 -1
  39. package/dist/esm/createResponderEvent.native.js +116 -115
  40. package/dist/esm/createResponderEvent.native.js.map +1 -1
  41. package/dist/esm/index.js +1 -2
  42. package/dist/esm/index.mjs +1 -2
  43. package/dist/esm/index.native.js +1 -2
  44. package/dist/esm/types.mjs +7 -6
  45. package/dist/esm/types.mjs.map +1 -1
  46. package/dist/esm/types.native.js +7 -6
  47. package/dist/esm/types.native.js.map +1 -1
  48. package/dist/esm/useResponderEvents.mjs +45 -61
  49. package/dist/esm/useResponderEvents.mjs.map +1 -1
  50. package/dist/esm/useResponderEvents.native.js +47 -63
  51. package/dist/esm/useResponderEvents.native.js.map +1 -1
  52. package/dist/esm/utils.mjs +101 -111
  53. package/dist/esm/utils.mjs.map +1 -1
  54. package/dist/esm/utils.native.js +102 -112
  55. package/dist/esm/utils.native.js.map +1 -1
  56. package/package.json +2 -2
  57. package/types/ResponderTouchHistoryStore.d.ts.map +1 -1
  58. package/types/utils.d.ts.map +1 -1
  59. package/dist/esm/index.js.map +0 -1
  60. package/dist/esm/index.mjs.map +0 -1
  61. 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
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
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
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
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
- class ResponderTouchHistoryStore {
30
- _touchHistory = {
31
- touchBank: [],
32
- //Array<TouchRecord>
33
- numberActiveTouches: 0,
34
- // If there is only one active touch, we remember its location. This prevents
35
- // us having to loop through all of the touches all the time in the most
36
- // common case.
37
- indexOfSingleActiveTouch: -1,
38
- mostRecentTimeStamp: 0
39
- };
40
- recordTouchTrack(topLevelType, nativeEvent) {
41
- const touchHistory = this._touchHistory;
42
- if ((0, import_types.isMoveish)(topLevelType)) {
43
- nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));
44
- } else if ((0, import_types.isStartish)(topLevelType)) {
45
- nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));
46
- touchHistory.numberActiveTouches = nativeEvent.touches.length;
47
- if (touchHistory.numberActiveTouches === 1) {
48
- touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;
49
- }
50
- } else if ((0, import_types.isEndish)(topLevelType)) {
51
- nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));
52
- touchHistory.numberActiveTouches = nativeEvent.touches.length;
53
- if (touchHistory.numberActiveTouches === 1) {
54
- const {
55
- touchBank
56
- } = touchHistory;
57
- for (let i = 0; i < touchBank.length; i++) {
58
- const touchTrackToCheck = touchBank[i];
59
- if (touchTrackToCheck?.touchActive) {
60
- touchHistory.indexOfSingleActiveTouch = i;
61
- break;
62
- }
63
- }
64
- if (process.env.NODE_ENV === "development") {
65
- const activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];
66
- if (!activeRecord?.touchActive) {
67
- console.error("Cannot find single active touch.");
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
- return touch["timeStamp"] || touch.timestamp;
70
+ return touch["timeStamp"] || touch.timestamp;
80
71
  }
81
72
  function createTouchRecord(touch) {
82
- return {
83
- touchActive: true,
84
- startPageX: touch.pageX,
85
- startPageY: touch.pageY,
86
- startTimeStamp: timestampForTouch(touch),
87
- currentPageX: touch.pageX,
88
- currentPageY: touch.pageY,
89
- currentTimeStamp: timestampForTouch(touch),
90
- previousPageX: touch.pageX,
91
- previousPageY: touch.pageY,
92
- previousTimeStamp: timestampForTouch(touch)
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
- touchRecord.touchActive = true;
97
- touchRecord.startPageX = touch.pageX;
98
- touchRecord.startPageY = touch.pageY;
99
- touchRecord.startTimeStamp = timestampForTouch(touch);
100
- touchRecord.currentPageX = touch.pageX;
101
- touchRecord.currentPageY = touch.pageY;
102
- touchRecord.currentTimeStamp = timestampForTouch(touch);
103
- touchRecord.previousPageX = touch.pageX;
104
- touchRecord.previousPageY = touch.pageY;
105
- touchRecord.previousTimeStamp = timestampForTouch(touch);
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
- identifier
109
- }) {
110
- if (identifier == null) {
111
- console.error("Touch object is missing identifier.");
112
- }
113
- if (process.env.NODE_ENV === "development") {
114
- if (identifier > MAX_TOUCH_BANK) {
115
- 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);
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
- const identifier = getTouchIdentifier(touch);
122
- const touchRecord = touchHistory.touchBank[identifier];
123
- if (touchRecord) {
124
- resetTouchRecord(touchRecord, touch);
125
- } else {
126
- touchHistory.touchBank[identifier] = createTouchRecord(touch);
127
- }
128
- touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
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
- const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
132
- if (touchRecord) {
133
- touchRecord.touchActive = true;
134
- touchRecord.previousPageX = touchRecord.currentPageX;
135
- touchRecord.previousPageY = touchRecord.currentPageY;
136
- touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
137
- touchRecord.currentPageX = touch.pageX;
138
- touchRecord.currentPageY = touch.pageY;
139
- touchRecord.currentTimeStamp = timestampForTouch(touch);
140
- touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
141
- } else {
142
- console.warn("Cannot record touch move without a touch start.\n", `Touch Move: ${printTouch(touch)}
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
- const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
148
- if (touchRecord) {
149
- touchRecord.touchActive = false;
150
- touchRecord.previousPageX = touchRecord.currentPageX;
151
- touchRecord.previousPageY = touchRecord.currentPageY;
152
- touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
153
- touchRecord.currentPageX = touch.pageX;
154
- touchRecord.currentPageY = touch.pageY;
155
- touchRecord.currentTimeStamp = timestampForTouch(touch);
156
- touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
157
- } else {
158
- console.warn("Cannot record touch end without a touch start.\n", `Touch End: ${printTouch(touch)}
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
- return JSON.stringify({
164
- identifier: touch.identifier,
165
- pageX: touch.pageX,
166
- pageY: touch.pageY,
167
- timestamp: timestampForTouch(touch)
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
- const {
172
- touchBank
173
- } = touchHistory;
174
- let printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));
175
- if (touchBank.length > MAX_TOUCH_BANK) {
176
- printed += ` (original size: ${touchBank.length})`;
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
+ }