@tamagui/react-native-use-responder-events 1.61.2 → 1.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ResponderSystem.js +75 -243
- package/dist/cjs/ResponderSystem.js.map +1 -1
- package/dist/cjs/ResponderSystem.native.js +222 -0
- package/dist/cjs/ResponderSystem.native.js.map +6 -0
- package/dist/cjs/ResponderTouchHistoryStore.js +48 -115
- package/dist/cjs/ResponderTouchHistoryStore.js.map +1 -1
- package/dist/cjs/ResponderTouchHistoryStore.native.js +124 -0
- package/dist/cjs/ResponderTouchHistoryStore.native.js.map +6 -0
- package/dist/cjs/createResponderEvent.js +33 -61
- package/dist/cjs/createResponderEvent.js.map +1 -1
- package/dist/cjs/createResponderEvent.native.js +122 -0
- package/dist/cjs/createResponderEvent.native.js.map +6 -0
- package/dist/cjs/index.js +4 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +20 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/types.js +6 -23
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/types.native.js +82 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/cjs/useResponderEvents.js +18 -44
- package/dist/cjs/useResponderEvents.js.map +1 -1
- package/dist/cjs/useResponderEvents.native.js +56 -0
- package/dist/cjs/useResponderEvents.native.js.map +6 -0
- package/dist/cjs/utils.js +36 -95
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/utils.native.js +116 -0
- package/dist/cjs/utils.native.js.map +6 -0
- package/dist/esm/ResponderSystem.js +67 -225
- package/dist/esm/ResponderSystem.js.map +1 -1
- package/dist/esm/ResponderTouchHistoryStore.js +43 -106
- package/dist/esm/ResponderTouchHistoryStore.js.map +1 -1
- package/dist/esm/createResponderEvent.js +28 -52
- package/dist/esm/createResponderEvent.js.map +1 -1
- package/dist/esm/types.js +1 -14
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/useResponderEvents.js +9 -26
- package/dist/esm/useResponderEvents.js.map +1 -1
- package/dist/esm/utils.js +31 -86
- package/dist/esm/utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ResponderTouchHistoryStore.ts"],
|
|
4
|
-
"mappings": "AAQA,SAAS,UAAU,WAAW,kBAAkB;AA4BhD,MAAM,iBAAiB;AAEvB,SAAS,kBAAkB,OAAsB;AAG/C,SAAO,MAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,50 +1,31 @@
|
|
|
1
1
|
import { getBoundingClientRect } from "./utils";
|
|
2
2
|
const emptyFunction = () => {
|
|
3
|
-
};
|
|
4
|
-
const emptyObject = {};
|
|
5
|
-
const emptyArray = [];
|
|
3
|
+
}, emptyObject = {}, emptyArray = [];
|
|
6
4
|
function normalizeIdentifier(identifier) {
|
|
7
5
|
return identifier > 20 ? identifier % 20 : identifier;
|
|
8
6
|
}
|
|
9
7
|
function createResponderEvent(domEvent, responderTouchHistoryStore) {
|
|
10
|
-
let rect;
|
|
11
|
-
|
|
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;
|
|
8
|
+
let rect, propagationWasStopped = !1, changedTouches, touches;
|
|
9
|
+
const domEventChangedTouches = domEvent.changedTouches, domEventType = domEvent.type, metaKey = domEvent.metaKey === !0, shiftKey = domEvent.shiftKey === !0, force = domEventChangedTouches?.[0].force || 0, identifier = normalizeIdentifier(domEventChangedTouches?.[0].identifier || 0), clientX = domEventChangedTouches?.[0].clientX || domEvent.clientX, clientY = domEventChangedTouches?.[0].clientY || domEvent.clientY, pageX = domEventChangedTouches?.[0].pageX || domEvent.pageX, pageY = domEventChangedTouches?.[0].pageY || domEvent.pageY, preventDefault = typeof domEvent.preventDefault == "function" ? domEvent.preventDefault.bind(domEvent) : emptyFunction, timestamp = domEvent.timeStamp;
|
|
26
10
|
function normalizeTouches(touches2) {
|
|
27
|
-
return Array.prototype.slice.call(touches2).map((touch) => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
42
|
-
});
|
|
11
|
+
return Array.prototype.slice.call(touches2).map((touch) => ({
|
|
12
|
+
force: touch.force,
|
|
13
|
+
identifier: normalizeIdentifier(touch.identifier),
|
|
14
|
+
get locationX() {
|
|
15
|
+
return locationX(touch.clientX);
|
|
16
|
+
},
|
|
17
|
+
get locationY() {
|
|
18
|
+
return locationY(touch.clientY);
|
|
19
|
+
},
|
|
20
|
+
pageX: touch.pageX,
|
|
21
|
+
pageY: touch.pageY,
|
|
22
|
+
target: touch.target,
|
|
23
|
+
timestamp
|
|
24
|
+
}));
|
|
43
25
|
}
|
|
44
|
-
if (domEventChangedTouches != null)
|
|
45
|
-
changedTouches = normalizeTouches(domEventChangedTouches);
|
|
46
|
-
|
|
47
|
-
} else {
|
|
26
|
+
if (domEventChangedTouches != null)
|
|
27
|
+
changedTouches = normalizeTouches(domEventChangedTouches), touches = normalizeTouches(domEvent.touches);
|
|
28
|
+
else {
|
|
48
29
|
const emulatedTouches = [
|
|
49
30
|
{
|
|
50
31
|
force,
|
|
@@ -61,12 +42,11 @@ function createResponderEvent(domEvent, responderTouchHistoryStore) {
|
|
|
61
42
|
timestamp
|
|
62
43
|
}
|
|
63
44
|
];
|
|
64
|
-
changedTouches = emulatedTouches;
|
|
65
|
-
touches = domEventType === "mouseup" || domEventType === "dragstart" ? emptyArray : emulatedTouches;
|
|
45
|
+
changedTouches = emulatedTouches, touches = domEventType === "mouseup" || domEventType === "dragstart" ? emptyArray : emulatedTouches;
|
|
66
46
|
}
|
|
67
47
|
const responderEvent = {
|
|
68
|
-
bubbles:
|
|
69
|
-
cancelable:
|
|
48
|
+
bubbles: !0,
|
|
49
|
+
cancelable: !0,
|
|
70
50
|
// `currentTarget` is set before dispatch
|
|
71
51
|
currentTarget: null,
|
|
72
52
|
defaultPrevented: domEvent.defaultPrevented,
|
|
@@ -80,8 +60,8 @@ function createResponderEvent(domEvent, responderTouchHistoryStore) {
|
|
|
80
60
|
},
|
|
81
61
|
isTrusted: domEvent.isTrusted,
|
|
82
62
|
nativeEvent: {
|
|
83
|
-
altKey:
|
|
84
|
-
ctrlKey:
|
|
63
|
+
altKey: !1,
|
|
64
|
+
ctrlKey: !1,
|
|
85
65
|
metaKey,
|
|
86
66
|
shiftKey,
|
|
87
67
|
changedTouches,
|
|
@@ -103,23 +83,19 @@ function createResponderEvent(domEvent, responderTouchHistoryStore) {
|
|
|
103
83
|
persist: emptyFunction,
|
|
104
84
|
preventDefault,
|
|
105
85
|
stopPropagation() {
|
|
106
|
-
propagationWasStopped =
|
|
86
|
+
propagationWasStopped = !0;
|
|
107
87
|
},
|
|
108
88
|
target: domEvent.target,
|
|
109
89
|
timeStamp: timestamp,
|
|
110
90
|
touchHistory: responderTouchHistoryStore.touchHistory
|
|
111
91
|
};
|
|
112
92
|
function locationX(x) {
|
|
113
|
-
rect = rect || getBoundingClientRect(responderEvent.currentTarget)
|
|
114
|
-
if (rect) {
|
|
93
|
+
if (rect = rect || getBoundingClientRect(responderEvent.currentTarget), rect)
|
|
115
94
|
return x - rect.left;
|
|
116
|
-
}
|
|
117
95
|
}
|
|
118
96
|
function locationY(y) {
|
|
119
|
-
rect = rect || getBoundingClientRect(responderEvent.currentTarget)
|
|
120
|
-
if (rect) {
|
|
97
|
+
if (rect = rect || getBoundingClientRect(responderEvent.currentTarget), rect)
|
|
121
98
|
return y - rect.top;
|
|
122
|
-
}
|
|
123
99
|
}
|
|
124
100
|
return responderEvent;
|
|
125
101
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createResponderEvent.ts"],
|
|
4
|
-
"mappings": "AAOA,SAAS,6BAA6B;AA2BtC,MAAM,gBAAgB,MAAM;AAAC
|
|
4
|
+
"mappings": "AAOA,SAAS,6BAA6B;AA2BtC,MAAM,gBAAgB,MAAM;AAAC,GACvB,cAAc,CAAC,GACf,aAAa,CAAC;AAOpB,SAAS,oBAAoB,YAAY;AACvC,SAAO,aAAa,KAAK,aAAa,KAAK;AAC7C;AAMe,SAAR,qBACL,UACA,4BACgB;AAChB,MAAI,MACA,wBAAwB,IACxB,gBACA;AAEJ,QAAM,yBAAyB,SAAS,gBAClC,eAAe,SAAS,MAExB,UAAU,SAAS,YAAY,IAC/B,WAAW,SAAS,aAAa,IACjC,QAAQ,yBAAyB,CAAC,EAAE,SAAS,GAC7C,aAAa,oBAAoB,yBAAyB,CAAC,EAAE,cAAc,CAAC,GAC5E,UAAU,yBAAyB,CAAC,EAAE,WAAW,SAAS,SAC1D,UAAU,yBAAyB,CAAC,EAAE,WAAW,SAAS,SAC1D,QAAQ,yBAAyB,CAAC,EAAE,SAAS,SAAS,OACtD,QAAQ,yBAAyB,CAAC,EAAE,SAAS,SAAS,OACtD,iBACJ,OAAO,SAAS,kBAAmB,aAC/B,SAAS,eAAe,KAAK,QAAQ,IACrC,eACA,YAAY,SAAS;AAE3B,WAAS,iBAAiBA,UAAS;AACjC,WAAO,MAAM,UAAU,MAAM,KAAKA,QAAO,EAAE,IAAI,CAAC,WACvC;AAAA,MACL,OAAO,MAAM;AAAA,MACb,YAAY,oBAAoB,MAAM,UAAU;AAAA,MAChD,IAAI,YAAY;AACd,eAAO,UAAU,MAAM,OAAO;AAAA,MAChC;AAAA,MACA,IAAI,YAAY;AACd,eAAO,UAAU,MAAM,OAAO;AAAA,MAChC;AAAA,MACA,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,QAAQ,MAAM;AAAA,MACd;AAAA,IACF,EACD;AAAA,EACH;AAEA,MAAI,0BAA0B;AAC5B,qBAAiB,iBAAiB,sBAAsB,GACxD,UAAU,iBAAiB,SAAS,OAAO;AAAA,OACtC;AACL,UAAM,kBAAkB;AAAA,MACtB;AAAA,QACE;AAAA,QACA;AAAA,QACA,IAAI,YAAY;AACd,iBAAO,UAAU,OAAO;AAAA,QAC1B;AAAA,QACA,IAAI,YAAY;AACd,iBAAO,UAAU,OAAO;AAAA,QAC1B;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ,SAAS;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AACA,qBAAiB,iBACjB,UACE,iBAAiB,aAAa,iBAAiB,cAC3C,aACA;AAAA,EACR;AAEA,QAAM,iBAAiB;AAAA,IACrB,SAAS;AAAA,IACT,YAAY;AAAA;AAAA,IAEZ,eAAe;AAAA,IACf,kBAAkB,SAAS;AAAA,IAC3B,gBAAgB;AAAA,IAChB,YAAY,SAAS;AAAA,IACrB,qBAAqB;AACnB,aAAO,SAAS;AAAA,IAClB;AAAA,IACA,uBAAuB;AACrB,aAAO;AAAA,IACT;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,aAAa;AAAA,MACX,QAAQ;AAAA,MACR,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,IAAI,YAAY;AACd,eAAO,UAAU,OAAO;AAAA,MAC1B;AAAA,MACA,IAAI,YAAY;AACd,eAAO,UAAU,OAAO;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,SAAS;AAAA,MACjB;AAAA,MACA;AAAA,MACA,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,kBAAkB;AAChB,8BAAwB;AAAA,IAC1B;AAAA,IACA,QAAQ,SAAS;AAAA,IACjB,WAAW;AAAA,IACX,cAAc,2BAA2B;AAAA,EAC3C;AAKA,WAAS,UAAU,GAAG;AAEpB,QADA,OAAO,QAAQ,sBAAsB,eAAe,aAAa,GAC7D;AACF,aAAO,IAAI,KAAK;AAAA,EAEpB;AACA,WAAS,UAAU,GAAG;AAEpB,QADA,OAAO,QAAQ,sBAAsB,eAAe,aAAa,GAC7D;AACF,aAAO,IAAI,KAAK;AAAA,EAEpB;AAEA,SAAO;AACT;",
|
|
5
5
|
"names": ["touches"]
|
|
6
6
|
}
|
package/dist/esm/types.js
CHANGED
|
@@ -1,17 +1,4 @@
|
|
|
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";
|
|
1
|
+
const BLUR = "blur", CONTEXT_MENU = "contextmenu", FOCUS_OUT = "focusout", MOUSE_DOWN = "mousedown", MOUSE_MOVE = "mousemove", MOUSE_UP = "mouseup", MOUSE_CANCEL = "dragstart", TOUCH_START = "touchstart", TOUCH_MOVE = "touchmove", TOUCH_END = "touchend", TOUCH_CANCEL = "touchcancel", SCROLL = "scroll", SELECT = "select", SELECTION_CHANGE = "selectionchange";
|
|
15
2
|
function isStartish(eventType) {
|
|
16
3
|
return eventType === TOUCH_START || eventType === MOUSE_DOWN;
|
|
17
4
|
}
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/types.ts"],
|
|
4
|
-
"mappings": "AAwCO,MAAM,OAAO
|
|
4
|
+
"mappings": "AAwCO,MAAM,OAAO,QACP,eAAe,eACf,YAAY,YACZ,aAAa,aACb,aAAa,aACb,WAAW,WACX,eAAe,aACf,cAAc,cACd,aAAa,aACb,YAAY,YACZ,eAAe,eACf,SAAS,UACT,SAAS,UACT,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
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,15 +3,10 @@ import * as ResponderSystem from "./ResponderSystem";
|
|
|
3
3
|
export * from "./utils";
|
|
4
4
|
const emptyObject = {};
|
|
5
5
|
function useResponderEvents(hostRef, config = emptyObject) {
|
|
6
|
-
const id = React.useId();
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return () => {
|
|
11
|
-
ResponderSystem.removeNode(id);
|
|
12
|
-
};
|
|
13
|
-
}, [id]);
|
|
14
|
-
React.useEffect(() => {
|
|
6
|
+
const id = React.useId(), isAttachedRef = React.useRef(!1);
|
|
7
|
+
React.useEffect(() => (ResponderSystem.attachListeners(), () => {
|
|
8
|
+
ResponderSystem.removeNode(id);
|
|
9
|
+
}), [id]), React.useEffect(() => {
|
|
15
10
|
const {
|
|
16
11
|
onMoveShouldSetResponder,
|
|
17
12
|
onMoveShouldSetResponderCapture,
|
|
@@ -21,23 +16,11 @@ function useResponderEvents(hostRef, config = emptyObject) {
|
|
|
21
16
|
onSelectionChangeShouldSetResponderCapture,
|
|
22
17
|
onStartShouldSetResponder,
|
|
23
18
|
onStartShouldSetResponderCapture
|
|
24
|
-
} = config;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
}
|
|
19
|
+
} = config, requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null, node = hostRef.current;
|
|
20
|
+
requiresResponderSystem ? (ResponderSystem.addNode(id, node, config), isAttachedRef.current = !0) : isAttachedRef.current && (ResponderSystem.removeNode(id), isAttachedRef.current = !1);
|
|
21
|
+
}, [config, hostRef, id]), process.env.NODE_ENV === "development" && (React.useDebugValue({
|
|
22
|
+
isResponder: hostRef.current === ResponderSystem.getResponderNode()
|
|
23
|
+
}), React.useDebugValue(config));
|
|
41
24
|
}
|
|
42
25
|
export {
|
|
43
26
|
useResponderEvents
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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
|
|
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,GACjB,gBAAgB,MAAM,OAAO,EAAK;AAKxC,QAAM,UAAU,OACd,gBAAgB,gBAAgB,GACzB,MAAM;AACX,oBAAgB,WAAW,EAAE;AAAA,EAC/B,IACC,CAAC,EAAE,CAAC,GAGP,MAAM,UAAU,MAAM;AACpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,QAEE,0BACJ,4BAA4B,QAC5B,mCAAmC,QACnC,8BAA8B,QAC9B,qCAAqC,QACrC,uCAAuC,QACvC,8CAA8C,QAC9C,6BAA6B,QAC7B,oCAAoC,MAEhC,OAAO,QAAQ;AAErB,IAAI,2BACF,gBAAgB,QAAQ,IAAI,MAAM,MAAM,GACxC,cAAc,UAAU,MACf,cAAc,YACvB,gBAAgB,WAAW,EAAE,GAC7B,cAAc,UAAU;AAAA,EAE5B,GAAG,CAAC,QAAQ,SAAS,EAAE,CAAC,GAEpB,QAAQ,IAAI,aAAa,kBAC3B,MAAM,cAAc;AAAA,IAClB,aAAa,QAAQ,YAAY,gBAAgB,iBAAiB;AAAA,EACpE,CAAC,GACD,MAAM,cAAc,MAAM;AAE9B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/utils.js
CHANGED
|
@@ -1,132 +1,77 @@
|
|
|
1
|
-
const keyName = "__reactResponderId"
|
|
2
|
-
|
|
3
|
-
const getBoundingClientRect = (node) => {
|
|
4
|
-
if (!node)
|
|
5
|
-
return;
|
|
6
|
-
if (node.nodeType !== 1)
|
|
7
|
-
return;
|
|
8
|
-
if (node.getBoundingClientRect) {
|
|
1
|
+
const keyName = "__reactResponderId", canUseDOM = !!(typeof window < "u" && window.document && window.document.createElement), getBoundingClientRect = (node) => {
|
|
2
|
+
if (node && node.nodeType === 1 && node.getBoundingClientRect)
|
|
9
3
|
return node.getBoundingClientRect();
|
|
10
|
-
}
|
|
11
4
|
};
|
|
12
5
|
function getEventPath(domEvent) {
|
|
13
|
-
var _a;
|
|
14
6
|
if (domEvent.type === "selectionchange") {
|
|
15
|
-
const target =
|
|
7
|
+
const target = window.getSelection()?.anchorNode;
|
|
16
8
|
return composedPathFallback(target);
|
|
17
|
-
} else
|
|
18
|
-
|
|
19
|
-
return path;
|
|
20
|
-
}
|
|
9
|
+
} else
|
|
10
|
+
return domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);
|
|
21
11
|
}
|
|
22
12
|
function composedPathFallback(target) {
|
|
23
13
|
const path = [];
|
|
24
|
-
|
|
25
|
-
path.push(target);
|
|
26
|
-
target = target.parentNode;
|
|
27
|
-
}
|
|
14
|
+
for (; target != null && target !== document.body; )
|
|
15
|
+
path.push(target), target = target.parentNode;
|
|
28
16
|
return path;
|
|
29
17
|
}
|
|
30
18
|
function getResponderId(node) {
|
|
31
|
-
|
|
32
|
-
return node[keyName];
|
|
33
|
-
}
|
|
34
|
-
return null;
|
|
19
|
+
return node != null ? node[keyName] : null;
|
|
35
20
|
}
|
|
36
21
|
function setResponderId(node, id) {
|
|
37
|
-
|
|
38
|
-
node[keyName] = id;
|
|
39
|
-
}
|
|
22
|
+
node != null && (node[keyName] = id);
|
|
40
23
|
}
|
|
41
24
|
function getResponderPaths(domEvent) {
|
|
42
|
-
const idPath = [];
|
|
43
|
-
const nodePath = [];
|
|
44
|
-
const eventPath = getEventPath(domEvent);
|
|
25
|
+
const idPath = [], nodePath = [], eventPath = getEventPath(domEvent);
|
|
45
26
|
for (let i = 0; i < eventPath.length; i++) {
|
|
46
|
-
const node = eventPath[i];
|
|
47
|
-
|
|
48
|
-
if (id != null) {
|
|
49
|
-
idPath.push(id);
|
|
50
|
-
nodePath.push(node);
|
|
51
|
-
}
|
|
27
|
+
const node = eventPath[i], id = getResponderId(node);
|
|
28
|
+
id != null && (idPath.push(id), nodePath.push(node));
|
|
52
29
|
}
|
|
53
30
|
return { idPath, nodePath };
|
|
54
31
|
}
|
|
55
32
|
function getLowestCommonAncestor(pathA, pathB) {
|
|
56
|
-
let pathALength = pathA.length;
|
|
57
|
-
let pathBLength = pathB.length;
|
|
33
|
+
let pathALength = pathA.length, pathBLength = pathB.length;
|
|
58
34
|
if (
|
|
59
35
|
// If either path is empty
|
|
60
36
|
pathALength === 0 || pathBLength === 0 || // If the last elements aren't the same there can't be a common ancestor
|
|
61
37
|
// that is connected to the responder system
|
|
62
38
|
pathA[pathALength - 1] !== pathB[pathBLength - 1]
|
|
63
|
-
)
|
|
39
|
+
)
|
|
64
40
|
return null;
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
}
|
|
41
|
+
let itemA = pathA[0], indexA = 0, itemB = pathB[0], indexB = 0;
|
|
42
|
+
pathALength - pathBLength > 0 && (indexA = pathALength - pathBLength, itemA = pathA[indexA], pathALength = pathBLength), pathBLength - pathALength > 0 && (indexB = pathBLength - pathALength, itemB = pathB[indexB], pathBLength = pathALength);
|
|
80
43
|
let depth = pathALength;
|
|
81
|
-
|
|
82
|
-
if (itemA === itemB)
|
|
44
|
+
for (; depth--; ) {
|
|
45
|
+
if (itemA === itemB)
|
|
83
46
|
return itemA;
|
|
84
|
-
|
|
85
|
-
itemA = pathA[indexA++];
|
|
86
|
-
itemB = pathB[indexB++];
|
|
47
|
+
itemA = pathA[indexA++], itemB = pathB[indexB++];
|
|
87
48
|
}
|
|
88
49
|
return null;
|
|
89
50
|
}
|
|
90
51
|
function hasTargetTouches(target, touches) {
|
|
91
|
-
if (!touches || touches.length === 0)
|
|
92
|
-
return
|
|
93
|
-
}
|
|
52
|
+
if (!touches || touches.length === 0)
|
|
53
|
+
return !1;
|
|
94
54
|
for (let i = 0; i < touches.length; i++) {
|
|
95
55
|
const node = touches[i].target;
|
|
96
|
-
if (node != null)
|
|
97
|
-
|
|
98
|
-
return true;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
56
|
+
if (node != null && target.contains(node))
|
|
57
|
+
return !0;
|
|
101
58
|
}
|
|
102
|
-
return
|
|
59
|
+
return !1;
|
|
103
60
|
}
|
|
104
61
|
function hasValidSelection(domEvent) {
|
|
105
|
-
|
|
106
|
-
return isSelectionValid();
|
|
107
|
-
}
|
|
108
|
-
return domEvent.type === "select";
|
|
62
|
+
return domEvent.type === "selectionchange" ? isSelectionValid() : domEvent.type === "select";
|
|
109
63
|
}
|
|
110
64
|
function isPrimaryPointerDown(domEvent) {
|
|
111
|
-
const { altKey, button, buttons, ctrlKey, type } = domEvent;
|
|
112
|
-
|
|
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;
|
|
65
|
+
const { altKey, button, buttons, ctrlKey, type } = domEvent, isTouch = type === "touchstart" || type === "touchmove", isPrimaryMouseDown = type === "mousedown" && (button === 0 || buttons === 1), isPrimaryMouseMove = type === "mousemove" && buttons === 1, noModifiers = altKey === !1 && ctrlKey === !1;
|
|
66
|
+
return !!(isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers);
|
|
120
67
|
}
|
|
121
68
|
function isSelectionValid() {
|
|
122
69
|
const selection = window.getSelection();
|
|
123
70
|
if (!selection)
|
|
124
|
-
return
|
|
125
|
-
const string = selection.toString();
|
|
126
|
-
|
|
127
|
-
|
|
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;
|
|
71
|
+
return !1;
|
|
72
|
+
const string = selection.toString(), anchorNode = selection.anchorNode, focusNode = selection.focusNode, isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;
|
|
73
|
+
return string.length >= 1 && string !== `
|
|
74
|
+
` && !!isTextNode;
|
|
130
75
|
}
|
|
131
76
|
export {
|
|
132
77
|
canUseDOM,
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils.ts"],
|
|
4
|
-
"mappings": "AAMA,MAAM,UAAU
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/react-native-use-responder-events",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.62.0",
|
|
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.
|
|
32
|
+
"@tamagui/build": "1.62.0",
|
|
33
33
|
"react": "^18.2.0"
|
|
34
34
|
},
|
|
35
35
|
"publishConfig": {
|