@hanzogui/react-native-use-responder-events 3.0.6 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ResponderSystem.cjs +293 -152
- package/dist/cjs/ResponderSystem.native.js +312 -170
- package/dist/cjs/ResponderSystem.native.js.map +1 -1
- package/dist/cjs/ResponderTouchHistoryStore.cjs +97 -30
- package/dist/cjs/ResponderTouchHistoryStore.native.js +144 -68
- package/dist/cjs/ResponderTouchHistoryStore.native.js.map +1 -1
- package/dist/cjs/createResponderEvent.cjs +66 -52
- package/dist/cjs/createResponderEvent.native.js +51 -39
- package/dist/cjs/createResponderEvent.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -5
- package/dist/cjs/index.native.js +7 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +26 -24
- package/dist/cjs/types.native.js +26 -24
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/useResponderEvents.cjs +49 -37
- package/dist/cjs/useResponderEvents.native.js +53 -42
- package/dist/cjs/useResponderEvents.native.js.map +1 -1
- package/dist/cjs/utils.cjs +101 -58
- package/dist/cjs/utils.native.js +104 -57
- package/dist/cjs/utils.native.js.map +1 -1
- package/dist/esm/ResponderSystem.mjs +276 -137
- package/dist/esm/ResponderSystem.mjs.map +1 -1
- package/dist/esm/ResponderSystem.native.js +295 -155
- package/dist/esm/ResponderSystem.native.js.map +1 -1
- package/dist/esm/ResponderTouchHistoryStore.mjs +85 -20
- package/dist/esm/ResponderTouchHistoryStore.mjs.map +1 -1
- package/dist/esm/ResponderTouchHistoryStore.native.js +132 -58
- package/dist/esm/ResponderTouchHistoryStore.native.js.map +1 -1
- package/dist/esm/createResponderEvent.mjs +54 -42
- package/dist/esm/createResponderEvent.mjs.map +1 -1
- package/dist/esm/createResponderEvent.native.js +38 -28
- package/dist/esm/createResponderEvent.native.js.map +1 -1
- package/dist/esm/types.mjs +14 -14
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js +14 -14
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/useResponderEvents.mjs +21 -11
- package/dist/esm/useResponderEvents.mjs.map +1 -1
- package/dist/esm/useResponderEvents.native.js +25 -16
- package/dist/esm/useResponderEvents.native.js.map +1 -1
- package/dist/esm/utils.mjs +89 -48
- package/dist/esm/utils.mjs.map +1 -1
- package/dist/esm/utils.native.js +92 -47
- package/dist/esm/utils.native.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/utils.native.js
CHANGED
|
@@ -1,32 +1,51 @@
|
|
|
1
|
-
var keyName = "__reactResponderId"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
var keyName = "__reactResponderId";
|
|
2
|
+
var canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
|
|
3
|
+
var getBoundingClientRect = function (node) {
|
|
4
|
+
if (!node) return;
|
|
5
|
+
if (node.nodeType !== 1) return;
|
|
6
|
+
if (node.getBoundingClientRect) {
|
|
7
|
+
return node.getBoundingClientRect();
|
|
8
|
+
}
|
|
9
|
+
};
|
|
6
10
|
function getEventPath(domEvent) {
|
|
7
11
|
if (domEvent.type === "selectionchange") {
|
|
8
|
-
var _window_getSelection
|
|
9
|
-
|
|
12
|
+
var _window_getSelection;
|
|
13
|
+
var target = (_window_getSelection = window.getSelection()) === null || _window_getSelection === void 0 ? void 0 : _window_getSelection.anchorNode;
|
|
10
14
|
return composedPathFallback(target);
|
|
11
15
|
}
|
|
12
16
|
var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);
|
|
13
17
|
return path;
|
|
14
18
|
}
|
|
15
19
|
function composedPathFallback(target) {
|
|
16
|
-
|
|
20
|
+
var path = [];
|
|
21
|
+
while (target != null && target !== document.body) {
|
|
22
|
+
path.push(target);
|
|
23
|
+
target = target.parentNode;
|
|
24
|
+
}
|
|
17
25
|
return path;
|
|
18
26
|
}
|
|
19
27
|
function getResponderId(node) {
|
|
20
|
-
|
|
28
|
+
if (node != null) {
|
|
29
|
+
return node[keyName];
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
21
32
|
}
|
|
22
33
|
function setResponderId(node, id) {
|
|
23
|
-
node != null
|
|
34
|
+
if (node != null) {
|
|
35
|
+
node[keyName] = id;
|
|
36
|
+
}
|
|
24
37
|
}
|
|
25
38
|
function getResponderPaths(domEvent) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
39
|
+
var idPath = [];
|
|
40
|
+
var nodePath = [];
|
|
41
|
+
var eventPath = getEventPath(domEvent);
|
|
42
|
+
for (var i = 0; i < eventPath.length; i++) {
|
|
43
|
+
var node = eventPath[i];
|
|
44
|
+
var id = getResponderId(node);
|
|
45
|
+
if (id != null) {
|
|
46
|
+
idPath.push(id);
|
|
47
|
+
nodePath.push(node);
|
|
48
|
+
}
|
|
30
49
|
}
|
|
31
50
|
return {
|
|
32
51
|
idPath,
|
|
@@ -34,59 +53,85 @@ function getResponderPaths(domEvent) {
|
|
|
34
53
|
};
|
|
35
54
|
}
|
|
36
55
|
function getLowestCommonAncestor(pathA, pathB) {
|
|
37
|
-
var pathALength = pathA.length
|
|
38
|
-
|
|
56
|
+
var pathALength = pathA.length;
|
|
57
|
+
var pathBLength = pathB.length;
|
|
39
58
|
if (
|
|
40
59
|
// If either path is empty
|
|
41
60
|
pathALength === 0 || pathBLength === 0 ||
|
|
42
61
|
// If the last elements aren't the same there can't be a common ancestor
|
|
43
62
|
// that is connected to the responder system
|
|
44
|
-
pathA[pathALength - 1] !== pathB[pathBLength - 1])
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
63
|
+
pathA[pathALength - 1] !== pathB[pathBLength - 1]) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
var itemA = pathA[0];
|
|
67
|
+
var indexA = 0;
|
|
68
|
+
var itemB = pathB[0];
|
|
69
|
+
var 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
|
+
var depth = pathALength;
|
|
81
|
+
while (depth--) {
|
|
82
|
+
if (itemA === itemB) {
|
|
83
|
+
return itemA;
|
|
84
|
+
}
|
|
85
|
+
itemA = pathA[indexA++];
|
|
86
|
+
itemB = pathB[indexB++];
|
|
53
87
|
}
|
|
54
88
|
return null;
|
|
55
89
|
}
|
|
56
90
|
function hasTargetTouches(target, touches) {
|
|
57
|
-
if (!touches || touches.length === 0)
|
|
91
|
+
if (!touches || touches.length === 0) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
58
94
|
for (var i = 0; i < touches.length; i++) {
|
|
59
95
|
var node = touches[i].target;
|
|
60
|
-
if (node != null
|
|
96
|
+
if (node != null) {
|
|
97
|
+
if (target.contains(node)) {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
61
101
|
}
|
|
62
|
-
return
|
|
102
|
+
return false;
|
|
63
103
|
}
|
|
64
104
|
function hasValidSelection(domEvent) {
|
|
65
|
-
|
|
105
|
+
if (domEvent.type === "selectionchange") {
|
|
106
|
+
return isSelectionValid();
|
|
107
|
+
}
|
|
108
|
+
return domEvent.type === "select";
|
|
66
109
|
}
|
|
67
110
|
function isPrimaryPointerDown(domEvent) {
|
|
68
111
|
var {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
112
|
+
altKey,
|
|
113
|
+
button,
|
|
114
|
+
buttons,
|
|
115
|
+
ctrlKey,
|
|
116
|
+
type
|
|
117
|
+
} = domEvent;
|
|
118
|
+
var isTouch = type === "touchstart" || type === "touchmove";
|
|
119
|
+
var isPrimaryMouseDown = type === "mousedown" && (button === 0 || buttons === 1);
|
|
120
|
+
var isPrimaryMouseMove = type === "mousemove" && buttons === 1;
|
|
121
|
+
var noModifiers = altKey === false && ctrlKey === false;
|
|
122
|
+
if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
return false;
|
|
80
126
|
}
|
|
81
127
|
function isSelectionValid() {
|
|
82
128
|
var selection = window.getSelection();
|
|
83
|
-
if (!selection) return
|
|
84
|
-
var string = selection.toString()
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return string.length >= 1 && string !==
|
|
89
|
-
` && !!isTextNode;
|
|
129
|
+
if (!selection) return false;
|
|
130
|
+
var string = selection.toString();
|
|
131
|
+
var anchorNode = selection.anchorNode;
|
|
132
|
+
var focusNode = selection.focusNode;
|
|
133
|
+
var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;
|
|
134
|
+
return string.length >= 1 && string !== "\n" && !!isTextNode;
|
|
90
135
|
}
|
|
91
136
|
export { canUseDOM, getBoundingClientRect, getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, isSelectionValid, setResponderId };
|
|
92
137
|
//# sourceMappingURL=utils.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["keyName","canUseDOM","window","document","createElement","getBoundingClientRect","node","nodeType","getEventPath","domEvent","type","_window_getSelection","target","getSelection","anchorNode","composedPathFallback","path","composedPath","body","push","parentNode","getResponderId","setResponderId","id","getResponderPaths","idPath","nodePath","eventPath","i","length","getLowestCommonAncestor","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","depth","hasTargetTouches","touches","contains","hasValidSelection","isSelectionValid","isPrimaryPointerDown","altKey","button","buttons","ctrlKey","isTouch","isPrimaryMouseDown","isPrimaryMouseMove","noModifiers","selection","string","toString"
|
|
1
|
+
{"version":3,"names":["keyName","canUseDOM","window","document","createElement","getBoundingClientRect","node","nodeType","getEventPath","domEvent","type","_window_getSelection","target","getSelection","anchorNode","composedPathFallback","path","composedPath","body","push","parentNode","getResponderId","setResponderId","id","getResponderPaths","idPath","nodePath","eventPath","i","length","getLowestCommonAncestor","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","depth","hasTargetTouches","touches","contains","hasValidSelection","isSelectionValid","isPrimaryPointerDown","altKey","button","buttons","ctrlKey","isTouch","isPrimaryMouseDown","isPrimaryMouseMove","noModifiers","selection","string","toString"],"sources":["../../src/utils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|