@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,232 +1,219 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
8
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
12
13
  };
13
14
  var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
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;
21
22
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
24
  var ResponderTouchHistoryStore_exports = {};
26
- __export(ResponderTouchHistoryStore_exports, {
27
- ResponderTouchHistoryStore: () => ResponderTouchHistoryStore
28
- });
25
+ __export(ResponderTouchHistoryStore_exports, { ResponderTouchHistoryStore: () => ResponderTouchHistoryStore });
29
26
  module.exports = __toCommonJS(ResponderTouchHistoryStore_exports);
30
27
  var import_types = require("./types.native.js");
31
28
  function _class_call_check(instance, Constructor) {
32
- if (!(instance instanceof Constructor)) {
33
- throw new TypeError("Cannot call a class as a function");
34
- }
29
+ if (!(instance instanceof Constructor)) {
30
+ throw new TypeError("Cannot call a class as a function");
31
+ }
35
32
  }
36
33
  function _defineProperties(target, props) {
37
- for (var i = 0; i < props.length; i++) {
38
- var descriptor = props[i];
39
- descriptor.enumerable = descriptor.enumerable || false;
40
- descriptor.configurable = true;
41
- if ("value" in descriptor) descriptor.writable = true;
42
- Object.defineProperty(target, descriptor.key, descriptor);
43
- }
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
+ }
44
41
  }
45
42
  function _create_class(Constructor, protoProps, staticProps) {
46
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
47
- if (staticProps) _defineProperties(Constructor, staticProps);
48
- return Constructor;
43
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
44
+ if (staticProps) _defineProperties(Constructor, staticProps);
45
+ return Constructor;
49
46
  }
50
47
  function _define_property(obj, key, value) {
51
- if (key in obj) {
52
- Object.defineProperty(obj, key, {
53
- value,
54
- enumerable: true,
55
- configurable: true,
56
- writable: true
57
- });
58
- } else {
59
- obj[key] = value;
60
- }
61
- return obj;
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;
62
59
  }
63
- var ResponderTouchHistoryStore = /* @__PURE__ */function () {
64
- "use strict";
65
-
66
- function ResponderTouchHistoryStore2() {
67
- _class_call_check(this, ResponderTouchHistoryStore2);
68
- _define_property(this, "_touchHistory", {
69
- touchBank: [],
70
- //Array<TouchRecord>
71
- numberActiveTouches: 0,
72
- // If there is only one active touch, we remember its location. This prevents
73
- // us having to loop through all of the touches all the time in the most
74
- // common case.
75
- indexOfSingleActiveTouch: -1,
76
- mostRecentTimeStamp: 0
77
- });
78
- }
79
- _create_class(ResponderTouchHistoryStore2, [{
80
- key: "recordTouchTrack",
81
- value: function recordTouchTrack(topLevelType, nativeEvent) {
82
- var touchHistory = this._touchHistory;
83
- if ((0, import_types.isMoveish)(topLevelType)) {
84
- nativeEvent.changedTouches.forEach(function (touch) {
85
- return recordTouchMove(touch, touchHistory);
86
- });
87
- } else if ((0, import_types.isStartish)(topLevelType)) {
88
- nativeEvent.changedTouches.forEach(function (touch) {
89
- return recordTouchStart(touch, touchHistory);
90
- });
91
- touchHistory.numberActiveTouches = nativeEvent.touches.length;
92
- if (touchHistory.numberActiveTouches === 1) {
93
- touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;
94
- }
95
- } else if ((0, import_types.isEndish)(topLevelType)) {
96
- nativeEvent.changedTouches.forEach(function (touch) {
97
- return recordTouchEnd(touch, touchHistory);
98
- });
99
- touchHistory.numberActiveTouches = nativeEvent.touches.length;
100
- if (touchHistory.numberActiveTouches === 1) {
101
- var {
102
- touchBank
103
- } = touchHistory;
104
- for (var i = 0; i < touchBank.length; i++) {
105
- var touchTrackToCheck = touchBank[i];
106
- if (touchTrackToCheck === null || touchTrackToCheck === void 0 ? void 0 : touchTrackToCheck.touchActive) {
107
- touchHistory.indexOfSingleActiveTouch = i;
108
- break;
109
- }
110
- }
111
- if (process.env.NODE_ENV === "development") {
112
- var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];
113
- if (!(activeRecord === null || activeRecord === void 0 ? void 0 : activeRecord.touchActive)) {
114
- console.error("Cannot find single active touch.");
115
- }
116
- }
117
- }
118
- }
119
- }
120
- }, {
121
- key: "touchHistory",
122
- get: function get() {
123
- return this._touchHistory;
124
- }
125
- }]);
126
- return ResponderTouchHistoryStore2;
127
- }();
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
+ })();
128
118
  var MAX_TOUCH_BANK = 20;
