@tamagui/react-native-use-responder-events 1.26.0 → 1.26.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/react-native-use-responder-events",
3
- "version": "1.26.0",
3
+ "version": "1.26.1",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -29,7 +29,7 @@
29
29
  "react": "*"
30
30
  },
31
31
  "devDependencies": {
32
- "@tamagui/build": "1.26.0",
32
+ "@tamagui/build": "1.26.1",
33
33
  "@types/react": "^18.0.15",
34
34
  "react": "^18.2.0"
35
35
  },
@@ -1,365 +0,0 @@
1
- import createResponderEvent from "./createResponderEvent";
2
- import { ResponderTouchHistoryStore } from "./ResponderTouchHistoryStore";
3
- import {
4
- isCancelish,
5
- isEndish,
6
- isMoveish,
7
- isScroll,
8
- isSelectionChange,
9
- isStartish
10
- } from "./types";
11
- import { canUseDOM } from "./utils";
12
- import {
13
- getLowestCommonAncestor,
14
- getResponderPaths,
15
- hasTargetTouches,
16
- hasValidSelection,
17
- isPrimaryPointerDown,
18
- setResponderId
19
- } from "./utils";
20
- const emptyObject = {};
21
- const startRegistration = [
22
- "onStartShouldSetResponderCapture",
23
- "onStartShouldSetResponder",
24
- { bubbles: true }
25
- ];
26
- const moveRegistration = [
27
- "onMoveShouldSetResponderCapture",
28
- "onMoveShouldSetResponder",
29
- { bubbles: true }
30
- ];
31
- const scrollRegistration = [
32
- "onScrollShouldSetResponderCapture",
33
- "onScrollShouldSetResponder",
34
- { bubbles: false }
35
- ];
36
- const shouldSetResponderEvents = {
37
- touchstart: startRegistration,
38
- mousedown: startRegistration,
39
- touchmove: moveRegistration,
40
- mousemove: moveRegistration,
41
- scroll: scrollRegistration
42
- };
43
- const emptyResponder = { id: null, idPath: null, node: null };
44
- const responderListenersMap = /* @__PURE__ */ new Map();
45
- let isEmulatingMouseEvents = false;
46
- let trackedTouchCount = 0;
47
- let currentResponder = {
48
- id: null,
49
- node: null,
50
- idPath: null
51
- };
52
- const responderTouchHistoryStore = new ResponderTouchHistoryStore();
53
- function changeCurrentResponder(responder) {
54
- currentResponder = responder;
55
- }
56
- function getResponderConfig(id) {
57
- const config = responderListenersMap.get(id);
58
- return config != null ? config : emptyObject;
59
- }
60
- function eventListener(domEvent) {
61
- const eventType = domEvent.type;
62
- const eventTarget = domEvent.target;
63
- if (eventType === "touchstart") {
64
- isEmulatingMouseEvents = true;
65
- }
66
- if (eventType === "touchmove" || trackedTouchCount > 1) {
67
- isEmulatingMouseEvents = false;
68
- }
69
- if (
70
- // Ignore browser emulated mouse events
71
- eventType === "mousedown" && isEmulatingMouseEvents || eventType === "mousemove" && isEmulatingMouseEvents || // Ignore mousemove if a mousedown didn't occur first
72
- eventType === "mousemove" && trackedTouchCount < 1
73
- ) {
74
- return;
75
- }
76
- if (isEmulatingMouseEvents && eventType === "mouseup") {
77
- if (trackedTouchCount === 0) {
78
- isEmulatingMouseEvents = false;
79
- }
80
- return;
81
- }
82
- const isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);
83
- const isMoveEvent = isMoveish(eventType);
84
- const isEndEvent = isEndish(eventType);
85
- const isScrollEvent = isScroll(eventType);
86
- const isSelectionChangeEvent = isSelectionChange(eventType);
87
- const responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);
88
- if (isStartEvent || isMoveEvent || isEndEvent) {
89
- if (domEvent.touches) {
90
- trackedTouchCount = domEvent.touches.length;
91
- } else {
92
- if (isStartEvent) {
93
- trackedTouchCount = 1;
94
- } else if (isEndEvent) {
95
- trackedTouchCount = 0;
96
- }
97
- }
98
- responderTouchHistoryStore.recordTouchTrack(
99
- eventType,
100
- responderEvent.nativeEvent
101
- );
102
- }
103
- let eventPaths = getResponderPaths(domEvent);
104
- let wasNegotiated = false;
105
- let wantsResponder;
106
- if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {
107
- const currentResponderIdPath = currentResponder.idPath;
108
- const eventIdPath = eventPaths.idPath;
109
- if (currentResponderIdPath != null && eventIdPath != null) {
110
- const lowestCommonAncestor = getLowestCommonAncestor(
111
- currentResponderIdPath,
112
- eventIdPath
113
- );
114
- if (lowestCommonAncestor != null) {
115
- const indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);
116
- const index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);
117
- eventPaths = {
118
- idPath: eventIdPath.slice(index),
119
- nodePath: eventPaths.nodePath.slice(index)
120
- };
121
- } else {
122
- eventPaths = null;
123
- }
124
- }
125
- if (eventPaths != null) {
126
- wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);
127
- if (wantsResponder != null) {
128
- attemptTransfer(responderEvent, wantsResponder);
129
- wasNegotiated = true;
130
- }
131
- }
132
- }
133
- if (currentResponder.id != null && currentResponder.node != null) {
134
- const { id, node } = currentResponder;
135
- const {
136
- onResponderStart,
137
- onResponderMove,
138
- onResponderEnd,
139
- onResponderRelease,
140
- onResponderTerminate,
141
- onResponderTerminationRequest
142
- } = getResponderConfig(id);
143
- responderEvent.bubbles = false;
144
- responderEvent.cancelable = false;
145
- responderEvent.currentTarget = node;
146
- if (isStartEvent) {
147
- if (onResponderStart != null) {
148
- responderEvent.dispatchConfig.registrationName = "onResponderStart";
149
- onResponderStart(responderEvent);
150
- }
151
- } else if (isMoveEvent) {
152
- if (onResponderMove != null) {
153
- responderEvent.dispatchConfig.registrationName = "onResponderMove";
154
- onResponderMove(responderEvent);
155
- }
156
- } else {
157
- const isTerminateEvent = isCancelish(eventType) || // native context menu
158
- eventType === "contextmenu" || // window blur
159
- eventType === "blur" && eventTarget === window || // responder (or ancestors) blur
160
- eventType === "blur" && eventTarget.contains(node) && domEvent.relatedTarget !== node || // native scroll without using a pointer
161
- isScrollEvent && trackedTouchCount === 0 || // native scroll on node that is parent of the responder (allow siblings to scroll)
162
- isScrollEvent && eventTarget.contains(node) && eventTarget !== node || // native select/selectionchange on node
163
- isSelectionChangeEvent && hasValidSelection(domEvent);
164
- const isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);
165
- if (isEndEvent) {
166
- if (onResponderEnd != null) {
167
- responderEvent.dispatchConfig.registrationName = "onResponderEnd";
168
- onResponderEnd(responderEvent);
169
- }
170
- }
171
- if (isReleaseEvent) {
172
- if (onResponderRelease != null) {
173
- responderEvent.dispatchConfig.registrationName = "onResponderRelease";
174
- onResponderRelease(responderEvent);
175
- }
176
- changeCurrentResponder(emptyResponder);
177
- }
178
- if (isTerminateEvent) {
179
- let shouldTerminate = true;
180
- if (eventType === "contextmenu" || eventType === "scroll" || eventType === "selectionchange") {
181
- if (wasNegotiated) {
182
- shouldTerminate = false;
183
- } else if (onResponderTerminationRequest != null) {
184
- responderEvent.dispatchConfig.registrationName = "onResponderTerminationRequest";
185
- if (onResponderTerminationRequest(responderEvent) === false) {
186
- shouldTerminate = false;
187
- }
188
- }
189
- }
190
- if (shouldTerminate) {
191
- if (onResponderTerminate != null) {
192
- responderEvent.dispatchConfig.registrationName = "onResponderTerminate";
193
- onResponderTerminate(responderEvent);
194
- }
195
- changeCurrentResponder(emptyResponder);
196
- isEmulatingMouseEvents = false;
197
- trackedTouchCount = 0;
198
- }
199
- }
200
- }
201
- }
202
- }
203
- function findWantsResponder(eventPaths, domEvent, responderEvent) {
204
- const shouldSetCallbacks = shouldSetResponderEvents[domEvent.type];
205
- if (shouldSetCallbacks != null) {
206
- const { idPath, nodePath } = eventPaths;
207
- const shouldSetCallbackCaptureName = shouldSetCallbacks[0];
208
- const shouldSetCallbackBubbleName = shouldSetCallbacks[1];
209
- const { bubbles } = shouldSetCallbacks[2];
210
- const check = function(id, node, callbackName) {
211
- const config = getResponderConfig(id);
212
- const shouldSetCallback = config[callbackName];
213
- if (shouldSetCallback != null) {
214
- responderEvent.currentTarget = node;
215
- if (shouldSetCallback(responderEvent) === true) {
216
- const prunedIdPath = idPath.slice(idPath.indexOf(id));
217
- return { id, node, idPath: prunedIdPath };
218
- }
219
- }
220
- };
221
- for (let i = idPath.length - 1; i >= 0; i--) {
222
- const id = idPath[i];
223
- const node = nodePath[i];
224
- const result = check(id, node, shouldSetCallbackCaptureName);
225
- if (result != null) {
226
- return result;
227
- }
228
- if (responderEvent.isPropagationStopped() === true) {
229
- return;
230
- }
231
- }
232
- if (bubbles) {
233
- for (let i = 0; i < idPath.length; i++) {
234
- const id = idPath[i];
235
- const node = nodePath[i];
236
- const result = check(id, node, shouldSetCallbackBubbleName);
237
- if (result != null) {
238
- return result;
239
- }
240
- if (responderEvent.isPropagationStopped() === true) {
241
- return;
242
- }
243
- }
244
- } else {
245
- const id = idPath[0];
246
- const node = nodePath[0];
247
- const target = domEvent.target;
248
- if (target === node) {
249
- return check(id, node, shouldSetCallbackBubbleName);
250
- }
251
- }
252
- }
253
- }
254
- function attemptTransfer(responderEvent, wantsResponder) {
255
- const { id: currentId, node: currentNode } = currentResponder;
256
- const { id, node } = wantsResponder;
257
- const { onResponderGrant, onResponderReject } = getResponderConfig(id);
258
- responderEvent.bubbles = false;
259
- responderEvent.cancelable = false;
260
- responderEvent.currentTarget = node;
261
- if (currentId == null) {
262
- if (onResponderGrant != null) {
263
- responderEvent.currentTarget = node;
264
- responderEvent.dispatchConfig.registrationName = "onResponderGrant";
265
- onResponderGrant(responderEvent);
266
- }
267
- changeCurrentResponder(wantsResponder);
268
- } else {
269
- const { onResponderTerminate, onResponderTerminationRequest } = getResponderConfig(currentId);
270
- let allowTransfer = true;
271
- if (onResponderTerminationRequest != null) {
272
- responderEvent.currentTarget = currentNode;
273
- responderEvent.dispatchConfig.registrationName = "onResponderTerminationRequest";
274
- if (onResponderTerminationRequest(responderEvent) === false) {
275
- allowTransfer = false;
276
- }
277
- }
278
- if (allowTransfer) {
279
- if (onResponderTerminate != null) {
280
- responderEvent.currentTarget = currentNode;
281
- responderEvent.dispatchConfig.registrationName = "onResponderTerminate";
282
- onResponderTerminate(responderEvent);
283
- }
284
- if (onResponderGrant != null) {
285
- responderEvent.currentTarget = node;
286
- responderEvent.dispatchConfig.registrationName = "onResponderGrant";
287
- onResponderGrant(responderEvent);
288
- }
289
- changeCurrentResponder(wantsResponder);
290
- } else {
291
- if (onResponderReject != null) {
292
- responderEvent.currentTarget = node;
293
- responderEvent.dispatchConfig.registrationName = "onResponderReject";
294
- onResponderReject(responderEvent);
295
- }
296
- }
297
- }
298
- }
299
- const documentEventsCapturePhase = ["blur", "scroll"];
300
- const documentEventsBubblePhase = [
301
- // mouse
302
- "mousedown",
303
- "mousemove",
304
- "mouseup",
305
- "dragstart",
306
- // touch
307
- "touchstart",
308
- "touchmove",
309
- "touchend",
310
- "touchcancel",
311
- // other
312
- "contextmenu",
313
- "select",
314
- "selectionchange"
315
- ];
316
- const isTamaguiResponderActive = Symbol();
317
- function attachListeners() {
318
- if (canUseDOM && !window[isTamaguiResponderActive]) {
319
- window.addEventListener("blur", eventListener);
320
- documentEventsBubblePhase.forEach((eventType) => {
321
- document.addEventListener(eventType, eventListener);
322
- });
323
- documentEventsCapturePhase.forEach((eventType) => {
324
- document.addEventListener(eventType, eventListener, true);
325
- });
326
- window[isTamaguiResponderActive] = true;
327
- }
328
- }
329
- function addNode(id, node, config) {
330
- setResponderId(node, id);
331
- responderListenersMap.set(id, config);
332
- }
333
- function removeNode(id) {
334
- if (currentResponder.id === id) {
335
- terminateResponder();
336
- }
337
- if (responderListenersMap.has(id)) {
338
- responderListenersMap.delete(id);
339
- }
340
- }
341
- function terminateResponder() {
342
- const { id, node } = currentResponder;
343
- if (id != null && node != null) {
344
- const { onResponderTerminate } = getResponderConfig(id);
345
- if (onResponderTerminate != null) {
346
- const event = createResponderEvent({}, responderTouchHistoryStore);
347
- event.currentTarget = node;
348
- onResponderTerminate(event);
349
- }
350
- changeCurrentResponder(emptyResponder);
351
- }
352
- isEmulatingMouseEvents = false;
353
- trackedTouchCount = 0;
354
- }
355
- function getResponderNode() {
356
- return currentResponder.node;
357
- }
358
- export {
359
- addNode,
360
- attachListeners,
361
- getResponderNode,
362
- removeNode,
363
- terminateResponder
364
- };
365
- //# sourceMappingURL=ResponderSystem.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ResponderSystem.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,164 +0,0 @@
1
- import { isEndish, isMoveish, isStartish } from "./types";
2
- const MAX_TOUCH_BANK = 20;
3
- function timestampForTouch(touch) {
4
- return touch["timeStamp"] || touch.timestamp;
5
- }
6
- function createTouchRecord(touch) {
7
- return {
8
- touchActive: true,
9
- startPageX: touch.pageX,
10
- startPageY: touch.pageY,
11
- startTimeStamp: timestampForTouch(touch),
12
- currentPageX: touch.pageX,
13
- currentPageY: touch.pageY,
14
- currentTimeStamp: timestampForTouch(touch),
15
- previousPageX: touch.pageX,
16
- previousPageY: touch.pageY,
17
- previousTimeStamp: timestampForTouch(touch)
18
- };
19
- }
20
- function resetTouchRecord(touchRecord, touch) {
21
- touchRecord.touchActive = true;
22
- touchRecord.startPageX = touch.pageX;
23
- touchRecord.startPageY = touch.pageY;
24
- touchRecord.startTimeStamp = timestampForTouch(touch);
25
- touchRecord.currentPageX = touch.pageX;
26
- touchRecord.currentPageY = touch.pageY;
27
- touchRecord.currentTimeStamp = timestampForTouch(touch);
28
- touchRecord.previousPageX = touch.pageX;
29
- touchRecord.previousPageY = touch.pageY;
30
- touchRecord.previousTimeStamp = timestampForTouch(touch);
31
- }
32
- function getTouchIdentifier({ identifier }) {
33
- if (identifier == null) {
34
- console.error("Touch object is missing identifier.");
35
- }
36
- if (process.env.NODE_ENV === "development") {
37
- if (identifier > MAX_TOUCH_BANK) {
38
- console.error(
39
- "Touch identifier %s is greater than maximum supported %s which causes performance issues backfilling array locations for all of the indices.",
40
- identifier,
41
- MAX_TOUCH_BANK
42
- );
43
- }
44
- }
45
- return identifier;
46
- }
47
- function recordTouchStart(touch, touchHistory) {
48
- const identifier = getTouchIdentifier(touch);
49
- const touchRecord = touchHistory.touchBank[identifier];
50
- if (touchRecord) {
51
- resetTouchRecord(touchRecord, touch);
52
- } else {
53
- touchHistory.touchBank[identifier] = createTouchRecord(touch);
54
- }
55
- touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
56
- }
57
- function recordTouchMove(touch, touchHistory) {
58
- const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
59
- if (touchRecord) {
60
- touchRecord.touchActive = true;
61
- touchRecord.previousPageX = touchRecord.currentPageX;
62
- touchRecord.previousPageY = touchRecord.currentPageY;
63
- touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
64
- touchRecord.currentPageX = touch.pageX;
65
- touchRecord.currentPageY = touch.pageY;
66
- touchRecord.currentTimeStamp = timestampForTouch(touch);
67
- touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
68
- } else {
69
- console.warn(
70
- "Cannot record touch move without a touch start.\n",
71
- `Touch Move: ${printTouch(touch)}
72
- `,
73
- `Touch Bank: ${printTouchBank(touchHistory)}`
74
- );
75
- }
76
- }
77
- function recordTouchEnd(touch, touchHistory) {
78
- const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
79
- if (touchRecord) {
80
- touchRecord.touchActive = false;
81
- touchRecord.previousPageX = touchRecord.currentPageX;
82
- touchRecord.previousPageY = touchRecord.currentPageY;
83
- touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;
84
- touchRecord.currentPageX = touch.pageX;
85
- touchRecord.currentPageY = touch.pageY;
86
- touchRecord.currentTimeStamp = timestampForTouch(touch);
87
- touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
88
- } else {
89
- console.warn(
90
- "Cannot record touch end without a touch start.\n",
91
- `Touch End: ${printTouch(touch)}
92
- `,
93
- `Touch Bank: ${printTouchBank(touchHistory)}`
94
- );
95
- }
96
- }
97
- function printTouch(touch) {
98
- return JSON.stringify({
99
- identifier: touch.identifier,
100
- pageX: touch.pageX,
101
- pageY: touch.pageY,
102
- timestamp: timestampForTouch(touch)
103
- });
104
- }
105
- function printTouchBank(touchHistory) {
106
- const { touchBank } = touchHistory;
107
- let printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));
108
- if (touchBank.length > MAX_TOUCH_BANK) {
109
- printed += ` (original size: ${touchBank.length})`;
110
- }
111
- return printed;
112
- }
113
- class ResponderTouchHistoryStore {
114
- constructor() {
115
- this._touchHistory = {
116
- touchBank: [],
117
- //Array<TouchRecord>
118
- numberActiveTouches: 0,
119
- // If there is only one active touch, we remember its location. This prevents
120
- // us having to loop through all of the touches all the time in the most
121
- // common case.
122
- indexOfSingleActiveTouch: -1,
123
- mostRecentTimeStamp: 0
124
- };
125
- }
126
- recordTouchTrack(topLevelType, nativeEvent) {
127
- const touchHistory = this._touchHistory;
128
- if (isMoveish(topLevelType)) {
129
- nativeEvent.changedTouches.forEach((touch) => recordTouchMove(touch, touchHistory));
130
- } else if (isStartish(topLevelType)) {
131
- nativeEvent.changedTouches.forEach((touch) => recordTouchStart(touch, touchHistory));
132
- touchHistory.numberActiveTouches = nativeEvent.touches.length;
133
- if (touchHistory.numberActiveTouches === 1) {
134
- touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;
135
- }
136
- } else if (isEndish(topLevelType)) {
137
- nativeEvent.changedTouches.forEach((touch) => recordTouchEnd(touch, touchHistory));
138
- touchHistory.numberActiveTouches = nativeEvent.touches.length;
139
- if (touchHistory.numberActiveTouches === 1) {
140
- const { touchBank } = touchHistory;
141
- for (let i = 0; i < touchBank.length; i++) {
142
- const touchTrackToCheck = touchBank[i];
143
- if (touchTrackToCheck == null ? void 0 : touchTrackToCheck.touchActive) {
144
- touchHistory.indexOfSingleActiveTouch = i;
145
- break;
146
- }
147
- }
148
- if (process.env.NODE_ENV === "development") {
149
- const activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];
150
- if (!(activeRecord == null ? void 0 : activeRecord.touchActive)) {
151
- console.error("Cannot find single active touch.");
152
- }
153
- }
154
- }
155
- }
156
- }
157
- get touchHistory() {
158
- return this._touchHistory;
159
- }
160
- }
161
- export {
162
- ResponderTouchHistoryStore
163
- };
164
- //# sourceMappingURL=ResponderTouchHistoryStore.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ResponderTouchHistoryStore.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,129 +0,0 @@
1
- import { getBoundingClientRect } from "./utils";
2
- const emptyFunction = () => {
3
- };
4
- const emptyObject = {};
5
- const emptyArray = [];
6
- function normalizeIdentifier(identifier) {
7
- return identifier > 20 ? identifier % 20 : identifier;
8
- }
9
- function createResponderEvent(domEvent, responderTouchHistoryStore) {
10
- let rect;
11
- let propagationWasStopped = false;
12
- let changedTouches;
13
- let touches;
14
- const domEventChangedTouches = domEvent.changedTouches;
15
- const domEventType = domEvent.type;
16
- const metaKey = domEvent.metaKey === true;
17
- const shiftKey = domEvent.shiftKey === true;
18
- const force = (domEventChangedTouches == null ? void 0 : domEventChangedTouches[0].force) || 0;
19
- const identifier = normalizeIdentifier((domEventChangedTouches == null ? void 0 : domEventChangedTouches[0].identifier) || 0);
20
- const clientX = (domEventChangedTouches == null ? void 0 : domEventChangedTouches[0].clientX) || domEvent.clientX;
21
- const clientY = (domEventChangedTouches == null ? void 0 : domEventChangedTouches[0].clientY) || domEvent.clientY;
22
- const pageX = (domEventChangedTouches == null ? void 0 : domEventChangedTouches[0].pageX) || domEvent.pageX;
23
- const pageY = (domEventChangedTouches == null ? void 0 : domEventChangedTouches[0].pageY) || domEvent.pageY;
24
- const preventDefault = typeof domEvent.preventDefault === "function" ? domEvent.preventDefault.bind(domEvent) : emptyFunction;
25
- const timestamp = domEvent.timeStamp;
26
- function normalizeTouches(touches2) {
27
- return Array.prototype.slice.call(touches2).map((touch) => {
28
- return {
29
- force: touch.force,
30
- identifier: normalizeIdentifier(touch.identifier),
31
- get locationX() {
32
- return locationX(touch.clientX);
33
- },
34
- get locationY() {
35
- return locationY(touch.clientY);
36
- },
37
- pageX: touch.pageX,
38
- pageY: touch.pageY,
39
- target: touch.target,
40
- timestamp
41
- };
42
- });
43
- }
44
- if (domEventChangedTouches != null) {
45
- changedTouches = normalizeTouches(domEventChangedTouches);
46
- touches = normalizeTouches(domEvent.touches);
47
- } else {
48
- const emulatedTouches = [
49
- {
50
- force,
51
- identifier,
52
- get locationX() {
53
- return locationX(clientX);
54
- },
55
- get locationY() {
56
- return locationY(clientY);
57
- },
58
- pageX,
59
- pageY,
60
- target: domEvent.target,
61
- timestamp
62
- }
63
- ];
64
- changedTouches = emulatedTouches;
65
- touches = domEventType === "mouseup" || domEventType === "dragstart" ? emptyArray : emulatedTouches;
66
- }
67
- const responderEvent = {
68
- bubbles: true,
69
- cancelable: true,
70
- // `currentTarget` is set before dispatch
71
- currentTarget: null,
72
- defaultPrevented: domEvent.defaultPrevented,
73
- dispatchConfig: emptyObject,
74
- eventPhase: domEvent.eventPhase,
75
- isDefaultPrevented() {
76
- return domEvent.defaultPrevented;
77
- },
78
- isPropagationStopped() {
79
- return propagationWasStopped;
80
- },
81
- isTrusted: domEvent.isTrusted,
82
- nativeEvent: {
83
- altKey: false,
84
- ctrlKey: false,
85
- metaKey,
86
- shiftKey,
87
- changedTouches,
88
- force,
89
- identifier,
90
- get locationX() {
91
- return locationX(clientX);
92
- },
93
- get locationY() {
94
- return locationY(clientY);
95
- },
96
- pageX,
97
- pageY,
98
- target: domEvent.target,
99
- timestamp,
100
- touches,
101
- type: domEventType
102
- },
103
- persist: emptyFunction,
104
- preventDefault,
105
- stopPropagation() {
106
- propagationWasStopped = true;
107
- },
108
- target: domEvent.target,
109
- timeStamp: timestamp,
110
- touchHistory: responderTouchHistoryStore.touchHistory
111
- };
112
- function locationX(x) {
113
- rect = rect || getBoundingClientRect(responderEvent.currentTarget);
114
- if (rect) {
115
- return x - rect.left;
116
- }
117
- }
118
- function locationY(y) {
119
- rect = rect || getBoundingClientRect(responderEvent.currentTarget);
120
- if (rect) {
121
- return y - rect.top;
122
- }
123
- }
124
- return responderEvent;
125
- }
126
- export {
127
- createResponderEvent as default
128
- };
129
- //# sourceMappingURL=createResponderEvent.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/createResponderEvent.ts"],
4
- "mappings": "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",
5
- "names": ["touches"]
6
- }
@@ -1,2 +0,0 @@
1
- export * from "./useResponderEvents";
2
- //# sourceMappingURL=index.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;",
5
- "names": []
6
- }
@@ -1,55 +0,0 @@
1
- const BLUR = "blur";
2
- const CONTEXT_MENU = "contextmenu";
3
- const FOCUS_OUT = "focusout";
4
- const MOUSE_DOWN = "mousedown";
5
- const MOUSE_MOVE = "mousemove";
6
- const MOUSE_UP = "mouseup";
7
- const MOUSE_CANCEL = "dragstart";
8
- const TOUCH_START = "touchstart";
9
- const TOUCH_MOVE = "touchmove";
10
- const TOUCH_END = "touchend";
11
- const TOUCH_CANCEL = "touchcancel";
12
- const SCROLL = "scroll";
13
- const SELECT = "select";
14
- const SELECTION_CHANGE = "selectionchange";
15
- function isStartish(eventType) {
16
- return eventType === TOUCH_START || eventType === MOUSE_DOWN;
17
- }
18
- function isMoveish(eventType) {
19
- return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;
20
- }
21
- function isEndish(eventType) {
22
- return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);
23
- }
24
- function isCancelish(eventType) {
25
- return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;
26
- }
27
- function isScroll(eventType) {
28
- return eventType === SCROLL;
29
- }
30
- function isSelectionChange(eventType) {
31
- return eventType === SELECT || eventType === SELECTION_CHANGE;
32
- }
33
- export {
34
- BLUR,
35
- CONTEXT_MENU,
36
- FOCUS_OUT,
37
- MOUSE_CANCEL,
38
- MOUSE_DOWN,
39
- MOUSE_MOVE,
40
- MOUSE_UP,
41
- SCROLL,
42
- SELECT,
43
- SELECTION_CHANGE,
44
- TOUCH_CANCEL,
45
- TOUCH_END,
46
- TOUCH_MOVE,
47
- TOUCH_START,
48
- isCancelish,
49
- isEndish,
50
- isMoveish,
51
- isScroll,
52
- isSelectionChange,
53
- isStartish
54
- };
55
- //# sourceMappingURL=types.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/types.ts"],
4
- "mappings": "AAwCO,MAAM,OAAO;AACb,MAAM,eAAe;AACrB,MAAM,YAAY;AAClB,MAAM,aAAa;AACnB,MAAM,aAAa;AACnB,MAAM,WAAW;AACjB,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,YAAY;AAClB,MAAM,eAAe;AACrB,MAAM,SAAS;AACf,MAAM,SAAS;AACf,MAAM,mBAAmB;AAEzB,SAAS,WAAW,WAA6B;AACtD,SAAO,cAAc,eAAe,cAAc;AACpD;AAEO,SAAS,UAAU,WAA6B;AACrD,SAAO,cAAc,cAAc,cAAc;AACnD;AAEO,SAAS,SAAS,WAA6B;AACpD,SAAO,cAAc,aAAa,cAAc,YAAY,YAAY,SAAS;AACnF;AAEO,SAAS,YAAY,WAA6B;AACvD,SAAO,cAAc,gBAAgB,cAAc;AACrD;AAEO,SAAS,SAAS,WAA6B;AACpD,SAAO,cAAc;AACvB;AAEO,SAAS,kBAAkB,WAA6B;AAC7D,SAAO,cAAc,UAAU,cAAc;AAC/C;",
5
- "names": []
6
- }
@@ -1,45 +0,0 @@
1
- import * as React from "react";
2
- import * as ResponderSystem from "./ResponderSystem";
3
- export * from "./utils";
4
- const emptyObject = {};
5
- function useResponderEvents(hostRef, config = emptyObject) {
6
- const id = React.useId();
7
- const isAttachedRef = React.useRef(false);
8
- React.useEffect(() => {
9
- ResponderSystem.attachListeners();
10
- return () => {
11
- ResponderSystem.removeNode(id);
12
- };
13
- }, [id]);
14
- React.useEffect(() => {
15
- const {
16
- onMoveShouldSetResponder,
17
- onMoveShouldSetResponderCapture,
18
- onScrollShouldSetResponder,
19
- onScrollShouldSetResponderCapture,
20
- onSelectionChangeShouldSetResponder,
21
- onSelectionChangeShouldSetResponderCapture,
22
- onStartShouldSetResponder,
23
- onStartShouldSetResponderCapture
24
- } = config;
25
- const requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;
26
- const node = hostRef.current;
27
- if (requiresResponderSystem) {
28
- ResponderSystem.addNode(id, node, config);
29
- isAttachedRef.current = true;
30
- } else if (isAttachedRef.current) {
31
- ResponderSystem.removeNode(id);
32
- isAttachedRef.current = false;
33
- }
34
- }, [config, hostRef, id]);
35
- if (process.env.NODE_ENV === "development") {
36
- React.useDebugValue({
37
- isResponder: hostRef.current === ResponderSystem.getResponderNode()
38
- });
39
- React.useDebugValue(config);
40
- }
41
- }
42
- export {
43
- useResponderEvents
44
- };
45
- //# sourceMappingURL=useResponderEvents.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useResponderEvents.ts"],
4
- "mappings": "AAMA,YAAY,WAAW;AAEvB,YAAY,qBAAqB;AAEjC,cAAc;AAEd,MAAM,cAAc,CAAC;AAEd,SAAS,mBACd,SACA,SAA0C,aAC1C;AACA,QAAM,KAAK,MAAM,MAAM;AACvB,QAAM,gBAAgB,MAAM,OAAO,KAAK;AAKxC,QAAM,UAAU,MAAM;AACpB,oBAAgB,gBAAgB;AAChC,WAAO,MAAM;AACX,sBAAgB,WAAW,EAAE;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,EAAE,CAAC;AAGP,QAAM,UAAU,MAAM;AACpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AAEJ,UAAM,0BACJ,4BAA4B,QAC5B,mCAAmC,QACnC,8BAA8B,QAC9B,qCAAqC,QACrC,uCAAuC,QACvC,8CAA8C,QAC9C,6BAA6B,QAC7B,oCAAoC;AAEtC,UAAM,OAAO,QAAQ;AAErB,QAAI,yBAAyB;AAC3B,sBAAgB,QAAQ,IAAI,MAAM,MAAM;AACxC,oBAAc,UAAU;AAAA,IAC1B,WAAW,cAAc,SAAS;AAChC,sBAAgB,WAAW,EAAE;AAC7B,oBAAc,UAAU;AAAA,IAC1B;AAAA,EACF,GAAG,CAAC,QAAQ,SAAS,EAAE,CAAC;AAExB,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAM,cAAc;AAAA,MAClB,aAAa,QAAQ,YAAY,gBAAgB,iBAAiB;AAAA,IACpE,CAAC;AACD,UAAM,cAAc,MAAM;AAAA,EAC5B;AACF;",
5
- "names": []
6
- }
@@ -1,142 +0,0 @@
1
- const keyName = "__reactResponderId";
2
- const canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
3
- const getBoundingClientRect = (node) => {
4
- if (!node)
5
- return;
6
- if (node.nodeType !== 1)
7
- return;
8
- if (node.getBoundingClientRect) {
9
- return node.getBoundingClientRect();
10
- }
11
- };
12
- function getEventPath(domEvent) {
13
- var _a;
14
- if (domEvent.type === "selectionchange") {
15
- const target = (_a = window.getSelection()) == null ? void 0 : _a.anchorNode;
16
- return composedPathFallback(target);
17
- } else {
18
- const path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);
19
- return path;
20
- }
21
- }
22
- function composedPathFallback(target) {
23
- const path = [];
24
- while (target != null && target !== document.body) {
25
- path.push(target);
26
- target = target.parentNode;
27
- }
28
- return path;
29
- }
30
- function getResponderId(node) {
31
- if (node != null) {
32
- return node[keyName];
33
- }
34
- return null;
35
- }
36
- function setResponderId(node, id) {
37
- if (node != null) {
38
- node[keyName] = id;
39
- }
40
- }
41
- function getResponderPaths(domEvent) {
42
- const idPath = [];
43
- const nodePath = [];
44
- const eventPath = getEventPath(domEvent);
45
- for (let i = 0; i < eventPath.length; i++) {
46
- const node = eventPath[i];
47
- const id = getResponderId(node);
48
- if (id != null) {
49
- idPath.push(id);
50
- nodePath.push(node);
51
- }
52
- }
53
- return { idPath, nodePath };
54
- }
55
- function getLowestCommonAncestor(pathA, pathB) {
56
- let pathALength = pathA.length;
57
- let pathBLength = pathB.length;
58
- if (
59
- // If either path is empty
60
- pathALength === 0 || pathBLength === 0 || // If the last elements aren't the same there can't be a common ancestor
61
- // that is connected to the responder system
62
- pathA[pathALength - 1] !== pathB[pathBLength - 1]
63
- ) {
64
- return null;
65
- }
66
- let itemA = pathA[0];
67
- let indexA = 0;
68
- let itemB = pathB[0];
69
- let indexB = 0;
70
- if (pathALength - pathBLength > 0) {
71
- indexA = pathALength - pathBLength;
72
- itemA = pathA[indexA];
73
- pathALength = pathBLength;
74
- }
75
- if (pathBLength - pathALength > 0) {
76
- indexB = pathBLength - pathALength;
77
- itemB = pathB[indexB];
78
- pathBLength = pathALength;
79
- }
80
- let depth = pathALength;
81
- while (depth--) {
82
- if (itemA === itemB) {
83
- return itemA;
84
- }
85
- itemA = pathA[indexA++];
86
- itemB = pathB[indexB++];
87
- }
88
- return null;
89
- }
90
- function hasTargetTouches(target, touches) {
91
- if (!touches || touches.length === 0) {
92
- return false;
93
- }
94
- for (let i = 0; i < touches.length; i++) {
95
- const node = touches[i].target;
96
- if (node != null) {
97
- if (target.contains(node)) {
98
- return true;
99
- }
100
- }
101
- }
102
- return false;
103
- }
104
- function hasValidSelection(domEvent) {
105
- if (domEvent.type === "selectionchange") {
106
- return isSelectionValid();
107
- }
108
- return domEvent.type === "select";
109
- }
110
- function isPrimaryPointerDown(domEvent) {
111
- const { altKey, button, buttons, ctrlKey, type } = domEvent;
112
- const isTouch = type === "touchstart" || type === "touchmove";
113
- const isPrimaryMouseDown = type === "mousedown" && (button === 0 || buttons === 1);
114
- const isPrimaryMouseMove = type === "mousemove" && buttons === 1;
115
- const noModifiers = altKey === false && ctrlKey === false;
116
- if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {
117
- return true;
118
- }
119
- return false;
120
- }
121
- function isSelectionValid() {
122
- const selection = window.getSelection();
123
- if (!selection)
124
- return false;
125
- const string = selection.toString();
126
- const anchorNode = selection.anchorNode;
127
- const focusNode = selection.focusNode;
128
- const isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;
129
- return string.length >= 1 && string !== "\n" && !!isTextNode;
130
- }
131
- export {
132
- canUseDOM,
133
- getBoundingClientRect,
134
- getLowestCommonAncestor,
135
- getResponderPaths,
136
- hasTargetTouches,
137
- hasValidSelection,
138
- isPrimaryPointerDown,
139
- isSelectionValid,
140
- setResponderId
141
- };
142
- //# sourceMappingURL=utils.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }