@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.
- package/dist/cjs/ResponderSystem.cjs +307 -344
- package/dist/cjs/ResponderSystem.native.cjs +357 -0
- package/dist/cjs/ResponderSystem.native.js +307 -343
- package/dist/cjs/ResponderSystem.native.js.map +1 -1
- package/dist/cjs/ResponderTouchHistoryStore.cjs +136 -149
- package/dist/cjs/ResponderTouchHistoryStore.native.cjs +217 -0
- package/dist/cjs/ResponderTouchHistoryStore.native.js +176 -189
- package/dist/cjs/ResponderTouchHistoryStore.native.js.map +1 -1
- package/dist/cjs/createResponderEvent.cjs +128 -132
- package/dist/cjs/createResponderEvent.native.cjs +147 -0
- package/dist/cjs/createResponderEvent.native.js +129 -132
- package/dist/cjs/createResponderEvent.native.js.map +1 -1
- package/dist/cjs/index.cjs +10 -11
- package/dist/cjs/index.native.cjs +21 -0
- package/dist/cjs/index.native.js +10 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +40 -41
- package/dist/cjs/types.native.cjs +79 -0
- package/dist/cjs/types.native.js +40 -40
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/useResponderEvents.cjs +60 -85
- package/dist/cjs/useResponderEvents.native.cjs +87 -0
- package/dist/cjs/useResponderEvents.native.js +62 -86
- package/dist/cjs/useResponderEvents.native.js.map +1 -1
- package/dist/cjs/utils.cjs +123 -135
- package/dist/cjs/utils.native.cjs +160 -0
- package/dist/cjs/utils.native.js +124 -135
- package/dist/cjs/utils.native.js.map +1 -1
- package/dist/esm/ResponderSystem.mjs +291 -326
- package/dist/esm/ResponderSystem.mjs.map +1 -1
- package/dist/esm/ResponderSystem.native.js +291 -326
- package/dist/esm/ResponderSystem.native.js.map +1 -1
- package/dist/esm/ResponderTouchHistoryStore.mjs +123 -131
- package/dist/esm/ResponderTouchHistoryStore.mjs.map +1 -1
- package/dist/esm/ResponderTouchHistoryStore.native.js +163 -172
- package/dist/esm/ResponderTouchHistoryStore.native.js.map +1 -1
- package/dist/esm/createResponderEvent.mjs +115 -114
- package/dist/esm/createResponderEvent.mjs.map +1 -1
- package/dist/esm/createResponderEvent.native.js +116 -115
- package/dist/esm/createResponderEvent.native.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/index.native.js +1 -2
- package/dist/esm/types.mjs +7 -6
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js +7 -6
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/useResponderEvents.mjs +45 -61
- package/dist/esm/useResponderEvents.mjs.map +1 -1
- package/dist/esm/useResponderEvents.native.js +47 -63
- package/dist/esm/useResponderEvents.native.js.map +1 -1
- package/dist/esm/utils.mjs +101 -111
- package/dist/esm/utils.mjs.map +1 -1
- package/dist/esm/utils.native.js +102 -112
- package/dist/esm/utils.native.js.map +1 -1
- package/package.json +2 -2
- package/types/ResponderTouchHistoryStore.d.ts.map +1 -1
- package/types/utils.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
package/dist/cjs/utils.native.js
CHANGED
|
@@ -1,173 +1,162 @@
|
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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 utils_exports = {};
|
|
26
25
|
__export(utils_exports, {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
canUseDOM: () => canUseDOM,
|
|
27
|
+
getBoundingClientRect: () => getBoundingClientRect,
|
|
28
|
+
getLowestCommonAncestor: () => getLowestCommonAncestor,
|
|
29
|
+
getResponderPaths: () => getResponderPaths,
|
|
30
|
+
hasTargetTouches: () => hasTargetTouches,
|
|
31
|
+
hasValidSelection: () => hasValidSelection,
|
|
32
|
+
isPrimaryPointerDown: () => isPrimaryPointerDown,
|
|
33
|
+
isSelectionValid: () => isSelectionValid,
|
|
34
|
+
setResponderId: () => setResponderId
|
|
36
35
|
});
|
|
37
36
|
module.exports = __toCommonJS(utils_exports);
|
|
38
37
|
var keyName = "__reactResponderId";
|
|
39
38
|
var canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
|
|
40
|
-
var getBoundingClientRect = function
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
var getBoundingClientRect = function(node) {
|
|
40
|
+
if (!node) return;
|
|
41
|
+
if (node.nodeType !== 1) return;
|
|
42
|
+
if (node.getBoundingClientRect) {
|
|
43
|
+
return node.getBoundingClientRect();
|
|
44
|
+
}
|
|
46
45
|
};
|
|
47
46
|
function getEventPath(domEvent) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
if (domEvent.type === "selectionchange") {
|
|
48
|
+
var _window_getSelection;
|
|
49
|
+
var target = (_window_getSelection = window.getSelection()) === null || _window_getSelection === void 0 ? void 0 : _window_getSelection.anchorNode;
|
|
50
|
+
return composedPathFallback(target);
|
|
51
|
+
}
|
|
52
|
+
var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);
|
|
53
|
+
return path;
|
|
55
54
|
}
|
|
56
55
|
function composedPathFallback(target) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
var path = [];
|
|
57
|
+
while (target != null && target !== document.body) {
|
|
58
|
+
path.push(target);
|
|
59
|
+
target = target.parentNode;
|
|
60
|
+
}
|
|
61
|
+
return path;
|
|
63
62
|
}
|
|
64
63
|
function getResponderId(node) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
if (node != null) {
|
|
65
|
+
return node[keyName];
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
69
68
|
}
|
|
70
69
|
function setResponderId(node, id) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
if (node != null) {
|
|
71
|
+
node[keyName] = id;
|
|
72
|
+
}
|
|
74
73
|
}
|
|
75
74
|
function getResponderPaths(domEvent) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
75
|
+
var idPath = [];
|
|
76
|
+
var nodePath = [];
|
|
77
|
+
var eventPath = getEventPath(domEvent);
|
|
78
|
+
for (var i = 0; i < eventPath.length; i++) {
|
|
79
|
+
var node = eventPath[i];
|
|
80
|
+
var id = getResponderId(node);
|
|
81
|
+
if (id != null) {
|
|
82
|
+
idPath.push(id);
|
|
83
|
+
nodePath.push(node);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
idPath,
|
|
88
|
+
nodePath
|
|
89
|
+
};
|
|
91
90
|
}
|
|
92
91
|
function getLowestCommonAncestor(pathA, pathB) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
itemA = pathA[indexA++];
|
|
123
|
-
itemB = pathB[indexB++];
|
|
124
|
-
}
|
|
125
|
-
return null;
|
|
92
|
+
var pathALength = pathA.length;
|
|
93
|
+
var pathBLength = pathB.length;
|
|
94
|
+
if (pathALength === 0 || pathBLength === 0 || pathA[pathALength - 1] !== pathB[pathBLength - 1]) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
var itemA = pathA[0];
|
|
98
|
+
var indexA = 0;
|
|
99
|
+
var itemB = pathB[0];
|
|
100
|
+
var indexB = 0;
|
|
101
|
+
if (pathALength - pathBLength > 0) {
|
|
102
|
+
indexA = pathALength - pathBLength;
|
|
103
|
+
itemA = pathA[indexA];
|
|
104
|
+
pathALength = pathBLength;
|
|
105
|
+
}
|
|
106
|
+
if (pathBLength - pathALength > 0) {
|
|
107
|
+
indexB = pathBLength - pathALength;
|
|
108
|
+
itemB = pathB[indexB];
|
|
109
|
+
pathBLength = pathALength;
|
|
110
|
+
}
|
|
111
|
+
var depth = pathALength;
|
|
112
|
+
while (depth--) {
|
|
113
|
+
if (itemA === itemB) {
|
|
114
|
+
return itemA;
|
|
115
|
+
}
|
|
116
|
+
itemA = pathA[indexA++];
|
|
117
|
+
itemB = pathB[indexB++];
|
|
118
|
+
}
|
|
119
|
+
return null;
|
|
126
120
|
}
|
|
127
121
|
function hasTargetTouches(target, touches) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
122
|
+
if (!touches || touches.length === 0) {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
for (var i = 0; i < touches.length; i++) {
|
|
126
|
+
var node = touches[i].target;
|
|
127
|
+
if (node != null) {
|
|
128
|
+
if (target.contains(node)) {
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return false;
|
|
140
134
|
}
|
|
141
135
|
function hasValidSelection(domEvent) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
136
|
+
if (domEvent.type === "selectionchange") {
|
|
137
|
+
return isSelectionValid();
|
|
138
|
+
}
|
|
139
|
+
return domEvent.type === "select";
|
|
146
140
|
}
|
|
147
141
|
function isPrimaryPointerDown(domEvent) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
var isPrimaryMouseMove = type === "mousemove" && buttons === 1;
|
|
158
|
-
var noModifiers = altKey === false && ctrlKey === false;
|
|
159
|
-
if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
return false;
|
|
142
|
+
var { altKey, button, buttons, ctrlKey, type } = domEvent;
|
|
143
|
+
var isTouch = type === "touchstart" || type === "touchmove";
|
|
144
|
+
var isPrimaryMouseDown = type === "mousedown" && (button === 0 || buttons === 1);
|
|
145
|
+
var isPrimaryMouseMove = type === "mousemove" && buttons === 1;
|
|
146
|
+
var noModifiers = altKey === false && ctrlKey === false;
|
|
147
|
+
if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
return false;
|
|
163
151
|
}
|
|
164
152
|
function isSelectionValid() {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
153
|
+
var selection = window.getSelection();
|
|
154
|
+
if (!selection) return false;
|
|
155
|
+
var string = selection.toString();
|
|
156
|
+
var anchorNode = selection.anchorNode;
|
|
157
|
+
var focusNode = selection.focusNode;
|
|
158
|
+
var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;
|
|
159
|
+
return string.length >= 1 && string !== "\n" && !!isTextNode;
|
|
172
160
|
}
|
|
161
|
+
|
|
173
162
|
//# sourceMappingURL=utils.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils.native.js","names":[],"sources":["cjs/utils.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 utils_exports = {};\n__export(utils_exports, {\n canUseDOM: () => canUseDOM,\n getBoundingClientRect: () => getBoundingClientRect,\n getLowestCommonAncestor: () => getLowestCommonAncestor,\n getResponderPaths: () => getResponderPaths,\n hasTargetTouches: () => hasTargetTouches,\n hasValidSelection: () => hasValidSelection,\n isPrimaryPointerDown: () => isPrimaryPointerDown,\n isSelectionValid: () => isSelectionValid,\n setResponderId: () => setResponderId\n});\nmodule.exports = __toCommonJS(utils_exports);\nvar keyName = \"__reactResponderId\";\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getBoundingClientRect = function(node) {\n if (!node) return;\n if (node.nodeType !== 1) return;\n if (node.getBoundingClientRect) {\n return node.getBoundingClientRect();\n }\n};\nfunction getEventPath(domEvent) {\n if (domEvent.type === \"selectionchange\") {\n var _window_getSelection;\n var target = (_window_getSelection = window.getSelection()) === null || _window_getSelection === void 0 ? void 0 : _window_getSelection.anchorNode;\n return composedPathFallback(target);\n }\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\nfunction setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\nfunction getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\nfunction getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 || // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]\n ) {\n return null;\n }\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\nfunction hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\nfunction hasValidSelection(domEvent) {\n if (domEvent.type === \"selectionchange\") {\n return isSelectionValid();\n }\n return domEvent.type === \"select\";\n}\nfunction isPrimaryPointerDown(domEvent) {\n var { altKey, button, buttons, ctrlKey, type } = domEvent;\n var isTouch = type === \"touchstart\" || type === \"touchmove\";\n var isPrimaryMouseDown = type === \"mousedown\" && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === \"mousemove\" && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\n}\nfunction isSelectionValid() {\n var selection = window.getSelection();\n if (!selection) return false;\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== \"\\n\" && !!isTextNode;\n}\n//# sourceMappingURL=utils.js.map\n"],"mappings":"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"}
|