129
119
  function timestampForTouch(touch) {
130
- return touch["timeStamp"] || touch.timestamp;
120
+ return touch["timeStamp"] || touch.timestamp;
131
121
  }
132
122
  function createTouchRecord(touch) {
133
- return {
134
- touchActive: true,
135
- startPageX: touch.pageX,
136
- startPageY: touch.pageY,
137
- startTimeStamp: timestampForTouch(touch),
138
- currentPageX: touch.pageX,
139
- currentPageY: touch.pageY,
140
- currentTimeStamp: timestampForTouch(touch),
141
- previousPageX: touch.pageX,
142
- previousPageY: touch.pageY,
143
- previousTimeStamp: timestampForTouch(touch)
144
- };
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
+ };
145
135
  }
146
136
  function resetTouchRecord(touchRecord, touch) {
147
- touchRecord.touchActive = true;
148
- touchRecord.startPageX = touch.pageX;
149
- touchRecord.startPageY = touch.pageY;
150
- touchRecord.startTimeStamp = timestampForTouch(touch);
151
- touchRecord.currentPageX = touch.pageX;
152
- touchRecord.currentPageY = touch.pageY;
153
- touchRecord.currentTimeStamp = timestampForTouch(touch);
154
- touchRecord.previousPageX = touch.pageX;
155
- touchRecord.previousPageY = touch.pageY;
156
- touchRecord.previousTimeStamp = timestampForTouch(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);
157
147
  }
158
148
  function getTouchIdentifier(param) {
159
- var {
160
- identifier
161
- } = param;
162
- if (identifier == null) {
163
- console.error("Touch object is missing identifier.");
164
- }
165
- if (process.env.NODE_ENV === "development") {
166
- if (identifier > MAX_TOUCH_BANK) {
167
- 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);
168
- }
169
- }
170
- return identifier;
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;
171
159
  }
172
160
  function recordTouchStart(touch, touchHistory) {
173
- var identifier = getTouchIdentifier(touch);
174
- var touchRecord = touchHistory.touchBank[identifier];
175
- if (touchRecord) {
176
- resetTouchRecord(touchRecord, touch);
177
- } else {
178
- touchHistory.touchBank[identifier] = createTouchRecord(touch);
179
- }
180
- touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
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);
181
169
  }
182
170
  function recordTouchMove(touch, touchHistory) {
183
- var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
184
- if (touchRecord) {
185
- touchRecord.touchActive = true;
186
- touchRecord.previousPageX = touchRecord.currentPageX;
187
- touchRecord.previousPageY = touchRecord.currentPageY;
188
- touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
189
- touchRecord.currentPageX = touch.pageX;
190
- touchRecord.currentPageY = touch.pageY;
191
- touchRecord.currentTimeStamp = timestampForTouch(touch);
192
- touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
193
- } else {
194
- console.warn("Cannot record touch move without a touch start.\n", `Touch Move: ${printTouch(touch)}
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)}
195
183
  `, `Touch Bank: ${printTouchBank(touchHistory)}`);
196
- }
184
+ }
197
185
  }
198
186
  function recordTouchEnd(touch, touchHistory) {
199
- var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
200
- if (touchRecord) {
201
- touchRecord.touchActive = false;
202
- touchRecord.previousPageX = touchRecord.currentPageX;
203
- touchRecord.previousPageY = touchRecord.currentPageY;
204
- touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
205
- touchRecord.currentPageX = touch.pageX;
206
- touchRecord.currentPageY = touch.pageY;
207
- touchRecord.currentTimeStamp = timestampForTouch(touch);
208
- touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
209
- } else {
210
- console.warn("Cannot record touch end without a touch start.\n", `Touch End: ${printTouch(touch)}
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)}
211
199
  `, `Touch Bank: ${printTouchBank(touchHistory)}`);
212
- }
200
+ }
213
201
  }
214
202
  function printTouch(touch) {
215
- return JSON.stringify({
216
- identifier: touch.identifier,
217
- pageX: touch.pageX,
218
- pageY: touch.pageY,
219
- timestamp: timestampForTouch(touch)
220
- });
203
+ return JSON.stringify({
204
+ identifier: touch.identifier,
205
+ pageX: touch.pageX,
206
+ pageY: touch.pageY,
207
+ timestamp: timestampForTouch(touch)
208
+ });
221
209
  }
222
210
  function printTouchBank(touchHistory) {
223
- var {
224
- touchBank
225
- } = touchHistory;
226
- var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));
227
- if (touchBank.length > MAX_TOUCH_BANK) {
228
- printed += ` (original size: ${touchBank.length})`;
229
- }
230
- return printed;
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;
231
217
  }
218
+
232
219
  //# sourceMappingURL=ResponderTouchHistoryStore.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","ResponderTouchHistoryStore_exports","__export","ResponderTouchHistoryStore","module","exports","import_types","require","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","ResponderTouchHistoryStore2","touchBank","numberActiveTouches","indexOfSingleActiveTouch","mostRecentTimeStamp","recordTouchTrack","topLevelType","nativeEvent","touchHistory","_touchHistory","isMoveish","changedTouches","forEach","touch","recordTouchMove","isStartish","recordTouchStart","touches","identifier","isEndish","recordTouchEnd","touchTrackToCheck","touchActive","process","env","NODE_ENV","activeRecord","console","error","get","MAX_TOUCH_BANK","timestampForTouch","timestamp","createTouchRecord","startPageX","pageX","startPageY","pageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","touchRecord","getTouchIdentifier","param"],"sources":["../../src/ResponderTouchHistoryStore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ResponderTouchHistoryStore.native.js","names":[],"sources":["cjs/ResponderTouchHistoryStore.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 ResponderTouchHistoryStore_exports = {};\n__export(ResponderTouchHistoryStore_exports, {\n ResponderTouchHistoryStore: () => ResponderTouchHistoryStore\n});\nmodule.exports = __toCommonJS(ResponderTouchHistoryStore_exports);\nvar import_types = require(\"./types\");\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar ResponderTouchHistoryStore = /* @__PURE__ */ (function() {\n \"use strict\";\n function ResponderTouchHistoryStore2() {\n _class_call_check(this, ResponderTouchHistoryStore2);\n _define_property(this, \"_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 }\n _create_class(ResponderTouchHistoryStore2, [\n {\n key: \"recordTouchTrack\",\n value: function recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n if ((0, import_types.isMoveish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(function(touch) {\n return recordTouchMove(touch, touchHistory);\n });\n } else if ((0, import_types.isStartish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(function(touch) {\n return recordTouchStart(touch, touchHistory);\n });\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if ((0, import_types.isEndish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(function(touch) {\n return recordTouchEnd(touch, touchHistory);\n });\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n var { touchBank } = touchHistory;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck === null || touchTrackToCheck === void 0 ? void 0 : touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (process.env.NODE_ENV === \"development\") {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord === null || activeRecord === void 0 ? void 0 : activeRecord.touchActive)) {\n console.error(\"Cannot find single active touch.\");\n }\n }\n }\n }\n }\n },\n {\n key: \"touchHistory\",\n get: function get() {\n return this._touchHistory;\n }\n }\n ]);\n return ResponderTouchHistoryStore2;\n})();\nvar 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(param) {\n var { identifier } = param;\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(\"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);\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var 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 var 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(\"Cannot record touch move without a touch start.\\n\", `Touch Move: ${printTouch(touch)}\n`, `Touch Bank: ${printTouchBank(touchHistory)}`);\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n var 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(\"Cannot record touch end without a touch start.\\n\", `Touch End: ${printTouch(touch)}\n`, `Touch Bank: ${printTouchBank(touchHistory)}`);\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 var { touchBank } = touchHistory;\n var 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}\n//# sourceMappingURL=ResponderTouchHistoryStore.js.map\n"],"mappings":"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"}